自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

人工智能 深度學(xué)習(xí)
近些年來(lái),深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)在圖像分類和識(shí)別上取得了很顯著的提高。回顧從 2014 到 2016 這兩年多的時(shí)間,先后涌現(xiàn)出了 R-CNN,F(xiàn)ast R-CNN, Faster R-CNN, ION, HyperNet, SDP-CRC, YOLO,G-CNN, SSD 等越來(lái)越快速和準(zhǔn)確的目標(biāo)檢測(cè)方法。

近些年來(lái),深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)在圖像分類和識(shí)別上取得了很顯著的提高。回顧從 2014 到 2016 這兩年多的時(shí)間,先后涌現(xiàn)出了 R-CNN,F(xiàn)ast R-CNN, Faster R-CNN, ION, HyperNet, SDP-CRC, YOLO,G-CNN, SSD 等越來(lái)越快速和準(zhǔn)確的目標(biāo)檢測(cè)方法。

1. 基于 Region Proposal 的方法

該類方法的基本思想是:先得到候選區(qū)域再對(duì)候選區(qū)域進(jìn)行分類和邊框回歸。

1.1 R-CNN[1]

R-CNN 是較早地將 DCNN 用到目標(biāo)檢測(cè)中的方法。其中心思想是對(duì)圖像中的各個(gè)候選區(qū)域先用 DCNN 進(jìn)行特征提取并使用一個(gè) SVM 進(jìn)行分類,分類的結(jié)果是一個(gè)初略的檢測(cè)結(jié)果,之后再次使用 DCNN 的特征,結(jié)合另一個(gè) SVM 回歸模型得到更精確的邊界框。

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

其中獲取候選區(qū)域的方法是常用的 selective search。 一個(gè)圖形中可以得到大約 2000 個(gè)不同大小、不同類別的候選區(qū)域,他們需要被變換到同一個(gè)尺寸以適應(yīng) CNN 所處理的圖像大小(227x227)。

該文章中使用的 CNN 結(jié)構(gòu)來(lái)自 AlexNet, 已經(jīng)在 ImageNet 數(shù)據(jù)集上的 1000 個(gè)類別的分類任務(wù)中訓(xùn)練過(guò),再通過(guò)參數(shù)微調(diào)使該網(wǎng)絡(luò)結(jié)構(gòu)適應(yīng)該文章中的 21 個(gè)類別的分類任務(wù)。

該方法在 VOC 2011 test 數(shù)據(jù)集上取得了 71.8% 的檢測(cè)精度。該方法的缺點(diǎn)是:1,訓(xùn)練和測(cè)試過(guò)程分為好幾個(gè)階段:得到候選區(qū)域,DCNN 特征提取, SVM 分類、SVM 邊界框回歸,訓(xùn)練過(guò)程非常耗時(shí)。2,訓(xùn)練過(guò)程中需要保存 DCNN 得到的特征,很占內(nèi)存空間。3, 測(cè)試過(guò)程中,每一個(gè)候選區(qū)域都要提取一遍特征,而這些區(qū)域有一定重疊度,各個(gè)區(qū)域的特征提取獨(dú)立計(jì)算,效率不高,使測(cè)試一幅圖像非常慢。

1.2 Fast R-CNN[2]

在 R-CNN 的基礎(chǔ)上,為了使訓(xùn)練和測(cè)試過(guò)程更快,Ross Girshick 提出了 Fast R-CNN,使用 VGG19 網(wǎng)絡(luò)結(jié)構(gòu)比 R-CNN 在訓(xùn)練和測(cè)試時(shí)分別快了 9 倍和 213 倍。其主要想法是: 1, 對(duì)整個(gè)圖像進(jìn)行卷積得到特征圖像而不是對(duì)每個(gè)候選區(qū)域分別算卷積;2,把候選區(qū)域分類和邊框擬合的兩個(gè)步驟結(jié)合起來(lái)而不是分開做。原理圖如下:

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

該文章中使用 ROI Pooling Layer 將不同大小的候選區(qū)域的特征轉(zhuǎn)化為固定大小的特征圖像,其做法是:假設(shè)候選區(qū)域 ROI 的大小為, 要輸出的大小為, 那么就將該 ROI 分成 個(gè)格子,每一個(gè)格子的大小為, 然后對(duì)每一格子使用 max-pooling 得到目標(biāo)大小的特征圖像。

