康子洋 周沈
(宿遷學(xué)院信息工程學(xué)院 江蘇省宿遷市 223800)
隨著計(jì)算機(jī)視覺(jué)技術(shù)的快速發(fā)展,各種檢測(cè)及屬性分析方法也在不斷的突破和改進(jìn),智能監(jiān)控技術(shù)也越發(fā)成熟,為越來(lái)越多的場(chǎng)景提供了安全保障[1]。行人檢測(cè)及屬性分析是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)重要應(yīng)用,其研究成果對(duì)智能監(jiān)控領(lǐng)域的發(fā)展具有積極的推動(dòng)作用,目前已經(jīng)有相當(dāng)一部分的研究成果[2-3]。
本文系統(tǒng)的實(shí)現(xiàn)需要同時(shí)實(shí)現(xiàn)檢測(cè)和分類兩種方法。首先得將場(chǎng)景內(nèi)出現(xiàn)的行人進(jìn)行檢測(cè),然后對(duì)檢測(cè)到的行人進(jìn)行屬性分析。而行人又往往同時(shí)具有柔性和剛性的特點(diǎn),再加上馬路、商場(chǎng)、車站等復(fù)雜的實(shí)際場(chǎng)景,又可能包含不同的光照條件,種種因素都會(huì)對(duì)檢測(cè)系統(tǒng)的實(shí)際結(jié)果產(chǎn)生各種影響。而且當(dāng)人流量密集時(shí),人與人之間會(huì)存在遮擋的情況,這就會(huì)導(dǎo)致被擋住的行人難以被檢測(cè)到,檢測(cè)不到的行人就無(wú)法分析屬性,檢測(cè)系統(tǒng)就相當(dāng)于無(wú)法發(fā)揮作用,所以在本文采用了基于深度卷積神經(jīng)網(wǎng)絡(luò)的檢測(cè)方法對(duì)行人進(jìn)行檢測(cè),對(duì)目標(biāo)圖像中所具有的特征進(jìn)行提取,從根本上消除了過(guò)去借助手工設(shè)計(jì)特征過(guò)程中所存在的瓶頸,大幅度的增強(qiáng)了檢測(cè)效果。
CenterNet網(wǎng)絡(luò)輸入一張圖像后,首先經(jīng)過(guò)主干網(wǎng)絡(luò)(backbone)運(yùn)算得到一幅特征圖,然后分出三個(gè)分支繼續(xù)對(duì)該特征圖進(jìn)行運(yùn)算,這三個(gè)分支分別用于預(yù)測(cè)目標(biāo)的中心點(diǎn)坐標(biāo)、目標(biāo)的中心點(diǎn)坐標(biāo)從原圖到下采樣后的熱度圖上的偏置、目標(biāo)的尺寸(寬和高)。
CenterNet用于預(yù)測(cè)的特征圖僅為最后一層上采樣圖,這一類特征圖的其在高層當(dāng)中所具有的特征語(yǔ)義信息種類以及數(shù)量較多,不過(guò)對(duì)于目標(biāo)位置并不是那么的精確。所以在實(shí)際的應(yīng)用中一些檢測(cè)算法在一般情況下都會(huì)加入多種尺度的特征,在此基礎(chǔ)之上再去開(kāi)展預(yù)測(cè)工作,如SSD就是從網(wǎng)絡(luò)的不同層來(lái)抽取不同尺度的特征進(jìn)行預(yù)測(cè),從而使得算法能夠檢測(cè)到各種尺寸的目標(biāo)。
基于CenterNet的特點(diǎn),本文借鑒了這種低維與高維特征融合的方法,但采用了另外一種方式:上采樣得到的高維特征圖與下采樣時(shí)的低維特征圖依然進(jìn)行融合,但僅通過(guò)最后一個(gè)特征圖進(jìn)行預(yù)測(cè)。
目標(biāo)檢測(cè)和屬性分析任務(wù)在同一訓(xùn)練平臺(tái)上進(jìn)行,其中訓(xùn)練和推理的框架為PyTorch。PyTorch是一個(gè)基于Torch的Python開(kāi)源機(jī)器學(xué)習(xí)庫(kù),由Facebook人工智能研究院(FAIR)開(kāi)發(fā),CenterNet檢測(cè)算法訓(xùn)練流程圖如圖1所示。
圖1:CenterNet檢測(cè)算法訓(xùn)練流程圖
用于行人屬性分析的樣本是通過(guò)檢測(cè)樣本以及檢測(cè)樣本對(duì)應(yīng)的頭肩框裁剪得到的,裁剪出的頭肩圖像需要經(jīng)過(guò)進(jìn)一步篩選才得到最終的訓(xùn)練樣本,篩選時(shí)需要過(guò)濾尺寸小、遮擋面積大、模糊、光線較暗的圖像,最終保留下來(lái)用于訓(xùn)練的樣本共50000張。行人屬性分析網(wǎng)絡(luò)的輸入數(shù)據(jù)是大小為160×160的三通道RGB圖像,訓(xùn)練階段進(jìn)行亮度,對(duì)比度、飽和度隨機(jī)變換增廣,每一步的batch大小為64。訓(xùn)練初始學(xué)習(xí)率設(shè)定為0.01,且每400000步將學(xué)習(xí)率降低為原來(lái)的1/10,共訓(xùn)練1000000步,優(yōu)化器依然選擇用隨機(jī)梯度下降。
用于行人屬性分析的網(wǎng)絡(luò)由backbone網(wǎng)絡(luò)和屬性預(yù)測(cè)分支組成,即backbone網(wǎng)絡(luò)首先提取共享特征,再通過(guò)各分支分別預(yù)測(cè)對(duì)應(yīng)的屬性。網(wǎng)絡(luò)輸入圖像是通過(guò)檢測(cè)算法檢測(cè)到的頭肩框在檢測(cè)圖像中裁剪到的頭肩圖。圖2為本文用于屬性分析的網(wǎng)絡(luò)結(jié)構(gòu)示意圖,三個(gè)屬性分類全部通過(guò)softmax+交叉熵?fù)p失來(lái)實(shí)現(xiàn)。
圖2:本文屬性分析的網(wǎng)絡(luò)結(jié)構(gòu)示意圖
檢測(cè)實(shí)驗(yàn)訓(xùn)練模型除了在監(jiān)控十字路口場(chǎng)景下進(jìn)行測(cè)試,同時(shí)還在商場(chǎng)口、室內(nèi)等場(chǎng)景的樣本中進(jìn)行測(cè)試,用于驗(yàn)證算法的魯棒性。
表1為原始CenterNet同本文改進(jìn)后的CenterNet在性能和精度上的對(duì)比,從上述實(shí)驗(yàn)數(shù)據(jù)中可以看出,通過(guò)添加一個(gè)FPN結(jié)構(gòu),可以大大提高檢測(cè)模型的mAP,這是因?yàn)镕PN結(jié)構(gòu)將最后預(yù)測(cè)的特征圖進(jìn)行了高維特征信息和低維特征信息的融合,從而使得對(duì)目標(biāo)的定位更加準(zhǔn)確。但FPN結(jié)構(gòu)也使得CenterNet的推理時(shí)間變慢了一些,網(wǎng)絡(luò)每秒處理幀數(shù)比沒(méi)加FPN之前少了20左右。
表1:行人與頭肩檢測(cè)模型在測(cè)試集上的精度和性能
圖3(左)是未改進(jìn)前CenterNet算法在同一場(chǎng)景下圖像的測(cè)試結(jié)果,可以看出,CenterNet算法的頭肩檢測(cè)框只能檢測(cè)出半身框。圖3(右)是同一場(chǎng)景下改進(jìn)后的CenterNet+FPN融合算法圖像的測(cè)試效果,可以看到模型能夠很好地檢測(cè)到不同狀態(tài)的人及其頭肩。
圖3:CenterNet和CenterNet+FPN融合算法檢測(cè)效果對(duì)比
行人屬性分析模型分別在年齡、口罩和表情測(cè)試集上進(jìn)行了測(cè)試,各測(cè)試集中的測(cè)試樣本數(shù)量皆為1000張。模型推理的FPS和在各屬性上的準(zhǔn)確率以及見(jiàn)表2。
表2:行人屬性分析模型FPS和在各屬性上的準(zhǔn)確率
圖4是CenterNet算法和CenterNet+FPN融合算法在同一圖像上的識(shí)別精度對(duì)比。CenterNet算法較CenterNet+FPN融合算法在年齡識(shí)別精度上表現(xiàn)較差。
圖4:CenterNet和CenterNet+FPN融合算法檢測(cè)效果對(duì)比
本文首先提出使用近年來(lái)在精度和性能方面表現(xiàn)都比較好的One-Stage目標(biāo)檢測(cè)算法CenterNet來(lái)實(shí)現(xiàn)對(duì)過(guò)路行人及其頭肩的檢測(cè),并且對(duì)原始的CenterNet算法在網(wǎng)絡(luò)結(jié)構(gòu)上進(jìn)行了改進(jìn),改進(jìn)后的CenterNet比改進(jìn)前在測(cè)試集上的檢測(cè)精度有了很大的提升。然后設(shè)計(jì)了一個(gè)backbone為mobilenet-v1的多任務(wù)圖像分類網(wǎng)絡(luò),用于實(shí)現(xiàn)對(duì)檢測(cè)到的頭肩圖像進(jìn)行屬性分析,本文算法支持分析的屬性包括年齡(是否為老人)、口罩(是否戴口罩)和表情(是否微笑),經(jīng)過(guò)最終的測(cè)試,本文實(shí)現(xiàn)的算法可以較為高效地實(shí)現(xiàn)監(jiān)控場(chǎng)景下的行人屬性分析,且識(shí)別率較高,且各屬性識(shí)別的準(zhǔn)確率都在95%以上。