国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于卡爾曼濾波改進(jìn)的MTCNN網(wǎng)絡(luò)人臉檢測(cè)算法

2020-02-27 13:17:20魏榮耀鮑士兼趙成林許方敏
無(wú)線電工程 2020年3期
關(guān)鍵詞:中心點(diǎn)卡爾曼濾波人臉

魏榮耀,鮑士兼,趙成林,許方敏

(1.北京郵電大學(xué) 信息與通信工程學(xué)院,北京 100876;2.中國(guó)國(guó)際工程咨詢有限公司,北京 100048)

0 引言

人臉檢測(cè)的發(fā)展主要分為非深度學(xué)習(xí)和深度學(xué)習(xí)2個(gè)階段。在非深度學(xué)習(xí)階段針對(duì)特定目的提出經(jīng)典檢測(cè)算法。例如,2001年CVPR的Viola-Jones(VJ)[1-2]、CVPR 2005 HOG + SVM[3]和TPAMI 2010 DPM[4]。深度學(xué)習(xí)階段經(jīng)典檢測(cè)算法被提出用于通用目的,例如Faster-RCNN[5]、R-FCN系列[6]、YOLO[7-8]和SSD[9-10]系列。其中RCNN系列的優(yōu)點(diǎn)是在準(zhǔn)確性方面具有高性能,缺點(diǎn)是速度低,不能滿足GPU上的實(shí)時(shí)要求,而SSD和YOLO系列的優(yōu)勢(shì)在于GPU上快速而實(shí)時(shí),缺點(diǎn)是密集和小目標(biāo)的檢測(cè)性能相對(duì)較差,而人臉在實(shí)際場(chǎng)景下屬于小目標(biāo)。

大多數(shù)當(dāng)前的人臉檢測(cè)算法是基于全圖像掃描的單幀圖像檢測(cè)。視頻中的人臉檢測(cè)將視頻分解為單幀圖像,檢測(cè)每幀中的人臉最后將所有幀合并為視頻。然而,視頻中幀與幀之間的人臉信息有很大的相關(guān)性。 在上述步驟中有許多冗余計(jì)算,因此正確地改進(jìn)這些步驟已成為熱門研究方向。

本文提出的算法基于多任務(wù)級(jí)聯(lián)卷積網(wǎng)絡(luò)(MTCNN)[11]和卡爾曼濾波算法。視頻中的人臉運(yùn)動(dòng)可以被假設(shè)為線性運(yùn)動(dòng),通過(guò)使用卡爾曼濾波器[12-13]來(lái)記錄和預(yù)測(cè)人臉中心點(diǎn)位置。將卡爾曼濾波器校正的人臉中心點(diǎn)用作最終檢測(cè)位置,邊界框的長(zhǎng)度和寬度仍然使用原始回歸值。同時(shí),根據(jù)卡爾曼濾波器的預(yù)測(cè)人臉中心點(diǎn),截取原圖像中以預(yù)測(cè)點(diǎn)為中心的一定區(qū)域作為下一幀檢測(cè)的推薦區(qū)域,在下一幀中將該區(qū)域用MTCNN的R-net和O-net進(jìn)行局部區(qū)域人臉檢測(cè),同時(shí)每隔一定時(shí)間使用MTCNN進(jìn)行全圖掃描來(lái)重置檢測(cè)流程。

1 相關(guān)算法

1.1 MTCNN網(wǎng)絡(luò)結(jié)構(gòu)

MTCNN網(wǎng)絡(luò)是常用的人臉檢測(cè)網(wǎng)絡(luò),與非深度學(xué)習(xí)模型和諸如Faster-RCNN和YOLO之類的深度學(xué)習(xí)模型相比,該網(wǎng)絡(luò)可以在僅有CPU的情況下實(shí)現(xiàn)實(shí)時(shí)性和準(zhǔn)確性,是一個(gè)三級(jí)級(jí)聯(lián)模型。給定輸入圖片,將預(yù)測(cè)圖片分別依次輸入P-net,R-net中對(duì)候選框進(jìn)行粗選和微調(diào),最后由O-net輸出檢測(cè)框位置的回歸值和分類。其中3個(gè)子網(wǎng)絡(luò)的特性如下:

① P-net:12×12,負(fù)責(zé)粗選得到候選框,功能有分類和回歸。

② R-net:24×24,負(fù)責(zé)篩選P-Net的粗篩結(jié)果,并微調(diào)box使得更加準(zhǔn)確和過(guò)濾虛警,功能有分類和回歸。

