本篇寫於18年暑假,后來轉戰跟蹤就沒怎么更新過,梳理了幾個經典目標檢測的點,以及他們的性能分數,本打算做畢設的時候梳理借鑒,沒想到只能到這里了。
一.RCNN
- 選擇性搜索
- Crop后分類(兩種傳入網絡的方法,那種長寬都縮放到網絡大小的比較好)
- 用SVM分類(FC的沒有SVM的好,可能畢竟是沒有訓練吧)
- 速度:50s/img(慢)
- Bounding Box 回歸
二.Fast-RCNN
- ROI(可BP)
- 建議區還是選擇性搜索
- 速度:0.32
三.Faster-RCNN
- RPN 位置建議網絡,輸出那一層,每個卷積核對應一種anchor(不同大小長寬比)的一種屬性(置信分、x,y,h,w)
- ROI這里補充說明,RPN回歸的x,y是浮點數,需要取整數、再打格子
- 速度:0.2
四.RFCN
- 是雙階段的(還是有rpn)
- 沒有后面的FC,而是改用卷積的形式
- 還是打格子了,只是每個格子用一個卷積核來算,卷積核跑過一遍后,每個點就對應每個這個位置作為格子一角的分數
- 取值的時候,PR對應的區域在map上打格子,屬於同一個格子的點求平均(比如深藍色屬於左下角,但是PR只要ROI上的一小塊,而不是整個ROI,最后這樣組合起來投票)
五.YOLO (you only look once)
- 最后又經歷過FC
- 既然是7*7,應該是對大目標比較好
六.Yolo2
- 主要是trick(以前的問題現在看來是trick)
- Anchor居然沒有
- DarkNet(速快,可用在移動端或者簡化加速)
- Yolo3的時候對小目標也不錯了
七.PVANet
1.速度快性能好
2.crelu(減半的卷積數,差不多的性能),可以借鑒
八.SSD
- 雖然是單階段,但是輸出層是有根據anchor來的
- 沒有特征融合?
- 數據增強
- 輸入越大越好
九.RetinaNet
- focal loss (單階段不一定不好,只是訓練樣本的不均衡導致)
- 單階段+fpn
十.Mask-RCNN
- Mask多任務
- ROI Align (直接在回歸的pr上打格子做插值)
十一.DSSD
- 特征融合
- 1*1的卷積(c)最好
- 長寬比聚類
- 測試的時候刪除bn層,速度1:2× - 1:5×
十二.RefineDet
- 單階段的,快,好用,對小目標好
- 有類似雙階段的anchor精煉過程
- 帶+號的是多尺度
十三.Deformable Convolutional Networks (DCN)
- 卷積變形(偏移)
- ROI偏移
- 慢,但想法好
十四.CornerNet
論文地址:https://arxiv.org/abs/1808.01244
https://github.com/umich-vl/CornerNet
- 角點檢測(左上、右下)
- 通過embeddings確認同目標的兩點
- 提出Corner pool,有效平滑特征圖,凸顯角點
- 最后的角點還加了offset微調,就有點像雙階段
- 基礎網絡用沙漏網絡
- 單階段最佳