為 AI 從業者/研究生/研究員專門定制的全網唯一高端 AI 訓練營
833
2025-04-04
簡 介:
目標檢測是計算機視覺的一個重要應用方向,深度神經網絡的提出極大地幫助基于視覺的目標檢測提高了準確度。自2014年以來,深度神經網絡在基于視覺的目標檢測中被廣泛應用,出現了多種算法。本文分別討論兩階段和一階段算法的主要思路、發展過程以及實現效果等,最后結合相關領域的一些成果討論基于視覺的目標檢測未來可能的應用模式。
關鍵詞:
目標檢測,神經網絡,R-CNN,YOLO
兩階段法
目 錄
Contents
一階段法
自動駕駛
總結與展望
參考文獻
兩階段法
目 錄
Contents
一階段法
自動駕駛
總結與展望
參考文獻
神經網絡解決計算機視覺中的目標檢測問題主要有兩階段和一階段兩種主要思路。兩階段法主要以R-CNN[1]及其后續的改進版本等為代表,一階段法主要以YOLO[2]及其改進版本為代表。
兩
階段算法的輸入是一張原始圖片,算法從原始圖片中提取出若干候選區(Region Proposal),之后對候選區中的圖片進行分類和回歸。
兩階段法的首次提出是Girshick R等人在2014年提出了R-CNN[1],他們給出的算法流程如下圖。
R-CNN的提取候選區階段采用的是選擇性搜索算法,在輸入圖像上大約產生2000~3000個候選框。在之后的分類和回歸階段又分為三個部分。首先是利用卷積神經網絡(CNN)對候選框提取特征,之后利用SVM對CNN提取的特征進行分類,最后利用回歸網絡對目標的選框(bounding box)進行修正。
R-CNN將深度神經網絡引入了目標檢測領域,在VOC 2012數據集上的最好mAP(mean average precision)達到了53.3%,相比傳統方法提高了超過30%;在GPU上運行時間大約13秒/圖[1]。R-CNN算法的運行所需時間遠達不到實時性的要求。R-CNN提取候選區階段和分類回歸階段相對獨立,產生數千個候選框交由CNN分別提取特征,這個過程中會產生大量的計算。
2015年He K等人提出SPP-net[3],在CNN的最后一個卷積層加入空間金字塔池化(spatial pyramid pooling),使得不同尺寸的輸入圖像可以在池化后具有相同尺寸的特征向量,適應之后的全連接網絡分類。引入SPP層后所有圖像候選區可以共享卷積神經網絡,從而極大地提高了目標檢測的速度——相比R-CNN可提升數十倍,而準確率相當[3]。但是SPP-net中的卷積層參數是無法訓練的[4]。
Ren S等人提出了RPN(Region Proposal Network),進一步提高了R-CNN的識別速度[5]。RPN是用于產生候選區和對應的目標得分的卷積神經網絡,與Fast R-CNN共享卷積層,使得候選區產生幾乎不增加額外消耗。引入了RPN的Faster R-CNN檢測速度已經可以達到5fps。
He K等人2017年在Faster-RCNN的基礎上在classifier分支外增加了mask分支,實現了實例分割[6]。在Mask R-CNN中RoI Align替換了RoI Pooling,使得分割結果更加精確。
2019年Gkioxari G等人基于Mask R-CNN進一步提出了Mesh R-CNN[7],首次實現了2D目標檢測和目標三維重構的融合。Lu X等人提出了Grid R-CNN[8],利用網格定位的方式取代了bounding box回歸,使得目標的定位更精確。
一
階段法是端到端的方法,輸入一張圖片,網絡直接輸出bounding box和其中各個類別的可能性。
一階段法的提出晚于兩階段法。Redmon J等人在2016年首次提出了YOLO[2]。
整個目標檢測過程被視為一個回歸問題,各個類別的可能性和bounding box由同一個代價函數評估。不同于兩階段中不同部分需要各自訓練,YOLO在訓練時整個網絡可以一次性訓練。YOLO將圖片分為若干單元格,每個單元格預測若干bounding box和目標概率,此后所有信息被綜合考慮和回歸。
YOLO的目標檢測速度非常快,可以達到45fps,其快速版甚至可以達到150fps[2]。因為YOLO是對一張圖片整體預測,所以不會被局限在某個小區域內,使得算法的背景誤檢率很低——而相應的,當同一個單元格內或者整張圖片中有大量目標或者有很小的目標時,YOLO漏檢率較高。
2018年Redmon J等對YOLO進行了進一步改進,優化了網絡結構、Bounding Box算法,用多標簽分類取代了softmax,形成了YOLOv3[11]。YOLOv3相比YOLOv2具有更大的網絡規模,這使得它有更高的準確度,但同時仍然保持著很好實時性。
目
標檢測的一個重要應用領域是自動駕駛。自動駕駛中通常用激光雷達感知周圍環境的深度信息,用攝像頭采集環境的紋理和色彩等。基于視覺的目標檢測和雷達探測融合后可以得到更豐富的環境的三維信息。
視覺和激光融合的目標檢測的一種思路是將激光數據作為先驗,利用激光雷達采集的點云數據對攝像頭視野內的目標進行預分類,根據傳感器的標定和轉換矩陣產生攝像頭圖像平面內的Region Proposal,之后由神經網絡進行分類和回歸。其工作流程類似R-CNN。Zhao X等人在他們2020年的文章[14]中就采用了這種思路。另外他們還指出,將候選框同時應用在最后三個卷積層內,再將它們分別RoI Pooling的結果加權相加輸入分類網絡,可以提高網絡對小目標的檢測能力。
視覺和激光的另一種融合方式是數據層融合,之后用端到端的方式處理融合后的數據,Huang Z等人的工作[15]就應用了這種思想。
人
工神經網絡,特別是深度網絡顯著提高了基于視覺的目標檢測的準確度。各種算法都在追求準確度和實時性的平衡,其中R-CNN等兩階段法的算法準確度較高,而YOLO等一階段法能保證很強的實時性而準確度略低。深度神經網絡雖然識別能力強,但是對算力要求高,所以也有很多學者進行了網絡壓縮等工作,使得應用神經網絡的目標檢測算法在嵌入式系統中也能運行,為算法的真正落地應用創造可能性。
另外在自動駕駛領域多傳感器融合是重要的發展方向,基于視覺的目標檢測算法和激光雷達等傳感器數據融合是目標檢測的一個發展方向。其融合方式可能是兩階段法的第一階段由其他傳感器數據的處理方法替換,也可以是其他傳感器數據的處理算法應用基于視覺的目標檢測結果,還可以是在數據層融合其他傳感器數據,之后采用端到端的方法做目標檢測等。
參考文獻
[1] Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE conference on Computer Vision and pattern recognition. 2014: 580-587.
[2] Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE conference on Computer Vision and pattern recognition. 2016: 779-788.
[3] He K, Zhang X, Ren S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE transactions on pattern analysis and machine intelligence, 2015, 37(9): 1904-1916.
[4] Girshick R. Fast r-cnn[C]//Proceedings of the IEEE international conference on computer vision. 2015: 1440-1448.
[5] Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[J]. Advances in neural information processing systems, 2015, 28: 91-99.
[6] He K, Gkioxari G, Dollár P, et al. Mask r-cnn[C]//Proceedings of the IEEE international conference on computer vision. 2017: 2961-2969.
[7] Gkioxari G, Malik J, Johnson J. Mesh r-cnn[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019: 9785-9795.
[8] Lu X, Li B, Yue Y, et al. Grid r-cnn[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019: 7363-7372.
[9] Redmon J, Farhadi A. YOLO9000: better, faster, stronger[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 7263-7271.
[10] Shafiee M J, Chywl B, Li F, et al. Fast YOLO: A fast you only look once system for real-time embedded object detection in video[J]. arXiv preprint arXiv:1709.05943, 2017.
[11] Redmon J, Farhadi A. Yolov3: An incremental improvement[J]. arXiv preprint arXiv:1804.02767, 2018.
[12] Bochkovskiy A, Wang C Y, Liao H Y M. Yolov4: Optimal speed and accuracy of object detection[J]. arXiv preprint arXiv:2004.10934, 2020.
[13] Wang C Y, Bochkovskiy A, Liao H Y M. Scaled-yolov4: Scaling cross stage partial network[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 13029-13038.
[14] Zhao X, Sun P, Xu Z, et al. Fusion of 3D LIDAR and camera data for object detection in autonomous vehicle applications[J]. IEEE Sensors Journal, 2020, 20(9): 4901-4913.
[15] Huang Z, Lv C, Xing Y, et al. Multi-modal sensor fusion-based deep neural network for end-to-end autonomous driving with scene understanding[J]. IEEE Sensors Journal, 2020, 21(10): 11781-11790.
● 相關圖表鏈接:
圖1.1 R-CNN算法流程
圖1.2 算法中的數據增強
圖2.1 YOLOv1算法流程
圖2.2 YOLOx算法
圖4.1 算法不同的結構
神經網絡
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。