【目標檢測】論文閱讀4

Fast and accurate object detector for autonomous driving based on improved YOLOv5

發表時間:2023年;期刊:scientific reports
論文地址

摘要

自動駕駛是人工智能的一個重要分支,實時準確的目標檢測是保證自動駕駛車輛安全穩定運行的關鍵。為此,本文提出了一種基于改進的YOLOv5的快速準確的自動駕駛目標檢測器。首先,對YOLOv5算法進行了改進,引入結構重參數(REP),通過訓練-推理解耦提高了模型的精度和速度。此外,在訓練階段引入了神經架構搜索法對多分支再參數化模塊中的冗余分支進行裁剪,提高了訓練的效率和精度。最后,在網絡中加入小目標檢測層,并在各檢測層加入協調注意機制,以提高模型對小型車輛和行人的識別率。實驗結果表明,該方法在Kitti數據集上的檢測準確率達到96.1%,FPS達到202,優于當前的許多主流算法,有效地提高了無人駕駛目標檢測的準確性和實時性。

引言

近年來,機動車保有量大幅增加,極大地方便了人們的出行。然而,這一增長導致了日益擁擠的交通狀況和交通事故頻率的上升,這對安全出行構成了重大挑戰。面對日益復雜的交通環境,往往需要個人憑自身經驗選擇合適的出行路線,應對路上可能出現的各種突發事件。即使是經驗豐富的司機也不能幸免于遇到不可預測的危險。

隨著大數據、人工智能等計算機技術的發展,智慧城市、自動駕駛等技術手段為緩解交通壓力和交通安全問題提供了新的解決方案。無論是智能城市還是自動駕駛,都需要對交通場景進行分析,以獲取有用的信息,即感知外部環境。計算機視覺技術是現階段感知外部環境最方便、最快捷的技術手段,而目標檢測是計算機視覺中最基本、最關鍵的任務。目標檢測識別圖像中目標的類別和位置,為計算機視覺中的場景分析提供詳細的基本環境信息。因此,交通場景中的目標檢測就成為一個不可或缺的研究方向。當目標檢測算法應用于交通場景時,對算法有很高的要求。該算法不僅要求具有較高的識別精度,而且要求滿足真實場景的要求。以往對目標檢測的研究大多集中在如何通過增加網絡層數來提高算法的檢測精度,進一步優化現有網絡。雖然模型的檢測精度可以得到一定程度的提高,但由于模型較大,使得算法很難在計算能力較低的設備上運行,檢測速度低得令人不快。在大多數交通場景中,設備都在戶外使用,特別是在自動駕駛領域,用于運行算法的硬件設備不能具有強大的計算能力。(研究背景)

因此,如何在不影響算法精度性能的情況下,使目標檢測算法盡可能快地實現,從而將目標檢測算法移植到車輛上的終端應用中,實現實時的自主駕駛目標檢測是一個棘手的挑戰。高精度使得目標檢測算法能夠更準確地定位和識別前方的車輛或行人,而快速的速度使模型更快地獲取外部對象的變化,從而輔助控制系統更合理地運行,確保車內乘員的安全。因此,設計一種精度高、速度快的目標檢測算法是實現無人駕駛目標檢測的關鍵。

對于普通的自動駕駛目標檢測深度學習方法來說,準確率和速度是兩個很難平衡的指標。提出了一種基于改進的YOLOv5算法的快速準確的目標檢測算法,實現了檢測精度和速度的雙重提高。主要貢獻概括如下:
1、采用YOLOv5算法作為基線算法,引入結構重參數化(Rep)模塊進行改進,通過訓練推理解耦提高了模型的精度和速度。
2、將神經結構搜索(NAS)方法應用于結構重參數化模塊,并自動去除多分支模塊中的冗余分支,提高了模型訓練的效率和精度。
3、針對車輛和行人小目標檢測精度低的問題,增加了一個小目標檢測層,并在各檢測層中加入協調注意(CA),提高了模型對小目標和不可辨認目標的識別精度。

方法

YOLOv5

YOLOv5是目前最主流的單級目標檢測算法之一。YOLOv5算法由三個模塊組成:CSP-DarkNet主干網絡、FPN+PAN Neck和預測頭。如圖所示,將尺寸為3×640×640的圖片輸入到網絡中。在骨干網部分,CBS層用于下采樣,CSP模塊用于特征提取。經過5次下采樣后,特征圖的大小達到512×20×20。最后,連接SPPF模塊,實現不同感受野特征圖的融合。在頸部網絡部分,特征映射首先經過降維路徑,然后再經過降維路徑。大小分別為512×20×20、256×40×40、128×80×80的特征地圖通過兩條路徑完全融合。在頭網絡部分,三種大小的特征映射進入探測頭,然后通過1×1卷積層。大小保持不變,通道數變為3×(NC+5),其中3表示三種不同縱橫比的錨框,NC表示類別數,5表示用于指示錨幀位置的4個參數加上1個錨幀前景概率。
在這里插入圖片描述

