1. 程式人生 > >無人超市目標檢測算法的選型

無人超市目標檢測算法的選型

目標檢測 深度學習

經過測試得出以下結論:
1、傳統的目標檢測算法主要有以下幾種:
(1) 基於Boosting框架:Haar/LBP/積分HOG/ACF feature+Adaboost

(2) 基於SVM:HOG+SVM or DPM等

(3) 模版匹配(特殊情況下可以用到)
人工特征和LBP,HAAR特征級聯分類器容易出現找不到目標的情況,但是優點是響應速度快,硬件投入低,訓練模型快速
因為有時候找不到目標所以舍棄。
2、現在采用深度學習的方法,主要嘗試了以下幾種方法
(1)cnn fast-cnn faster-cnn 該類方法主要是基於region proposal(two stage) 有響應慢的特點 但是目標找到的返回率很高,

因為我們的樣本是固定的背景,並且貨品目標不存在差異,所以找到目標的概率可以滿足需求。
(2)為了滿足響應速度,采用了yolo算法和ssd算法,yolo算法的優勢在於響應速度快,但是目標查找成功率較低,網傳性能為
泰坦顯卡X版本可以達到100張圖片每秒。由此計算,一個GPU可以同時管理幾百個貨櫃,因為一個人開關一個櫃子大概需要幾秒鐘時間。
(3)為了提高精度采用和yolo同樣基於基於回歸(one stage)的SSD算法,SSD算法因為結合了YOLO和anchor進行檢測所以可以
達到和上述基於region proposal(two stage)同樣的精度。
其實還有個叫做DSSD,因為DSSD為了提高精度所以在SSD網絡後面加入了新的連接層,速度較慢。詳見下圖結構(比較SSD和DSSD)
技術分享圖片
綜上所述采用SSD算法,測試SSD算法結果如下:
本機win10系統,CPU 14核心28線程
技術分享圖片
訓練時間為7天(該截圖為昨晚叠代計時)如果用騰訊雲GPU服務器可以縮短到幾個小時,也就是幾個小時就可以上新貨。
技術分享圖片
測試代碼如下(使用VOC07數據集訓練結果):
技術分享圖片
開始時間:
技術分享圖片
結束時間:
技術分享圖片
處理一千張圖片 總共耗時 466秒 通過計算 該機器的處理速度為 每秒2.15張,所以網傳速度較為真實。
測試圖片如下:技術分享圖片

無人超市目標檢測算法的選型