無人超市目標檢測算法的選型
阿新 • • 發佈:2018-03-14
目標檢測 深度學習 經過測試得出以下結論:
1、傳統的目標檢測算法主要有以下幾種:
(1) 基於Boosting框架:Haar/LBP/積分HOG/ACF feature+Adaboost 因為我們的樣本是固定的背景,並且貨品目標不存在差異,所以找到目標的概率可以滿足需求。
(2)為了滿足響應速度,采用了yolo算法和ssd算法,yolo算法的優勢在於響應速度快,但是目標查找成功率較低,網傳性能為
泰坦顯卡X版本可以達到100張圖片每秒。由此計算,一個GPU可以同時管理幾百個貨櫃,因為一個人開關一個櫃子大概需要幾秒鐘時間。
(3)為了提高精度采用和yolo同樣基於基於回歸(one stage)的SSD算法,SSD算法因為結合了YOLO和anchor進行檢測所以可以
達到和上述基於region proposal(two stage)同樣的精度。
其實還有個叫做DSSD,因為DSSD為了提高精度所以在SSD網絡後面加入了新的連接層,速度較慢。詳見下圖結構(比較SSD和DSSD)
![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/d56f2a1b745e944d67ec92472a15858a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
綜上所述采用SSD算法,測試SSD算法結果如下:
本機win10系統,CPU 14核心28線程
![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/608139ff9d49860bead89390c7c67473.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
訓練時間為7天(該截圖為昨晚叠代計時)如果用騰訊雲GPU服務器可以縮短到幾個小時,也就是幾個小時就可以上新貨。
![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/627ddd93df53d5ccbb590888f4170ba0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
測試代碼如下(使用VOC07數據集訓練結果):
![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/b6db90c8c29eb002ac79b8aa92f00e43.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
開始時間:
![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/304e018b9861e747304e7db68eb3f839.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
結束時間:
![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/1d2956f7afce6a50972ad9730a1e4d75.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
處理一千張圖片 總共耗時 466秒 通過計算 該機器的處理速度為 每秒2.15張,所以網傳速度較為真實。
測試圖片如下:![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/6301c4fa727abae8000a94f455e5b6ed.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
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)
![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/d56f2a1b745e944d67ec92472a15858a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
綜上所述采用SSD算法,測試SSD算法結果如下:
本機win10系統,CPU 14核心28線程
![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/608139ff9d49860bead89390c7c67473.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
訓練時間為7天(該截圖為昨晚叠代計時)如果用騰訊雲GPU服務器可以縮短到幾個小時,也就是幾個小時就可以上新貨。
![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/627ddd93df53d5ccbb590888f4170ba0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
測試代碼如下(使用VOC07數據集訓練結果):
![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/b6db90c8c29eb002ac79b8aa92f00e43.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
開始時間:
![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/304e018b9861e747304e7db68eb3f839.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
結束時間:
![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/1d2956f7afce6a50972ad9730a1e4d75.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
處理一千張圖片 總共耗時 466秒 通過計算 該機器的處理速度為 每秒2.15張,所以網傳速度較為真實。
測試圖片如下:
![技術分享圖片](http://i2.51cto.com/images/blog/201803/14/6301c4fa727abae8000a94f455e5b6ed.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
無人超市目標檢測算法的選型