候選區(qū)域的分類和邊框擬合的結(jié)合是通過(guò)一個(gè)雙任務(wù)的網(wǎng)絡(luò)結(jié)構(gòu):使用兩個(gè)全連接的輸出層分別進(jìn)行類別預(yù)測(cè)和邊框預(yù)測(cè) (如上圖所示),將這兩個(gè)任務(wù)進(jìn)行同時(shí)訓(xùn)練,利用一個(gè)聯(lián)合代價(jià)函數(shù):

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

公式中的兩項(xiàng)分別是 classification loss 和 regression loss。該方法相比于 R-CNN 快了不少。特別是在測(cè)試一幅新圖像時(shí),如果不考慮生成候選區(qū)域的時(shí)間,可以達(dá)到實(shí)時(shí)檢測(cè)。生成候選區(qū)域的 selective search 算法處理一張圖像大概需要 2s 的時(shí)間,因此成為該方法的一個(gè)瓶頸。

1.3 Faster R-CNN[3]

上面兩種方法都依賴于 selective search 生成候選區(qū)域,十分耗時(shí),那么可不可以直接利用卷積神經(jīng)網(wǎng)絡(luò)得到候選區(qū)域呢?這樣的話就幾乎可以不花額外的時(shí)間代價(jià)就能得到候選區(qū)域。

Shaoqing Ren 提出了 Faster R-CNN 來(lái)實(shí)現(xiàn)這種想法:假設(shè)有兩個(gè)卷積神經(jīng)網(wǎng)絡(luò),一個(gè)是區(qū)域生成網(wǎng)絡(luò),得到圖像中的各個(gè)候選區(qū)域,另一個(gè)是候選區(qū)域的分類和邊框回歸網(wǎng)路。這兩個(gè)網(wǎng)絡(luò)的前幾層都要計(jì)算卷積,如果讓它們?cè)谶@幾層共享參數(shù),只是在末尾的幾層分別實(shí)現(xiàn)各自的特定的目標(biāo)任務(wù),那么對(duì)一幅圖像只需用這幾個(gè)共享的卷積層進(jìn)行一次前向卷積計(jì)算,就能同時(shí)得到候選區(qū)域和各候選區(qū)域的類別及邊框。

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

候選區(qū)域生成網(wǎng)絡(luò)(Region Proposal Network, RPN)方法的原理圖如上,先通過(guò)對(duì)輸入圖像的數(shù)層卷積得到一個(gè)特征圖像,然后在特征圖像上生成候選區(qū)域,做法是使用一個(gè)(3)的滑動(dòng)窗口,將局部的特征圖像轉(zhuǎn)換成一個(gè)低維特征, 預(yù)測(cè)個(gè)的區(qū)域(cls 層,個(gè)輸出)是否為候選區(qū)域和對(duì)應(yīng)的個(gè)邊框(reg 層,個(gè)輸出)。這里的個(gè)區(qū)域被稱為錨(anchor), 對(duì)應(yīng)著與滑動(dòng)窗口具有相同的中心的不同大小和不同長(zhǎng)寬比的矩形框。假設(shè)卷積后的特征圖像大小為, 那么一共有個(gè)錨。這種特征提取和候選區(qū)域生成的方法具有位移不變性。

使用 RPN 得到候選區(qū)域后,對(duì)候選區(qū)域的分類和邊框回歸仍然使用 Fast R-CNN。這兩個(gè)網(wǎng)絡(luò)使用共同的卷積層。 由于 Fast R-CNN 的訓(xùn)練過(guò)程中需要使用固定的候選區(qū)域生成方法,不能同時(shí)對(duì) RPN 和 Fast R-CNN 使用反向傳播算法進(jìn)行訓(xùn)練。該文章使用了四個(gè)步驟完成訓(xùn)練過(guò)程:1,單獨(dú)訓(xùn)練 RPN;2,使用步驟中 1 得到的區(qū)域生成方法單獨(dú)訓(xùn)練 Fast R-CNN; 3, 使用步驟 2 得到的網(wǎng)絡(luò)作為初始網(wǎng)絡(luò)訓(xùn)練 RPN。4, 再次訓(xùn)練 Fast R-CNN, 微調(diào)參數(shù)。

Faster R-CNN 的精度和 Fast R-CNN 差不多,但是訓(xùn)練時(shí)間和測(cè)試時(shí)間都縮短了 10 倍。

