王 波,劉豐年,陳迎娜
(1.西北大學(xué)師資培訓(xùn)中心,陜西西安710127;2.三門峽職業(yè)技術(shù)學(xué)院,河南 三門峽472000)
人臉檢測(cè)是指在輸入的圖像中確定出人臉的位置、位姿和尺度。人臉檢測(cè)技術(shù)作為一項(xiàng)人臉信息處理的關(guān)鍵技術(shù),廣泛應(yīng)用在解決模式識(shí)別與計(jì)算機(jī)視覺(jué)領(lǐng)域內(nèi)的實(shí)際問(wèn)題,如人員出入安檢、智能人機(jī)接口、視覺(jué)監(jiān)視、人機(jī)交互和內(nèi)容檢索等[1]。
正因?yàn)槿四槞z測(cè)技術(shù)在諸多領(lǐng)域應(yīng)用前景廣泛,它作為一項(xiàng)獨(dú)立的技術(shù)課題吸引了來(lái)自國(guó)際國(guó)內(nèi)著名人臉檢測(cè)研究機(jī)構(gòu)的眾多學(xué)者。目前在國(guó)內(nèi)外享譽(yù)盛名的人臉檢測(cè)研究機(jī)構(gòu)主要有:國(guó)際方面,主要有美國(guó)麻省理工大學(xué)的媒體實(shí)驗(yàn)室、人工智能實(shí)驗(yàn)室和美國(guó)卡耐基梅隆大學(xué)的智能機(jī)器人研究所等[1];國(guó)內(nèi)方面,比較突出的主要有清華大學(xué)、上海交通大學(xué)等一些知名院校和中國(guó)科學(xué)院計(jì)算所、中國(guó)科學(xué)院自動(dòng)化所等部分專業(yè)科研院所[2]。
人臉作為一種自然形體屬性有很強(qiáng)的共性,但受人的體貌差異、表情變化和采集人臉圖像時(shí)光照、設(shè)備等自然因素的影響,使得圖像具有復(fù)雜、細(xì)致的模式變化,從而也導(dǎo)致了人臉檢測(cè)過(guò)程的復(fù)雜化。而已有的人臉檢測(cè)方法中往往受背景和軟件條件的約束,限制了人臉檢測(cè)技術(shù)的應(yīng)用范圍[3]。也就是說(shuō),目前還沒(méi)有一種能夠適應(yīng)各種復(fù)雜條件的通用人臉檢測(cè)技術(shù)。鑒于上述情況,找到一種應(yīng)用于復(fù)雜背景下的人臉檢測(cè)技術(shù)是亟待研究的課題。
針對(duì)此需求現(xiàn)狀,本文提出了一種基于具有形狀約束的Snake模型的人臉檢測(cè)方法。該方法是依據(jù)人的臉部輪廓曲線近似于橢圓的特點(diǎn),將形狀能量函數(shù)引入Snake模型的能量函數(shù)中,進(jìn)一步加強(qiáng)控制點(diǎn)之間的聯(lián)系,從而提高復(fù)雜背景下人臉檢測(cè)時(shí)收斂結(jié)果的準(zhǔn)確性。
傳統(tǒng)的Snake模型是在圖像力、內(nèi)力和外部約束力的共同作用下移動(dòng)的變形輪廓線:v(s)=(x(s),y(s)),其中s∈[0,1]表示曲線參數(shù),它通過(guò)最小化下面的能量函數(shù)關(guān)系式達(dá)到鎖定圖像特征的目的[2],Econ(v(s))。
輪廓曲線的內(nèi)部能量函數(shù)定義為[4]:
式中vs(s)、vss(s)分別表示曲線v(s)關(guān)于s的一階、二階導(dǎo)數(shù)。一階導(dǎo)數(shù)項(xiàng)vs(s)表示曲線的彈性能量,它控制著曲線的長(zhǎng)度和連續(xù)性。系數(shù)α(s)能夠控制輪廓曲線像一個(gè)具有彈力、長(zhǎng)度變化的繩子以較快或較慢的幅度收縮,系數(shù)α(s)的值越小,輪廓曲線在內(nèi)力的方向上收縮得越慢,故稱α(s)為彈力系數(shù)。二階導(dǎo)數(shù)vss(s)是指曲線的剛性能量,表示的是活動(dòng)曲線曲率的變化率,系數(shù)β(s)控制著輪廓曲線沿著法線方向朝目標(biāo)邊界運(yùn)動(dòng)的速度,輪廓曲線的運(yùn)動(dòng)就像一條剛性繩子的運(yùn)動(dòng),在運(yùn)動(dòng)的過(guò)程中始終保持著原有的光滑和長(zhǎng)度不變,β(s)值越小,運(yùn)動(dòng)曲線就會(huì)變得越柔軟,所以稱β(s)為強(qiáng)度系數(shù)。若使輪廓曲線內(nèi)部能量Eint最小,輪廓曲線就應(yīng)當(dāng)變得的光滑,減小曲率的變化[4]。
理論上講,只要能夠合理地給出輪廓曲線在不同點(diǎn)上α(s),β(s)值,就能夠得到目標(biāo)的任意輪廓。但是自適應(yīng)地給出這兩個(gè)權(quán)重的值是困難的,通常在工程應(yīng)用中α(s)和β(s)取常量,即在實(shí)際使用中把各點(diǎn)的參數(shù)值取為定值,令α(s)=α、β(s)=β。
Eext(v(s))表示外部能量,它是由圖像本身的信息和用戶的特定限制來(lái)決定的,將引導(dǎo)輪廓曲線向目標(biāo)邊緣運(yùn)動(dòng)。對(duì)于一幅圖像I(x,y),傳統(tǒng)的外部能量一般定義為[5]:Eext=- │▽I(x,y)│2和 Eext=- │▽(Gσ(x,y)*I(x,y))│2。式中,▽表示梯度算子,Gσ(x,y)則是方差為σ的二維高斯函數(shù)。后一個(gè)外部能量函數(shù)定義與前一個(gè)外部能量函數(shù)定義相比,它采用了標(biāo)準(zhǔn)偏差為σ的Gauss函數(shù)經(jīng)過(guò)低通濾波后的能量,這將進(jìn)一步擴(kuò)大能量場(chǎng)的作用范圍。同時(shí),從公式中可以得到,梯度最小的地方能量最大,即圖像邊緣部分的能量最大。
從上面的論述可以得到:圖像輪廓檢測(cè)被公式化成一個(gè)能量函數(shù)后,通過(guò)求解能量函數(shù)的極小值就可以解決人臉檢測(cè)技術(shù)問(wèn)題。
Kass等人利用變分來(lái)求解這一能量函數(shù)。那么,Snake模型的總能量就可以寫成如下形式[6]:
根據(jù)變分原理,最小化輪廓曲線能量式,得到歐拉—拉格朗日方程:
寫成分量的形式,上式變?yōu)?
令 fx(i)= ?Eext/?x,fy(i)= ?Eext/?yi
為采用數(shù)值方法求解,歐拉方程被離散轉(zhuǎn)化為:
因?yàn)?α1=α2=… =αi=α(s)/h2,β1=β2=…βi=β(s)/h4,所以將離散化的歐拉方程變形為關(guān)于X和Y的矩陣形式:
式中A為五對(duì)角帶狀矩陣,其階數(shù)由離散點(diǎn)個(gè)數(shù)來(lái)決定。整理以上兩個(gè)式子可得位置矢量的坐標(biāo)表達(dá)式為:
式中矩陣A+γI同樣也是一個(gè)五對(duì)角帶狀矩陣,γ表示時(shí)間步長(zhǎng),它的逆矩陣可用LU進(jìn)行分解求解。
由上述可以知道,傳統(tǒng)的Snake模型在演化過(guò)程中僅使用了圖像的梯度信息,那么在復(fù)雜的圖像背景下,容易使輪廓線在變化過(guò)程中向錯(cuò)誤的目標(biāo)邊緣收斂。針對(duì)傳統(tǒng)Snake模型的缺點(diǎn),文中根據(jù)人臉輪廓曲線近似于橢圓的特點(diǎn),在Snake的能量函數(shù)中加入形狀能量項(xiàng),從而限制了輪廓曲線的形狀,提高了Snake模型對(duì)復(fù)雜背景人臉輪廓提取的準(zhǔn)確性。
設(shè)Eshape(v(s))為增加的形狀能量項(xiàng),則經(jīng)過(guò)改進(jìn)的Snake模型能量函數(shù)為:
為了構(gòu)造Eshape(v(s)),根據(jù)人臉輪廓曲線近似于橢圓的特點(diǎn),將N個(gè)蛇點(diǎn)進(jìn)行最小二乘擬合,擬合成一個(gè)橢圓。設(shè)所擬合的橢圓方程為,其最小二乘解為:y(x)=Ax2+Bx+C。限制形狀是為了使Snake線在變形的過(guò)程中始終保持近似橢圓形狀。其思想可以理解為:輪廓線上的點(diǎn)(xi,yi)在迭代過(guò)程中應(yīng)具有向此擬合的橢圓曲線靠攏的趨勢(shì),即(xi,yi)離橢圓曲線越近,Eshape(v(s))越小。所以說(shuō),Eshape(v(s))主要取決于輪廓線上的點(diǎn)到曲線y(x)的距離。因此,用這個(gè)距離來(lái)構(gòu)造形狀能量Eshape(v(s)):
式中di為第i個(gè)蛇點(diǎn)到曲線y(x)的距離,dmax,i為第i個(gè)蛇點(diǎn)鄰域內(nèi)每個(gè)蛇點(diǎn)到y(tǒng)(x)距離的最大值。上述式子表明:第i個(gè)蛇點(diǎn)在擬合曲線y(x)上時(shí),該點(diǎn)的形狀能量為-1;當(dāng)?shù)趇個(gè)蛇點(diǎn)離y(x)的距離較大時(shí),該點(diǎn)的形狀能量趨于0;當(dāng)?shù)趇個(gè)蛇點(diǎn)到y(tǒng)(x)的距離為dmax,i時(shí),該點(diǎn)的形狀能量為0,達(dá)到最大。
改進(jìn)后的Snake模型的能量函數(shù)如下:
1)彈性能量Econt(v(s))
2)剛性能量Ecurv(v(s))
Largestiˉcurv表示待考察點(diǎn)某鄰域內(nèi)│vi-1-2vi+vi+1│2的最大值,用于歸一化。該能量項(xiàng)則要求輪廓盡可能平滑。
采用Williams等提出的貪婪算法來(lái)實(shí)現(xiàn)。這種算法認(rèn)為計(jì)算輪廓曲線上各個(gè)控制點(diǎn)能量時(shí),其他各點(diǎn)均處于最佳位置,只需計(jì)算當(dāng)前控制點(diǎn)的可能位置。即比較vi與其鄰域上像素點(diǎn)的能量函數(shù)值,并將其移動(dòng)到值最小的像素點(diǎn)位置。本文選擇的是3×3鄰域。
利用MATLAB6.5仿真軟件實(shí)現(xiàn)了如下對(duì)比實(shí)驗(yàn):即用傳統(tǒng)的Snake算法與本文所提出的算法分別提取同一幅圖像的人臉輪廓。圖1展示的是一般辦公室環(huán)境的對(duì)比實(shí)驗(yàn),圖中背景相對(duì)比較復(fù)雜,圖1(a)所示為傳統(tǒng)Snake模型的提取結(jié)果,參數(shù)設(shè)置為α(s)=1.0,β(s)=1.0,γ(s)=1.2,可以看出在復(fù)雜背景的條件下,由于輪廓附近的梯度比較復(fù)雜,僅使用梯度信息來(lái)提取結(jié)果偏差較大;圖1(b)為本文提出的改進(jìn)的Snake模型提取結(jié)果,引入?yún)?shù)γ(s)=1.6,其他和傳統(tǒng)Snake模型所使用的參數(shù)一致,由于人臉輪廓受到形狀能量的約束,從而獲得了比較滿意的提取效果。
在原有Snake算法的基礎(chǔ)上提出了一種具有形狀約束的Snake模型的人臉檢測(cè)方法,該方法依據(jù)人臉形狀近似符合橢圓的特征,在Snake模型的能量函數(shù)中引入了形狀能量函數(shù),使得控制點(diǎn)之間的聯(lián)系進(jìn)一步加強(qiáng),從而提高了復(fù)雜背景中人臉檢測(cè)時(shí)收斂結(jié)果的準(zhǔn)確性。
圖1 復(fù)雜背景下的人臉檢測(cè)對(duì)比實(shí)驗(yàn)
本文主要介紹了一種復(fù)雜背景下的人臉檢測(cè)方法,該方法依據(jù)人臉形狀近似符合橢圓的特點(diǎn),在Snake模型的能量函數(shù)中引入了形狀能量函數(shù),使得控制點(diǎn)之間的聯(lián)系進(jìn)一步加強(qiáng),從而提高了復(fù)雜背景中人臉檢測(cè)時(shí)收斂結(jié)果的準(zhǔn)確性。實(shí)驗(yàn)結(jié)果表明,該方法具有較好的穩(wěn)定性,達(dá)到了預(yù)期效果,這種情況在初始輪廓線附近梯度變化較復(fù)雜時(shí)尤其如此。但本方法在初始輪廓的選取上需要手工勾勒,因此,為了提高整個(gè)流程的自動(dòng)性,初始輪廓的自動(dòng)選取還需要進(jìn)一步的研究。
[1]Moghaddam B,Jebara T,Pentland A.Bayesian Face Recognition[J].Pattern Recognition,2000,33(11):65-74.
[2]岡薩雷斯.數(shù)字圖像處理(第二版)[M].北京:電子工業(yè)出版社,2006.
[3]Lanitis A,Taylor C J,Cootes T F.Automatic face identification system using flexible appearance models[J].Image and Vision Computer,2007,13(5):1-15.
[4]劉正光,劉潔.基于膚色分割的人臉檢測(cè)算法研究[J].計(jì)算機(jī)工程,2007,33(4):22-24.
[5]梁路宏,艾海舟,徐光佑,等.人臉檢測(cè)研究綜述[J].計(jì)算機(jī)學(xué)報(bào),2002,25(5):1-10.
[6]宋紅,石峰.視頻中的多視角人臉檢測(cè)與姿態(tài)判別[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2007,19(1):90-95.