很難衡量乙個檢測演算法的好壞,因為除了演算法本身的思路之外,還有許多因素影響它的速度和精度,比如:
為了對比不同的演算法,可以不考慮上述的所有影響因素,直接對**結果評測,應該能大體看出不同方法的速度差異。
上圖是乙個所有方法的預覽。從圖中可以看出rfcn的準確度是最高的。
上圖可以看出,速度最快的還是yolo和ssd一體化的方法。
這是在ms-coo資料集上的測試效果,從效果可以看出,retina-net在map效果是最好的。其中faster-rcnn改用resnet作為特徵抽取網路準確率有較大的提公升。
最後是google做的乙個research,在tensorflow上統一的實現了所有的檢測演算法,yolo沒有包含在內。最終的測試結果可以表示為:
從上面可以大致的看出,faster-rcnn的準確度更加精確,而rfcn和ssd更快。
上述只是乙個預覽,但是除了這些之外,我們還需要考慮一些更加細化的因素。
特徵抽取網路不通,最終的結果也不同。簡單來說,乙個更加複雜的特徵抽取網路可以大大的提高faster-rcnn和rfcn的精確度,但是對於ssd,更好的特徵抽取網路對結果影響不大,所以你看ssd+mobilenet也不會太大的影響結果。從這個圖可以看得很清楚:
對於大物體,ssd即使使用乙個較弱的特徵抽取器也可以獲取較好的精確度。但在小物體上ssd的表現結果非常不好。
不同的proposal數目會影響檢測器的速度和精度。這個很重要,很多人想加速faaster-rcnn但是不知道從何下手,顯然這裡是乙個很好的切入點。 將proposal的數目從300削減到50,速度可以提高3倍,但是精度僅僅降低4%,可以說非常值了。我們從這張圖可以看得很清楚:
最終我們可以得到乙個很科學的結果:
最高精度
使用faster-rcnn毫無疑問,使用inception resnet作為特徵抽取網路,但是速度是一張1s; 還有一種方法是一種叫做整合的動態選擇模型的方法(這個你就不要追求速度了);
最快ssd+mobilenet是速度最快的,但是小目標檢測效果差;
平衡 如果既要保證精度又要保持速度,採用faster-rcnn將proposla的數目減少到50,同時還能夠達到rfcn和ssd的速度,但map更優。
目標檢測演算法
基於深度學習的回歸方法 yolo ssd densebox 傳統目標檢測流程 rcnn解決的就是預先找出圖中目標可能出現的位置,即候選區域,再對這些區域進行識別分類。r cnn 具體步驟如下 步驟二 對該模型做fine tuning 微調 步驟三 特徵提取 步驟四 訓練乙個svm分類器來判斷這個候選...
目標檢測演算法對比 目標檢測演算法工程落地
覆盤一下在實現檢測演算法落地過程中所經歷的乙個流程 列出幾點重點說明一下 1 網路的選取和調參是關鍵 網路選取 考慮到實際情況的實時性 硬體效能,需考慮參數量較小的檢測網路,更傾向於單階段式的網路 基於yolossd等的多個變體網路 其次基礎特徵提取網路backbone的替換,傳統都是vgg的特徵提...
移動端目標檢測演算法彙總(2020 06)
隨著深度學習演算法的迅猛發展,目標檢測演算法也從伺服器端轉移到移動端的產品落地。在移動端上的目標檢測架構,目前比較流行的三大派系分別為 谷歌出品的mobilenet系列 v1 v3 曠視科技產品的shufflenet系列 v1 v2 facebook出品的fbnet v1 v3 系列。最近移動端的目...