改進YOLOv5總體結構

首先將骨干網中的模塊全部改為RepNAS模塊,下采樣的RepNAS模塊數量為1個,未下采樣的RepNAS模塊數量分別為1、3、3、13個。在訓練階段,非下采樣RepNAS模塊包含7個分支,而下采樣RepNAS模塊包含6個分支,這是因為下采樣RepNAS模塊的輸入和輸出特征圖大小不同,并且不存在標識分支。NAS在訓練階段判斷每個模塊不同分支的重要性,不斷剔除不重要的分支,減少模型冗余,提高模型訓練精度和訓練效率。REP通過對訓練后的參數進行等價變換,實現了RepNAS模塊結構的簡化。也就是說,將主干網絡中的所有RepNAS模塊轉換為3×3卷積層,使主干網絡在推理階段成為VGG式的體系結構,使得推理速度顯著加快,并保持了模型訓練的高精度。其次,增加了×160×160的小目標特征檢測層。如圖所示,在頸部網絡中,160×160特征映射利用骨干網絡中的淺層信息進行特征融合。淺層網絡特征圖分辨率較高,包含的小目標信息較多,因此增加一個大小為160×160的檢測層可以更好地實現對小目標的定位和識別。最后,在每個檢測層之前都有CA注意機制。之所以在檢測層之前添加CA,是因為檢測層之前的特征映射已經被充分提取和融合,并且語義信息是完整的。因此,在這里加入注意機制可以使模型更多地關注語義豐富的通道。
在這里插入圖片描述

結構重參數化

結構重參數化是一種利用訓練-推理解耦的方法,使模型在訓練階段具有較高的精度,在推理階段具有較高的速度。具體地說,在訓練階段首先構建多分支結構,訓練后將多分支結構融合成單向結構進行模型推理和部署。在當今實際的自動駕駛場景中,推理模型往往部署在邊緣AI芯片上,并在邊緣設備上實時檢測捕獲的畫面。因此,模型需要在保證精度的前提下具有較快的推理速度,而結構再參數化可以很好地滿足這一條件。結構重新參數化由以下基本融合模塊組成:
在這里插入圖片描述

神經架構搜索(NAS)

神經結構搜索是當前計算機視覺領域的一個研究熱點,它利用強化學習、進化算法、梯度方法等策略自動搜索網絡的最優結構。受Zhang等人的啟發[25],本文將NAS技術與結構重參數化模塊相結合,設計了RepNAS模塊,如圖所示。RepNAS通過判斷多個分支中不同分支的重要性來自動裁剪一些冗余分支,從而達到減少模型訓練時間和內存,提高模型精度的效果
在這里插入圖片描述

小目標檢測層

YOLOv5網絡的探測頭共包含三個檢測層,規模分別為80×80、40×40、20×20。其中,80×80檢測層的每平方面積最小,位置信息更準確,更適合檢測小目標。同樣,40×40的檢測層適合檢測中等物體,而20×20的檢測層更適合檢測大型物體。在車輛檢測或行人檢測中,許多目標只占原始圖像的一小部分。為了提高小目標檢測算法的檢測精度,我們增加了一個160×160的檢測層,用于對較小的車輛或行人進行精確定位和識別

協調注意力機制(CA)

針對輸入圖像中某些車輛和行人所占比例較小,導致識別精度不高的問題,引入了協調注意機制它可以將水平和垂直位置信息編碼到通道注意機制中,使網絡能夠更好地聚焦目標位置信息。經典的SE注意機制只考慮通道之間的信息,而忽略位置信息。CBAM改進了SE,在減少特征地圖通道的數量后使用卷積來提取位置注意信息。然而,卷積只能提取本地關系,很難關注遠程信息。CA能夠將水平和垂直位置信息編碼為通道注意力,并同時捕獲通道間信息和與方向相關的位置信息。它可以提高模型感知目標位置的能力,從而實現對汽車和行人的更準確的定位和識別。
在這里插入圖片描述
(a)SE;(b)CBAM;(c)CA

實驗及結果分析

實驗數據集

