楊雪薇,邢冠宇
(1.四川大學計算機學院,成都610065;2.四川大學視覺合成圖形圖像技術國防重點學科實驗室,成都610065)
在信息化社會中,圖片往往比文字更有說服力。在圖像防偽領域,和人物、人臉相關的圖像防偽顯得格外重要。本文研究的是針對室外人臉拼接圖片的真?zhèn)螜z測,主要是通過估計人臉對應的室外光照情況,分析各個光照的一致性來判斷出現(xiàn)在一張圖片上的各個人臉是否為拼接,繼而得出圖片真?zhèn)蔚慕Y論。
目前,在計算機視覺領域,已經(jīng)出現(xiàn)了一些從人臉圖像恢復光照的算法,但是這些算法大多都是建立在一系列的假設之上的:①光源無限遠;②人臉表面具有恒定反射率;③物體反射面為凸朗伯反射面,并且對于室外光照下的人臉圖像并不能很好地還原光照情況。而本文松弛了一些假設條件,并且針對于室外光照下的人臉光照還原做出了改進,能夠較為準確還原室外光照環(huán)境。
由于偽造圖像的方法的多樣性以及圖片質(zhì)量等問題等,并不存在一個統(tǒng)一且有效的防偽方法。
經(jīng)研究,目前大致有以下幾種方法:一是通過人眼細節(jié)還原信息:在文獻[3]中,提出了從人眼邊緣圓的射影畸變中估計相機的固有參數(shù),根據(jù)這些參數(shù)的差異來判斷該圖像是否是拼接偽造圖像。在許多情況下,場景中的光源會在眼睛上產(chǎn)生鏡面高光,文獻[4]提出了一種算法,通過檢測人眼的鏡面高光,估計光源的方向,以通過圖像照明的不一致性來判斷圖像真?zhèn)?。顯然,以上兩種方法都對圖像分辨率有很高的要求,否則無法獲取眼睛的細節(jié)。
二是通過光照的顏色來判別圖像真?zhèn)危涸谖墨I[5]中,作者從人臉中提取和光照顏色相關的特征(GLCM特征),為了比較兩個人臉,對這兩個人臉分別合并相同的描述符,當兩個人臉為拼接的,來自兩個人臉的特征連接是不同的,這里使用SVM分類器將圖像分類為原始圖像和偽造圖像。
三是通過恢復出的光照的方向,根據(jù)光照是否一致判別圖像真?zhèn)危涸谖墨I[6]中,作者根據(jù)物體輪廓上的陰影和法線估計出2D光源方向,然后通過檢查光源方向的一致性判斷圖像的真?zhèn)巍5呛唵蔚毓烙嫵龉庹盏亩S方向,在三維空間上的判斷有不確定性。在文獻[8]中,作者在恒定反射率和凸朗伯體等多個假設前提下,提出了首先從二維人臉圖像重建三維人臉模型,并且使用3D法線信息代替二維輪廓法線,從而估計出三維球面諧波系數(shù)。文獻[9]擴展了文獻[8]從任意對象估計三維照明環(huán)境,具有更加廣泛的適用性。文獻[1],松弛了其中兩個重要的假設條件:凸朗伯體和恒定反射率,還原出人臉的三維模型,并利用三維法線求出9個球面諧波系數(shù),利用文獻[7]中提出的距離公式計算兩種光照距離,設定閾值對圖片真?zhèn)芜M行判斷。
上述算法對于室內(nèi)光照環(huán)境下的人臉光照還原具有較好效果,但是對于室外光照情況下的人臉光照還原效果并不好。并且以上算法大多建立在很多假設條件之上,對于實際應用并不友好。
如圖1所示本文的算法流程主要分為三個部分。
圖1算法流程圖
第一部分圖像預處理,包括人臉三維建模,利用八叉樹算法計算人臉的幾何信息。
第二部分構建能量方程,包括確立光照模型和著色模型,并構建能量方程。
第三部分優(yōu)化光照參數(shù),利用一種標準的擬牛頓方法(L-BFGS)優(yōu)化光照模型中的各個參數(shù),用于后期的重建光照環(huán)境和真?zhèn)闻袛唷?/p>
第四部分還原天空圖,判斷光照是否一致從而得出真?zhèn)谓Y論。
采用三維形變統(tǒng)計模型(3DMM)從二維人臉中恢復人臉三維模型,為了后期計算的快速方便,這里采用了一個輕量級的三維人臉形變模型擬合庫[13],輸入二維圖像以及人臉上68個特征點的信息即可擬合出對應的三維人臉模型。
圖2上面一行為標記的特征點,下面一行為生成的三維人臉
另外,本文采用八叉樹加速算法估計人臉的幾何信息,主要是為了解決人臉的自遮擋問題。如圖3所示,除該圖中示例的方向范圍,其他方向的光照對該點沒有任何影響。
圖3因非凸特性而展現(xiàn)的自遮擋情況
我們可以用如下公式來計算其幾何信息[1]:
其中,X→是人臉上一點,V→表示視線方向,G是二值項,表示在該視線方向上此點可見與否,Rc是余弦項,文獻[2]證明該公式可以更進一步離散化為:
其中,p為人臉上選取的像素點,ω為光照方向,np是p點的法線,ω為入射光線的方向,在本實驗中,我們按照天頂角(均分9份)和方位角(均分36份)把上半球面的入射光線分為了324個方向。
本文采用的光照模型為加權后的普利茲天空模型[10]和改進后的太陽光照模型[2]。
其中,L表示選取的光照方向的數(shù)量,ωsun表示太陽的天頂角和方位角組成的向量,t表示天空的渾濁度,wsky表示天空的平均亮度,wsun表示太陽的平均亮度,此處用兩個平均亮度作為權值比重。x=[ωsun,t,wsky,wsun,K]∈R10,K是一個系數(shù),取值范圍在[8,8192],對于天空光和太陽光由以下說明:
其中,A,B,C,D,E五個參數(shù)在文獻[10]中有詳細說明,θ表示光線l和天頂?shù)膴A角,γ表示光線l和太陽的夾角。
在本文中,我們采用朗伯漫反射模型來計算人臉光照,考慮到計算的方便,我們將朗伯漫反射模型進行了離散化處理,
其中,λ表示R,G,B其中一個顏色通道,ρλ表示p點的反照率,Iλ表示上面提到的光照模型。
在本文中,我們假設人臉反照率處處相等。
由此我們可以得出這個問題的優(yōu)化模型[2]:
其中,為了提高對漫反射模型的魯棒性,我們采用Carbonnier損失函數(shù),,ε=10-6。s*表示p點的真實像素值。根據(jù)公式(6),整個問題轉化為優(yōu)化x和ρ使得整個能量方程的能量最小化。
由2.2小節(jié)得出需要優(yōu)化的能量方程,顯然,這個非線性方程的規(guī)模十分龐大,盡管我們使用的是較為粗糙的三維人臉模型,也有大約3500個點需要計算。另外,細分光照方向時,我們將天空上半球劃分為了300多個方向。所以這個多項式,至少有百萬級別個項,且由著色模型可知,每一項也比較復雜,對于每個參數(shù)沒有設置明顯的約束,因此需要的計算量非常大,普通的非線性優(yōu)化方法很難找到全局最優(yōu)解。
本文中,我們采用了L-BFGS方法進行參數(shù)優(yōu)化。傳統(tǒng)的牛頓法雖然收斂速度塊,但是計算過程中需要計算目標函數(shù)的二階偏導數(shù),計算復雜度較大,而且有時目標函數(shù)的海森矩陣無法保持正定,對于本文的情況并不適用。而擬牛頓法較好地解決了這個問題,不用計算海森矩陣,而是構造一個近似海森矩陣的正定對稱陣,來代替海森矩陣做優(yōu)化。但是這種方法當問題規(guī)模很大的時候,會很占用內(nèi)存,因為每次需要存儲矩陣,L-BFGS能較好地解決這個問題,不必存儲完整的矩陣,每次存儲最新的若干個向量序列即可,能夠很好地應用于大規(guī)模無約束非線性優(yōu)化問題中。本文中,我們主要采用TensorFlow來實現(xiàn)自動微分,從而實現(xiàn)L-BFGS。
L-BFGS方法對初值比較敏感,因此我們對初值的設定要求比較嚴格。在本文中,我們利用文獻[11]中的數(shù)據(jù)集訓練了一個關于人臉反照率ρ的多元高斯混合模型(GMM),將人臉反照率的初始值設定為GMM模型的質(zhì)心,且假設人臉各處反照率相等。然后我們通過計算低維球面諧波系數(shù)[12]還原得到的環(huán)境貼圖來初始化ωsun,在天空圖數(shù)據(jù)集中隨機取樣天空顏色的平均值和太陽顏色的平均值來初始化wsky和wsun。在初始化基礎上再進行優(yōu)化,優(yōu)化結果能比較接近全局最優(yōu)解,達到能量最小值。
經(jīng)過優(yōu)化計算,我們能夠求得參數(shù)x,并根據(jù)參數(shù)較好地還原出人臉圖片對應的室外天空環(huán)境圖。如圖4所示,最左為輸入人臉圖片,中間為天空光的真實圖片,最右為還原出的天空圖。
圖4實驗結果圖
本文采用文獻[5]中提到的DSO-l真實人臉數(shù)據(jù)集,并選取了其中的拼接圖片做了實驗,結果如圖5所示,從左到右依次為:實驗輸入圖片,各個人臉圖片,人臉對應的還原天空圖,用結果天空圖渲染的單位球效果圖。顯然,最右邊兩個人臉所對應的光照情況類似,而最左邊人臉對應的光照情況與其余二人相差較大,因此可以判斷,左邊人臉為拼接圖,這張圖片為偽造圖。
圖5一個偽造檢測的例子
在數(shù)字圖片防偽中,本文提出的算法針對室外場景做出了改進,在考慮了人臉幾何的前提下,能夠較好地還原出拍攝人臉當時的室外光照環(huán)境,并根據(jù)室外光照環(huán)境的相似度來判別圖像的真?zhèn)危峁┝艘环N新的人臉偽造檢測的思路。但是該算法計算得到的光照環(huán)境具有相對性,對人臉姿態(tài)有要求,要求人臉均為正面,才具有可比性。另外,當人臉上有遮擋時,效果也不理想。這將是下一步研究要解決的重點問題。