機器學習經典模型(二)目標檢測

1.圖像中單個目標的定位

標籤爲:中心點,方塊的長寬

2.圖像中多個目標檢測——滑窗法

訓練一個目標識別網絡Net,能夠判斷是不是car。

用滑窗法遍歷圖片,每一次都用Net來做預測,因爲知道滑窗的位置和大小,所以可以預測出圖片中物體的種類的位置。

受細粒度、滑動步長影響大,計算量太大

3.通過卷積來減少計算量

1)通過卷積代替全連接

 2)通過卷積實現滑窗操作

有很多計算是共享的,通過卷積通過“並行”的方式,一次從前到後的計算就預測了所有滑窗的結果。 卷積的步長決定了滑窗的步長

4. YOLO

之前的滑窗是以窗口大小作爲bounding box的,不夠精確。

輸入100x100x3圖像,輸出3x3x8的預測,3x3中每一個格子對應一個8的預測標籤。

相對於當個目標的定位,這個可以實現多個目標的bouding box定位。

相比滑窗法的pipeline式檢測流程,這個是更貼近端到端的方法。

好處:

1、因爲用了bounding box目標定位的標籤,所以更精確 ,而不是滑窗中只能按照滑窗大小來

2、採用了卷積實現,計算效率高,可以實時

注意:

這裏的3x3網格並沒有真正地把圖片分割成9塊,不存在如果一個物體橫跨了兩個格子就識別不出來的情況,只是輸出限制成了3x3的區域,不同格子的輸入並沒有應爲劃分格子而相互解耦,並不等價於分割成9個圖片,然後單獨做目標定位。

5. 評價指標 IoU 交併比

 6. 非極大值抑制

圖中高亮的被選中,變暗的被抑制。 

因爲有多個物體,所以需要循環遍歷: 

1.選一個概率Pc最大的框,挑出來,作爲第一個物體的預測

2.遍歷剩下的框,和這個框IoU大於0.6(某個閾值)的框就不要了

3.遍歷剩下的框,找一個Pc最大的,作爲第二個物體的預測

4.遍歷剩下的,和這個框IoU大於0.6(某個閾值)的框就不要了

.......如此循環

參考鏈接:https://blog.csdn.net/shuzfan/article/details/52711706

7.處理重合物體Anchor Boxes

輸入的預測每個格子不再是隻有一組預測值,而是對應不同類別的物體有不同的anchor box 

輸出3x3x(8x2)

 下面列舉了一個格子中有兩種、有一種物體的情況時,標籤是什麼樣的

 

這種方法無法處理:

1、一個格子中有三個物體,卻只有兩個anchor box

2、一個格子中同一類物體有兩個以上 

參考鏈接:https://blog.csdn.net/weixin_43384257/article/details/100974776 

8.YOLO

這部分還需要看代碼仔細研究一下

https://docs.google.com/presentation/d/1aeRvtKG21KHdD5lg6Hgyhx5rPq_ZOsGjG5rJ1HP7BbA/pub?start=false&loop=false&delayms=3000&slide=id.g137784ab86_4_4611

9.R-CNN系列

基於區域建議的,不是滑窗,而是先建議在哪些區域裏找,然後在那些區域裏執行卷積網絡預測bounding box,缺點是太慢了。

這裏邊區域建議還是很慢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章