在自動駕駛領域應用最廣泛的KITTI數據集上進行了實驗。KITTI訓練集由7481張圖像標記,包括農村、城市和高速公路等道路場景。每幅圖像最多有15輛車,目標有不同程度的遮擋和截斷。數據集共包含8個類別:轎車、貨車、卡車、有軌電車、行人、人(坐)、騎自行車和其他。其中,將人合并為行人類別,另外選擇轎車、貨車、卡車和自行車手,取出五類對象進行訓練和測試。

實驗環境

實驗環境是Ubuntu 21.04,Pytorch 1.8.0,第11代CPU英特爾?酷睿?i5-11,400@2.60 GHz,GPU型號NVIDIA GeForce RTX 3070,內存16G,CUDA 11.2,CUDNN 7.6,Python3.8。初始學習率為0.01,使用余弦退火法衰變,最終學習率為0.001,epoch設置為300時,批次大小設置為8。

評價指標

Precision、Recall、mAP、FPS

實驗結果

消融實驗
在這里插入圖片描述
為了考察在重參數化模塊中增加不同分支對模型的影響,以及不同分支組合下NAS的效果,進行了相關實驗
在這里插入圖片描述
不同注意力機制
在這里插入圖片描述
對比實驗
在這里插入圖片描述
檢測結果(左邊:YOLOv5;右邊:改進的YOLOv5)
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94701.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94701.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94701.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

wpf之DockPanel

前言 DockPanel是一個容器控件,容器中的子控件通過設置DockPanel.Dock屬性來調整位置 1、DockPanel.Dock DockPanel.Dock的值有Left、Right、Top、Bottom 1.1 Left 指示控件靠左停靠 1.2 Right 指示控件靠右停靠 1.3 Top 指示控件靠上停靠 1.4 Bottom 指示…

解決VSCode中Cline插件的Git鎖文件沖突問題

文章目錄 問題現象 錯誤分析 解決方案 方法一:手動刪除鎖文件(推薦) 方法二:檢查并終止Git進程 方法三:重置檢查點目錄 方法四:完全重新初始化 預防措施 總結 在使用VSCode進行開發時,許多開發者會選擇安裝Cline插件來提升工作效率。然而,在使用過程中,可能會遇到一些…

視頻合成素材視頻-多合一功能-青檸剪吧

剪輯繁瑣耗時?這款工具正在改變創作者的日常。最近很多人都在用的剪輯神器,叫青檸剪吧。它尤其適合需要批量處理視頻的朋友,內置40多項功能,從替換、分割到對齊、導出,基本覆蓋了剪輯全流程。操作簡單,哪怕…

未成功:使用 Nginx 搭建代理服務器(正向代理 HTTPS 網站)

