基于android平臺獲取人臉圖像光源方位的方法
【技術領域】
[0001] 本發明涉及的是一種圖像處理領域的技術,具體是一種基于android平臺獲取人 臉圖像光源方位的方法。
【背景技術】
[0002] 手機拍照在我們日常生活中有廣泛的應用,但是一個很常見的問題是有的時候因 為環境光線的原因,所拍攝的照片會出現黑臉,陰陽臉等情況,如果能夠在拍攝過程中根據 人臉圖像信息實時得到拍攝時的光源方位信息,這樣就可以對拍攝者提出相應的建議,有 助于拍攝出更加理想的照片。這正是本發明的應用意義所在。
[0003] 現有的人臉識別的獲取光照方位的方法有很多,譬如最早由Riklin - Raviv提出 的商圖像方法,類似的又有研宄者提出自賞圖像處理光照等方法。若系統中采用了人臉三 維模型,那么模擬光線的更好的方法是根據光線條件用Phong光照模擬圖像的光照。這種 方法處理光線非常靈活,并能用于特定光照環境的圖像識別與跟蹤系統。孫雪梅等人提出 基于分叉樹和SVM的方法估計人臉圖像光照方向,將光照方向按水平和垂直轉角分為一系 列角度空間作為目標分類對輸入圖像光照分類,分類準確率達到89. 16 %。然而這些方法大 多都是基于PC平臺,算法復雜性較高,很難實現實時判斷并且運行時占用資源較多,無法 應用到手機軟件中。隨著android平臺的飛速發展,android用戶越來越多,有必要產生一 種更加適合android平臺的求取人臉圖像光源方位的方法。
【發明內容】
[0004] 本發明針對現有技術存在的上述不足,提出一種基于android平臺獲取人臉圖像 光源方位的方法,利用每一張預處理后的人臉圖像與圖像的光源方位存在一種近似的一一 對應關系,通過分類學習的方法,對每一個光源方位角度的圖像都獲取一副與之對應的預 處理圖像,這樣將一副新的預處理圖像輸入模型時就可以得到相對應的光源方位信息。本 發明中的算法包含多次信息壓縮和提取,可以從像素域中直接計算得到,從而方便地嵌入 到現有的大多數像素域算法框架中。
[0005] 本發明是通過以下技術方案實現的:
[0006] 本發明涉及一種基于android平臺獲取人臉圖像光源方位的方法,通過對圖像數 據庫中的圖像進行預處理,得到去除人臉部分的光照信息二值化圖像,進而對光照信息二 值化圖像分割并獲得每個子圖像的像素灰度值之和作為特征值,與圖像光源方位信息的標 簽一同作為訓練集,在android平臺上采用訓練集對Iibsvm進行訓練并得到訓練后的模型 文件并用于檢測人臉圖像中的光源方位。
[0007] 所述的圖像數據庫中包括含有人臉部分的圖像以及該圖像拍攝時的光源方位信 息。
[0008] 所述的預處理優選通過降維的方式進行優化,將三維光線方向與二維圖片陰影區 域進行對應,以便對每一張照片進行去信息化處理,最后經調整得到二值化圖像。
[0009] 本發明涉及一種實現上述方法的系統,包括:依次連接的預處理模塊、分割模塊、 特征提取模塊以及檢測判斷模塊,其中:預處理模塊接收原始圖像信息,并輸出處理后圖像 信息至分割模塊,分割模塊接收處理后圖像信息,并輸出分割后各個子圖像信息至特征提 取模塊,特征提取模塊接收子圖像信息,并輸出子圖像灰度值信息至檢測判斷模塊,檢測判 斷模塊經預測算法檢測輸出光源方位信息。 技術效果
[0010] 與現有技術相比,本發明本發明就是基于android平臺通過機器學習的方法實現 了一個可以判斷人臉圖像光源方位的方法,考慮到android平臺的性能問題,故本發明時 間復雜性較低,可以做到實時獲取光源方位;可以與現有的照相機軟件進行整合,兼容性 尚。
【附圖說明】
[0011] 圖1是本發明方法的流程圖。
[0012] 圖2是本發明數據庫與地平面平行方向數據區域分布。
[0013] 圖3是本發明方法中對人臉圖像預處理的示意圖。
[0014] 圖4是本發明方法中算法分塊示意圖。
[0015] 圖5是本發明方法的獲取特征值的示意圖。
[0016] 圖6是本發明實施例效果示意圖;
[0017] 圖中:(a)實際光源方向:水平:3. 3,豎直:33. 0 ;(b)預測光源方向:水平:3. 0,豎 直:33. 0 ; (c)實際光源方向:水平:-46. 7,豎直:33. 0 ;⑷預測光源方向:水平:-47. 0, 豎直:33. 0 ; (e)實際光源方向:水平:84. 8,豎直:33. 0 ; (f)預測光源方向:水平:85. 0,豎 直:33· 0〇
【具體實施方式】
[0018] 下面對本發明的實施例作詳細說明,本實施例在以本發明技術方案為前提下進行 實施,給出了詳細的實施方式和具體的操作過程,但本發明的保護范圍不限于下述的實施 例。 實施例1
[0019] 如圖1所示,本實施例包括以下步驟:
[0020] 第一步、建立一個通用的圖像數據庫,該數據庫包括人臉圖像,和拍攝照片時的光 源方位信息。
[0021] 所述的圖像數據庫優選包含不同年齡、不同性別、不同臉型、不同膚色的人在不同 光源方位下所拍攝的人臉圖像的圖像庫。
[0022] 所述的數據庫水平數據區域分布如圖2所示,其中:相鄰且顏色相同的區域視為 同一區域,每一個區域內所收集照片數量大致相同。區域分割原因如下:在拍照過程中, 當被拍照者正面面對光源或面向方向與光線方向向量夾角較小,是人們可以接受的拍攝角 度。同樣,當人們背光時,也會有類似的問題,在一定區域內,人臉均是無法看清的,這種情 況我們也合并在一起。在人臉面向方向與光線方向夾角接近90°時,是比較需要詳細分辨 的角度,所以在這一部分需要拍攝較多的照片作為數據。
[0023] 除此之外,在拍攝照片同時,我們也需要收集對應圖像的光源方位信息,我們采用
球坐標方式來記錄數據,核心參數為水平方向的方位角Θ和豎直方向的仰角P,光線的水 平方向的方位角、豎直方向的仰角可以根據拍攝時的時間,經度,煒度通過地理學的知識求 出,公式如下:
[0024] 太陽高度角:
[0025] 太陽方位角As
[0026] 其中:hs為太陽高度角,As為太陽方位角,P為太陽煒度,δ為太陽赤煒,Ω為 太陽時角。其中:太陽時角計算公式為:Ω = (ΤΤ_12)*5其中:當TT為真太陽時,TT = S+F/60+LC/60+Eq/60,其中 LC 為經度訂正:LC = 4*(D-120),Eq = 0· 0028-1. 9857sin Θ +9 .9059sin2 θ-7. 092cos θ-〇. 6882cos2 Θ。
[0027] 以上公其中:S、F分別是觀測時的時值和分值,θ為日角。
[0028] 拍照者水平方向的方位角可以根據正對人臉拍攝時相機內陀螺儀的方位獲得。
[0029] 由于陀螺儀的不穩定性,我們同時采用圖形方法進行驗證。
[0030] 第二步、對所得到的人臉圖像數據庫進行預處理,增強局部信息特征,得到一幅不 含人臉信息(或人臉信息很少),僅包含光照信息的二值化圖像。
[0031] 如圖3所示,所述的預處理是指:首先在圖像中抓取人臉,并將圖像灰度化,再 分別使用直方圖均衡化 HE(Histogram Equalization)和 BHE(Block-based Histogram Equalization)算法取得處理后信息圖,比較兩信息圖的差別,并將差值進行二值化處理, 最后根據二值化的圖像進行處理,可以獲得有關光照方向的信息。
[0032] 下面對每個階段進行詳細解釋:
[0033] 2. 1)首先,我們在圖像中識別出人臉區域,再讀取眼睛和嘴唇位置確定截取圖像 的詳細范圍;截取特定范圍內信息以保證數據的規范化(即盡量排除頭發、臉型等方面的 干擾),并將此部分圖片儲存,作為后續處理的基本圖像信息。此外,由于光照的方向與像素 點中色彩的飽和度、色域信息關聯相對較小,我們將圖片進行灰度處理,使得每個像素點僅 保留一個〇 - 255的灰度信息以便后續處理。
[0034] 2. 2)然后,我們采用直方圖均衡化對圖像的整體光線強度進行調整,記錄每一個 像素點顏色數據,記為圖像一。
[0035] 2. 3)下面,我們采用BHE算法,以得到一張去光照信息的人臉圖:
[0036] 2.3. 1)將臉部圖