1.4 ION: Inside-Outside Net[4]

ION 也是基于 Region Proposal 的,在得到候選區(qū)域的基礎(chǔ)上,為了進(jìn)一步提高在每一個(gè)候選感興趣區(qū)域 ROI 的預(yù)測(cè)精度,ION 考慮了結(jié)合 ROI 內(nèi)部的信息和 ROI 以外的信息,有兩個(gè)創(chuàng)新點(diǎn):一是使用空間遞歸神經(jīng)網(wǎng)絡(luò)(spatial recurrent neural network)把上下文(context)特征結(jié)合,而不是只使用 ROI 內(nèi)的局部特征 ,二是將不同卷積層得到的特征連接起來(lái),作為一個(gè)多尺度特征用來(lái)預(yù)測(cè)。

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

ION 在上、下、左、右四個(gè)方向獨(dú)立地使用 RNN,并把它們的輸出連接起來(lái)組合成一個(gè)特征輸出,經(jīng)過(guò)兩次這樣的過(guò)程得到的特征作為上下文特征,再與之前的幾個(gè)卷積層的輸出特征連接起來(lái),得到既包括上下文信息,又包括多尺度信息的特征。

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

1.5 HyperNet[5]

HyperNet 在 Faster R-CNN 的基礎(chǔ)上,在得到更好的候選區(qū)域方面比 Faster R-CNN 中使用的 RPN 有了進(jìn)一步的提高。其想法也是把不同卷積層得到的特征圖像結(jié)合起來(lái),產(chǎn)生更好的 region proposal 和檢測(cè)準(zhǔn)確率。

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

該文章把不同卷積層的輸出結(jié)合起來(lái)得到的特征成為 Hyper Feature。由于不同卷積層的輸出大小不一樣,較淺層的特征圖像分辨率較高,對(duì)提高邊界框的精確性有益,但是容易對(duì)邊界框內(nèi)的物體錯(cuò)誤分類;較深層得到的特征圖像分辨率很低,對(duì)小一些的物體的邊界框定位容易不準(zhǔn)確,但這些特征更加抽象,可以讓對(duì)物體的分類的準(zhǔn)確性更高。因此二者的結(jié)合,對(duì)目標(biāo)檢測(cè)的正確率和定位精度都有幫助。

1.6 SDP-CRC[6]

SDP-CRC 在處理不同尺度的目標(biāo)和提高對(duì)候選區(qū)域的計(jì)算效率上提出了兩個(gè)策略。***個(gè)策略是基于候選區(qū)域尺度的池化,即 Scale Department Pooling (SDP)。在 CNN 的框架中,由于輸入圖像要經(jīng)過(guò)多次卷積,那些尺寸小的物體在***一層的卷積輸出上的特征不能很好的描述該物體。如果用前面某一層的特征,則能夠更好的描述小物體,用靠后的層的特征,則能更好地描述較大的物體。

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

因此 SDP 的想法是根據(jù)物體大小選擇合適的卷積層上的特征來(lái)描述該物體。例如一個(gè)候選區(qū)域的高度在 0-64 個(gè)像素之間,則使用第三個(gè)卷積層上 (例如 VGG 中的 Conv3) 的特征進(jìn)行 pooling 作為分類器和邊框回歸器的輸入特征,如果候選區(qū)域高度在 128 個(gè)像素以上,則使用***一個(gè)卷積層 (例如 VGG 中的 Conv5) 的特征進(jìn)行分類和回歸。

第二個(gè)策略是使用舍棄負(fù)樣本的級(jí)聯(lián)分類器,即 Cascaded Rejection Classifer, CRC。Fast RCNN 的一個(gè)瓶頸是有很多的候選區(qū)域,對(duì)成千上萬(wàn)個(gè)候選區(qū)域都進(jìn)行完整的分類和回歸計(jì)算十分耗時(shí)。CRC 可以用來(lái)快速地排除一些明顯不包含某個(gè)物體的候選區(qū)域,只將完整的計(jì)算集中在那些極有可能包含某個(gè)物體的候選區(qū)域。該文章中使用了 AdaBoost 的方法,按順序使用每一個(gè)卷積層的特征,由一些級(jí)聯(lián)的弱分類器來(lái)排除負(fù)樣本。在***一層卷積的特征圖像上,留下來(lái)的那些候選區(qū)域再進(jìn)行分類和回歸。

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