下載 nginx: download 解壓配置http 編譯conf/nginx.conf http {server {listen 8080; # 代理服務器監聽端口resolver 8.8.8.8; # DNS 解析器location / {proxy_pass $scheme://$host$request_uri; # 轉發請求proxy_set_header Host $host;proxy_set_header X-Real-IP $…

【Python】新手入門:Python標準庫有哪些常用模塊?

?? 個人主頁:(時光煮雨) ?? 高質量專欄:vulnhub靶機滲透測試 ?? 希望得到您的訂閱和支持~ ?? 創作高質量博文(平均質量分95+),分享更多關于網絡安全、Python領域的優質內容!(希望得到您的關注~) ??文章目錄?? 前言 ??一、操作系統接口 ??二、文件通配符…

從雙重檢查鎖定的設計意圖、鎖的作用、第一次檢查提升性能的原理三個角度,詳細拆解單例模式的邏輯

public class SFTPUtil {// 16 usages(注釋為截圖中的使用統計,實際代碼無需保留)private static ChannelSftp sftp;// 6 usages(注釋為截圖中的使用統計,實際代碼無需保留)private volatile static SFTPUt…

Win10部署ElasticSearch、Logstash、Kibana

一、本地部署 ElasticSearch 1、下載 Elasticsearch 安裝包 點此下載 Elasticsearch 2、解壓到指定目錄 3、winR 輸入 cmd,進入 Elasticsearch 安裝目錄運行 .bat 文件 4、瀏覽器輸入 https://localhost:9200 ,并進行身份驗證 在 Elasticsearch 的 bi…

解決Visual Studio中UWP設計器無法顯示的問題:需升級至Windows 11 24H2

一則清晰的錯誤提示,指明了前進的方向。近日,我在使用Visual Studio進行UWP應用開發時遇到了一個棘手問題——MainPage.xaml的設計視圖無法正常顯示,取而代之的是一個明確的系統提示。本文將詳細分析這一問題及其解決方案。 問題現象 當在Vis…

PINN物理信息神經網絡多變量回歸預測,Matlab實現

前言 物理信息神經網絡(Physics-Informed Neural Networks, PINNs)是一種結合深度學習與物理定律的神經網絡方法,旨在解決涉及偏微分方程(PDEs)的問題。以下是對該問題的詳細解答:物理信息神經網絡的定義與…

SagooIoT 產品國產化

國產化說明,支持的國產化數據庫、服務器、操作系統以及國產化中間件。操作系統統一uos操作系統紅旗Linux麒麟V10操作系統中天鯤鵬歐拉版本操作系統服務器華為泰山服務器海光服務器華為鯤鵬服務器只要是能兼容Linux操作系統的服務器,你都可以嘗試替換。數…

去哪里學AI?2025年AI培訓機構推薦!

隨著人工智能技術在金融風控、智能醫療、工業制造等領域的加速落地,其已成為全球科技競爭的核心賽道。但人才供給的不足卻制約著行業發展,中國信息通信研究院 2024 年發布的《人工智能人才發展報告》顯示,我國 AI 領域年度人才缺口已達 720 萬…

800G時代!全場景光模塊矩陣解鎖數據中心超高速未來

引言: 在AI算力爆發與云服務迭代的浪潮下,全球數據中心正加速邁入800G時代。面對激增的帶寬需求與嚴苛的能效挑戰,如何選擇兼具高性能、低功耗與靈活部署的光模塊?全系列800G解決方案已構建完整技術生態,為算力基礎設施…

TDengine IDMP 5 個實測場景讓監控變簡單

概述 在工業#數字化轉型 的賽道上,“監控系統搭建” 一直是個讓人頭疼的難題:傳統方案要寫 SQL、調腳本、學可視化工具,一套流程走下來少則幾天、多則幾周,運維新增設備還得重復折騰。但現在,有了 TDengine TSDB TDe…

關于vscode的右鍵常用操作以及自定義快捷鍵

最近我一直在使用vscode進行嵌入式開發,我發現比keil好用多了,記錄常用右鍵操作,以及自定義快捷鍵,記錄下來,多希望對大家有所幫助。vscode自定義快捷鍵F8:跳轉到類型定義 只需要將鼠標左鍵點擊變量&…

二、添加3D形狀

幾何體的生成主要依賴MeshBuilder類添加和管理,包含如下方法: 目錄 幾何體 1、立方體 AddBox 2、球體 AddShpere 3、圓環 AddTorus 4、錐體或截錐體 AddCone 5、圓柱體 AddCylinder 6、空心管道 AddPipe 7、圓截面管道 AddTube 8、擠壓二維截面 AddExtrudeGeometry…

Excel 表格 - 乘法與除法處理(保留兩位小數四舍五入實現、保留兩位小數截斷實現、添加百分號)

乘法函數 1、保留兩位小數四舍五入實現 (1)基本介紹 ROUND(【單元格 1】 * 【單元格 2】, 2)【單元格 1】 * 【單元格 2】:基本的乘法運算ROUND(..., 2):外層函數,將結果四舍五入到指定的小數位數,2 表示保…

【AI基礎:神經網絡】20、機器學習實戰:自組織特征映射(SOM)完全指南

一、引言:為什么SOM是“看不見的手”調控的神經網絡? 在機器學習的無監督領域,有一類神經網絡格外特殊——它不需要人工標注的“標準答案”,僅通過數據自身的特征和網絡內部的簡單規則,就能自發形成有序的結構,將高維、混亂的數據“梳理”成低維、可解釋的拓撲映射。這一…

深入解析十大經典排序算法原理與實現

排序算法示例說明文檔 概述 本文檔詳細說明了排序算法示例的實現原理、性能特點和使用方法。 功能概要:提供各種排序算法的完整實現,包括基礎排序算法和高級排序算法,幫助理解算法原理和性能特點 排序算法分類 1. 基礎排序算法 (Basic S…

微服務-26.網關登錄校驗-OpenFeign傳遞用戶信息

一.OpenFeign傳遞用戶信息前端發起的請求都會經過網關再到微服務,由于我們之前編寫的過濾器和攔截器功能,微服務可以輕松獲取登錄用戶信息。但有些業務是比較復雜的,請求到達微服務后還需要調用其它多個微服務。比如下單業務,流程…

Java:IO流——增強篇

目錄 前言 一、緩沖流——讓數據傳輸飛起來 🚀 1、緩沖思想 2、緩沖字節流 3、緩沖字符流 二、標準流——程序三大通道🚦 1、標準輸入流(System.in) 2、標準輸出流(System.out) 3、標準錯誤流(S…