文/劉俊 王巖 韓為選
就目前來(lái)說(shuō),人臉識(shí)別技術(shù)已經(jīng)慢慢的趨于成熟,識(shí)別算法層出不窮,諸如基于特定人臉子空間的人臉識(shí)別算法,基于SV 的Kernel判別分析方法,基于AdaBoost 的Gabor 特征選擇等等。我們身處互聯(lián)網(wǎng)時(shí)代,更是在互聯(lián)網(wǎng)+的時(shí)代。所以在這個(gè)大前提下,人臉識(shí)別這一塊將更加的智能化,這也是現(xiàn)在眾多的互聯(lián)網(wǎng)企業(yè)和公司都會(huì)研究的一項(xiàng)大的工程,因此就目前來(lái)看,人臉識(shí)別技術(shù)將迎來(lái)更大規(guī)模的發(fā)展,跟廣泛地應(yīng)用空間和前景。
人臉檢測(cè)對(duì)于計(jì)算機(jī)視覺(jué)領(lǐng)域來(lái)說(shuō)一直是一個(gè)重要的挑戰(zhàn),所以至今也有狠多的方法問(wèn)世,像幾何特征的人臉識(shí)別方法,基于特征臉的人臉識(shí)別方法,神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別方法,彈性圖匹配的識(shí)別法,線段距離的識(shí)別方法,還有支持向量機(jī)(SVM)的人臉實(shí)時(shí)別方法。以前的人臉識(shí)別的研究方向主要是將其中的多個(gè)方法融合,以此提高識(shí)別率,現(xiàn)在的識(shí)別算法相差不多,只是在性能和精度方面有了很大的提高。
膚色是人臉的特有屬性,而視頻是由許多幀的圖像組合而成,對(duì)視頻中人臉的識(shí)別關(guān)鍵點(diǎn)在于對(duì)每一幀圖像的處理,因此只要掌握了膚色的色彩組成,然后與人體后面的背景相比較,這兩者的區(qū)別肯定是很大的,這樣的話人臉識(shí)別系統(tǒng)就可以區(qū)分出到底哪一塊是應(yīng)該識(shí)別出的區(qū)域,,然后根據(jù)識(shí)別算法把人的臉部劃分出來(lái),吧人臉區(qū)域和背景區(qū)域分離開(kāi)了之后,接下來(lái)進(jìn)行的就是一個(gè)批處理的過(guò)程,把每一幀都進(jìn)行這樣的處理,就可以實(shí)時(shí)的把人臉是別在整個(gè)系統(tǒng)界面顯示出來(lái)。
YCrCb 色彩模型也被稱(chēng)為YUV 色彩空間表示,為什么要進(jìn)行色彩模式的轉(zhuǎn)換,在上面我們提到過(guò),為了減少背景顏色和人臉部顏色其他屬性對(duì)識(shí)別過(guò)程的干擾,它的實(shí)質(zhì)也是實(shí)現(xiàn)對(duì)色彩的亮度,色調(diào),還有飽和度的組成,更好的創(chuàng)造一個(gè)識(shí)別環(huán)境這樣可以提高不少成功率和準(zhǔn)確率。這種以色彩的表示方法就是YUV 色彩空間表示。采用YUV 色彩空間的重要性是它的亮度信號(hào)Y 和色度信號(hào)U、V是分離的。如果只有 Y 信號(hào)分量而沒(méi)有U、V信號(hào)分量,那么這樣表示的圖像就是黑白灰度圖像。YCrCb 主要有以下幾個(gè)轉(zhuǎn)換。
上面的第一式中Y 表示光的強(qiáng)度,r,g,b 分別表示三個(gè)顏色分量上的系數(shù),這三個(gè)參數(shù)的和是一個(gè)常數(shù),一般我們將其和表示為1.以這樣的一個(gè)標(biāo)準(zhǔn)來(lái)衡量三個(gè)分量在YCrCb色彩模型下的比例,Cr 是色調(diào),Cb 是飽和度,我們主要用到Cr,Cb 這兩個(gè)變量,消除了這兩個(gè)變量對(duì)圖片種顏色的影響,一般經(jīng)過(guò)數(shù)字化的采樣格式之后三者的比例成為了4:1:1 或者2:1:1,這樣的變化對(duì)人眼來(lái)說(shuō)效果是不明顯的,但是在機(jī)器式的人臉識(shí)別的人臉識(shí)別系統(tǒng)來(lái)說(shuō),效果就會(huì)變得比較明顯,因?yàn)榫哂幸欢ǖ牟町愋?,在識(shí)別中環(huán)境因素的影響將會(huì)降低到最小。
通過(guò)YCrCb 的側(cè)才模型的轉(zhuǎn)化之后,我們將膚色給提取了出來(lái),但是然提其他部位的膚色如果在單真圖片中,也是會(huì)被顯示出來(lái),因此我們還要進(jìn)一步的判斷,通過(guò)什么來(lái)區(qū)別人臉區(qū)域和非人臉區(qū)域呢,我們通常會(huì)進(jìn)行的操作一般是閾值處理,但是如何選取閾值,他的范圍怎么確定,這是一個(gè)需要解決的問(wèn)題。其實(shí)我們只要實(shí)現(xiàn)YCrCb 的高斯模型,里面包含了Cr,Cb 兩個(gè)分量,再我們之前進(jìn)行的特征點(diǎn)的模型,將兩者這結(jié)合進(jìn)行圖像的二值化處理,達(dá)到排除其他膚色的效果。主要的二值化處理一般有三種方法:
3.3.1 雙峰直方圖閾值分割法
雙峰直方圖閾值分割法,這種方法主要是找到圖像的兩個(gè)最高的峰,然后把閾值定義為兩個(gè)最高峰之間的一個(gè)最低峰,這種方法相比第三種更為精確,但是也有誤差,當(dāng)直方圖的區(qū)間取的相對(duì)較大時(shí),誤差就會(huì)偏大,只有精確到每一個(gè)像素點(diǎn),針對(duì)每一個(gè)像素點(diǎn)來(lái)進(jìn)行二值處理,偏差可以降到最低。
3.3.2 平均灰度法
計(jì)算每一個(gè)像素點(diǎn)像素的平均值,取這個(gè)像素平均值為S,當(dāng)像素點(diǎn)比S 大的像素點(diǎn)的像素值設(shè)為255,即為白色,比S 曉得像素點(diǎn)的像素值設(shè)為0,即為黑色。這種操作的好處是考慮到了大部分的操作點(diǎn),相比規(guī)定在中間值而言要精確。
3.3.3 中間值法
設(shè)立一個(gè)中間值,像素高于127 的為1,像素低于127 的為0。這種方法并不推薦使用,雖然運(yùn)算量小,速度快。但是如果有的像素點(diǎn)偏離127 這個(gè)標(biāo)準(zhǔn)很遠(yuǎn),那樣誤差很大,這樣的結(jié)果用在人臉識(shí)別上并不妥當(dāng)。
經(jīng)過(guò)了圖像的二值化的過(guò)程后,單幀圖片中剩余的是白色和黑色兩部分,由于二值化處理過(guò)程中誤差的存在和一些人體之外的復(fù)雜背景的影響,除人臉之外肯定還會(huì)有部分除了人臉的膚色之外,還有其他的部位的膚色影響檢測(cè),所以要獲取更為準(zhǔn)確的效果,下一步的操作就是要進(jìn)行圖片的膨脹腐蝕,膨脹,甚至有的還要進(jìn)行細(xì)化操作。在這里不對(duì)腐蝕膨脹的具體操作進(jìn)行講解,他們都是在二值化圖像的基礎(chǔ)之上的操作,膨脹簡(jiǎn)言之就是一個(gè)放大操作,通過(guò)膨脹操作能把圖像邊緣變得圓滿,減少突出部分;腐蝕則剛好相反,通過(guò)腐蝕能夠把零散的像素點(diǎn)清除,達(dá)到縮小或者細(xì)化的目的。細(xì)化過(guò)程需要對(duì)圖片的像素點(diǎn)進(jìn)行兩次遍歷,得到的結(jié)果大概是整個(gè)圖片像素點(diǎn)的邊緣輪廓,這種可以直接忽略很多的不必要的像素點(diǎn)。