多目標檢測整合算法
輸入輸出接口
Input:image/video
Output:(1)BandingBox左上右下的坐標位置
(2)Type類型:人,車,…,…
(3) 執行度:是指判別目標物為某種類型的比率。比如為人,車,…,…的比率。
(4)需要燈光投射控制區域的左上右下的坐標位置
(5)攝像頭與目標物距離
(6)ID號(特指目標物跟蹤)
算法介紹和設計方案
在圖片多目標檢測的應用基礎之上,對視頻幀進行離散化的處理,從而達到處理視頻的效果。評判目標檢測系統的標准有三個重要的指標。
(1)使用公式:IOU=TP/(TP+FP+FN)來評估模型,即判別預測的方框和真實的方框的重疊度。
(2)mAP(Mean Average Precision),在多個類別的檢測中,每一個類別都可以調整閾值,算出召回率從0到1時的准確率(同一召回率取最高的准確率),計算准確率的平均值,而后再對於所有類求平均得到 mAP。該值介於0到1之間,且越大越好。
(3) FPS(Frames Per Second),用於評判系統檢測速度。本系統主要按照以上三個指標對多目標檢測任務進行評估,最終在數據集上的達到官方實驗效果,鑒於數據各種場景的復雜性,其最終IOU和mAP難以評估,估計會低於預期。
在實現標准數據集實驗效果的基礎上,進行各種場景的遷移學習從而進行微調,並最終應用於處理視頻幀,現初步預定幀率為35FPS,但使用環境的不同可能會影響最終的幀率。
圖1. 多目標檢測實例
參考傳統目標檢測算法,綜合目前各種深度學習網絡模型在多目標檢測任務中的應用效果,本項目擬采用初步復現,穩步提升的總體路線,從經典的Faster RCNN到SDD …… 一直到最新的YOLOv3,逐一驗證和改進並產品化。鑒於此,項目的開發總體流程如圖2所示:
圖2. 系統總體流程圖
依據VOC、MS COCO等標准數據集對多目標檢測任務的數據標注形式和規則,本項目的數據集需要按如下方式組織,標注數據的形式和其對應的原始圖像如圖3所示:
圖3. 數據標注樣例(左)與原始圖像數據(右)
本系統暫擬定復現和改進YOLOv3網絡,但在此之前會驗證Faster RCNN和YOLOV3等網絡模型。
Faster RCNN網絡結構說明:
圖4. Faster RCNN網絡結構
Faster RCNN可以看做“區域生成網絡RPNs + Fast RCNN”的系統,用區域生成網絡代替Fast RCNN中的Selective Search方法。 RPN網絡的核心思想是使用CNN卷積神經網絡直接產生Region Proposal,使用的方法本質上就是滑動窗口(只需在最后的卷積層上滑動一遍),由anchor機制和邊框回歸可以得到多尺度多長寬比的Region Proposal。
YOLOV3網絡結構說明:
圖5. YOLOV3網絡結構
YOLOV3使用VGG-16-Atrous作為基礎網絡,其中黃色部分是在VGG-16基礎網絡上添加的特征提取層。YOLOV3與YOLO不同之處是除了在最終特征圖上做目標檢測之外,還在之前選取的5個特特征圖上進行預測。從圖5可以看出,檢測過程不僅在添加特征圖(conv8_2, conv9_2, conv_10_2, pool_11)上進行,為了保證網絡對小目標有很好檢測效果,檢測過程也在基礎網絡特征圖(conv4_3, conv_7)上進行。
圖6. 車輛檢測算法性能對比
YOLOv3網絡結構說明:
圖7. YOLOv3網絡結構
YOLOv3模型是目前YOLO系列中最新的、執行效果最好和處理速度最快的目標檢測模型,可用於服務器端的部署。
集成整合方案:
第一,使用COCO數據集,將行人,車輛,地面標識,TSR的COCO公開數據集進行整合,使用yolov3在GPU上進行訓練和測試,反復調整網絡結構和參數,直到訓練loss收斂,測試結果性能指標和檢測圖像輸出顯示效果較佳。
第二,整合視覺行人,車輛,地面標識,TSR的數據集,使用上一步的yolov3網絡模型,用遷移學習的方法,訓練和測試視覺的數據集,反復調整yolov3的網絡模型和參數,直到訓練loss收斂,測試結果性能指標和檢測圖像輸出顯示效果較佳。
第三,將上一步yolov3的網絡模型集成到FPGA板子上,繼續利用整合好的視覺的數據集,反復調整網絡模型和參數,反復優化網絡結構,保證准確度,召回率,幀率都達到較佳的效果。
Schedule:
在GPU上完成coco數據集上的yolov3整合。
在GPU上完成自主采集數據集上的yolov3整合。
在FPGA上完成自主采集數據集上的yolov3整合。
性能指標:
在自主采集數據集上達到(詳細指標在開發過程中逐步修正)
|
行人 |
車輛 |
路面標識 |
TSR |
備注 |
准確度 |
80%(60米) |
80%(100米) |
80%(50米) |
80%(60米) |
|
召回率 |
50%(60米) |
60%(100米) |
50%(50米) |
50%(60米) |
|
幀率 |
30fps |
30fps |
30fps |
30fps |
|
表1. 性能指標
集成
算法開發完成后,將算法集成到嵌入式硬件平台用於路測。