【OpenMMLab AI训练营第二期】Class6:目标检测与MMDetection
目標檢測與MMDetection
- 目標檢測的基本范式
- 什么是目標檢測
- 發展
- 目標檢測技術的演進
- 基礎知識
- 框
- 交并比IoU
- 目標檢測的基本思路
- 滑窗
- 感受野
- 使用卷積實現密集預測
- 邊界框回歸
- 非極大值抑制
- 密集預測的流程
- 密集預測模型的訓練
- 密集檢測的思路
- 多尺度檢測與FPN
- 單階段&無錨框檢測器選講
- RPN
- YOLO、SSD
- Focal Loss與RetinaNet
- FCOS
- YOLO系列選講
視頻鏈接:目標檢測與MMDetection
目標檢測的基本范式
什么是目標檢測
目標檢測是在給定的圖片中用矩形框框出所有感興趣物體同時預測物體類別的過程。
- 圖像分類和目標檢測的異同
目標檢測在生活中有非常廣泛的應用,例如人臉識別、智慧城市、自動駕駛等。也可作為其他下游視覺任務的基礎,例如OCR、姿態識別等等。
發展
早期是傳統方法DPM,在進入深度學習階段之后就有了更多算法。
- 根據算法階段來劃分。 首先出現的是兩階段算法,以R-CNN和Faster R-CNN為代表;此后是單階段算法,以YOLO和SSD為代表。
- 根據是否使用Transformer。 2020年左右,涌現了諸多基于Transformer的方法,例如DETR、ViT等等。
- 如今基于CNN和TR的方法日趨成熟,學術界開始在探討Open Vocabulary Detection,希望目標檢測算法能夠不局限在有標注的數據集中。
目標檢測技術的演進
基礎知識
框
是橫平豎直的框,如果是旋轉的是旋轉目標檢測這一小類。
交并比IoU
如果存在多個框,那么就需要考慮框之間的關系。最常用的方法就是交并比。
IoU是介于[0,1]的數值。后續也有很多新的IoU方式,例如CIoU、DIoU等等
目標檢測的基本思路
滑窗
如上述圖片所示:滑窗法首先是通過設定一個固定大小的窗口,然后按照一定規律遍歷圖像所有位置。在遍歷的時候根據滑窗對圖像進行一個裁剪,然后對滑窗內的圖片進行分類,根據分類分數來判斷屬于前景還是背景。
但是滑窗方法的效率是非常低的。
為了減少不同滑窗中被同一卷積計算的冗余,可以用卷積對全圖進行計算,然后通過卷積的位置一致性取出對應位置的特征。
感受野
感受野的計算
有效感受野(感受野的大小)
使用卷積實現密集預測
不同感受野自然形成了一系列等距離分布的滑窗。本來在每個滑窗的部分都有線性分類的過程,可以對其進行維度上的轉置,得到一個 1 × 1 × C i n × C o u t 1 \times 1 \times C_{in} \times C_{out} 1×1×Cin?×Cout?的卷積,實現特征圖的密集預測。這樣就可以一次性計算出所有位置上包含物體的概率。
邊界框回歸
神經網絡對于回歸比起分類任務還是比較困難的,所以設置一個錨框還是能降低難度。當然錨框也不是純粹為了回歸任務,也可以檢測出不同大小的物體還有重疊物體。
非極大值抑制
預測結果中,可能多個預測結果間存在重疊部分,需要保留交并比最大的、去掉非最大的預測結果,這就是非極大值抑制(Non-Maximum Suppression,簡寫作NMS)。
密集預測的流程
密集預測模型的訓練
GT怎么映射到密集預測中呢?因為標注的時候只會標出物體,那么如何用這個稀疏的標注去產生一個密集的GT,這個過程就是匹配。
采樣:自然的想,存在以下兩種情況
密集檢測的思路
這是一個抽象的基本范式。
多尺度檢測與FPN
單階段&無錨框檢測器選講
RPN
YOLO、SSD
Focal Loss與RetinaNet
FCOS
YOLO系列選講
總結
以上是生活随笔為你收集整理的【OpenMMLab AI训练营第二期】Class6:目标检测与MMDetection的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Matlab学习手记】了解Matlab
- 下一篇: 【玩转控件系列】控件布局之随心掌控布局