1. 程式人生 > >深度學習筆記1:end-to-end、anchor box解釋、人體檢測程式碼

深度學習筆記1:end-to-end、anchor box解釋、人體檢測程式碼

非end-to-end方法:
目前目標檢測領域,效果最好,影響力最大的還是RCNN那一套框架,這種方法需要先在影象中提取可能含有目標的候選框(region proposal), 然後將這些候選框輸入到CNN模型,讓CNN判斷候選框中是否真的有目標,以及目標的類別是什麼。在我們看到的結果中,往往是類似與下圖這種,在整幅圖中用矩形框標記目標的位置和大小,並且告訴我們框中的物體是什麼。
這種標記的過程,其實是有兩部分組成,一是目標所在位置及大小,二是目標的類別。在整個演算法中,目標位置和大小其實是包含在region proposal的過程裡,而類別的判定則是在CNN中來判定的。

這種標記的過程,其實是有兩部分組成,一是目標所在位置及大小,二是目標的類別。在整個演算法中,目標位置和大小其實是包含在region proposal的過程裡,而類別的判定則是在CNN中來判定的。

end-to-end方法:
end-to-end方法的典型代表就是有名的yolo。前面的方法中,CNN本質的作用還是用來分類,定位的功能其並沒有做到。而yolo這種方法就是隻通過CNN網路,就能夠實現目標的定位和識別。也就是原始影象輸入到CNN網路中,直接輸出影象中所有目標的位置和目標的類別。這種方法就是end-to-end(端對端)的方法,一端輸入我的原始影象,一端輸出我想得到的結果。只關心輸入和輸出,中間的步驟全部都不管。

候選區域(anchor)

備註:具體是咋樣實現的,目前還沒搞清楚,先知道大概是個啥就ok,後續弄明白就好。

特徵可以看做一個尺度51*39的256通道影象,對於該影象的每一個位置,考慮9個可能的候選視窗:三種面積{

1282,2562,5122}×三種比例{1:1,1:2,2:1}。這些候選視窗稱為anchors。下圖示出51*39個anchor中心,以及9種anchor示例。