陳沛豪,韓宇光,鐘皓俊,余澤,劉鑫蕾
(華東理工大學(xué),上海,200237)
近年來,隨著卷積神經(jīng)網(wǎng)絡(luò)的興起,傳統(tǒng)的利用手工設(shè)計(jì)圖像特征的目標(biāo)檢測方法已經(jīng)發(fā)展為基于深度學(xué)習(xí)的目標(biāo)檢測方法[1-2]。當(dāng)下的深度學(xué)習(xí)算法主要可以分為兩類,第一類是基于候選區(qū)域的兩階段目標(biāo)檢測算法,代表性的算法是R-CNN框架,以及在此基礎(chǔ)上通過構(gòu)建區(qū)域建議網(wǎng)絡(luò)生成候選框提出的Faster R-CNN。第二類是基于回歸的單階段目標(biāo)檢測算法,該種算法直接預(yù)測物體的類別概率、位置坐標(biāo)而無需生成候選區(qū)域,代表性的算法有YOLO系列與SSD系列。[3]相較而言,兩階段的檢測算法通常具有較高的檢測精度,但檢測速度較慢,而單階段檢測算法以犧牲了一定檢測精度的代價(jià)提高了檢測速度。
YOLO V3模型基于卷積神經(jīng)網(wǎng)絡(luò),對于卷積神經(jīng)網(wǎng)絡(luò)而言,增加卷積層的數(shù)量能夠提取到圖像更多的特征值,使得圖像識別的結(jié)果更加精確。因此,在一定程度上,網(wǎng)絡(luò)越深,表達(dá)能力越強(qiáng),性能越好[4]。但隨著卷積層數(shù)量的增多,計(jì)算量也隨之增大,同時(shí)還會(huì)帶來梯度爆炸等一系列的問題。
為了讓網(wǎng)絡(luò)模型能夠?qū)W習(xí)到優(yōu)秀的特征,做出更為準(zhǔn)確的分類結(jié)果,同時(shí)又能夠使計(jì)算量不至于過大,YOLO V3采用了大量卷積核為3*3和1*1的卷積層,并加入了殘差層的結(jié)構(gòu)。YOLO V3模型共有53個(gè)卷積層,這種特征提取網(wǎng)絡(luò)結(jié)構(gòu)被稱為Darknet53。其結(jié)構(gòu)圖如圖1所示。
圖1 YOLO V3主要網(wǎng)絡(luò)結(jié)構(gòu)圖
由圖中可以看出Darknet53采用了[Convolutional-Convolution-Residual]的子模塊網(wǎng)絡(luò),構(gòu)成了全卷積的網(wǎng)絡(luò)形式,使網(wǎng)絡(luò)對于任何分辨率輸入的圖片均可以進(jìn)行特征提取[5]。
1.2.1 多尺度檢測網(wǎng)絡(luò)改進(jìn)
原始YOLOv3網(wǎng)絡(luò)以Darknet53網(wǎng)絡(luò)結(jié)構(gòu)為骨干,使用3個(gè)預(yù)測層以3種不同的尺度檢測對象。該網(wǎng)絡(luò)將輸入的原圖像經(jīng)過8倍下采樣、16倍下采樣、32倍下采樣后的特征圖作為特征融合網(wǎng)絡(luò)的輸入,在一般場景下,由于目標(biāo)大小與距離的不確定性,該方法對正常大小的物體有不錯(cuò)的檢測效果,但是在平常的生活環(huán)境下,大部分對兒童可能造成危險(xiǎn)的目標(biāo)在圖像中所占比例較小,對目標(biāo)的檢測效果會(huì)大大降低,并且由于下采樣操作會(huì)丟失目標(biāo)很多的有用信息,會(huì)造成一些目標(biāo)漏檢。
1.2.2 特征融合網(wǎng)絡(luò)改進(jìn)
卷積神經(jīng)網(wǎng)絡(luò)中,不同層次的特征圖含有目標(biāo)不同的特征信息。淺層特征分辨率更高,含有目標(biāo)更豐富的位置信息,深層特征含有較強(qiáng)的語義信息,但位置信息相對粗糙。利用淺層特征可以將簡單的目標(biāo)區(qū)分開來,利用深層的特征可以區(qū)分開一些復(fù)雜的目標(biāo),因此構(gòu)建特征金字塔,將高層網(wǎng)絡(luò)與低層網(wǎng)絡(luò)的特征信息融合更有利于對目標(biāo)特征的描述。原始YOLOv3算法采用的特征融合網(wǎng)絡(luò)為FPN,通過將52×52、26×26、13×13三個(gè)不同尺度的特征信息通過特征金字塔結(jié)構(gòu)進(jìn)行融合,實(shí)現(xiàn)多尺度檢測。
數(shù)據(jù)集的優(yōu)劣能夠直接影響訓(xùn)練模型參數(shù)的好壞,本文選取coco數(shù)據(jù)集作為訓(xùn)練集。鑒于尖銳物品與細(xì)小物品對兒童潛在危險(xiǎn)較大,因此選擇coco數(shù)據(jù)集中相關(guān)物品進(jìn)行模型訓(xùn)練。
實(shí)驗(yàn)平臺(tái)的操作系統(tǒng)為Windows 10,CPU為Intel Core i7,GPU為NVIDIA 1080 ti,編程語言為python,深度學(xué)習(xí)框架為Tensorflow。
實(shí)驗(yàn)平臺(tái)的配置如表1所示。
表1 實(shí)驗(yàn)平臺(tái)配置
測試結(jié)果顯示該圖像中人像與刀的像素距離為184,小于既定閾值,故觸發(fā)報(bào)警提示,如圖2和圖3所示。
圖2 危險(xiǎn)物品識別測試圖
圖3 危險(xiǎn)物品距離圖
本文采用YOLO V3的深度學(xué)習(xí)算法,設(shè)計(jì)了兩個(gè)模型。一個(gè)是簡易的兒童看護(hù)系統(tǒng),通過圖像處理系統(tǒng)對兒童及潛在危險(xiǎn)物品進(jìn)行識別,判斷其之間的距離,并與預(yù)設(shè)的安全閾值距離進(jìn)行對比,實(shí)現(xiàn)安全預(yù)警。經(jīng)過實(shí)驗(yàn)驗(yàn)證該系統(tǒng)運(yùn)行時(shí),當(dāng)兒童與潛在危險(xiǎn)物品距離小于預(yù)設(shè)值時(shí),系統(tǒng)會(huì)發(fā)出警告,從而實(shí)現(xiàn)輔助看管功能,緩解監(jiān)護(hù)人對兒童的看護(hù)壓力。不管是在對目標(biāo)的檢測速度上還是檢測精度上,基于YOLOV3系統(tǒng)的目標(biāo)檢測與定位方法能夠更快、更準(zhǔn)地檢測出行人與車輛,實(shí)驗(yàn)結(jié)果證明了方法的有效性。