③ O-net:48×48,負(fù)責(zé)最后的篩選判定,并微調(diào)box,回歸得到關(guān)鍵點(diǎn)的位置,功能有分類、回歸和關(guān)鍵點(diǎn)。

訓(xùn)練時(shí)輸入圖像大小為網(wǎng)絡(luò)指定的大小,例如12×12,而因?yàn)镻-net沒(méi)有全連接層,是全卷積的網(wǎng)絡(luò),所以預(yù)測(cè)識(shí)別時(shí)沒(méi)有尺寸要求,P-net可以對(duì)任意輸入尺寸進(jìn)行預(yù)測(cè)得到多個(gè)邊界框和置信度,通過(guò)閾值過(guò)濾即可完成候選框提取過(guò)程,而該網(wǎng)絡(luò)因?yàn)榻Y(jié)構(gòu)小,所以效率非常高,因此被工業(yè)界使用作為人臉檢測(cè)的主流算法。

MTCNN網(wǎng)絡(luò)的體系結(jié)構(gòu)如圖1所示。

其中2個(gè)任務(wù)如下:

① 人臉?lè)诸悾簩W(xué)習(xí)目標(biāo)被定為二分類問(wèn)題。 使用每個(gè)樣本xi的交叉熵?fù)p失:

(1)

② 邊界框回歸:對(duì)于每個(gè)候選窗口,預(yù)測(cè)它與最近的真實(shí)標(biāo)注位置之間的偏移(即邊界框的左上角和右下角)。 學(xué)習(xí)目標(biāo)被表述為回歸問(wèn)題,對(duì)每個(gè)樣本xi使用歐幾里德?lián)p失:

(2)

1.2 卡爾曼濾波器原理

卡爾曼濾波器是一種廣泛使用的跟蹤算法,它基于先前的狀態(tài)和當(dāng)前的測(cè)量值給出預(yù)測(cè)值,與其他方法相比,卡爾曼濾波器用于在視頻跟蹤中對(duì)移動(dòng)目標(biāo)進(jìn)行更好的位置估計(jì),因此它非常適合跟蹤視頻中的移動(dòng)人臉中心點(diǎn)。

實(shí)際情況下的人臉中心點(diǎn)運(yùn)動(dòng)通常是線性運(yùn)動(dòng),而卡爾曼濾波是線性系統(tǒng)下具有良好預(yù)測(cè)性能的濾波器。假設(shè)nk是觀測(cè)噪聲,因此可以根據(jù)以下公式分別構(gòu)造狀態(tài)方程和系統(tǒng)的觀測(cè)方程:

xk=Fkxk-1+vk-1,

(3)

zk=Hkxk+nk,

(4)

式中,xk∈n為時(shí)刻k下的系統(tǒng)狀態(tài)向量;zk∈n為時(shí)刻k下的觀測(cè)向量;vk-1為時(shí)刻k-1下的系統(tǒng)狀態(tài)噪聲;Fk為時(shí)刻k下的狀態(tài)轉(zhuǎn)移矩陣;Hk為時(shí)刻k下的觀測(cè)矩陣。

根據(jù)實(shí)現(xiàn)過(guò)程中卡爾曼濾波器的特點(diǎn),結(jié)合貝葉斯估計(jì)中的預(yù)測(cè)和更新,可以實(shí)現(xiàn)卡爾曼濾波器預(yù)測(cè)和更新模型。有2個(gè)預(yù)測(cè)方程和3個(gè)更新模型的方程:

(5)

(6)

(7)

(8)

(9)

式(7)、式(8)和式(9)分別是增益系數(shù)方程、狀態(tài)更新方程和誤差協(xié)方差更新方程。Rk為k時(shí)刻的測(cè)量噪聲協(xié)方差矩陣。

觀測(cè)更新過(guò)程首先計(jì)算卡爾曼的增益,然后導(dǎo)出觀測(cè)向量zk,然后根據(jù)公式得到狀態(tài)的后驗(yàn)估計(jì),最后計(jì)算狀態(tài)估計(jì)的后驗(yàn)協(xié)方差。

卡爾曼濾波器可以濾除運(yùn)動(dòng)目標(biāo)環(huán)境中的一些干擾噪聲,校正目標(biāo)的位置和速度并預(yù)測(cè)下一時(shí)刻目標(biāo)的位置,從而縮小目標(biāo)的搜索區(qū)域。 基于此特征,本文算法將MTCNN網(wǎng)絡(luò)與卡爾曼濾波器相結(jié)合,以提高噪聲視頻中人臉檢測(cè)的準(zhǔn)確性和速度。

2 聯(lián)合卡爾曼濾波和MTCNN網(wǎng)絡(luò)的人臉檢測(cè)算法

本文基于卡爾曼濾波器,它被添加到MTCNN網(wǎng)絡(luò)檢測(cè)過(guò)程中,由卡爾曼濾波器[14]預(yù)測(cè)下一幀中最可能的人臉中心點(diǎn)位置,以該預(yù)測(cè)點(diǎn)作為中心按比例截取原圖像區(qū)域,作為推薦區(qū)域輸入MTCNN R-net和O-net網(wǎng)絡(luò)中檢測(cè)人臉,同時(shí)每隔一定時(shí)間利用MTCNN進(jìn)行全圖掃描來(lái)重置流程。結(jié)果表明,該算法可以提高噪聲視頻中人臉檢測(cè)的準(zhǔn)確性和速度[15]。

對(duì)于組合卡爾曼濾波的算法,目標(biāo)檢測(cè)的問(wèn)題實(shí)際上成為從目標(biāo)的當(dāng)前幀中的位置信息獲得運(yùn)動(dòng)信息的問(wèn)題。運(yùn)動(dòng)信息包含移動(dòng)目標(biāo)的位置和速度之類的信息。因此,該信息可以被視為卡爾曼濾波器的狀態(tài)向量。因此,只要假設(shè)合理的假設(shè),就可以完全建立卡爾曼濾波器。

MTCNN網(wǎng)絡(luò)檢測(cè)圖片并在時(shí)間k給出面部邊界框的4個(gè)坐標(biāo)值,將其定義為(left,top,right,bottom)??梢愿鶕?jù)這4個(gè)值計(jì)算出人臉中心點(diǎn)的位置。xk是人臉中心點(diǎn)的橫坐標(biāo),yk是面部中心點(diǎn)的縱坐標(biāo):

(10)

(11)

z(k)=[xck,yck]。

(12)

根據(jù)牛頓運(yùn)動(dòng)定理,可以得出:

(13)

(14)

因此,狀態(tài)模型和觀察模型可以建立如下:

① 狀態(tài)模型:

xk=Fkxk-1+vk-1=

(15)

式中,t表示2個(gè)相鄰幀之間的時(shí)間間隔。

② 觀測(cè)模型:

zk=Hkxk+nk=

(16)

很容易看出系統(tǒng)的狀態(tài)轉(zhuǎn)移矩陣和系統(tǒng)的觀測(cè)矩陣:

(17)

vk-1和nk實(shí)際上是上面提到的加速度at和高斯噪聲。假設(shè)t的初始值是1,可以根據(jù)經(jīng)驗(yàn)設(shè)置σv=σn=5。同時(shí),將初始時(shí)間的狀態(tài)向量設(shè)置為X0=[x0,y0,0,0]T,其中,x0,y0是初始位置人臉中心點(diǎn)的坐標(biāo)。對(duì)于視頻圖像中的人臉運(yùn)動(dòng),在成功建立相應(yīng)的卡爾曼濾波器模型之后,卡爾曼濾波器預(yù)測(cè)和觀測(cè)更新過(guò)程可以很好地集成到MTCNN算法中。具有卡爾曼濾波器融合的MTCNN算法的具體流程如圖2所示。

圖2 融合算法流程Fig.2 Fusion algorithm flow

算法的具體步驟如下:

① 使用MTCNN檢測(cè)整個(gè)圖像,找到人臉中心點(diǎn)并根據(jù)人臉中心點(diǎn)的位置信息創(chuàng)建卡爾曼濾波器。

② 使用卡爾曼濾波器矯正觀測(cè)值,同時(shí)預(yù)測(cè)下一幀的人臉中心點(diǎn)的位置,并將預(yù)測(cè)點(diǎn)作為中心點(diǎn),按比例截取24×24圖片區(qū)域作為推薦區(qū)域,將推薦區(qū)域輸入MTCNN R-net和O-net進(jìn)行檢測(cè)。

③ 使用MTCNN R-net和O-net檢測(cè)到的人臉中心點(diǎn)位置作為新的觀測(cè)值,更新卡爾曼濾波器,并使用卡爾曼濾波器輸出校正后的人臉中心位置,在圖像中畫出人臉邊界框。

④ 檢查檢測(cè)到的圖像是否超過(guò)N幀,如果超過(guò)N幀,則刪除卡爾曼濾波器并返回①,否則返回②。

⑤ 重復(fù)上述步驟,直到視頻結(jié)束。

3 實(shí)驗(yàn)驗(yàn)證

基于上述算法,由于需要根據(jù)預(yù)測(cè)點(diǎn)生成推薦區(qū)域,而預(yù)測(cè)點(diǎn)的位置大大影響了后續(xù)再檢測(cè)時(shí)人臉位置的準(zhǔn)確率,所以首先需要驗(yàn)證算法在有噪聲視頻中人臉中心點(diǎn)位置的預(yù)測(cè)作用,模擬視頻圖像中人臉的運(yùn)動(dòng),并將MTCNN直接檢測(cè)到的人臉中心點(diǎn)軌跡與本文算法的軌跡進(jìn)行比較。

在仿真場(chǎng)景,人臉以特定速度和隨機(jī)角度偏轉(zhuǎn)在圖像中移動(dòng)。在圖3中,橫坐標(biāo)和縱坐標(biāo)分別代表圖像中的長(zhǎng)和寬方向的像素值,實(shí)線表示由MTCNN網(wǎng)絡(luò)檢測(cè)到的人臉中心點(diǎn)的移動(dòng)軌跡。長(zhǎng)虛線表示由本算法輸出的人臉中心點(diǎn)的運(yùn)動(dòng)軌跡。短虛線表示人臉中心點(diǎn)真實(shí)的運(yùn)動(dòng)軌跡。

圖3 模擬人臉中心點(diǎn)在圖像中的運(yùn)動(dòng)軌跡Fig.3 Simulate the movement of the center point of the face in the image

從圖3可以看出,人臉的小角度抖動(dòng)或者視頻噪聲干擾將導(dǎo)致MTCNN在面部中心點(diǎn)檢測(cè)中產(chǎn)生非常大的抖動(dòng),從而在視頻中的面部邊界框中產(chǎn)生嚴(yán)重的抖動(dòng)從而影響下一幀推薦區(qū)域的選取。但經(jīng)過(guò)算法檢測(cè),臉部的中心點(diǎn)移動(dòng)得非常平滑,接近真實(shí)的臉部中心點(diǎn)軌跡,可以利用該特性將預(yù)測(cè)點(diǎn)作為推薦區(qū)域的中心點(diǎn),從而生成下一幀檢測(cè)的推薦區(qū)域。這證明本文算法中卡爾曼濾波器在嘈雜視頻中可以對(duì)臉部中心下一幀可能的位置進(jìn)行很好的預(yù)測(cè)。

圖4還模擬了視頻中的靜止中心點(diǎn),橫軸為幀數(shù),縱軸表示偏差值,當(dāng)然,這種偏差在實(shí)際場(chǎng)景中會(huì)更大。面部中心點(diǎn)的檢測(cè)位置可能由于視頻中的光變化和一些其他干擾因素(例如噪聲)而改變。然而,在通過(guò)卡爾曼濾波器校正之后,在一定數(shù)量的幀之后,人臉中心點(diǎn)的位置趨于穩(wěn)定。

圖4 視頻幀中靜止人臉中心點(diǎn)檢測(cè)的效果Fig.4 The effect of detecting the center point of still face in video frame

經(jīng)過(guò)上述2個(gè)仿真實(shí)驗(yàn),可以認(rèn)為該融合算法由卡爾曼濾波器提供的預(yù)測(cè)中心點(diǎn)和以該預(yù)測(cè)點(diǎn)為中心推薦區(qū)域是可以作為后續(xù)推薦輸入使用的。

本文算法也在實(shí)際視頻中進(jìn)行了測(cè)試,其中每過(guò)10幀重新進(jìn)行全圖檢測(cè)。原始測(cè)試視頻添加了不同強(qiáng)度的高斯噪聲。實(shí)驗(yàn)計(jì)算了測(cè)試視頻中的平均峰值信噪比(PSNR)[16-17]以及在不同噪聲條件下記錄的準(zhǔn)確率和FPS。人臉檢測(cè)的評(píng)價(jià)標(biāo)準(zhǔn)為人臉偏轉(zhuǎn)小于90°認(rèn)為存在人臉,在測(cè)試視頻中,人臉進(jìn)行移動(dòng)并且進(jìn)行隨機(jī)的角度偏轉(zhuǎn)。本實(shí)驗(yàn)的硬件條件為Intel CPU I7-7700HQ,配備NVidia 1050Ti,CUDA8.0,圖像的寬和高分別為640和480。不同算法對(duì)視頻的測(cè)試結(jié)果如圖5和圖6所示。

圖5 算法FPS對(duì)比Fig.5 Algorithm FPS comparison

圖6 算法準(zhǔn)確率對(duì)比Fig.6 Algorithm accuracy comparison

實(shí)驗(yàn)測(cè)試了5種算法,并對(duì)測(cè)試視頻中不同算法的準(zhǔn)確度和FPS進(jìn)行了統(tǒng)計(jì)。根據(jù)圖4,可以獲得以下結(jié)果:使用諸如yolov3-tiny[18]之類的模型可以實(shí)現(xiàn)非常高的FPS,但是在5種算法中,精度最低。雖然YOLOV3和SSD模型在高PSNR值下是準(zhǔn)確的,但由于這2種模型需要更多的模型參數(shù),因此FPS低于MTCNN和本文算法。相比于直接使用三級(jí)級(jí)聯(lián)的MTCNN網(wǎng)絡(luò),本文算法在有噪聲的環(huán)境中具有更高的FPS和準(zhǔn)確率,當(dāng)PSNR值越小時(shí),算法的準(zhǔn)確率高于其他算法,但隨著PSNR值的增加(這意味著高質(zhì)量的視頻),算法和MTCNN原網(wǎng)絡(luò)的精確度差異變小。從對(duì)比圖中可以得出結(jié)論,算法可以在一定噪聲的環(huán)境中平衡準(zhǔn)確率和實(shí)時(shí)性。

4 結(jié)束語(yǔ)

本文結(jié)合卡爾曼濾波器,提供了一種改進(jìn)的MTCNN檢測(cè)算法,該算法在噪聲測(cè)試視頻中具有良好的性能。該算法以MTCNN為觀測(cè)器,通過(guò)卡爾曼濾波器校正當(dāng)前觀測(cè)值并預(yù)測(cè)下一幀人臉中心點(diǎn)的位置,然后通過(guò)預(yù)測(cè)位置生成推薦區(qū)域,在下一幀中使用MTCNN R-net和O-net進(jìn)行局部檢測(cè),避免全圖檢測(cè)的冗余計(jì)算,將原來(lái)的三級(jí)級(jí)聯(lián)網(wǎng)絡(luò)簡(jiǎn)化為卡爾曼濾波和二級(jí)級(jí)聯(lián)網(wǎng)絡(luò)的計(jì)算,通過(guò)實(shí)驗(yàn)測(cè)試在不同加噪情況下,該算法可有效平衡噪聲視頻人臉檢測(cè)的準(zhǔn)確率和速度性能。

猜你喜歡
中心點(diǎn)卡爾曼濾波人臉
有特點(diǎn)的人臉
Scratch 3.9更新了什么?
如何設(shè)置造型中心點(diǎn)?
電腦報(bào)(2019年4期)2019-09-10 07:22:44
三國(guó)漫——人臉解鎖
基于遞推更新卡爾曼濾波的磁偶極子目標(biāo)跟蹤
基于模糊卡爾曼濾波算法的動(dòng)力電池SOC估計(jì)
漢字藝術(shù)結(jié)構(gòu)解析(二)中心點(diǎn)處筆畫應(yīng)緊奏
尋找視覺(jué)中心點(diǎn)
大眾攝影(2015年9期)2015-09-06 17:05:41
基于擴(kuò)展卡爾曼濾波的PMSM無(wú)位置傳感器控制
馬面部與人臉相似度驚人
湘阴县| 淄博市| 浪卡子县| 青海省| 阳春市| 商城县| 秦安县| 盐源县| 金山区| 荥经县| 耿马| 闻喜县| 雅安市| 富源县| 靖宇县| 大丰市| 乃东县| 恭城| 佛坪县| 奉节县| 上杭县| 明星| 靖远县| 长沙市| 永济市| 阳新县| 吴桥县| 加查县| 达拉特旗| 永仁县| 福清市| 平昌县| 商都县| 上思县| 广河县| 阿荣旗| 乐清市| 肥东县| 铁岭市| 开鲁县| 宿州市|