SDP-CRC 的準(zhǔn)確率比 Fast RNN 提高了不少,檢測(cè)時(shí)間縮短到了 471ms 每幀。

2. 不采用 Region Propsal, 直接預(yù)測(cè)邊界框的方法

2.1 YOLO[7]

YOLO 的思想是摒棄生成候選區(qū)域的中間步驟,通過(guò)單個(gè)卷積神經(jīng)網(wǎng)絡(luò)直接對(duì)各個(gè)邊界框進(jìn)行回歸并且預(yù)測(cè)相應(yīng)的類別的概率。

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

該方法將輸入圖像分成大小的網(wǎng)格。每一個(gè)網(wǎng)格單元預(yù)測(cè) B 個(gè)邊界框和這些邊界框的可信度,有五個(gè)預(yù)測(cè)值:邊界框的中心相對(duì)于網(wǎng)格單元中心的坐標(biāo),邊界框相對(duì)于整個(gè)圖像的寬和高,還有該邊界框的可信度(基于和 ground truth 之間的 IoU)。每一個(gè)單元格還預(yù)測(cè)該單元格屬于個(gè)類別的概率,因此整個(gè)網(wǎng)絡(luò)的輸出是一個(gè)大小為的張量。在實(shí)驗(yàn)中,,因此輸出的大小是。

在測(cè)試階段,單元格的類別概率與該單元格的 B 個(gè)邊界框的可信度相乘,得到各個(gè)邊界框分別包含各個(gè)類別的物體的可信度。

YOLO 的優(yōu)點(diǎn)是速度快,該文章中使用的 24 層卷積網(wǎng)絡(luò)在測(cè)試圖像上可達(dá)到 45 幀每秒,而使用另一個(gè)簡(jiǎn)化的網(wǎng)絡(luò)結(jié)構(gòu),可達(dá)到 155 幀每秒。該方法的缺點(diǎn)有:1, 邊界框的預(yù)測(cè)有很大的空間限制,例如每一個(gè)單元格只預(yù)測(cè)兩個(gè)邊界框,并且只有一個(gè)類別。2,該方法不能很好地檢測(cè)到成群出現(xiàn)的一些小的目標(biāo),比如一群鳥。3,如果檢測(cè)目標(biāo)的長(zhǎng)寬比在訓(xùn)練數(shù)據(jù)中沒(méi)有出現(xiàn)過(guò)或者不常見(jiàn),該模型的泛化能力較弱。

2.2 G-CNN[8]

G-CNN 將目標(biāo)檢測(cè)問(wèn)題看作是把檢測(cè)框從一些固定的網(wǎng)格逐漸變化到物體的真實(shí)邊框的問(wèn)題。 這是一個(gè)經(jīng)過(guò)幾次迭代,不斷更新的過(guò)程。

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

其原理圖如上所示,初始檢測(cè)框是對(duì)整個(gè)圖像進(jìn)行不同尺度的網(wǎng)格劃分得到的,在經(jīng)過(guò)卷積后得到物體的特征圖像,將初始邊框?qū)?yīng)的特征圖像通過(guò) Fast R-CNN 中的方法轉(zhuǎn)化為一個(gè)固定大小的特征圖像,通過(guò)回歸得到更加準(zhǔn)確的邊框,再次將這個(gè)新邊框作為初始邊框,做新的一次迭代。經(jīng)過(guò)若干次迭代后的邊框作為輸出。

G-CNN 中使用約 180 個(gè)初始邊框,經(jīng)過(guò) 5 次迭代, 檢測(cè)幀率在 3fps 左右,準(zhǔn)確率比 Fast R-CNN 要好一些。

2.3 SSD[9]

SSD 也是使用單個(gè)的卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖像進(jìn)行卷積后,在特征圖像的每一個(gè)位置處預(yù)測(cè)一系列不同尺寸和長(zhǎng)寬比的邊界框。在測(cè)試階段,該網(wǎng)絡(luò)對(duì)每一個(gè)邊界框中分別包含各個(gè)類別的物體的可能性進(jìn)行預(yù)測(cè),并且對(duì)邊界框進(jìn)行調(diào)整以適應(yīng)目標(biāo)物體的形狀。

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

