李映釗 王昇 涂其遠(yuǎn)
(東華理工大學(xué)信息工程學(xué)院,南昌,330013)
人臉識(shí)別,是基于人的臉部特征信息進(jìn)行身份識(shí)別的一種生物識(shí)別技術(shù)。其實(shí)就是一個(gè)機(jī)器對(duì)輸入的圖像或者一段視頻內(nèi)容進(jìn)行分析檢測(cè)出人臉,可以根據(jù)檢測(cè)方法得到的人臉定位出五官位置,并做人臉特征提取,最后再與人臉數(shù)據(jù)管理庫(kù)進(jìn)行匹配的技術(shù)。由于視頻監(jiān)控正在快速普及,眾多的視頻監(jiān)控應(yīng)用迫切需要一種遠(yuǎn)距離、用戶非配合狀態(tài)下的快速身份識(shí)別技術(shù),以求遠(yuǎn)距離快速確認(rèn)人員身份,實(shí)現(xiàn)智能預(yù)警。人臉識(shí)別技術(shù)無(wú)疑是最佳的選擇,采用快速人臉檢測(cè)技術(shù)可以從監(jiān)控視頻圖像中實(shí)時(shí)查找人臉,并與人臉數(shù)據(jù)庫(kù)進(jìn)行實(shí)時(shí)比對(duì),從而實(shí)現(xiàn)快速身份識(shí)別。而本文所提到的基于膚色的人臉檢測(cè)技術(shù)就可以實(shí)現(xiàn)快速檢測(cè)人臉的目的。
一直以來(lái),人臉檢測(cè)及識(shí)別技術(shù)都是計(jì)算機(jī)視覺(jué)和計(jì)算機(jī)圖形學(xué)領(lǐng)域的研究熱點(diǎn)和難點(diǎn)。但其實(shí),這項(xiàng)技術(shù)的本質(zhì)就是一個(gè)分類管理過(guò)程:利用分類器的特性來(lái)區(qū)分截取到的圖片中的人臉和非人臉。本技術(shù)是通過(guò)將不同程度大小的圖片輸入到訓(xùn)練器中,訓(xùn)練器會(huì)根據(jù)匹配算法來(lái)判斷圖像中是否存在人臉。因?yàn)橐粡垐D像的任何部位都有可能出現(xiàn)人臉,所以需要用一個(gè)固定大小的框來(lái)對(duì)圖片進(jìn)行一個(gè)全面的掃描。這種通過(guò)固定大小的框?qū)D片進(jìn)行前前后后,左左右右掃描的技術(shù)被稱為滑動(dòng)窗口技術(shù)。又因?yàn)閳D像中會(huì)存在不同大小的人臉,所以還需要對(duì)圖像數(shù)據(jù)進(jìn)行相應(yīng)程度的放大和縮小,然后再采用前面提到的方法進(jìn)行掃描。但是反復(fù)縮放和掃描會(huì)導(dǎo)致整個(gè)檢測(cè)過(guò)程消耗大量時(shí)間。又因?yàn)橐粋€(gè)人臉可以檢測(cè)到多個(gè)候選框,所以還需要將測(cè)試結(jié)果合并到一起進(jìn)行篩選,這需要用到非極大值抑制技術(shù)。
膚色是人臉的基本結(jié)構(gòu)特征,是最簡(jiǎn)單直觀地體現(xiàn)。除了亮度,膚色在膚色空間中也有一定的聚類性。通過(guò)膚色檢測(cè)和分割可以進(jìn)一步檢測(cè)出人臉區(qū)域。
本技術(shù)的設(shè)計(jì)思路正是以人臉的膚色為出發(fā)點(diǎn),首先根據(jù)圖片亮度參考點(diǎn)對(duì)其進(jìn)行劃分,對(duì)圖片較暗的部位進(jìn)行光照補(bǔ)償,再根據(jù)膚色在YCbCr顏色空間中的聚類特征,利用簡(jiǎn)單高斯模型對(duì)膚色進(jìn)行建模,接著對(duì)得到的膚色概率圖進(jìn)行形態(tài)學(xué)處理,再與輸入的圖形像素參數(shù)作對(duì)比,就能實(shí)現(xiàn)膚色分割。最后,采用一種簡(jiǎn)單的人臉面部區(qū)域篩選準(zhǔn)則來(lái)限定面部膚色區(qū)域,以便達(dá)到對(duì)人臉的框選,從而實(shí)現(xiàn)人臉檢測(cè)。[1]
基本流程:
1)輸入圖像;
2)對(duì)圖片進(jìn)行光線補(bǔ)償;
3)選擇色彩空間;
4)圖像形態(tài)學(xué)處理;
5)建立膚色模型;
6)對(duì)上述處理后的圖片進(jìn)行膚色分割;
7)對(duì)人臉區(qū)域進(jìn)行篩選;
8)最后確定人臉區(qū)域。
流程圖如圖1所示。
圖1 人臉識(shí)別基本流程
圖片亮點(diǎn)個(gè)數(shù)小于參考點(diǎn)的個(gè)數(shù)會(huì)導(dǎo)致圖像整體偏暗。為對(duì)圖片膚色分割,需要提高圖片亮度、進(jìn)行光線補(bǔ)償。本文中采用了參考白算法來(lái)對(duì)圖像進(jìn)行光線補(bǔ)償。對(duì)參考白算法作出研究的依據(jù)有兩點(diǎn):白色的像素存在于許多圖像中,尤其是人臉圖像中,除了眼球以外的部分幾乎都是白色。因此,可以將具有亮度最高的像素值可以調(diào)整到255;原始圖像需要進(jìn)行光補(bǔ)償?shù)牡胤綋碛忻黠@特征,因此當(dāng)光補(bǔ)償擴(kuò)展到整個(gè)圖像數(shù)據(jù)區(qū)域時(shí),不會(huì)影響圖像的原始特征和信息,也不會(huì)從本質(zhì)上影響膚色檢測(cè)。
首先,按照從高到低的順序排列圖像中像素的亮度。以像素的前5%作為亮度基準(zhǔn),并根據(jù)該基準(zhǔn)調(diào)整以下顏色分量。這樣,非參照白色部分中的像素的RGB值將相應(yīng)地增大,從而確保照明能夠盡可能地減小對(duì)圖像的影響。
實(shí)現(xiàn)過(guò)程:統(tǒng)計(jì)每個(gè)灰度值包含的像素?cái)?shù),通過(guò)循環(huán)得到排列5%的像素灰度值,并以此為參考白;計(jì)算光照補(bǔ)償系數(shù);原像素值分別乘以光照補(bǔ)償系數(shù),得到光照補(bǔ)償后的像素值。[2]
常用簡(jiǎn)化RGB圖像灰度值計(jì)算公式:
參考白像素的亮度平均值aveGray計(jì)算公式:
式中Grayref為參考白灰度值;GrayrefNum用為參考白像素?cái)?shù)。
計(jì)算光線補(bǔ)償系數(shù)coe公式:
效果圖對(duì)比如圖2所示。
圖2 光線補(bǔ)償效果圖
具體流程如圖3所示。
圖3 光線補(bǔ)償流程圖
在學(xué)習(xí)工作中,有時(shí)由于顏色空間的不同,圖像處理的結(jié)果也會(huì)不同,因此需要對(duì)圖像的顏色空間進(jìn)行變換。使用YCbCr顏色空間的原因是基于人類視覺(jué)系統(tǒng)對(duì)色度的敏感性,而該空間中Y就代表了亮度,且其中的色度分量Cb、Cr不受亮度影響,基于這一特點(diǎn)就可以把Y有效的分離出來(lái)。由于視覺(jué)系統(tǒng)對(duì)色度的敏感度低于亮度,色度通道的采樣率可以低于亮度,視覺(jué)質(zhì)量不會(huì)明顯降低,從而達(dá)到壓縮的目的。對(duì)于人臉識(shí)別來(lái)說(shuō),色度對(duì)人臉的識(shí)別結(jié)果會(huì)產(chǎn)生極大的影響,因此需要將RGB空間的色彩模式轉(zhuǎn)換為YCbCr[3]。YCbCr與RGB信號(hào)傳輸相比還有一個(gè)優(yōu)點(diǎn)就是它只需要占用極少的頻寬,而RGB則要求三個(gè)獨(dú)立的信號(hào)同時(shí)傳輸,所需頻寬較大。
RGB色彩空間轉(zhuǎn)換為YCbCr色彩空間公式:
圖4 色彩空間轉(zhuǎn)換步驟
僅對(duì)圖片光線補(bǔ)償仍不足以支持對(duì)圖片膚色分割的順利進(jìn)行。這時(shí),就需要利用到圖像形態(tài)學(xué)處理技術(shù)進(jìn)一步提高圖像亮度、清晰度。
圖像的二值化處理就是將圖像上的點(diǎn)的灰度值為0或255,也就是將整個(gè)圖像呈現(xiàn)出明顯的黑白效果。即將256個(gè)亮度等級(jí)的灰度圖像通過(guò)適當(dāng)?shù)拈撝颠x取而獲得仍然可以反映圖像整體和局部特征的二值化圖像。將圖像轉(zhuǎn)換為二值圖像后,可以對(duì)邊界進(jìn)行壓縮和編碼,可以節(jié)省大量的內(nèi)存?;旧纤械膱D像處理最終都會(huì)歸結(jié)為二值化的過(guò)程。因?yàn)槎祷軌蜻M(jìn)行簡(jiǎn)單明了的規(guī)劃,對(duì)冗余信息的篩選有很大幫助,對(duì)于一個(gè)計(jì)算機(jī)來(lái)說(shuō),進(jìn)行圖像二值化以后,圖像的處理速度會(huì)大幅度提升。
筆者期望膚色區(qū)域的均值和非膚色區(qū)域的均值差異比較大,而二者各自的方差盡可能小。根據(jù)此原理王金庭等人提出了Fisher函數(shù)作為選擇閾值的標(biāo)準(zhǔn):
圖像閾值的劃分如下。
1)全局閾值:先得到一整幅灰度圖像,然后根據(jù)灰度圖像的直方圖確定一個(gè)閾值,再利用該閾值對(duì)灰度圖像進(jìn)行二值化。
2)局部閾值:先將圖像劃分成一小塊一小塊,然后給每一塊圖像選定一個(gè)閾值,最后進(jìn)行二值化。
參照文獻(xiàn)[4]的二值化圖像程序?qū)崿F(xiàn),在本系統(tǒng)的設(shè)計(jì)程序中,先讀取圖像,再通過(guò)函數(shù)計(jì)算閾值,最后根據(jù)閾值劃分黑白圖,具體過(guò)程如圖5所示。
圖5 圖像二值化程序
人臉建模的方法有很多種,每種方法都有各自的優(yōu)缺點(diǎn),由于膚色模型與其他幾何結(jié)構(gòu)模型相比相對(duì)簡(jiǎn)單、速度快,所以選擇了膚色模型。
將輸入圖像投射到任意一種色彩空間,在某些色彩空間下,膚色具有一定的聚類型。其中YCbCr顏色空間的性能最好。YCbCr是DVD、攝像機(jī)、數(shù)字電視等消費(fèi)類視頻產(chǎn)品中,常用的色彩編碼方案。YCbCr不是一種絕對(duì)色彩空間,是YUV壓縮和偏移的版本。YCbCr其中Y是指亮度分量,Cb指藍(lán)色色度分量,而Cr指紅色色度分量。人的肉眼對(duì)視頻的Y分量更敏感,因此在通過(guò)對(duì)色度分量進(jìn)行子采樣來(lái)減少色度分量后,肉眼將察覺(jué)不到的圖像質(zhì)量的變化[5]。
建?;舅悸罚合葘⒒陬伾臻g的RGB模型轉(zhuǎn)化為YCbCr模型;然后進(jìn)行閾值分割;再濾波,本實(shí)驗(yàn)采用性能較好的中值濾波;隨后特征區(qū)域提取,利用matlab的bwlabel函數(shù);最后對(duì)標(biāo)記的特征區(qū)域利用高寬度之比和面積兩個(gè)指數(shù)來(lái)進(jìn)一步簡(jiǎn)化特征區(qū)域。具體過(guò)程如圖6所示。
每個(gè)人的皮膚都具有獨(dú)特的顏色,通過(guò)人臉皮膚可以清晰地區(qū)別出外部背景。由于皮膚的顏色在顏色空間中占據(jù)了一定的范圍,所以我們只要計(jì)算出這個(gè)范圍的值,就能通過(guò)過(guò)濾技術(shù)把自己的皮膚從背景中剝離出來(lái)。根據(jù)人臉特征的特定位置和形狀規(guī)則,對(duì)過(guò)濾出的人臉皮膚進(jìn)行分割。其中人臉的面部區(qū)域包含著眼睛的位置,這與其他部分皮膚有很大不同。將分割后的整個(gè)面部皮膚轉(zhuǎn)化為二值圖像,就可以從黑百圖像中區(qū)分出皮膚和眼睛。方法就是計(jì)算出黑色部分的質(zhì)心坐標(biāo),也就是眼睛的位置。雖然計(jì)算出的質(zhì)心不僅僅有兩個(gè),還有眉毛、鼻子和嘴巴的質(zhì)心。但是可以根據(jù)人臉特征的先驗(yàn)知識(shí)從中判斷出正確的人眼質(zhì)心坐標(biāo)。
判斷膚色:通過(guò)設(shè)定當(dāng)前點(diǎn)的Cb、Cr值,對(duì)比判斷出圖片中的膚色部分,邏輯如圖7所示。
判斷眼睛位置:如圖7所示,根據(jù)設(shè)定的數(shù)值進(jìn)一步判斷二值圖像中哪塊區(qū)域含有眼睛塊,從而進(jìn)一步篩選人臉部分。
圖8 眼睛判斷程序
本文設(shè)計(jì)先通過(guò)膚色模型的高斯分布導(dǎo)出人臉膚色分布概率圖,再經(jīng)過(guò)圖像二值化處理,與輸入圖像進(jìn)行比對(duì)排除非人臉區(qū)域,進(jìn)一步縮小區(qū)域面積,再通過(guò)劃分圖像像素閾值,進(jìn)行做差比較,多次累計(jì)重疊面積,達(dá)到再次縮小非人臉區(qū)域的目的,最后根據(jù)人臉長(zhǎng)寬高比例,設(shè)置限定范圍,從而定位人臉,具體過(guò)程如圖9所示。
圖9 人臉篩選流程
其中人臉框的算法是先標(biāo)記出圖像的連通區(qū)域,再根據(jù)設(shè)定的人臉長(zhǎng)寬比用函數(shù)畫(huà)框定位人臉以確定人臉區(qū)域[6]。
人臉識(shí)別效果如圖10所示。
圖10 人臉篩選圖
本文基于膚色是人臉最顯著的特征提出了基于膚色的人臉識(shí)別技術(shù)?;谀w色的人臉檢測(cè)法可以更快速地定位到圖片上人臉的大致位置框口并將其分割出來(lái),基于圖像二值化和圖像像素閾值可以更精確地找出人臉的具體位置,基于光照補(bǔ)償和圖像形體學(xué)處理可以使得人臉更加清晰,更便于進(jìn)行人臉識(shí)別。本文探討的人臉檢測(cè)技術(shù)實(shí)現(xiàn)方法的相關(guān)研究,目的是為人臉識(shí)別技術(shù)提供一個(gè)研究方向和參考。