• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    深度學(xué)習(xí)的多尺度多人目標(biāo)檢測(cè)方法研究

    2020-03-19 10:46:28錢美伊王傳旭
    關(guān)鍵詞:層級(jí)尺度損失

    劉 云,錢美伊,李 輝,王傳旭

    青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院,山東 青島266000

    1 引言

    目前,深度學(xué)習(xí)是計(jì)算機(jī)視覺(jué)領(lǐng)域的主流研究方法[1-2],通過(guò)神經(jīng)網(wǎng)絡(luò),計(jì)算機(jī)可以自己學(xué)習(xí)待檢測(cè)目標(biāo)的特征,并且比人工提取的特征能夠更好地表達(dá)目標(biāo)的特性[3]。這樣做的好處是,無(wú)需人工干預(yù),極大地減輕了人力負(fù)擔(dān),同時(shí)又能讓其具有很好的魯棒性[4]。

    人體目標(biāo)檢測(cè),是計(jì)算機(jī)視覺(jué)的一個(gè)重要應(yīng)用方向[5]。基于傳統(tǒng)方法的人體目標(biāo)檢測(cè),包括HOG+SVM、DPM 等方法,需要人工提取特征,對(duì)目標(biāo)進(jìn)行識(shí)別,魯棒性較差[6-7]。而使用深度學(xué)習(xí)實(shí)現(xiàn)目標(biāo)檢測(cè),可以實(shí)現(xiàn)更加魯棒的人體目標(biāo)檢測(cè),檢測(cè)效果要比傳統(tǒng)方法好很多[8]。

    對(duì)人體目標(biāo)進(jìn)行檢測(cè),在輸入圖像中,人體目標(biāo)的大小與其距離相機(jī)鏡頭的遠(yuǎn)近有關(guān),而且,有時(shí)會(huì)存在巨大的尺度差異[9]。人體的遮擋,所在環(huán)境的光照變化,人體動(dòng)作姿態(tài)的改變,都會(huì)對(duì)人體目標(biāo)檢測(cè)的結(jié)果造成影響[10-11]。因此,提出一種人體目標(biāo)檢測(cè)方法,能夠克服上述問(wèn)題,尤其是針對(duì)小目標(biāo),還有在目標(biāo)尺度劇烈變化的情況,實(shí)現(xiàn)對(duì)人體目標(biāo)的高質(zhì)量檢測(cè)。

    2 相關(guān)工作

    早些年在目標(biāo)檢測(cè)領(lǐng)域,人們所使用的神經(jīng)網(wǎng)絡(luò)多為Girshick 等提出的R-CNN 和Fast R-CNN[12]等。然而,由于R-CNN 不共享特征,以及SVM 的使用,都讓網(wǎng)絡(luò)的運(yùn)行速度極其緩慢。雖然后來(lái)的Fast R-CNN 使用了共享特征圖,并用softmax 代替了SVM,讓網(wǎng)絡(luò)的運(yùn)行速度和準(zhǔn)確度得到了大幅提升,但是仍待改進(jìn)。Redmon 等人提出單階段的YOLO[13],雖然檢測(cè)速度很快,但是檢測(cè)精度仍然欠佳。Ren等提出的Faster R-CNN方法[14]成功地讓目標(biāo)檢測(cè)的性能又上升了一個(gè)臺(tái)階。

    Faster R-CNN包括兩個(gè)階段,第一階段RPN(Region Proposal Network,區(qū)域候選網(wǎng)絡(luò))感興趣區(qū)域提取階段,以及第二階段的目標(biāo)檢測(cè)階段。

    RPN 網(wǎng)絡(luò),是通過(guò)在共享的特征圖中,滑動(dòng)一系列小窗口(anchors,也稱為錨),這些小窗口的大小和縱橫比不同,然后通過(guò)使用一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò),提取出待檢測(cè)目標(biāo)可能所在的位置,并對(duì)其進(jìn)行回歸操作。RPN替代了選擇性搜索(SS),提高了目標(biāo)檢測(cè)的速度。目標(biāo)檢測(cè)的階段則采用Fast R-CNN 方法。Faster R-CNN通過(guò)將候選框選擇、特征提取、感興趣區(qū)域的尺度歸一化、目標(biāo)分類和目標(biāo)回歸統(tǒng)一進(jìn)一個(gè)整體的深度學(xué)習(xí)框架中,實(shí)現(xiàn)了大大提高網(wǎng)絡(luò)運(yùn)行的效率。

    Faster R-CNN 使用多尺度的錨,確實(shí)可以解決部分的尺度變化問(wèn)題,但是對(duì)于小目標(biāo)的檢測(cè)仍然不甚理想。Dai 等人提出R-FCN 算法[15]雖然使用了難例挖掘和多通道圖像拼接等方式提升了目標(biāo)檢測(cè)的精度,卻沒(méi)有解決多尺度特征信息。Brazil 等提出SDS-RCNN[16],在進(jìn)行目標(biāo)檢測(cè)的同時(shí),實(shí)現(xiàn)對(duì)目標(biāo)的語(yǔ)義分割,從而提升了目標(biāo)的檢測(cè)精度。但是,當(dāng)遇到目標(biāo)的尺度大幅度變化時(shí),其檢測(cè)效果不佳。為了解決目標(biāo)尺度變化帶來(lái)的問(wèn)題,在目標(biāo)檢測(cè)領(lǐng)域,從傳統(tǒng)方法的圖像金字塔,到現(xiàn)在一系列的神經(jīng)網(wǎng)絡(luò)方法分別被提出,并被應(yīng)用到多尺度的目標(biāo)檢測(cè)領(lǐng)域。傳統(tǒng)的方法使用圖像金字塔,人工提取多尺度特征,費(fèi)時(shí)費(fèi)力,且檢測(cè)效果較差;Cai等提出的MS-CNN[17]在一定程度上解決了多尺度問(wèn)題,然而對(duì)于較低層次的特征圖,雖然分辨率比較高,但是由于其中所包含的語(yǔ)義信息較弱,不能對(duì)待檢測(cè)目標(biāo)很好地表達(dá);Kong 等提出的HyperNet[18]進(jìn)一步解決了多尺度問(wèn)題,但是,雖然提高了高層次特征圖的分辨率,卻仍然沒(méi)有改善低層次特征圖的弱語(yǔ)義信息,不能很好地表達(dá)目標(biāo)特征。作為SDS-RCNN 的改進(jìn)版本,Zhou 等提出的SSA-RCNN[19]雖然使用了2 種尺度的特征圖,但是沒(méi)有使用更多尺度的特征圖,也沒(méi)有對(duì)不同尺度的特征圖進(jìn)行融合。Lin 等提出的FPN[20](Feature Pyramid Networks,特征金字塔網(wǎng)絡(luò)),成功地解決了特征圖金字塔中較低層次特征圖的語(yǔ)義信息弱的問(wèn)題。通過(guò)將不同層次特征圖之間進(jìn)行融合,使低層次的特征圖具有強(qiáng)語(yǔ)義信息、高分辨率的特點(diǎn),從而實(shí)現(xiàn)對(duì)小目標(biāo)和多尺度目標(biāo)的高質(zhì)量檢測(cè)。

    3 深度學(xué)習(xí)的多尺度多人目標(biāo)檢測(cè)

    在Faster R-CNN 框架的基礎(chǔ)上,把FPN 特征金字塔網(wǎng)絡(luò)引入到整體框架之中,并對(duì)網(wǎng)絡(luò)整體進(jìn)行了一系列優(yōu)化,算法的整體框架圖如圖1所示。

    圖1 算法流程圖

    提出的多尺度人體目標(biāo)檢測(cè)算法流程為:首先,把原始圖像輸入殘差網(wǎng)絡(luò)[21](ResNet)提取深層特征圖。ResNet有若干層輸出相同尺寸的特征圖,把這些層作為同一階段,由淺至深劃分為conv1 至conv5。conv1 的特征圖分辨率太高,占用大量?jī)?nèi)存,因此不使用conv1,而只使用conv2 至conv5。每一階段最后一層的輸出,在當(dāng)前階段的語(yǔ)義信息最強(qiáng),而且非線性激活層可以解決反向傳播梯度消失問(wèn)題,因此,每一階段最后一層經(jīng)過(guò)非線性激活后的輸出,作為當(dāng)前階段的參考特征圖,得到C2~C5。可以觀察到,相鄰層級(jí)特征圖的尺寸比例是2倍。自上而下把不同層次的特征圖首先使用1×1卷積核更改為相同的通道數(shù)256,然后放大至與下一層級(jí)相同的大小,迭代相鄰層級(jí)之間特征圖的加法操作,實(shí)現(xiàn)低層級(jí)語(yǔ)義信息的增強(qiáng),得到P2~P5,形成FPN 特征金字塔。FPN 各層級(jí)特征圖尺寸不同,在每個(gè)層級(jí)上滑動(dòng)相同尺度的錨點(diǎn)(anchors),那么映射到原始圖像中是尺度之比為2 的不同大小的區(qū)域。為了簡(jiǎn)化網(wǎng)絡(luò),并節(jié)約訓(xùn)練時(shí)間,因此沒(méi)有必要在FPN每一層各設(shè)置不同尺度的錨點(diǎn)。原始的Faster R-CNN 使用conv4 這一層級(jí)的特征圖來(lái)提取ROIs,特征圖分辨率低,難以檢測(cè)小目標(biāo)。與之相比,本文方法使用FPN 所有4 個(gè)層級(jí)的參考特征圖,融合后的低層級(jí)特征圖,兼具高語(yǔ)義特征和高分辨率的特性,更適合檢測(cè)小目標(biāo),對(duì)多尺度目標(biāo)的檢測(cè)效果遠(yuǎn)高于Faster R-CNN。在時(shí)間復(fù)雜度方面,如果原始的Faster R-CNN 與本文算法都使用相同的骨干網(wǎng)絡(luò)ResNet-101[21],那么二者骨干網(wǎng)絡(luò)的時(shí)間復(fù)雜度用FLOPs 指標(biāo)來(lái)衡量皆為7.6×109次計(jì)算[21]。FPN 將4 個(gè)尺度的參考特征圖按像素位置對(duì)應(yīng)相加,計(jì)算量遠(yuǎn)遠(yuǎn)小于7.6×109。FPN 相鄰層級(jí)特征圖面積之比是4 倍,F(xiàn)PN每個(gè)層級(jí)的每個(gè)位置上分別產(chǎn)生3 個(gè)相同尺度、不同縱橫比的錨點(diǎn),所有尺度參考特征圖的通道數(shù)都為256;與之相比,原始的Faster R-CNN 在conv4單尺度參考特征圖,每個(gè)位置產(chǎn)生9 個(gè)不同尺度和縱橫比的錨點(diǎn),特征圖的維度也是256??梢酝频茫現(xiàn)PN 在4 個(gè)不同層級(jí)特征圖上滑動(dòng)錨點(diǎn)的總面積約為原始Faster R-CNN 滑動(dòng)錨點(diǎn)總面積的4 倍,但是,由此帶來(lái)的運(yùn)算量的增加仍然遠(yuǎn)小于7.6×109,可知二者的時(shí)間復(fù)雜度相近。同樣的,在空間復(fù)雜度方面,如果原始Faster R-CNN 與本文算法的骨干卷積網(wǎng)絡(luò)都使用ResNet-101[21],二者的卷積核尺寸、通道數(shù)和網(wǎng)絡(luò)深度都相同。不同的是,本文算法使用4個(gè)尺度的共享特征圖,與原始Faster R-CNN單一尺度共享特征圖相比,特征圖所占內(nèi)存空間有所增加,但是增加的內(nèi)存空間遠(yuǎn)遠(yuǎn)小于ResNet-101骨干網(wǎng)絡(luò)中所有特征圖所占內(nèi)存空間之和,由此可知二者的空間復(fù)雜度幾乎相等。綜上所述,雖然FPN 使用了4 個(gè)尺度的特征圖,帶來(lái)的時(shí)間復(fù)雜度和空間復(fù)雜度有所提升,但是仍然在可以接受的范圍之內(nèi)。

    根據(jù)當(dāng)前錨點(diǎn)與目標(biāo)實(shí)際位置的交并比(Inter‐section over Union,IoU),為錨點(diǎn)分配正負(fù)標(biāo)簽,用于訓(xùn)練RPN 網(wǎng)絡(luò)時(shí)使用。本文改進(jìn)的RPN 網(wǎng)絡(luò)分別在FPN 的每個(gè)層級(jí)上滑動(dòng)一個(gè)網(wǎng)絡(luò)頭用于檢測(cè)感興趣區(qū)域可能的位置,并且RPN 網(wǎng)絡(luò)頭部在所有FPN 層級(jí)上共享參數(shù)。實(shí)驗(yàn)[20]表明,各層級(jí)如果不共享參數(shù),會(huì)得到類似的精度。所有層級(jí)的錨點(diǎn)用于訓(xùn)練一個(gè)相同的RPN 頭部,簡(jiǎn)化了網(wǎng)絡(luò),并且使這個(gè)網(wǎng)絡(luò)頭部的訓(xùn)練樣本數(shù)量大幅增加。為了防止最終產(chǎn)生很多重疊建議框(Proposals),本文提出使用兩次NMS(非極大值抑制)算法。第一次使用NMS算法,在FPN 每一層的特征圖中,限制特定層級(jí)的單尺度重疊框;第二次使用NMS,是把FPN 所有層級(jí)的Proposals 匯集進(jìn)一個(gè)集合中,再次減少重疊的多尺度Proposals。根據(jù)置信度由高到低的順序,取排名靠前的Proposals 作為ROIs(Region of Interest,感興趣區(qū)域)。如果FPN 每一層單獨(dú)地使用不同的RPN 網(wǎng)絡(luò),那么,得到的感興趣區(qū)域只能是當(dāng)前尺度的最優(yōu)ROIs,泛化性不夠;而如果直接把FPN 所有層級(jí)的anchors 匯集到一起進(jìn)行篩選,會(huì)占用大量的內(nèi)存,增加空間復(fù)雜度與時(shí)間復(fù)雜度。FPN 各個(gè)層級(jí)特征圖上的ROIs位置,可以通過(guò)坐標(biāo)的映射關(guān)系,對(duì)應(yīng)到原始圖像中的實(shí)際位置。在每個(gè)ROI 對(duì)應(yīng)的FPN 相應(yīng)層級(jí)上,使用感興趣區(qū)域池化操作(ROIPooling),提取相同大小的感興趣區(qū)域特征。ROIPooling 使用了最大池化,可以最大限度地保留ROIs 特征的豐富程度。而如果使用平均池化,更偏向于描述特征的平均分布情況,從而削弱ROIs 的特征信息。如果先歸一化ROIs 特征圖尺寸,再使用最大池化,會(huì)造成時(shí)間上的延遲,而且會(huì)對(duì)來(lái)自FPN的豐富語(yǔ)義信息造成干擾。最后,把提取到的ROIs 特征送入目標(biāo)檢測(cè)器,在FPN 不同層級(jí)上共享目標(biāo)檢測(cè)器的參數(shù)。實(shí)驗(yàn)[20]表明檢測(cè)器共享參數(shù)與否,會(huì)得到類似的精確度。

    原始的Faster R-CNN 只使用單一尺寸的深層特征圖,分辨率較低,無(wú)法高精度檢測(cè)小目標(biāo);而FPN特征金字塔的低層級(jí)特征圖兼具高語(yǔ)義信息和高分辨率,可以實(shí)現(xiàn)對(duì)小目標(biāo)、多尺度目標(biāo)的高精度檢測(cè)。

    3.1 ResNet提取深層特征圖

    提出的算法使用到的骨干卷積架構(gòu)是ResNet-101,組成ResNet-101 的一個(gè)構(gòu)建塊如圖2 所示。其中,1×1卷積層的作用是改變特征圖的通道數(shù),3×3 卷積層的作用是提取特征信息。通過(guò)堆疊這種構(gòu)建塊,可以得到深層的ResNet-101 網(wǎng)絡(luò)。ResNet[21](殘差網(wǎng)絡(luò))卷積架構(gòu)有一個(gè)特點(diǎn),它可以讓神經(jīng)網(wǎng)絡(luò)的卷積層數(shù)盡可能的多,從而提取到圖像中盡可能深層次的語(yǔ)義信息,便于對(duì)待檢測(cè)目標(biāo)進(jìn)行準(zhǔn)確的語(yǔ)義表達(dá)。這樣做就可以顯著提高目標(biāo)的檢測(cè)精確度。

    圖2 ResNet-101的一個(gè)構(gòu)件塊

    ResNet 系列的深層卷積架構(gòu)包含多個(gè)版本,比如ResNet-50、ResNet-101、ResNet-152 等。由于ResNet-50網(wǎng)絡(luò)的層數(shù)較淺,無(wú)法提取出目標(biāo)較深層次的特征,因此,在這里不選擇ResNet-50。而由于101層的殘差網(wǎng)絡(luò)ResNet-101,已經(jīng)可以提取出待檢測(cè)目標(biāo)足夠深層次的語(yǔ)義信息,可以對(duì)目標(biāo)進(jìn)行有效的表達(dá),因此,在提出的算法中,不再選用ResNet-152,而是直接選用ResNet-101網(wǎng)絡(luò)提取目標(biāo)特征。這樣,就可以提取出目標(biāo)足夠深層次的語(yǔ)義信息,從而對(duì)目標(biāo)進(jìn)行準(zhǔn)確表達(dá),而又不會(huì)給訓(xùn)練及測(cè)試神經(jīng)網(wǎng)絡(luò)所用的時(shí)間造成拖延,兼顧了訓(xùn)練神經(jīng)網(wǎng)絡(luò)所用的時(shí)間,以及通過(guò)訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)性能。

    3.2 構(gòu)造FPN特征金字塔

    Faster R-CNN 使用了兩階段的目標(biāo)檢測(cè)網(wǎng)絡(luò),實(shí)現(xiàn)了對(duì)目標(biāo)的快速、準(zhǔn)確的檢測(cè)。但是,對(duì)于小目標(biāo)以及目標(biāo)尺度大幅變化的情況下,F(xiàn)aster R-CNN 的檢測(cè)精確度有待于提升??紤]到這一問(wèn)題,把FPN多尺度特征圖金字塔,融合進(jìn)入高效的Faster R-CNN 目標(biāo)檢測(cè)框架之中,從而彌補(bǔ)了Faster R-CNN的弱點(diǎn)。

    FPN 是專門針對(duì)多尺度目標(biāo)檢測(cè)而提出的檢測(cè)算法,其具體的算法流程圖如圖3所示。

    圖3 FPN算法流程圖

    如圖3 所示,F(xiàn)PN 網(wǎng)絡(luò)的輸入為任意大小的圖片,并將其送入CNN 卷積神經(jīng)架構(gòu)提取深層特征圖。隨著CNN 卷積層數(shù)的增加,在不同的特征圖層級(jí)上,分別輸出對(duì)應(yīng)成比例大小的特征圖,從而可以構(gòu)成特征圖金字塔。需要指出的是,F(xiàn)PN 不僅輸出多尺度的特征圖集合,還對(duì)不同層級(jí)的特征圖之間進(jìn)行了融合操作。其具體步驟是,F(xiàn)PN 通過(guò)把卷積神經(jīng)網(wǎng)絡(luò)中不同層次的特征圖,按照由深層到淺層的順序,把較深層特征圖的長(zhǎng)和寬依次放大至原來(lái)的2 倍大小,并與相應(yīng)較淺一層的特征圖進(jìn)行了加法運(yùn)算,從而可以實(shí)現(xiàn)對(duì)特征金字塔不同層級(jí)之間的特征圖融合。需要注意的是,隨著特征圖層次的加深,維度會(huì)發(fā)生改變,因此在融合特征圖時(shí),要把原有的特征圖先進(jìn)行1×1的卷積,用于降低維度。

    FPN 就是通過(guò)迭代對(duì)特征圖的加法運(yùn)算,使得較淺層次的特征圖,既具有較高的分辨率,又具有深層次的語(yǔ)義特征,從而可以實(shí)現(xiàn)對(duì)于多尺度目標(biāo)的高質(zhì)量檢測(cè)。

    3.3 改進(jìn)RPN提取ROIs

    在算法的具體實(shí)現(xiàn)過(guò)程中,首先把FPN 用在RPN階段,提取多尺度的感興趣區(qū)域ROIs。在FPN 特征金字塔的每個(gè)層級(jí)中,分別使用滑動(dòng)的錨點(diǎn)anchors 來(lái)提取ROIs,可以得到感興趣區(qū)域的得分,以及對(duì)應(yīng)感興趣區(qū)域的回歸位置。雖然改進(jìn)的RPN 階段中有多層特征圖,但是,這里并不把每一層分隔開(kāi),獨(dú)立地提取ROIs,而是把所有層得到的anchors 匯集到一個(gè)集合中,然后取其中分?jǐn)?shù)較高的區(qū)域作為ROIs。此階段的損失函數(shù)如下:

    其中,i 表示在一個(gè)小的訓(xùn)練批次中anchors 的序號(hào),pi是預(yù)測(cè)第i 個(gè)anchor 為目標(biāo)的概率用于區(qū)分正負(fù)錨點(diǎn),ti表示RPN階段預(yù)測(cè)得到的邊界框表示目標(biāo)真實(shí)的邊界框位置,Ncls為訓(xùn)練的一個(gè)小批次的大小,Nreg是anchors 的數(shù)量,λ是平衡參數(shù),用于平衡分類損失和回歸損失。Lcls1分類損失函數(shù)采用了指數(shù)損失,而Lreg1回歸損失函數(shù)則采用smooth L1損失。

    由于來(lái)自特征金字塔的不同層次特征圖是多尺度的,所以,在這里只使用單一尺度的錨,文獻(xiàn)[20]也證明了,這樣做對(duì)多尺度目標(biāo)的檢測(cè)效果要高于原來(lái)的Faster R-CNN。

    根據(jù)anchors 與目標(biāo)真實(shí)區(qū)域的交并比(IoU),錨點(diǎn)被區(qū)分為正錨點(diǎn)和負(fù)錨點(diǎn)。然而,當(dāng)輸入的圖片中只有小尺度目標(biāo),并且目標(biāo)的數(shù)量也比較少的情況下,通過(guò)RPN 區(qū)域建議網(wǎng)絡(luò)得到的負(fù)錨點(diǎn)與正錨點(diǎn)的數(shù)量之比過(guò)大,這會(huì)讓神經(jīng)網(wǎng)絡(luò)提取到較多的背景語(yǔ)義信息,卻忽視了對(duì)于前景目標(biāo)的特征提取[14],從而使訓(xùn)練得到的目標(biāo)檢測(cè)器更加偏向于對(duì)背景的識(shí)別,并減弱了對(duì)前景目標(biāo)的識(shí)別,進(jìn)而對(duì)最終的目標(biāo)檢測(cè)器造成干擾。基于這個(gè)問(wèn)題,進(jìn)一步限定了RPN 階段產(chǎn)生的正負(fù)anchors的數(shù)量比例,防止因?yàn)槠鋺沂獾牟罹喽绊懙阶罱K的目標(biāo)檢測(cè),從而提高目標(biāo)檢測(cè)網(wǎng)絡(luò)的性能。

    除此之外,由于提出的方法是基于人體目標(biāo)的檢測(cè)任務(wù),因此,根據(jù)人體的形態(tài)特征,把錨點(diǎn)anchors 的縱橫比,在原來(lái)的1∶2、1∶1、2∶1基礎(chǔ)之上,增加了1∶3這個(gè)比例,進(jìn)而可以進(jìn)一步提升神經(jīng)網(wǎng)絡(luò)對(duì)人體目標(biāo)的檢測(cè)效率。

    3.4 目標(biāo)檢測(cè)器

    在提出的算法框架的第二階段,人體目標(biāo)檢測(cè)網(wǎng)絡(luò)中,也同樣使用了FPN 特征金字塔提取人體目標(biāo)特征。對(duì)于來(lái)自RPN 的ROIs,根據(jù)其尺度的大?。ㄩL(zhǎng)和寬),對(duì)應(yīng)到特征金字塔的相應(yīng)層級(jí)之上,然后進(jìn)一步提取出目標(biāo)的特征。由于FPN 階段已經(jīng)提取了足夠深層次的特征圖,因此,在這里僅使用ROIPooling 提取固定大小的目標(biāo)特征圖,并把最終得到的特征送入Fast R-CNN 的目標(biāo)檢測(cè)器。在目標(biāo)檢測(cè)器之前,設(shè)置了2 層全連接層,得到目標(biāo)的置信度,并對(duì)目標(biāo)區(qū)域進(jìn)行回歸。此階段的損失函數(shù)如下:

    其中,p是預(yù)測(cè)目標(biāo)的置信度,u是目標(biāo)的真實(shí)類別,tu表示對(duì)應(yīng)u類別的預(yù)測(cè)邊界框,v表示對(duì)應(yīng)u類別的真實(shí)邊界框所在位置,Lcls2為分類損失,是對(duì)應(yīng)真實(shí)類別u的對(duì)數(shù)損失,δ是平衡參數(shù),Lloc2是smooth L1回歸損失函數(shù),[u ≥1]是等級(jí)指示函數(shù),當(dāng)u ≥1時(shí),等級(jí)指示函數(shù)值為1,否則,函數(shù)值為0,從而可以只對(duì)前景目標(biāo)計(jì)算邊界框損失,而不計(jì)算背景的回歸損失。

    對(duì)于Fast R-CNN 階段的目標(biāo)檢測(cè)器,在FPN 特征金字塔的不同層級(jí)上是否共享參數(shù),文獻(xiàn)[20]對(duì)比了這兩種情況,得到的結(jié)果表明二者的差別并不大。因此,本方法選擇共享不同層次特征金字塔層級(jí)之間的權(quán)值,從而提高對(duì)目標(biāo)檢測(cè)的效率。

    4 實(shí)驗(yàn)結(jié)果及分析

    4.1 實(shí)驗(yàn)環(huán)境與數(shù)據(jù)集

    本實(shí)驗(yàn)使用的Linux 系統(tǒng)版本是Ubuntu 16.04,服務(wù)器的硬件配置如下:CPU 使用的是Intel?Xeon?CPU E5-2678 v3@2.50 GHz,GPU 使用的是NVIDIA GeForce GTX 1080 Ti,內(nèi)存為32 GB。實(shí)驗(yàn)使用的深度學(xué)習(xí)框架是TensorFlow-gpu 1.10,為了提高GPU 利用率,使用了CUDA 8.0,以及cuDNN 6.0。在實(shí)驗(yàn)中所使用的Python庫(kù)為Anaconda 3,Python版本為3.5。

    在人體目標(biāo)檢測(cè)的實(shí)驗(yàn)中,使用了INRIA、Caltech和PETS 2009 這三個(gè)標(biāo)準(zhǔn)數(shù)據(jù)集。其中,INRIA 數(shù)據(jù)集官方給出的數(shù)據(jù)標(biāo)注不完全,而且,正樣本數(shù)量不足2 000 張,這些都對(duì)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練造成困難。Caltech數(shù)據(jù)集中存在非常多的小尺度的人體目標(biāo),并且環(huán)境場(chǎng)景變換頻繁,暗場(chǎng)景和光照變化等因素均影響目標(biāo)檢測(cè)的精確度。在PETS 2009數(shù)據(jù)集中,人與人之間經(jīng)常會(huì)存在互相遮擋的情況,而且存在較多的小目標(biāo),目標(biāo)的尺度有時(shí)會(huì)存在巨大的差異,這些都對(duì)數(shù)據(jù)集人體目標(biāo)的精確檢測(cè)帶來(lái)難度。

    4.2 訓(xùn)練結(jié)果及分析

    實(shí)驗(yàn)以Faster R-CNN 為基線,使用FPN 每一層級(jí)的特征圖分別預(yù)測(cè)人體目標(biāo)所在位置,從而解決對(duì)多尺度目標(biāo)的檢測(cè)問(wèn)題。在此基礎(chǔ)上,本實(shí)驗(yàn)對(duì)RPN 中正負(fù)anchors 的數(shù)量比例進(jìn)行了平衡,防止其差距過(guò)大而影響檢測(cè)器性能。對(duì)于人體目標(biāo)的形狀,采取了更適合的錨點(diǎn)縱橫比,比如,增加了3∶1 的縱橫比,針對(duì)人體目標(biāo)進(jìn)行更高效的檢測(cè)。通過(guò)使用上述方法,本實(shí)驗(yàn)實(shí)現(xiàn)了在PETS 2009、Caltech 和INRIA 三個(gè)標(biāo)準(zhǔn)數(shù)據(jù)集上的高質(zhì)量人體目標(biāo)檢測(cè)。其中,在Caltech 數(shù)據(jù)集上,達(dá)到了高于Shao等人在CVPR2018論文[22]的實(shí)驗(yàn)結(jié)果。

    本節(jié)以Caltech 數(shù)據(jù)集為例,詳細(xì)描述了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程,并且結(jié)合使用了TensorFlow 的可視化工具Tensorboard來(lái)進(jìn)行闡述。

    首先,F(xiàn)PN 網(wǎng)絡(luò)的每一層特征圖的可視化結(jié)果對(duì)比如圖4。

    圖4 FPN網(wǎng)絡(luò)每一層級(jí)特征圖的對(duì)比

    圖4 (a)為特征提取網(wǎng)絡(luò)中所選擇的第2~5 層的特征圖輸出,自下而上分別對(duì)應(yīng)C2~C5層特征圖,圖4(b)是使用FPN 后得到的第2~5 層的輸出,自下而上分別為P2~P5層特征圖。通過(guò)對(duì)比原始特征圖集合,與使用FPN 后得到的特征圖集合,可以發(fā)現(xiàn),雖然二者在高層級(jí)特征圖中(比如,C5和P5)所包含語(yǔ)義信息的豐富程度差別不大,但是在低層級(jí)特征圖中(比如,C2和P2),后者所包含語(yǔ)義信息的豐富程度,要遠(yuǎn)遠(yuǎn)高于前者。

    在改進(jìn)后的RPN 階段,樣例圖片中正負(fù)錨點(diǎn)的位置如圖5所示,圖5(a)為負(fù)錨點(diǎn)所在位置,圖5(b)為正錨點(diǎn)所在位置,可以看出,改進(jìn)后的正負(fù)錨點(diǎn)的數(shù)目差距并不大。通過(guò)提取IoU較高的一組正錨點(diǎn)作為Proposals輸入到Faster R-CNN的第二階段目標(biāo)檢測(cè)階段[14]。

    圖5 樣例圖片的正錨點(diǎn)與負(fù)錨點(diǎn)

    為了更清楚地看到訓(xùn)練神經(jīng)網(wǎng)絡(luò)得到的損失函數(shù)值,在局部時(shí)間范圍內(nèi)的變化幅度,以及損失函數(shù)的總體變化趨勢(shì),這里對(duì)損失函數(shù)原始的曲線圖進(jìn)行了一定程度的平滑處理,使其兼具局部變化幅度和總體變化趨勢(shì)。

    在原始圖像輸入RPN 網(wǎng)絡(luò)時(shí),可以得到感興趣區(qū)域ROIs,以及對(duì)應(yīng)ROIs 的得分。FPN 的使用讓RPN 階段包含4個(gè)尺度的特征圖,分別對(duì)應(yīng)為4個(gè)層次,在每一層得到的ROIs 的數(shù)量如圖6 所示,依次對(duì)應(yīng)FPN 由淺到深的P2至P5層特征圖的ROIs數(shù)量。

    圖6 多層特征圖的ROIs的數(shù)量

    圖7 RPN階段的損失值

    圖8 第二階段人體目標(biāo)檢測(cè)的損失值

    從圖6可以看到,低層級(jí)特征圖的ROIs數(shù)量遠(yuǎn)高于高層級(jí)特征圖的ROIs數(shù)量,并且隨層級(jí)的提升,ROIs的數(shù)量遞減。產(chǎn)生這個(gè)現(xiàn)象的原因是,在訓(xùn)練所用的數(shù)據(jù)集中,小尺度目標(biāo)的數(shù)量明顯多于大尺度目標(biāo),這也是用Caltech 數(shù)據(jù)集進(jìn)行人體目標(biāo)檢測(cè),具有一定挑戰(zhàn)性的原因。

    改進(jìn)后的RPN 階段各項(xiàng)損失函數(shù)值的變化,如圖7所示。圖7(a)是RPN 階段的分類損失曲線,圖7(b)是RPN 階段邊界框回歸損失曲線,圖7(c)是RPN 階段的總損失。

    圖7 的三個(gè)曲線圖的共同特點(diǎn)是,RPN 損失函數(shù)值雖然會(huì)隨訓(xùn)練迭代次數(shù)的增加而有些許浮動(dòng),但是總體的趨勢(shì)是下降的,RPN 階段的總損失值從0.12 下降至0.02 左右。可以看出,訓(xùn)練得到的ROIs 區(qū)域建議網(wǎng)絡(luò),對(duì)人體目標(biāo)感興趣區(qū)域的提取能力得到了增強(qiáng)。

    對(duì)于得分高的ROIs,將其送入第二階段的Fast R-CNN目標(biāo)檢測(cè)框架,神經(jīng)網(wǎng)絡(luò)輸出兩個(gè)損失:分類損失和邊界框回歸損失。二者的變化情況如圖8所示。

    圖8(a)是Fast R-CNN階段的分類損失曲線,圖8(b)是Fast R-CNN 階段的邊界框回歸損失曲線,圖8(c)為Fast R-CNN 階段的總損失曲線。與RPN 階段類似的,三條曲線隨訓(xùn)練神經(jīng)網(wǎng)絡(luò)迭代次數(shù)的增加而不斷波動(dòng),但是總體趨勢(shì)都是下降的,F(xiàn)ast R-CNN 階段的總損失從0.9降低至0.2左右。由此可知,目標(biāo)檢測(cè)網(wǎng)絡(luò)對(duì)人體目標(biāo)的檢測(cè)能力,逐漸擬合于訓(xùn)練所用的數(shù)據(jù)集。

    實(shí)驗(yàn)中整個(gè)神經(jīng)網(wǎng)絡(luò)的總體損失函數(shù)值的變化情況如圖9 所示。隨迭代訓(xùn)練次數(shù)的增加,整個(gè)神經(jīng)網(wǎng)絡(luò)的總體損失值從1.7 下降至0.8,可以看到,神經(jīng)網(wǎng)絡(luò)對(duì)人體目標(biāo)的檢測(cè)性能得到了加強(qiáng)。

    圖9 神經(jīng)網(wǎng)絡(luò)總體的損失值

    為了防止訓(xùn)練的神經(jīng)網(wǎng)絡(luò)過(guò)擬合,在這里設(shè)置了權(quán)重衰減量,讓神經(jīng)網(wǎng)絡(luò)的更新權(quán)重隨訓(xùn)練的迭代次數(shù)的增加而逐漸減小。在整個(gè)訓(xùn)練過(guò)程中,權(quán)重的變化情況如圖10所示,更新的權(quán)重大小由原來(lái)的0.627降低至0.581。

    4.3 檢測(cè)結(jié)果及分析

    本節(jié)使用的樣例圖片的場(chǎng)景來(lái)自上述三個(gè)數(shù)據(jù)集,對(duì)作為基線的Faster R-CNN,以及提出的方法,分別進(jìn)行了測(cè)試,得到了不錯(cuò)的結(jié)果。

    圖10 神經(jīng)網(wǎng)絡(luò)的權(quán)重衰減

    圖11 (a)是使用Faster R-CNN 得到的檢測(cè)結(jié)果,圖11(b)是提出的算法得到的檢測(cè)結(jié)果??梢钥吹?,在小目標(biāo)、尺度劇烈變化、目標(biāo)互相遮擋、暗光照和復(fù)雜背景等條件下,提出的算法可以對(duì)人體目標(biāo)進(jìn)行高質(zhì)量的檢測(cè),并且效果優(yōu)于Faster R-CNN。

    圖11 Faster R-CNN與本文算法的檢測(cè)結(jié)果對(duì)比1

    類似的,圖12(a)是Faster R-CNN 的檢測(cè)結(jié)果,圖12(b)是本文算法得到的檢測(cè)結(jié)果。可以看出,提出的方法,在小目標(biāo)、暗場(chǎng)景、環(huán)境光照變化、復(fù)雜背景以及目標(biāo)相互遮擋的條件下,都高于Faster R-CNN 的檢測(cè)精度。尤其是在目標(biāo)大尺度變化的情況,仍然可以進(jìn)行高精度的檢測(cè)。

    通過(guò)對(duì)比上述兩種方法的樣例檢測(cè)結(jié)果,可以發(fā)現(xiàn),雖然Faster R-CNN 已經(jīng)可以得出比較高的平均檢測(cè)精確度,但是使用提出的方法,可以得到明顯高于基線Faster R-CNN 的檢測(cè)結(jié)果。尤其是對(duì)于小尺度目標(biāo),以及尺度劇烈變化的目標(biāo),該方法可以實(shí)現(xiàn)遠(yuǎn)高于Faster R-CNN的檢測(cè)結(jié)果,具有更高的魯棒性。

    4.4 實(shí)驗(yàn)結(jié)果對(duì)比

    圖12 Faster R-CNN與本文算法的檢測(cè)結(jié)果對(duì)比2

    使用基線Faster R-CNN,以及提出的人體目標(biāo)檢測(cè)方法,分別用于PETS 2009、Caltech 和INRIA 這三個(gè)標(biāo)準(zhǔn)數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn),并參考了計(jì)算機(jī)視覺(jué)頂級(jí)會(huì)議CVPR2018 文獻(xiàn)[22]在Caltech 數(shù)據(jù)集上得到的實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)的評(píng)價(jià)指標(biāo)是平均精確度(Average Precision),即,PR(Precision-Recall)曲線的下面積。這種評(píng)價(jià)指標(biāo)的優(yōu)點(diǎn)是,通過(guò)結(jié)合不同閾值條件下的Precision-Recall二元組,得到目標(biāo)檢測(cè)精確度的綜合指標(biāo)AP,而不是片面地追求recall,或者片面追求precision。如表1 所示,上述三個(gè)數(shù)據(jù)集,分別用于基線Faster R-CNN 與提出的算法,以及CVPR2018 文獻(xiàn)[22]得到的平均精確度結(jié)果進(jìn)行了對(duì)比。

    表1 使用基線Faster R-CNN和本文方法的平均精確度%

    從表1可以看出,基線Faster R-CNN在PETS 2009、Caltech 和INRIA 數(shù)據(jù)集上分別可以達(dá)到90.7%、71.1%和85.0%的平均精確度。接著,以Faster R-CNN 為基礎(chǔ),探索了使用FPN 提取人體目標(biāo)特征,并通過(guò)相關(guān)優(yōu)化算法達(dá)到了更高的人體目標(biāo)檢測(cè)結(jié)果。

    同樣地,提出的算法也使用了PETS 2009、Caltech和INRIA 這三個(gè)數(shù)據(jù)集來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)。通過(guò)表1 可以看出,PETS 2009和INRIA 兩個(gè)數(shù)據(jù)集分別可以達(dá)到96.5%和88.6%的平均精確度AP,與Faster R-CNN 相比都得到了大幅度提升。而對(duì)于Caltech 數(shù)據(jù)集,本算法可以達(dá)到91.1%的平均精確度,相比Faster R-CNN的71.1%提升了20%,實(shí)現(xiàn)了遠(yuǎn)高于Faster R-CNN 的實(shí)驗(yàn)結(jié)果。與此同時(shí),91.1%的平均精確度也確實(shí)超越了2018 年CVPR 中的文獻(xiàn)[22]在Caltech 上的平均精確度89.95%,這也是提出算法的一個(gè)突破之處。

    5 總結(jié)

    提出了基于Faster R-CNN 框架,使用FPN 提取多尺度目標(biāo)特征,并對(duì)整體的神經(jīng)網(wǎng)絡(luò)進(jìn)行了一系列的優(yōu)化調(diào)整,從而實(shí)現(xiàn)對(duì)多尺度人體目標(biāo)的高質(zhì)量檢測(cè)。將該方法分別用于INRIA、Caltech 和PETS 2009 這三個(gè)標(biāo)準(zhǔn)數(shù)據(jù)集上,達(dá)到了較好的檢測(cè)效果,實(shí)現(xiàn)了明顯高于使用Faster R-CNN進(jìn)行目標(biāo)檢測(cè)的實(shí)驗(yàn)結(jié)果。

    同時(shí),本文方法在Caltech 數(shù)據(jù)集上得到的平均精確度,取得了高于計(jì)算機(jī)視覺(jué)頂級(jí)會(huì)議CVPR2018 文獻(xiàn)[22]中的實(shí)驗(yàn)結(jié)果,作為論文的一個(gè)突破點(diǎn)。

    猜你喜歡
    層級(jí)尺度損失
    少問(wèn)一句,損失千金
    胖胖損失了多少元
    軍工企業(yè)不同層級(jí)知識(shí)管理研究實(shí)踐
    財(cái)產(chǎn)的五大尺度和五重應(yīng)對(duì)
    基于軍事力量層級(jí)劃分的軍力對(duì)比評(píng)估
    玉米抽穗前倒伏怎么辦?怎么減少損失?
    宇宙的尺度
    太空探索(2016年5期)2016-07-12 15:17:55
    任務(wù)期內(nèi)多層級(jí)不完全修復(fù)件的可用度評(píng)估
    一般自由碰撞的最大動(dòng)能損失
    9
    威信县| 富民县| 色达县| 隆昌县| 玉龙| 五家渠市| 西盟| 深州市| 常山县| 嵊州市| 新丰县| 科技| 宕昌县| 旅游| 界首市| 武鸣县| 盐边县| 迁西县| 平罗县| 武安市| 彭阳县| 慈利县| 论坛| 庆阳市| 仪陇县| 宁蒗| 湛江市| 阳朔县| 丁青县| 桐乡市| 南召县| 麻城市| 拉孜县| 光山县| 新民市| 南投县| 高州市| 汉寿县| 景谷| 修文县| 东乡族自治县|