王 寅,譚曉陽
(南京航空航天大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇南京 210016)
人臉檢測是將圖片中人臉的位置、大小和中心找到并標(biāo)記出來,目前已有很多算法可以檢測。但早期的人臉識別算法多是在一個已經(jīng)得到的人臉圖像或較容易即可獲取的人臉圖像上進(jìn)行,致使這些算法無法在使用過程中對圖像做出更好的分析和判斷。隨著人臉識別的應(yīng)用范圍不斷擴(kuò)展,人臉檢測逐漸發(fā)展起來。
一般的圖像分析方法在學(xué)習(xí)過程中需要大量的訓(xùn)練樣本,但在訓(xùn)練的過程中會導(dǎo)致訓(xùn)練的參數(shù)出現(xiàn)過擬合。檢測過程中對目標(biāo)圖像中與示例相類似對象間的差異無法很好地避免,使檢測效果降低。H.Takeda,S.Farsi和 P.Milanfarz于2007年發(fā)表的關(guān)于使用核回歸進(jìn)行圖像處理和重建文章[1],其中講述了使用回歸模型方法,對噪聲圖像的特征進(jìn)行提取和分析,借此恢復(fù)圖像的原狀或者簡化壓縮工作的流程。該方法可以減小由信號或噪聲模型等造成的影響。其中經(jīng)典核回歸算法
式中,z是回歸函數(shù);yi表示第i個采樣點(diǎn)在xi處的觀察值;εi表示獨(dú)立同分布零均值噪聲;P表示鄰域中采樣點(diǎn)的個數(shù)。
盡管經(jīng)典核回歸具有較好的性能,且易理解,但因?yàn)閿?shù)據(jù)局部線性變化而存在限制。之后H.J.Seo和P.Milanfar發(fā)表了關(guān)于使用 LARK(Locally Adaptive Regression Kernels[2])進(jìn)行物體檢測的文章。其中介紹了將LARK方法用于提取圖片的特征并引用到對象識別中。這個方法對捕捉基本數(shù)據(jù)的局部結(jié)構(gòu)很有效,對圖片中各點(diǎn)的灰度并不敏感,相對圖片中灰度值和圖形的變化較為敏感。
使用LARK提取的圖片特征首先要計算圖片片段的局部核。局部核是通過計算圖片片段中的每個像素點(diǎn)的協(xié)方差矩陣C,之后通過協(xié)方差矩陣計算每個點(diǎn)的核值,再由片段中所有像素點(diǎn)的核值組成局部核。而協(xié)方差矩陣C可以將圖片片段中圖形形狀和灰度值的變化情況記錄下來。
根據(jù)圖片中每個像素點(diǎn)的協(xié)方差矩陣C計算局部核函數(shù)K(·)。其描述如式(2)所示
其中,xl=[x1,x2]是空間坐標(biāo);P2是局部窗口的像素數(shù)(P×P)。方向矩陣Hl定義為
其中,h是全局平滑參數(shù),x對于任意取樣位置x存在一個分析窗口;Cl是該窗口中的空間向量集合(x1,x2)的梯度向量的協(xié)方差矩陣。方向矩陣Hl可以根據(jù)圖片中當(dāng)前位置的幾何結(jié)構(gòu)修正局部核的形狀和大小。根據(jù)這樣的方向矩陣,選擇高斯函數(shù)K(·)并引入計算公式中得到
將根據(jù)圖片片段計算出的局部核歸一化之后得到權(quán)值向量,然后將圖片中各片段的權(quán)值向量按列序排列成矩陣,得到整個圖片的權(quán)值向量矩陣。單個圖片片段的權(quán)值向量wi的計算方式如下
其中,n是圖片中片段的個數(shù);P2是局部片段的像素數(shù)。
將單個片段的權(quán)值和向量w∈RP2×1。按照片段在圖片中的位置,按列序組合在一起,得到權(quán)值向量矩陣W∈RP2×n。其計算方式如下
通過觀察示例圖片的權(quán)值向量矩陣,可以看出,使用LARK對圖片的特征進(jìn)行提取可以很好地描繪圖片中圖形的變化和位置關(guān)系,并捕捉到其細(xì)節(jié)。圖中所示人臉幾個位置的權(quán)值向量。
圖1 人臉幾個位置的LARK核
由于LARK在特征提取方面的優(yōu)勢,將這種特征提取的方法應(yīng)用到人臉檢測當(dāng)中。嘗試使用一個確定的人臉圖像作為示例樣本,然后對其他含有人臉圖像的圖片進(jìn)行檢測,構(gòu)成的檢測系統(tǒng)流程如圖4所示。
圖2 使用LARK構(gòu)成的檢測系統(tǒng)流程
其中,n為圖片Q與Tj中的片段個數(shù);P2是局部片段的像素數(shù)。圖2為示例圖片Q與目標(biāo)圖片T中區(qū)域Tj的部分權(quán)值向量圖示。
在計算特征矩陣的過程中,使用PCA進(jìn)行降維,可以保證特征辨別能力的同時降低計算特征的維度。通過PCA保留主成分中前d項(xiàng)構(gòu)成矩陣AQ,根據(jù)AQ計算得到特征矩陣。其計算形式去下
分析特征的過程也就是衡量FQ與FTj之間的相似度的過程,采用了余弦相似度度量,該方法可以真實(shí)地反應(yīng)兩個向量在變化方向上的差異,也克服了傳統(tǒng)的歐氏距離對于向量角度度量的缺點(diǎn)。并確定目標(biāo)圖片中是否包含與示例相似的圖片。計算方式為
(1)獲得相似度圖像。通過使用構(gòu)造函數(shù)f,在單個向量間相似度ρi的基礎(chǔ)上構(gòu)造相似性的圖像,之后通過相似度圖像分析人臉圖像的位置信息。構(gòu)造函數(shù)原型如下
對于 ρi和 ρi∈[-1,1]時,其值越接近 -1或 1時,表示向量的夾角越接近0°或180°,圖形的走向越相似;它的值越接近0時,表示向量的夾角越接近90°,圖形的走向越背離。
(2)根據(jù)相似度圖像獲取人臉信息。得到相似度圖像之后,將其存放在矩陣S中。用矩陣S中元素的最大值分別減去S中各個元素之后將得到新的矩陣S'。其中矩陣中S'值<0.06的點(diǎn)的位置被認(rèn)為是目標(biāo)圖像中人臉?biāo)趨^(qū)域的左上角點(diǎn)的坐標(biāo),其大小和示例圖像等同。
在實(shí)際的檢測過程中,由于目標(biāo)圖像中人臉大小的不確定性,可根據(jù)變化后大小不同的示例圖像確定相似度圖像,也就是在不同尺寸的示例圖像下可得到多個相似度圖像。按照上述確定人臉位置的辦法,將在不同尺寸下得到不同的人臉位置信息,并對這些信息進(jìn)行處理。
使用LARK構(gòu)成檢測系統(tǒng)的過程,只需根據(jù)示例圖片找到目標(biāo)圖像中與其相似的圖區(qū)域。在檢測時,先將需檢測的圖像轉(zhuǎn)換為灰度圖像再進(jìn)行檢測,這樣既可以完整地表示人臉的各部分特征,同時更易于處理,還可以減少計算量。
圖3中展示了使用同一示例圖片在構(gòu)造的人臉檢測系統(tǒng)上進(jìn)行測試的結(jié)果。由此可以看出,以同一圖片作為示例的情況下,其中一個較為準(zhǔn)確。造成檢測結(jié)果不準(zhǔn)確的可能性有兩個:(1)示例圖像提取特征的局限性,它并不能代表所有人臉圖像的特征,因此在后續(xù)的檢測過程中可能出現(xiàn)偏差。(2)在使用示例圖像比對目標(biāo)圖像的疑似區(qū)域時出現(xiàn)偏差,也就是目標(biāo)圖像中有很多與示例圖像相似的區(qū)域?qū)z測結(jié)果造成干擾。雖然LARK可以很好地描述圖像的圖形特征,但由于上述兩種因素的影響,可以在對圖片進(jìn)行遍歷之前將可能的區(qū)域進(jìn)行預(yù)選。這種特征提取方法在提取特征時計算速度較慢,檢測過程中其計算速度并不理想。
圖3 使用同一示例圖片在構(gòu)造的人臉檢測系統(tǒng)上進(jìn)行簡單測試的結(jié)果
[1] TAKEDA H,F(xiàn)ARSIU S,MILANFAR P.Kernel regression for image processing and reconstruction[J].IEEE Trans on Image Processing,2007,16(2):349 -366.
[2] SEO H J,MILANFAR P.Training - free,generic object detection using locally adaptive regression kernels[J].IEEE Trans.on Pattern Analysis and Machine Intelligence,2010,32(9):1688-1704.
[3] VIOLA P,JONES M.Robust real- time object detection[J].International Journal of Computer Vision,2004,57(2):137-154.
[4] VIOLA P,JONES M J.Rapid object detection using a boosted cascade of simple features[C].Proceeding of IEEE Conf.Computer Vision and Pattern Recognition,2001,1:511 -518.