1. R-CNN
R-CNN是2014年出現的。它是将CNN用于對象檢測的起源,能夠基于豐富的特征層次結構進行目标精确檢測和語義分割來源。
如何确定這些邊界框的大小和位置呢?R-CNN網絡是這樣做的:在圖像中提出了多個邊框,并判斷其中的任何一個是否對應着一個具體對象。

要想進一步了解,可以檢視以下PPT和筆記:
http://www.image-net.org/challenges/LSVRC/2013/slides/r-cnn-ilsvrc2013-workshop.pdf
http://www.cs.berkeley.edu/~rbg/slides/rcnn-cvpr14-slides.pdf
http://zhangliliang.com/2014/07/23/paper-note-rcnn/
2. Fast R-CNN
2015年,R-CNN的作者Ross Girshick解決了R-CNN訓練慢的問題,發明了新的網絡Fast R-CNN。主要突破是引入感興趣區域池化(ROI Pooling),以及将所有模型整合到一個網絡中。
你可以通過以下GitHub連結檢視模型的各種實作代碼:
https://github.com/rbgirshick/fast-rcnn
https://github.com/precedenceguo/mx-rcnn
https://github.com/mahyarnajibi/fast-rcnn-torch
https://github.com/apple2373/chainer-simple-fast-rnn
https://github.com/zplizzi/tensorflow-fast-rcnn
這裡還有一個利用對抗學習改進目标檢測結果的應用:
http://abhinavsh.info/papers/pdfs/adversarial_object_detection.pdf
https://github.com/xiaolonw/adversarial-frcnn
3. Faster R-CNN
2015年,一個來自微軟的團隊(任少卿,何恺明,Ross Girshick和孫劍)發現了一種叫做“Faster R-CNN”的網絡結構,基于區域建議網絡進行實時目标檢測,重複利用多個區域建議中相同的CNN結果,幾乎把邊框生成過程的運算量降為0。
你可以在這裡看到關于Faster R-CNN的更多介紹,包括PPT和GitHub代碼實作:
http://web.cs.hacettepe.edu.tr/~aykut/classes/spring2016/bil722/slides/w05-FasterR-CNN.pdf
Matlab
https://github.com/ShaoqingRen/faster_rcnn
Caffe
https://github.com/rbgirshick/py-faster-rcnn
MXNet
https://github.com/msracver/Deformable-ConvNets/tree/master/faster_rcnn
PyTorch
https://github.com//jwyang/faster-rcnn.pytorch
TensorFlow
https://github.com/smallcorgi/Faster-RCNN_TF
Keras
https://github.com/yhenon/keras-frcnn
C++
https://github.com/D-X-Y/caffe-faster-rcnn/tree/dev
4. SPP-Net(空間金字塔池化網絡)
SPP-Net是基于空間金字塔池化後的深度學習網絡進行視覺識别。它和R-CNN的差別是,輸入不需要放縮到指定大小,同時增加了一個空間金字塔池化層,每幅圖檔隻需要提取一次特征。
相關資源:
https://github.com/ShaoqingRen/SPP_net
http://zhangliliang.com/2014/09/13/paper-note-sppnet/
更多論文:
DeepID-Net:基于變形深度卷積神經網絡進行目标檢測
http://www.ee.cuhk.edu.hk/%CB%9Cwlouyang/projects/imagenetDeepId/index.html
深度感覺卷積神經網絡中的目标檢測器
https://www.robots.ox.ac.uk/~vgg/rg/papers/zhou_iclr15.pdf
segDeepM:利用深度神經網絡中的分割和語境進行目标檢測
https://github.com/YknZhu/segDeepM
基于卷積特征激活圖的目标檢測網絡
http://arxiv.org/abs/1504.06066
利用貝葉斯優化與結構化預測改進基于深度卷積神經網絡的目标檢測
http://arxiv.org/abs/1504.03293
DeepBox:利用卷積網絡學習目标特性
http://arxiv.org/abs/1505.02146
5. YOLO模型
YOLO是名額準化、實時的目标檢測。
可以先看大資料文摘翻譯的這個視訊了解YOLO:
TED演講 | 計算機是怎樣快速看懂圖檔的:比R-CNN快1000倍的YOLO算法
有了YOLO,不需要一張圖像看一千次,來産生檢測結果,你隻需要看一次,這就是我們為什麼把它叫"YOLO"物體探測方法(You only look once)。
代碼實作:
https://github.com/pjreddie/darknet
https://github.com/gliese581gg/YOLO_tensorflow
https://github.com/xingwangsfu/caffe-yolo
https://github.com/tommy-qichang/yolo.torch
https://github.com/nilboy/tensorflow-yolo
相關應用:
Darkflow:将darknet轉換到tesorflow平台。加載訓練好的權值,用tensorflow再次訓練,再将導出計算圖到C++環境中。
https://github.com/thtrieu/darkflow
使用你自己的資料訓練YOLO模型。利用分類标簽和自定義的資料進行訓練,darknet支援Linux / Windows系統。
https://github.com/Guanghan/darknet
IOS上的YOLO實戰:CoreML vs MPSNNGraph,用CoreML和新版MPSNNGraph的API實作小型YOLO。
https://github.com/hollance/YOLO-CoreML-MPSNNGraph
安卓上基于TensorFlow架構運作YOLO模型實作實時目标檢測。
https://github.com/natanielruiz/android-yolo
6. YOLOv2模型
時隔一年,YOLO作者放出了v2版本,稱為YOLO9000,并直言它“更快、更高、更強”。YOLO v2的主要改進是提高召回率和定位能力。
各種實作:
https://github.com/allanzelener/YAD2K
https://github.com/longcw/yolo2-pytorch
Tensorflow
https://github.com/hizhangp/yolo_tensorflow
Windows
https://github.com/AlexeyAB/darknet
https://github.com/choasUp/caffe-yolo9000
Darknet_scripts是深度學習架構中YOLO模型中darknet的輔助腳本,生成YOLO模型中的參數anchors。
https://github.com/Jumabek/darknet_scripts
Yolo_mark:圖形化标記用于訓練YOLOv2模型的圖像目标
https://github.com/AlexeyAB/Yolo_mark
LightNet:改進的DarkNet
https://github.com//explosion/lightnet
用于生成YOLOv2模型所需訓練資料的邊界框标記工具
https://github.com/Cartucho/yolo-boundingbox-labeler-GUI
Loss Rank Mining:基于實時目标檢測的一種通用的困難樣本挖掘方法。LRM是第一個高度适用于YOLOv2模型中的困難樣本挖掘政策,它讓YOLOv2模型能夠更好的應用到對實時與準确率要求較高的場景中。
https://arxiv.org/abs/1804.04606
7. YOLOv3模型
再次改進YOLO模型。提供多尺度預測和更好的基礎分類網絡。相關實作:
https://pjreddie.com/darknet/yolo/
https://github.com/experiencor/keras-yolo3
https://github.com/marvis/pytorch-yolo3
8. SSD(單網絡目标檢測架構)
SSD可以說是YOLO和Faster R-Cnn兩者的優勢結合。相比于Faster R-Cnn,SSD的目标檢測速度顯著提高,精度也有一定提升;相比YOLO,速度接近,但精度更高。
相關實作:
https://github.com/zhreshold/mxnet-ssd
https://github.com/rykov8/ssd_keras
https://github.com/balancap/SSD-Tensorflow
https://github.com/amdegroot/ssd.pytorch
https://github.com/chuanqi305/MobileNet-SSD
9. DSOD(深度監督目标檢測方法)
與SSD類似,是一個多尺度不需要proposal的檢測架構,是一種完全脫離預訓練模型的深度監督目标檢測方法。
相關實作:
https://arxiv.org/abs/1708.01241
https://github.com/szq0214/DSOD
https://github.com/Windaway/DSOD-Tensorflow
https://github.com/chenyuntc/dsod.pytorch
原文釋出時間為:2018-05-27
本文來自雲栖社群合作夥伴“
資料派THU”,了解相關資訊可以關注“
”。