從R-CNN到YOLO,一文帶你了解目標檢測模型(附論文下載)

從R-CNN到YOLO,一文帶你了解目標檢測模型(附論文下載)

來自專欄數據汪

大數據文摘作品

編譯:Yanruo、小魚

這是一份詳細介紹了目標檢測的相關經典論文、學習筆記、和代碼示例的清單,想要入坑目標檢測的同學可以收藏了!

在大數據文摘後台回復「目標檢測」可打包下載全部論文~

R-CNN

R-CNN是2014年出現的。它是將CNN用於對象檢測的起源,能夠基於豐富的特徵層次結構進行目標精確檢測和語義分割來源。

如何確定這些邊界框的大小和位置呢?R-CNN網路是這樣做的:在圖像中提出了多個邊框,並判斷其中的任何一個是否對應著一個具體對象。

要想進一步了解,可以查看以下PPT和筆記:

image-net.org/challenge

cs.berkeley.edu/~rbg/sl

zhangliliang.com/2014/0

Fast R-CNN

2015年,R-CNN的作者Ross Girshick解決了R-CNN訓練慢的問題,發明了新的網路Fast R-CNN。主要突破是引入感興趣區域池化(ROI Pooling),以及將所有模型整合到一個網路中。

你可以通過以下GitHub鏈接查看模型的各種實現代碼:

github.com/rbgirshick/f

github.com/precedencegu

github.com/mahyarnajibi

github.com/apple2373/ch

github.com/zplizzi/tens

這裡還有一個利用對抗學習改進目標檢測結果的應用:

abhinavsh.info/papers/p

github.com/xiaolonw/adv

Faster R-CNN

2015年,一個來自微軟的團隊(任少卿,何愷明,Ross Girshick和孫劍)發現了一種叫做「Faster R-CNN」的網路結構,基於區域建議網路進行實時目標檢測,重複利用多個區域建議中相同的CNN結果,幾乎把邊框生成過程的運算量降為0。

你可以在這裡看到關於Faster R-CNN的更多介紹,包括PPT和GitHub代碼實現:

web.cs.hacettepe.edu.tr

Matlab

github.com/ShaoqingRen/

Caffe

github.com/rbgirshick/p

MXNet

github.com/msracver/Def

PyTorch

github.com//jwyang/fast

TensorFlow

github.com/smallcorgi/F

Keras

github.com/yhenon/keras

C++

github.com/D-X-Y/caffe-

SPP-Net(空間金字塔池化網路)

SPP-Net是基於空間金字塔池化後的深度學習網路進行視覺識別。它和R-CNN的區別是,輸入不需要放縮到指定大小,同時增加了一個空間金字塔池化層,每幅圖片只需要提取一次特徵。

相關資源:

github.com/ShaoqingRen/

zhangliliang.com/2014/0

更多論文:

DeepID-Net:基於變形深度卷積神經網路進行目標檢測

ee.cuhk.edu.hk/%CB%9Cwl

深度感知卷積神經網路中的目標檢測器

robots.ox.ac.uk/~vgg/rg

segDeepM:利用深度神經網路中的分割和語境進行目標檢測

github.com/YknZhu/segDe

基於卷積特徵激活圖的目標檢測網路

arxiv.org/abs/1504.0606

利用貝葉斯優化與結構化預測改進基於深度卷積神經網路的目標檢測

arxiv.org/abs/1504.0329

DeepBox:利用卷積網路學習目標特性

arxiv.org/abs/1505.0214

YOLO模型

YOLO是指標準化、實時的目標檢測。

可以先看大數據文摘翻譯的這個視頻了解YOLO:

TED演講 | 計算機是怎樣快速看懂圖片的:比R-CNN快1000倍的YOLO演算法

有了YOLO,不需要一張圖像看一千次,來產生檢測結果,你只需要看一次,這就是我們為什麼把它叫"YOLO"物體探測方法(You only look once)。

代碼實現:

github.com/pjreddie/dar

github.com/gliese581gg/

github.com/xingwangsfu/

github.com/tommy-qichan

github.com/nilboy/tenso

相關應用:

Darkflow:將darknet轉換到tesorflow平台。載入訓練好的權值,用tensorflow再次訓練,再將導出計算圖到C++環境中。

github.com/thtrieu/dark

使用你自己的數據訓練YOLO模型。利用分類標籤和自定義的數據進行訓練,darknet支持Linux / Windows系統。

github.com/Guanghan/dar

IOS上的YOLO實戰:CoreML vs MPSNNGraph,用CoreML和新版MPSNNGraph的API實現小型YOLO。

github.com/hollance/YOL

安卓上基於TensorFlow框架運行YOLO模型實現實時目標檢測。

github.com/natanielruiz

YOLOv2模型

時隔一年,YOLO作者放出了v2版本,稱為YOLO9000,並直言它「更快、更高、更強」。YOLO v2的主要改進是提高召回率和定位能力。

各種實現:

Keras

github.com/allanzelener

PyTorch

github.com/longcw/yolo2

Tensorflow

github.com/hizhangp/yol

Windows

github.com/AlexeyAB/dar

Caffe

github.com/choasUp/caff

相關應用:

Darknet_scripts是深度學習框架中YOLO模型中darknet的輔助腳本,生成YOLO模型中的參數anchors。

github.com/Jumabek/dark

Yolo_mark:圖形化標記用於訓練YOLOv2模型的圖像目標

github.com/AlexeyAB/Yol

LightNet:改進的DarkNet

github.com//explosion/l

用於生成YOLOv2模型所需訓練數據的邊界框標記工具

github.com/Cartucho/yol

Loss Rank Mining:基於實時目標檢測的一種通用的困難樣本挖掘方法。LRM是第一個高度適用於YOLOv2模型中的困難樣本挖掘策略,它讓YOLOv2模型能夠更好的應用到對實時與準確率要求較高的場景中。

arxiv.org/abs/1804.0460

YOLOv3模型

再次改進YOLO模型。提供多尺度預測和更好的基礎分類網路。相關實現:

pjreddie.com/darknet/yo

github.com/pjreddie/dar

github.com/experiencor/

github.com/marvis/pytor

SSD(單網路目標檢測框架)

SSD可以說是YOLO和Faster R-Cnn兩者的優勢結合。相比於Faster R-Cnn,SSD的目標檢測速度顯著提高,精度也有一定提升;相比YOLO,速度接近,但精度更高。

相關實現:

github.com/zhreshold/mx

github.com/rykov8/ssd_k

github.com/balancap/SSD

github.com/amdegroot/ss

github.com/chuanqi305/M

DSOD(深度監督目標檢測方法)

與SSD類似,是一個多尺度不需要proposal的檢測框架,是一種完全脫離預訓練模型的深度監督目標檢測方法。

相關實現:

arxiv.org/abs/1708.0124

github.com/szq0214/DSOD

github.com/Windaway/DSO

github.com/chenyuntc/ds

在大數據文摘微信後台回復「目標檢測」可打包下載全部論文~

更多更全面的目標檢測資源鏈接可以前往GitHub查看:

github.com/amusi/awesom


推薦閱讀:

神經網路的一種硬體實現方式 - 自旋電子器件
可視化循環神經網路的隱藏記憶
[可視化]動力系統觀點下的神經網路最優化
告別PS,用神經網路給家裡的黑白老照片上色。

TAG:深度學習DeepLearning | 機器學習 | 神經網路 |