目标檢測任務是計算機視覺的主要分支之一,但對于目标檢測具體做什麼,目标檢測算法的有哪些類别以及相關定義卻很少會有人關注,雖然這些對于解決實際問題顯得有些無關緊要,但對于更加系統性的學習還是非常必要的。本文僅面向深度學習領域的目标檢測。
一、什麼是目标檢測
- 目标檢測(Object Detection)的任務是找出圖像中所有感興趣的目标(物體),确定它們的類别和位置,是計算機視覺領域的核心問題之一。由于各類物體有不同的外觀、形狀和姿态,加上成像時光照、遮擋等因素的幹擾,目标檢測一直是計算機視覺領域最具有挑戰性的問題。
- 計算機視覺中關于圖像識别有四大類任務:
分類-Classification:解決“是什麼?”的問題,即給定一張圖片或一段視頻判斷裡面包含什麼類别的目标。
定位-Location:解決“在哪裡?”的問題,即定位出這個目标的位置。
檢測-Detection:解決“是什麼?在哪裡?”的問題,即定位出這個目标的位置并且知道目标物是什麼。
分割-Segmentation:分為實例的分割(Instance-level)和場景分割(Scene-level),解決“每一個像素屬于哪個目标物或場景”的問題。
二、目标檢測要解決的核心問題
除了圖像分類之外,目标檢測要解決的核心問題是:
1.目标可能出現在圖像的任何位置。
2.目标有各種不同的大小。
3.目标可能有各種不同的形狀。
三、目标檢測算法分類
基于深度學習的目标檢測算法主要分為兩類:
1.Two stage目标檢測算法
- 先進行區域生成(region proposal,RP)(一個有可能包含待檢物體的預選框),再通過卷積神經網絡進行樣本分類。
- 任務:特征提取—>生成RP—>分類/定位回歸。
- 常見的two stage目标檢測算法有:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN和R-FCN等。
2.One stage目标檢測算法
- 不用RP,直接在網絡中提取特征來預測物體分類和位置。
- 任務:特征提取—>分類/定位回歸。
- 常見的one stage目标檢測算法有:OverFeat、YOLOv1、YOLOv2、YOLOv3、SSD和RetinaNet等
四、目标檢測的應用
目标檢測具有巨大的實用價值和應用前景。應用領域包括人臉檢測、行人檢測、車輛檢測、飛機航拍或衛星圖像中道路的檢測、車載攝像機圖像中的障礙物檢測、醫學影像在的病竈檢測等。還有在安防領域中,可以實現比如安全帽、安全帶等動态檢測,移動偵測、區域入侵檢測、物品看護等功能。
五、結尾
本文節選自《深度學習500問》,想要更加深入了解學習上文中所提及的算法,可以進入書中目标檢測章節進行學習。
阿木實驗室緻力于為機器人研發提供開源軟硬件工具和課程服務,讓研發更高效!
- End -
技術發展的日新月異,阿木實驗室将緊跟技術的腳步,不斷把機器人行業最新的技術和硬件推薦給大家。看到經過我們培訓的學員在技術上突飛猛進,是我們培訓最大的價值。如果你在機器人行業,就請關注我們的公衆号,我們将持續發布機器人行業最有價值的信息和技術。
,