范銘升 吳漢樞
摘要:本文基于對數字圖像處理問題的研究,建立了圖像預處理模型與圖像相似度計算模型,同時從輪廓檢測與提取和特征識別方面對模型進行了修正。第一,在圖像預處理模型中,本文采用Niblack二值化算法對人臉斑點、膚色和皺紋等一些皮膚細節部分進行濾波處理,通過設置閾值來除去皮膚細節等問題,實現對圖像特征區域的粗略提取。第二,在邊緣檢測模型中,本文采用的是高斯濾波和拉普拉斯邊緣檢測算法相結合的方法,使用高斯—拉普拉斯算子對圖像實行邊緣檢測,通過檢測得到進而獲取人臉的輪廓。第三,在圖像相似度計算中,本文建立了基于SVD奇異矩陣分解的PCA主成分分析模型,實現對圖像特征向量的提取,然后采用巴氏距離算法計算人臉輪廓圖像相似度。
關鍵詞:Niblack二值化算法;邊緣檢測;主成分分析;巴氏距離算法
在計算機和多媒體技術高速發展的當今世界,關于人臉識別的問題從來都是很具有研究性的課題。對于一個人從小到大的過程, 如果沒有整容的經歷, 那么這個人年輕時和年長時的面部總會保留很大的相似性,本文據此特點進行研究分析。
1 圖像預處理
Niblack二值化算法可以去除圖像中的人臉斑點和皺紋等的干擾,從而能夠比較粗略地提取出人臉的特征區域。
該算法的基本原理就是:對于圖像中每一個像素點,在它的鄰域內,計算出相應的閾值,然后二值化處理。將中心點以及其領域r×r范圍內二值化后的結果為b(x,y),g(x,y)為中心點的灰度值,算法過程如下:
(1)首先計算中心坐標r×r范圍內均值灰度m(x,y)與標準方差s(x,y),然后根據方差和均值灰度計算出中心點的閾值,如下式
T(x,y)=m(x,y)+k·s(x,y)(1)
(2)根據均值灰度、標準方差和上式計算的閾值,將中心點二值化可得:
b(x,y)=0,g(x,y)≤t(x,y)255,g(x,y)>t(x,y) (2)
接下來把下一個點作為中心點,重復上述步驟,并繪出灰點直方圖。幼年期和青年期人臉圖像原始灰度圖、灰點直方圖、Niblack二值化和二值化對比如圖1、圖2。
2 邊緣檢測與輪廓提取
本文采用將高斯濾波和拉普拉斯邊緣檢測算法相結合的方法,用高斯—拉普拉斯算子對圖像實行邊緣檢測,實現人臉的輪廓的獲取,具體過程如下。
圖像的邊緣處灰度值函數的拉普拉斯計算為:
2f=div(f)=2fx2+2fy2(注:div為散度) (3)
在圖像邊緣處,如果f(x,y)的拉普拉斯運算產生零點,即可判斷為圖像的邊緣。在經過邊緣檢測之后,將提取的輪廓用于下一步相似度求解。
3 相似度求解
在統計中,巴氏距離算法不僅可以測量相似度,還與衡量兩個物品之間的重疊量的巴氏系數息息相關。
巴氏距離的定義如下:
DB(p,q)=-ln(BC(p,q)(4)
其中,BC是巴氏系數,通過巴氏系數可反映出p和q間的巴氏距離,巴氏距離越接近于1,兩幅圖像的相似度越高。
通過MATLAB得出灰度直方圖對比結果如圖3所示,可以發現兩張圖片的灰度直方圖分布基本一致。
據此,進一步對兩張輪廓照片進行量化,并進行定量求解相似度,重新使用MATLAB求解得結果:HistDist=0.9519。
4 結語
人臉通常是一張圖像的重要信息,對于一個人從小到大的過程,如果沒有整容的經歷,那么這個人年輕時和年長時的面部總會保留很大的相似性,本文所述方法正是利用這一特點實現了基于年齡變化的人臉識別。
參考文獻:
[1]黃福珍,佘星星.基于膚色和人臉形狀約束的正面人臉輪廓提取算法[J].上海電力學院學報,2012,28(4):361364.
[2]張媛,張燕平.一種PCA算法及其應用[J].計算機技術與發展,2005,15(2):6768.
[3]任成娟.基于LPP_SIFT和巴氏距離相結合的人臉識別算法[J].電子設計工程,2015,(2):3537.