深度学习和目标检测系列教程 1-300:什么是对象检测和常见的8 种基础目标检测算法
@Author:Runsen
由于畢業(yè)入了CV的坑,在內(nèi)卷的條件下,我只好把別人卷走。
對象檢測
對象檢測是一種計算機(jī)視覺技術(shù),用于定位圖像或視頻中的對象實例。對象檢測算法通常利用機(jī)器學(xué)習(xí)或深度學(xué)習(xí)來產(chǎn)生有意義的結(jié)果。當(dāng)人類查看圖像或視頻時,我們可以在瞬間識別和定位感興趣的對象。對象檢測的目標(biāo)是使用計算機(jī)復(fù)制這種智能。
比如,物體檢測是高級駕駛輔助系統(tǒng) (ADAS) 背后的一項關(guān)鍵技術(shù),它使汽車能夠檢測行駛車道或執(zhí)行行人檢測以提高道路安全。對象檢測在視頻監(jiān)控或圖像檢索系統(tǒng)等應(yīng)用中也很有用。
在本文教程中,列出了必須知道的 8 種最佳目標(biāo)檢測算法。
Fast R-CNN
用 Python 和 C++ (Caffe) 編寫的 Fast Region-Based Convolutional Network 方法或 Fast R-CNN 是一種用于對象檢測的訓(xùn)練算法。該算法主要修復(fù)了 R-CNN 和 SPPnet 的缺點,同時提高了它們的速度和準(zhǔn)確性。
Fast R-CNN 的優(yōu)點:
- 比 R-CNN、SPPnet 更高的檢測質(zhì)量(mAP)
- 訓(xùn)練是單階段的,使用多任務(wù)損失
- 訓(xùn)練可以更新所有網(wǎng)絡(luò)層
- 特征緩存不需要磁盤存儲
論文網(wǎng)址:http://openaccess.thecvf.com/content_iccv_2015/papers/Girshick_Fast_R-CNN_ICCV_2015_paper.pdf
Region-based Convolutional Neural Networks (R-CNN)
基于區(qū)域的卷積網(wǎng)絡(luò)方法 (RCNN) 是區(qū)域提議與卷積神經(jīng)網(wǎng)絡(luò) (CNN) 的組合。R-CNN 有助于使用深度網(wǎng)絡(luò)定位對象,并僅使用少量帶注釋的檢測數(shù)據(jù)來訓(xùn)練高容量模型。它通過使用深度 ConvNet 對目標(biāo)提議進(jìn)行分類,從而實現(xiàn)了出色的目標(biāo)檢測精度。R-CNN 能夠擴(kuò)展到數(shù)千個對象類別,而無需求助于近似技術(shù),包括散列。
RCNN論文:https://openaccess.thecvf.com/content_cvpr_2014/papers/Girshick_Rich_Feature_Hierarchies_2014_CVPR_paper.pdf
Faster R-CNN
Faster R-CNN 是一種類似于 R-CNN 的對象檢測算法。該算法利用區(qū)域提議網(wǎng)絡(luò) (RPN),該網(wǎng)絡(luò)以比 R-CNN 和 Fast R-CNN 更具成本效益的方式與檢測網(wǎng)絡(luò)共享全圖像卷積特征。Region Proposal Network 基本上是一個全卷積網(wǎng)絡(luò),它同時預(yù)測對象邊界以及對象每個位置的 objectness 分?jǐn)?shù),并經(jīng)過端到端訓(xùn)練以生成高質(zhì)量的區(qū)域提議,然后由 Fast R 使用-CNN 用于檢測物體
論文地址:http://papers.nips.cc/paper/5638-faster-r-cnn-towards-real-time-object-detection-with-region-proposal-networks.pdf
Histogram of Oriented Gradients (HOG)
定向梯度直方圖 (HOG) 基本上是一種特征描述符,用于檢測圖像處理和其他計算機(jī)視覺技術(shù)中的對象。定向梯度直方圖描述符技術(shù)包括在圖像的局部部分(例如檢測窗口、感興趣區(qū)域 (ROI) 等)中出現(xiàn)的梯度定向。類似 HOG 的特征的一個優(yōu)點是它們的簡單性,并且更容易理解它們攜帶的信息。
詳情:https://software.intel.com/content/www/us/en/develop/documentation/ipp-dev-reference/top/volume-2-image-processing/computer-vision/feature-detection-functions/histogram-of-oriented-gradients-hog-descriptor.html
Region-based Fully Convolutional Network (R-FCN)
基于區(qū)域的全卷積網(wǎng)絡(luò)或 R-FCN 是一種用于對象檢測的基于區(qū)域的檢測器。與其他應(yīng)用昂貴的按區(qū)域子網(wǎng)絡(luò)(例如 Fast R-CNN 或 Faster R-CNN)的基于區(qū)域的檢測器不同,這種基于區(qū)域的檢測器是完全卷積的,幾乎所有計算都在整個圖像上共享。
R-FCN 由共享的、完全卷積的架構(gòu)組成,就像 FCN 的情況一樣,已知它比 Faster R-CNN 產(chǎn)生更好的結(jié)果。在該算法中,所有可學(xué)習(xí)的權(quán)重層都是卷積層,旨在將 ROI 分類為對象類別和背景。
論文地址:https://arxiv.org/pdf/1605.06409.pdf
Single Shot Detector (SSD)
Single Shot Detector (SSD) 是一種使用單個深度神經(jīng)網(wǎng)絡(luò)檢測圖像中對象的方法。SSD 方法將邊界框的輸出空間離散為一組不同縱橫比的默認(rèn)框。離散化后,該方法按特征圖位置進(jìn)行縮放。Single Shot Detector 網(wǎng)絡(luò)結(jié)合了來自具有不同分辨率的多個特征圖的預(yù)測,以自然地處理各種大小的對象。
SSD的優(yōu)點:
- SSD 完全消除了提議生成和后續(xù)像素或特征重采樣階段,并將所有計算封裝在單個網(wǎng)絡(luò)中。
- 易于訓(xùn)練并直接集成到需要檢測組件的系統(tǒng)中。
- SSD 與使用額外對象提議步驟的方法相比具有競爭性的準(zhǔn)確性,并且在為訓(xùn)練和推理提供統(tǒng)一框架的同時速度要快得多。
論文地址:https://arxiv.org/pdf/1512.02325.pdf%EF%BC%89
Spatial Pyramid Pooling (SPP-net)
空間金字塔池(SPP-net)是一種網(wǎng)絡(luò)結(jié)構(gòu),無論圖像大小/比例如何,都可以生成固定長度的表示。據(jù)說金字塔池化對對象變形具有魯棒性,SPP-net 改進(jìn)了所有基于 CNN 的圖像分類方法。使用 SPP-net,研究人員只需從整個圖像計算一次特征圖,然后將任意區(qū)域(子圖像)中的特征池化以生成用于訓(xùn)練檢測器的固定長度表示。這種方法避免了重復(fù)計算卷積特征。
論文地址:https://arxiv.org/pdf/1406.4729.pdf)%C3%AC%20%CB%9C
YOLO
You Only Look Once 或 YOLO 是全球研究人員使用的對象檢測中的流行算法之一。據(jù) Facebook AI Research 的研究人員稱,YOLO 的統(tǒng)一架構(gòu)在方式上非????;A(chǔ) YOLO 模型以每秒 45 幀的速度實時處理圖像,而較小版本的網(wǎng)絡(luò) Fast YOLO 每秒處理驚人的 155 幀,同時仍實現(xiàn)了其他實時檢測器的兩倍 mAP。當(dāng)從自然圖像推廣到其他領(lǐng)域(如藝術(shù)品)時,該算法優(yōu)于其他檢測方法,包括 DPM 和 R-CNN?!?/p>
論文地址:https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Redmon_You_Only_Look_CVPR_2016_paper.pdf
在完成目標(biāo)檢測任務(wù),一般有兩種方法:
-
創(chuàng)建和訓(xùn)練自定義對象檢測器。要從頭開始訓(xùn)練自定義對象檢測器,需要設(shè)計一個網(wǎng)絡(luò)架構(gòu)來學(xué)習(xí)感興趣對象的特征。還需要編譯一組非常大的標(biāo)記數(shù)據(jù)來訓(xùn)練 CNN。自定義對象檢測器的結(jié)果可能非常顯著。也就是說,需要在 CNN 中手動設(shè)置層和權(quán)重,這需要大量時間和訓(xùn)練數(shù)據(jù)。
-
使用預(yù)訓(xùn)練的對象檢測器。許多使用深度學(xué)習(xí)的對象檢測工作流利用遷移學(xué)習(xí),這種方法使能夠從預(yù)訓(xùn)練的網(wǎng)絡(luò)開始,然后針對應(yīng)用程序?qū)ζ溥M(jìn)行微調(diào)。這種方法可以提供更快的結(jié)果,因為對象檢測器已經(jīng)在數(shù)千甚至數(shù)百萬張圖像上進(jìn)行了訓(xùn)練。
總結(jié)
以上是生活随笔為你收集整理的深度学习和目标检测系列教程 1-300:什么是对象检测和常见的8 种基础目标检测算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重庆出租车电台电话?
- 下一篇: 深度学习和目标检测系列教程 2-300: