王 釗 劉廣瑞 孟少飛
(鄭州大學(xué)機(jī)械與動(dòng)力工程學(xué)院 河南 鄭州 450001)
人臉檢測(cè)是現(xiàn)代所有基于視覺(jué)的人與電腦、人與機(jī)器人和人機(jī)交互系統(tǒng)的基礎(chǔ),在人臉識(shí)別、人臉追蹤、表情識(shí)別、數(shù)字視頻,以及游戲領(lǐng)域具有重要的應(yīng)用價(jià)值。目前,國(guó)內(nèi)外學(xué)者提出了許多有效的人臉檢測(cè)算法,常見(jiàn)的有先驗(yàn)知識(shí)法、統(tǒng)計(jì)訓(xùn)練法、膚色檢測(cè)法、模板匹配法[1]。其中模板匹配法具有過(guò)程簡(jiǎn)單、容易實(shí)現(xiàn)等優(yōu)點(diǎn)。
近年Dekel等[2]提出了一種基于最佳相似性(BBS)的模板匹配算法,該方法通過(guò)統(tǒng)計(jì)模板圖像和目標(biāo)圖像搜索窗之間的最佳相似對(duì)(BBP)的數(shù)目,將對(duì)數(shù)最大的搜索窗作為最優(yōu)匹配結(jié)果。該算法穩(wěn)健性好、匹配精度高,并且能夠在部分遮擋的情況下完成匹配,但是該算法采用的搜索方式是逐點(diǎn)滑窗,計(jì)算量大,不能滿足實(shí)時(shí)要求,而且難以實(shí)現(xiàn)對(duì)旋轉(zhuǎn)、縮放目標(biāo)的檢測(cè)。
針對(duì)以上問(wèn)題,考慮以尺度迭代最近點(diǎn)算法[3](SICP)作為BBS算法的搜索方式,首先計(jì)算模板圖像與目標(biāo)搜索窗之間的最佳相似點(diǎn)對(duì),將其作為兩個(gè)圖像之間的對(duì)應(yīng)點(diǎn),然后利用SICP算法對(duì)搜索窗進(jìn)行變換,得到新的搜索窗口,再計(jì)算得到最佳相似點(diǎn)對(duì),直到滿足閾值要求。
在模板匹配過(guò)程中,傳統(tǒng)匹配算法會(huì)將窗口中所有像素或其他特征考慮在內(nèi),但是當(dāng)檢測(cè)目標(biāo)的背景發(fā)生變化時(shí),這種策略是不可取的,不同的背景帶來(lái)的像素或特征變化是任意的,因此可能會(huì)導(dǎo)致匹配錯(cuò)誤。針對(duì)此問(wèn)題,Dekel等提出了一種新的相似性度量方法,該方法只考慮搜索窗內(nèi)與模板相似的點(diǎn),這種新的相似性度量準(zhǔn)則稱為最佳相似性(BBS)。
(1)
其中:
(2)
d(p,qj)是一種距離測(cè)度,最常用的是歐氏距離:
(3)
式中:上標(biāo)A表示像素值,一般為RGB顏色空間;上標(biāo)L表示像素坐標(biāo)位置;根據(jù)經(jīng)驗(yàn),在實(shí)驗(yàn)中一般令λ=2。文獻(xiàn)[5]中使用曼哈頓距離代替歐氏距離,使得計(jì)算效率更高,差異性更?。欢陬伾臻g中,HSV空間比RGB空間能更好地反映出顏色信息,所以本文采用的距離測(cè)度如式(4)所示。
d(p,q)=MDxy+λMDHSV
(4)
s.t.MDxy=|xp-xq|+|yp-yq|,
MDHSV=|Hp-Hq|+|Sp-Sq|+|Vp-Vq|
為了提高計(jì)算效率,在BBP中將模板和搜索窗內(nèi)圖像分解為k×k的小塊,并取小塊的中心點(diǎn)代表這個(gè)小塊的所有點(diǎn),這些小塊則組成了待匹配的點(diǎn)集。
迭代最近點(diǎn)算法(ICP)是運(yùn)用最廣泛的點(diǎn)集配準(zhǔn)方法,該算法配準(zhǔn)精度高,易于實(shí)現(xiàn),但是沒(méi)有考慮尺度變換的配準(zhǔn)問(wèn)題。在此基礎(chǔ)上,Du等提出了尺度迭代最近點(diǎn)算法(SICP),但是對(duì)較大點(diǎn)集處理的迭代速度比較緩慢。針對(duì)收斂速度問(wèn)題,趙夫群等[6]引進(jìn)了帶邊界的尺度矩陣,在不影響算法精度和收斂方向的情況下,減少迭代次數(shù),提高收斂速度。
(5)
s.t.RTR=Im,det(R)=1
S=diag(s1,s2,…,sq),sj∈[aj,bj]
式中:S是一個(gè)有邊界的尺度矩陣。
迭代過(guò)程主要分為以下兩步[7]:
(1) 根據(jù)當(dāng)前的變換參數(shù)(Sk-1,Rk-1,tk-1)建立點(diǎn)集之間的對(duì)應(yīng)關(guān)系:
(6)
(2) 通過(guò)最小化距離公式計(jì)算出新的變換參數(shù)(Sk,Rk,tk):
(7)
重復(fù)以上兩個(gè)步驟,直到滿足停止條件。
原始BBS算法采用簡(jiǎn)單的逐點(diǎn)滑窗匹配,逐個(gè)窗口計(jì)算BBS相似性度量值,選取相似性值最大的窗口作為最終匹配結(jié)果。這種策略重復(fù)計(jì)算多,計(jì)算量大,而且對(duì)于尺度變化、旋轉(zhuǎn)變化的目標(biāo)檢測(cè)失效。而尺度迭代最近點(diǎn)算法作為一種點(diǎn)集配準(zhǔn)算法,搜索速度快,對(duì)尺度變換和旋轉(zhuǎn)變換的圖像均能有較高的匹配效果,但是對(duì)點(diǎn)集的選擇要求比較高。因此考慮將兩種算法結(jié)合起來(lái),以兩個(gè)圖像之間的最佳相似對(duì)點(diǎn)集作為SICP算法的配準(zhǔn)點(diǎn)集進(jìn)行迭代搜索,直到滿足閾值條件。BSICP算法如下:
1) 初始化變換參數(shù)(S0,R0,t0),將初始搜索窗口定義在目標(biāo)圖像左上角。
2) 將模板大小調(diào)為與窗口大小一致,根據(jù)式(1)計(jì)算模板圖像與窗口之間的所有最佳相似對(duì),生成窗口點(diǎn)集Pk和模板點(diǎn)集Qk。
3) 計(jì)算新的變換參數(shù)(Sk,Rk,tk):
(8)
式中:NBBPS表示最佳相似點(diǎn)對(duì)的數(shù)量。
4) 當(dāng)滿足兩次變換之間的ΔS=|Sk-Sk-1|小于閾值ε或迭代次數(shù)k大于最大迭代次數(shù)Kstep時(shí),停止迭代,否則返回步驟2)。
該算法在人臉檢測(cè)中的實(shí)現(xiàn)流程如圖1所示。
圖1 人臉檢測(cè)算法流程
實(shí)驗(yàn)選用一臺(tái)Inter Corei5-8250U 1.60 GHz CPU和8 GB內(nèi)存的計(jì)算機(jī)作為測(cè)試環(huán)境,仿真軟件為MATLAB 2018a。為了驗(yàn)證算法的有效性、實(shí)用性,進(jìn)行了兩個(gè)實(shí)驗(yàn)。實(shí)驗(yàn)一比較了幾種經(jīng)典檢測(cè)算法和本文算法在數(shù)據(jù)集上的檢測(cè)率和檢測(cè)速度;實(shí)驗(yàn)二是本文算法在視頻序列人臉檢測(cè)中的應(yīng)用。
本實(shí)驗(yàn)所用的IMDB-WIKI數(shù)據(jù)集是具有年齡和性別標(biāo)簽的最大面部圖像公共數(shù)據(jù)集,包含各個(gè)年齡和不同姿態(tài)、背景的人物面部圖像。從中隨機(jī)選取了100幅圖片作為實(shí)驗(yàn)測(cè)試數(shù)據(jù),統(tǒng)一圖片大小為300×300,然后分別進(jìn)行四種變換,生成包括旋轉(zhuǎn)、縮放、旋轉(zhuǎn)縮放和部分遮擋的四組圖像,加上原始圖像一共五組500幅圖像。
為了分析本文算法的檢測(cè)效果,選用了包括本文算法在內(nèi)共五種人臉檢測(cè)算法進(jìn)行比較,包括:SAD[8]、NCC[9]、HM[10]、YOLO[11]、BSICP。實(shí)驗(yàn)結(jié)果如圖2和圖3所示,結(jié)果分析如表1和表2所示。
圖2 算法檢測(cè)率對(duì)比
表1 檢測(cè)率數(shù)據(jù)分析(%)
圖3 算法檢測(cè)速度對(duì)比
表2 檢測(cè)時(shí)間數(shù)據(jù)分析
由圖2和表1可知,HM、YOLO和本文算法平均檢測(cè)率比較高,分別為94%、95.6%和98.2%;由圖3和表2可知,NCC、YOLO和本文算法的平均檢測(cè)速度比較快,分別為0.095 s、0.845 s和0.077 s。不管在檢測(cè)率還是在檢測(cè)速度上,本文算法都有優(yōu)于其他算法的檢測(cè)效果,對(duì)人臉檢測(cè)具有很好的使用價(jià)值。
本實(shí)驗(yàn)所用數(shù)據(jù)來(lái)源于文獻(xiàn)[12]的標(biāo)準(zhǔn)視頻序列圖像庫(kù),從中選取了6段彩色視頻,并從每段視頻中每相隔20幀以上取一幅共5幅圖像組成一組,其中一組序列檢測(cè)結(jié)果如圖4所示,(a)為手工標(biāo)記,其余為檢測(cè)結(jié)果。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),本文算法能夠很好地完成檢測(cè)任務(wù),有利于人臉檢測(cè)的應(yīng)用。
(a)
(b)
(c)
(d)
(e)圖4 視頻序列人臉檢測(cè)結(jié)果
本文提出一種人臉檢測(cè)算法,在算法中引入最佳相似性這樣一種相似性度量來(lái)尋找對(duì)應(yīng)點(diǎn),然后利用SICP算法快速搜索到最優(yōu)目標(biāo),實(shí)現(xiàn)了在圖像中對(duì)人臉的快速檢測(cè)。實(shí)驗(yàn)數(shù)據(jù)表明,該算法在速度和檢測(cè)率上均優(yōu)于其他常用的人臉檢測(cè)算法。由于復(fù)雜的人臉表情種類以及背景環(huán)境影響,該算法的計(jì)算量比較大,如何降低計(jì)算量和如何對(duì)非彩色圖像中的人臉進(jìn)行檢測(cè)將是下一步的工作重點(diǎn)。