師路歡
(許昌學院 機電工程學院,河南 許昌 461000)
基于邊緣檢測和形態(tài)學的人臉定位方法的研究
師路歡
(許昌學院 機電工程學院,河南 許昌 461000)
人臉的檢測定位分兩步進行,使用改進的Kirsch邊緣檢測算法初步定位出人臉在圖像中的位置,然后利用形態(tài)學算法精確定位出人臉所在區(qū)域并將其提取出來作為輸出.試驗證實,此改進算法不易受噪聲的干擾且能檢測到真正的弱邊緣.
邊緣檢測;形態(tài)學;人臉定位
人臉的特征有鼻梁、下巴、嘴唇和人臉的邊緣等,而在這些特征中人臉邊緣部分是其中一個重要的特征.為了準確的確定是人臉,減少信息的處理并且還能保留原圖的信息,需要把人臉邊緣信息作為提取目標.但是圖像的邊緣部分是亮度變化最明顯的部分,并且它是一個階躍函數(shù),也就是說,要從一個非常小的灰度值緩沖區(qū)到灰度值大的灰度值[1].所以,作為人臉檢測的重要環(huán)節(jié)之一的邊緣檢測的研究具有重要的意義.
Canny算法在檢測步驟的邊緣檢測之中非常有效,而且可以去掉圖像中的粗糙顆粒.但是檢測時最低值是固定的,當檢測到具有模糊邊緣的圖像時,其邊緣信息可能被濾掉.Kirsch算法根據其值的取值情況及圖像本身特點會自動的調整最低值從而獲得了圖像中的邊緣點.然而前景色和背景色沒有明顯對比時就不能完整提取出圖像的邊緣信息.所以這種 Canny算法能改進Kirsch算法的檢測邊緣能力若的問題.
1.1 Canny算法的原理
當圖像信號和濾波器都符合一定標準時,可以利用數(shù)值計算法來得到最優(yōu)濾波并且對各種濾波的特性進行對比.邊緣信息的提取是為了處理增強邊緣與抗噪能力之間的問題,但是高頻分量在圖像邊緣和噪聲中都有體現(xiàn),也就是說基本的微分運算中也會因為傳感器噪聲、圖片在傳輸過程中的通道傳輸誤差等因素會使圖片上出現(xiàn)一些隨機的、離散的、孤立的像素點,所以常微分運算應采取濾波來濾除這些像素點.Canny對這些像素點進行分析和研究,得出最優(yōu)邊緣檢測的數(shù)學表達式.
Canny用數(shù)學的形式來表示其三個判據,而最佳邊緣檢測模板則利用最優(yōu)化數(shù)值方法來得到.對于一個二維的圖像,圖像由多個模板進行處理,并通過卷積處理來處理圖像.而對于階躍型的邊緣信號利用其二維高斯函數(shù)f(x,y)的特點,計算出f(x,y)在任意方向上的導數(shù)與圖像的卷積.設二維高斯函數(shù)為
(1)
在某一方向n上的一階方向導數(shù)為
(2)
這樣,根據Gn的值是不是最大從而來確定這個點是不是圖像的邊緣點.
(3)
(4)
(5)
最優(yōu)階躍邊緣算子的邊緣強度由式(5)決定,其邊緣方向為了提高速度,把▽G分解為兩個一維的行列濾波器,然后與f(x,y)卷積,得到輸出.中心邊緣點為Gn*f(x,y)在的最大值,然后根據梯度方向來判斷該點強度是否為其相鄰區(qū)域的最大值來確定此點是不是邊緣點.基于Canny的邊緣檢測法是一種較為實用的算法,可以檢測到真正的對比度不強的點.然而,因為檢測最低值的固定性,當圖像檢測到對比度不強的模糊邊緣時,也很可能會導致邊緣信息的邊緣信息的平滑部分時.
1.2 Kirsch算法
Kirsch算法也是一種邊緣檢測方法,其梯度的方向和梯度是通過8個特定的覆蓋圖像的物體來確定的.然而圖像中的每一個點都是利用這8個覆蓋物體進行卷積,而每一個覆蓋物體都對特定的方向做出最大的響應,在這所用的值中,最大的那個即為該點的輸出值.當提取邊緣時,該模板和一個區(qū)域的圖像相乘,并選取具有最大輸出值的模板.把這一最大值作為中央像素點上的邊緣強度,把具有最大值的模板的方向作為其邊緣方向[2,3].Kirsch算法對于階躍性邊緣,可以自動調整閾值,從而得到圖像的最可能邊緣點.當圖像中前景色和背景色對比明顯和相對集中時,Kirsch算法的優(yōu)點表現(xiàn)十分突出.但是當前后景對比不強烈時時,則需要對其進行改進.
1.3 改進后的Kirsch算法
首用Canny算法得出原始圖像的梯度,然后把梯度圖像用Kirsch進行計算[1],具體的計算步驟為
第1步:用帶的高斯濾波器來對原始圖像平滑,在每一點處計算和.
第2步:對所計算出的梯度圖像進行Kirsch計算.
第3步:邊緣提取.
首先,對圖像中呈現(xiàn)黑白效果的圖像進行了邊緣檢測,其優(yōu)點是:它可以消除孤立的像素點,并能打破窄間隙,消除細小亮點.然后,把結構閉操作運用到二值圖像中可以使輪廓線更加光滑.當然,選定的結構元素的大小不能超過圖像中檢測到的人臉的最小尺寸.
根據人臉的知識,能夠通過人臉的堅固性、緊湊性、長寬比來判斷待定區(qū)域是否為人臉.這些簡單但有效的準則依靠連通區(qū)域的面積A、周長P、外圍矩形的寬度Dx和長度Dy.
緊湊性C、堅固性S、長寬比O分別為
(6)
因為人臉的特殊結構,所以在上式(6)中緊湊性的取值在區(qū)域中的參數(shù)超過某值時,才可以判斷其他特性.
下面圖1中的四幅圖像是駕駛室內實際采集的原始圖像,圖2中的圖像是經改進的Kirsch邊緣檢測算法計算所得圖像,圖3為形態(tài)學操作即結構開操作和結構閉操作后的圖像.
圖1 原始圖像
圖2 邊緣檢測后的圖像
圖3 形態(tài)學操作后的圖像
其中形態(tài)學操作采用如下所示的邊長為3的square結構元素.圖3四幅圖像中的每幅圖像中都有兩塊連通區(qū)域,區(qū)域A1和A2為待定的人臉候選區(qū)域,即其中的一塊為人臉區(qū)域,需要進一步通過形態(tài)學算法來確定那一塊為真正的人臉區(qū)域.取圖3中的圖像(a)說明如何由初始定位的兩塊區(qū)域的緊湊性、堅固性、長寬比的計算來確定人臉區(qū)域.下圖4(a)就是圖3中的(a)圖加上坐標軸后的圖像,4(b)圖為待定區(qū)域A1,4(c)圖為待定區(qū)域A2.
圖4 形態(tài)學操作后的圖像及待定人臉區(qū)域
連通區(qū)域A1(如圖b所示)的A=28 577,P=1 623,Dx=163,Dy=209.
可以得到連通區(qū)域A1的C1≈0.010 848 7,S1≈0.838 847 7,O1≈1.282 209.
連通區(qū)域A2(如圖c所示)的A=4 007,P=854,Dx=112,Dy=51.
可以得到連通區(qū)域A1的C2≈0.005 494,S2≈0.701 506,O2≈0.455 357.
顯然有C1>C2、S1>S2、O1>O2,根據初始定位的兩塊區(qū)域中緊湊性、堅固性、長寬比都比較大的那一塊為人臉區(qū)域,可知區(qū)域A1為人臉區(qū)域.
圖3中另外三幅圖像的待選區(qū)域A1和A2如圖5所示,其中圖5(a)和圖5(b)為圖3(b)的待選區(qū)域,圖5(c)和圖5(d)為圖3(c)的待選區(qū)域,圖5 (e)和圖5 (f)為圖3(c)的待選區(qū)域.
圖5 另外三幅圖像的待選區(qū)域A1和A2
圖3中各幅人臉圖像中的連通區(qū)域A1和A2的緊湊性、堅固性、長寬比的值在表1中.
表1 人臉圖像中連通區(qū)域A1和A2的參數(shù)
由表1可以得出在圖3的四幅圖像中連通區(qū)域A1對應的區(qū)域能正確判定為人臉區(qū)域,但是這里存在一個顯著的問題,如表1的最后一行加粗字體所示直接利用連通區(qū)域的長寬比O=Dx/Dy來判定待選區(qū)域是否為人臉區(qū)域并不合適,圖4的(b)、(c) 、(d)圖像中的連通區(qū)域A2的長寬比都比相應圖像中連通區(qū)域A1的長寬比的值大,一旦連通區(qū)域A2中的其他的兩個參數(shù)C和S在有一個比連通區(qū)域A1中的值大,就不能正確判定人臉區(qū)域了.并且實際中并不是長寬比越大多對應區(qū)域為人臉的可能性越大,所以必須對這個參數(shù)進行改進.
人臉及人臉器官之間的一些固有比例關系是人臉結構中的一個重要特征.一般來說人臉的長寬比范圍為[0.9,1.2]但是考慮到進行邊緣檢測和形態(tài)學操作后可能會將脖子或頭發(fā)(圖4中的圖像)檢測在區(qū)域內,所以把人臉的長寬比的范圍定位為[0.9,1.5][4,5],將這個先驗條件用來篩選掉圖3中的待選連通區(qū)域,(b)和(c)中的區(qū)域A2就被排除了.如是從初始定位的待選區(qū)域中判定人臉的條件改進為:初始定位的兩塊區(qū)域中緊湊性C和堅固性S都比較大同時長寬比O在人臉長寬比范圍[0.9,1.5]內的初始定位區(qū)域定位為人臉區(qū)域.
圖3中(a) 、(b) 、(c) 、(d)四幅圖像中人臉區(qū)域A1的左上角坐標以及其外接矩形的寬度和高度分別是:
圖像(a),左上角坐標為(106,50),外接矩形的寬度Dx=163,高度Dy=209;
圖像(b),左上角坐標為(137,8),外接矩形的寬度Dx=179,高度Dy=224;
圖像(c),左上角坐標為(168,60),外接矩形的寬度Dx=164,高度Dy=218;
圖像(a),左上角坐標為(147,8),外接矩形的寬度Dx=154,高度Dy=209.
人臉精確定位的最終輸出為下面圖6中的四幅人臉圖像:
本文將邊緣檢測圖像中的最大的兩塊連通區(qū)域作為待定人臉區(qū)域實現(xiàn)了人臉的初步定位,分別計算初始定位的兩塊區(qū)域的緊湊性、堅固性、長寬比的值通過比較值的大小實現(xiàn)了人臉的精確定位,并且將人臉提取出來.通過對標準人臉庫圖像的試驗結果可以看出,這種改進算法不容易受噪聲的干擾且能檢測到真正的弱邊緣.能夠很好的用于駕駛室內實際采集的圖像中的人臉檢測.
圖6 人臉精確定位最終輸出的人臉圖像
[1] 于微波,陳曉娟,韓 禹,等.基于Canny算法的改進Kirsch人臉邊緣檢測方法 [J].微計算機信息,2009,25(14):250-251.
[2] 潘夏英.圖像邊緣檢測技術的研究[D].西安:西安科技大學,2011.
[3] 曹莉華.圖像邊緣提取中的一種動態(tài)閾值獲取法[J].小型微型計算機系統(tǒng), 1997,18(7):53-56.
[4] 羅軍輝,馮 平.MATLAB7.0在圖像處理中的應用[M].北京:機械工業(yè)出版社, 2005.
[5] 羅倩倩,韓 斌,左 欣.視頻圖像中的快速人臉定位方法[J].微計算機信息, 2007,23(2):276-277.
責任編輯:趙秋宇
Research of Human Face Detection Based on Edge Detection and Morphology
SHI Lu-huan
(SchoolofElectricalEngineering,XuchangUniversity,Xuchang461000,China)
Human face detection has two steps.First,the position of the human face in the image is initially located by the improved Kirsch edge detection algorithm.Second,we use morphology algorithm to locate face area.Then,we extract face area for the output.The test results prove that the improved algorithm is anti-noise and can detect the real weak contour.
edge detection,morphology,human face detection
2015-11-02
河南省高等學校重點科研項目(15A470019)
師路歡(1984—),女,河南洛陽人,講師,碩士,研究方向:圖像處理.
1671-9824(2016)02-0053-05
TP751
A