OpenCV DNN支持的對象檢測模型匯總,你沒看錯(cuò),就是這么強(qiáng)悍!
點(diǎn)擊上方“AI算法與圖像處理”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
?引言 ·
OpenCV DNN不光支持圖像分類,對象檢測作為計(jì)算機(jī)視覺主要任務(wù)之一,OpenCV DNN支持多種對象檢測模型,可以快速實(shí)現(xiàn)基于COCO數(shù)據(jù)集與Pascal VOC數(shù)據(jù)集的對象檢測。此外基于自定義數(shù)據(jù)集,通過tensorflow對象檢測框架或者pytorch的ONNX格式還可以支持自定義對象檢測模型訓(xùn)練導(dǎo)出與部署。本文總結(jié)了OpenCV DNN支持的各種對象檢測模型與它們的輸入輸出。
SSD對象檢測模型
SSD對象檢測模型的全稱是Single Shot MultiBox Detector,是一階段的對象檢測網(wǎng)絡(luò),基于回歸思想在多個(gè)特征層實(shí)現(xiàn)對象檢測,其主要的思想可以用下面一張圖表示:

可以看出越是分辨率大的對象在高層特征抽象上畢竟容易被預(yù)測檢測,分辨率小的對象在底層特征會(huì)被檢測,如果分辨率過小則有可能無法檢測,所以SSD對象檢測是對微小目標(biāo)檢測效果不佳的對象檢測方法,根據(jù)使用的特征網(wǎng)絡(luò)不同可以分為VGG-SSD,MobileNet-SSD等,下圖是基于VGG16的SSD對象檢測網(wǎng)絡(luò)模型結(jié)構(gòu):

OpenCV DNN支持SSD-VGG, SSD-MobileNet兩種SSD對象檢測模型。
YOLO對象檢測模型
YOLO對象檢測模型得全稱是You Only Look Once,也是一階段得對象檢測模型。最初的YOLO對象檢測模型跟SSD對象檢測模型相比,它只有一個(gè)輸出層,無法實(shí)現(xiàn)多分辨率特征的預(yù)測,雖然速度很快,但是精度不夠,后來改進(jìn)的YOLOv2,YOLOv3,YOLOv4都具有多個(gè)輸出層,實(shí)現(xiàn)了多尺度的對象檢測,檢測精度跟準(zhǔn)確率得到提高。YOLO網(wǎng)絡(luò)結(jié)構(gòu)

多個(gè)輸出層。OpenCV DNN模塊支持最新版本的YOLOv4對象檢測模型部署,同時(shí)還支持Tiny-YOLO網(wǎng)絡(luò)。


YOLOv2與YOLOv3版本模型跟SSD模型之間的輸出對比

Faster-RCNN對象檢測模型
Faster-RCNN是典型的兩階段對象檢測網(wǎng)絡(luò),基于RPN實(shí)現(xiàn)區(qū)域推薦,

網(wǎng)絡(luò)結(jié)構(gòu)如下:

Mask-RCNN實(shí)例分割模型
該模型也是兩階段網(wǎng)絡(luò),在輸出時(shí)候多出了一個(gè)實(shí)例分割的分支,但是該實(shí)例分割嚴(yán)格意義上來說并沒有進(jìn)行上采樣,不是pixelwise的實(shí)例分割模型,可以看成是blockwise/patch wise的實(shí)例分割輸出。整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)跟Faster-RCNN很相似,網(wǎng)絡(luò)模型結(jié)構(gòu)如下:

OpenCV支持Caffe與Tensorflow Object DetectionAPI中的mask-rcnn模型部署推理。
R-FCN對象檢測模型
2016年提出的對象檢測網(wǎng)絡(luò),全稱為Region-based Fully Convolutional Network (R-FCN)其核心思想是基于全卷積神經(jīng)網(wǎng)絡(luò)生成一個(gè)3x3的位置敏感卷積實(shí)現(xiàn)對位置信息編碼,完成預(yù)測,實(shí)現(xiàn)對象檢測。

該網(wǎng)絡(luò)同樣是兩階段的對象檢測網(wǎng)絡(luò),模型架構(gòu)如下:

位置敏感ROI矩形解碼

EfficientDet 對象檢測網(wǎng)絡(luò)
該模型是一階段的對象檢測網(wǎng)絡(luò),在2019年提出,tensorflow2.x的對象檢測網(wǎng)絡(luò)框架支持的網(wǎng)絡(luò)模型。模型的結(jié)構(gòu)如下:

基于EfficientNet網(wǎng)絡(luò)作為基礎(chǔ)網(wǎng)絡(luò),使用多尺度雙向金字塔特征融合技術(shù),其中權(quán)重特征融合使用了交叉尺度鏈接與權(quán)重快速歸一化融合。下圖是普通的金字塔特征融合到雙向金字塔特征融合各種方法:

對,你沒看錯(cuò),OpenCV4.4最新版本支持該模型。
論文下載:
YOLOv4 :https://arxiv.org/pdf/2004.10934v1.pdf
SSD?:?https://arxiv.org/pdf/1512.02325.pdf
Faster-RCNN:https://arxiv.org/pdf/1506.01497.pdf
Mask-RCNN:https://arxiv.org/pdf/1703.06870.pdf
R-FCN:https://arxiv.org/pdf/1605.06409v2.pdf
EfficientDet:https://arxiv.org/pdf/1911.09070.pdf
下載1:動(dòng)手學(xué)深度學(xué)習(xí)
在「AI算法與圖像處理」公眾號后臺(tái)回復(fù):動(dòng)手學(xué)深度學(xué)習(xí),即可下載547頁《動(dòng)手學(xué)深度學(xué)習(xí)》電子書和源碼。該書是面向中文讀者的能運(yùn)行、可討論的深度學(xué)習(xí)教科書,它將文字、公式、圖像、代碼和運(yùn)行結(jié)果結(jié)合在一起。本書將全面介紹深度學(xué)習(xí)從模型構(gòu)造到模型訓(xùn)練,以及它們在計(jì)算機(jī)視覺和自然語言處理中的應(yīng)用。
個(gè)人微信(如果沒有備注不拉群!) 請注明:地區(qū)+學(xué)校/企業(yè)+研究方向+昵稱