SSD 在訓(xùn)練時(shí)只需要一幅輸入圖像和該圖像中出現(xiàn)的物體的邊界框。在不同的卷積層輸出是不同尺度的特征圖像(如上圖中的和),在若干層的特征圖像上的每一個(gè)位置處, 計(jì)算若干個(gè)(如 4 個(gè))默認(rèn)邊界框內(nèi)出現(xiàn)各個(gè)目標(biāo)物體的置信度和目標(biāo)物體的真實(shí)邊界框相對(duì)于默認(rèn)邊界框的偏差。因此對(duì)于大小為的特征圖像,共產(chǎn)生個(gè)輸出。這有點(diǎn)類似于 Faster R-CNN 中的錨的概念,但是將這個(gè)概念用到了不同分辨率的特征圖像上。SSD 和 YOLO 的對(duì)比如下圖:

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

在 VOC 2007 測(cè)試圖像上,對(duì)于 300300 大小的輸入圖像,SSD 可達(dá)到 72.1% mAP 的準(zhǔn)確率,速度為 58 幀每秒,且能預(yù)測(cè) 7k 以上個(gè)邊界框,而 YOLO 只能預(yù)測(cè) 98 個(gè)。下圖是上述幾個(gè)算法在性能上的對(duì)比:

深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的進(jìn)展

參考文獻(xiàn)

[1] Girshick, Ross, et al. "Rich feature hierarchies for accurate object detection and semantic segmentation." CVPR 2014.

[2] Girshick, Ross. "Fast r-cnn." ICCV2015.

[3] Ren, Shaoqing, et al. "Faster R-CNN: Towards real-time object detection with region proposal networks." Advances in neural information processing systems. 2015.

[4] Bell, Sean, et al. "Inside-outside net: Detecting objects in context with skip pooling and recurrent neural networks." arXiv preprint arXiv:1512.04143 (2015).

[5] Kong, Tao, et al. "HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection." arXiv preprint arXiv:1604.00600 (2016).

[6] Yang, Fan, Wongun Choi, and Yuanqing Lin. "Exploit all the layers: Fast and accurate cnn object detector with scale dependent pooling and cascaded rejection classifiers." CVPR 2016.

[7] Redmon, Joseph, et al. "You only look once: Unified, real-time object detection." arXiv preprint arXiv:1506.02640 (2015).

[8] Najibi, Mahyar, Mohammad Rastegari, and Larry S. Davis. "G-CNN: an Iterative Grid Based Object Detector." arXiv preprint arXiv:1512.07729 (2015).

[9] Liu, Wei, et al. "SSD: Single Shot MultiBox Detector." arXiv preprint arXiv:1512.02325 (2015).

責(zé)任編輯:未麗燕 來(lái)源: 知乎專欄
相關(guān)推薦

2018-04-08 11:20:43

深度學(xué)習(xí)

2016-12-20 09:55:52

卷積神經(jīng)網(wǎng)絡(luò)無(wú)人駕駛

2017-05-04 18:30:34

大數(shù)據(jù)卷積神經(jīng)網(wǎng)絡(luò)

2022-04-07 09:01:52

神經(jīng)網(wǎng)絡(luò)人工智能

2018-01-29 00:16:16

神經(jīng)網(wǎng)絡(luò)遞歸卷積深度學(xué)習(xí)

2022-10-11 23:35:28

神經(jīng)網(wǎng)絡(luò)VGGNetAlexNet

2019-01-05 08:40:17

VGG神經(jīng)網(wǎng)絡(luò)

2020-07-23 17:40:03

神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)參數(shù)共享

2017-03-22 11:59:40

深度神經(jīng)網(wǎng)絡(luò)

2022-06-16 10:29:33

神經(jīng)網(wǎng)絡(luò)圖像分類算法

2020-09-17 12:40:54

神經(jīng)網(wǎng)絡(luò)CNN機(jī)器學(xué)習(xí)

2020-03-25 09:48:10

AI芯片神經(jīng)網(wǎng)絡(luò)

2023-12-19 16:01:40

深度學(xué)習(xí)人工智能目標(biāo)檢測(cè)

2017-12-22 08:47:41

神經(jīng)網(wǎng)絡(luò)AND運(yùn)算

2019-06-03 13:10:30

神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)人工智能

2017-11-24 11:10:39

神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)全連接神經(jīng)網(wǎng)絡(luò)

2021-06-29 09:53:06

神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)圖形

2024-10-05 23:00:35

2024-09-20 07:36:12

2024-10-28 00:38:10

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)