張 旭 胡晰遠 陳 晨 彭思龍
在照片發(fā)明的初期,由于需要經過專業(yè)的工序才能變更沖印內容,因此作為現實場景的記錄方式,照片被視為有說服力的法庭物證.但是隨著數碼相機、手機等電子拍攝工具的普及,人們可以隨時隨地的拍攝各種數字照片;在互聯網高度發(fā)達的今天,人們又可以隨時將照片上傳到網上或者從網上下載各種各樣的圖片;各種圖像編輯工具的推出,普通用戶就可以輕而易舉地對圖像進行各種操作;隨著圖像處理技術的不斷增強,特別是機器學習方法的應用讓計算機生成圖像越來越逼真[1].這一切都使得人們對看到的圖像不再深信不疑.其中,將一個人的頭像從一張照片中摳取并粘貼到另一張照片中,制造該人參與第二張照片所呈現的事件的假象,是最常見的一類人臉圖像篡改.
出于娛樂和美觀等目的來修改圖像,豐富了人們的生活;但是為了商業(yè)、政治等利益或者出于敲詐勒索等目的而惡意篡改圖像,就會侵犯人們的名譽和財產[2].如圖1 所示,據英國《每日郵報》2015年1 月24 日的報道,ISIS 公布殺害日本人質視頻用以制造國際輿論.由于兩個人質間無論是面部光照方向及地面陰影方向都有明顯差別,鑒定專家認為ISIS 發(fā)布的視頻是利用不同影像拼接得到的.根據《最高人民法院關于適用中華人民共和國刑事訴訟法的解釋》中第九十二條規(guī)定:對視聽資料有疑問的,應當進行鑒定.用來檢測圖像篡改的圖像取證技術已成為證據科學領域一個重要研究方向.
圖1 被質疑造假的日本人質視頻截圖Fig.1 The photo of Japanese hostages which is considered as a spliced image
由于篡改手段的多樣性和隱蔽性,影像取證是公安司法部門在信息安全和司法物證領域中面臨的技術難題.對于拼接篡改來說,由于不同照片的相機參數和所記錄場景的物理幾何特性存在差異,在不同照片進行拼接合成的過程中,很難做到完全一致.因此已有的研究從圖像視頻的成像過程、拍攝場景的真實性以及篡改手段的特定痕跡等入手,對拼接篡改進行取證,提出了眾多的取證方法.圖像取證領域的學者Farid 教授將這些方法進行歸納為5 類:基于像素插值、圖像格式、相機噪聲、場景物理特性和成像幾何特征的方法[3].前三類通過檢測重采樣[4]、JPEG 格式有損壓縮[5]和傳感器模式噪聲[6]等圖像篡改過程中引入的數字屬性變化來揭示數字圖像篡改.近幾年,深度學習技術在圖像取證領域取得的一些應用成果[7],也多是基于這些數字屬性特征進行圖像分類.但是,由于許多原始數字屬性隨著照片的沖印也一并受到損失[8],使這些方法失去作用.然而照片內容卻可以很大程度的保留和復現,因此基于圖像內容的物理屬性和幾何特征的方法就成了研究的熱點.基于運動模糊[9]、透視失真[10?11]、光照色彩[12]、眼睛高光[13]、陰影[14?16]、光照環(huán)境[17?21]、色溫[22]、色彩紋理[23]等各種篡改檢測方法,都在相關的實戰(zhàn)案例中得到了成功應用.但是各種方法都有各自的局限性,只有存在適當的應用條件,才能提供具備說服力的證據.
其中,作為場景的基本自然物理條件,光照環(huán)境是檢測圖像篡改的重要手段.Kee 等[16]利用光線沿直線傳播的特點,通過若干陰影點和對應的物體點的幾何關系,分析圖像不同物體間的光照方向是否一致.如果照片中沒有足夠的投射陰影,也可以利用不同物體反映的光照參數是否一致來檢測是否存在拼接篡改.對于單一無限遠光源,Johnson 等[17]假設在在平行投影下,物體遮蔽線處法向量同照片垂直的z軸方向分量為0,遮蔽線各點的垂線就是其法向量,得到2 維光照方向.如果輔以若干知道3 維法向量的點,就可以計算3 維光照方向.Carvalho等[18]基于用戶交互,通過用戶的經驗標定出物體上一些點的3 維法向量,進而得到物體3 維光照方向.對于有多光源的復雜光照,Johnson 等[19]利用球諧光照模型來求解全局光照環(huán)境,擴展了光照估計的適用范圍.這些光照估計方法都基于無窮遠光源、朗伯體漫反射表面、凸物體以及表面反射率恒定等假設.
對于人臉照片的拼接篡改檢測來說,因為有多種途徑可以獲取3 維人臉結構,可以更加方便地進行估計光照:掃描儀可以精確地得到人臉3 維點云,但是由于設備要求較高,限制了使用范圍;而一些3 維重建技術比如3DMM (3D morphable model)[24],可以優(yōu)化得到較為精確的人臉表面法向量.FaceGen 就是基于3DMM 的一個開放軟件,但是重建人臉需要正面無表情人臉,并不能滿足實際應用需求.而Zhu 等[25]利用King[26]檢測的68 個人臉標定點,對不同姿態(tài)不同表情的人臉圖像,都可以重建模型.雖然該方法的重建精度沒有掃描儀和3DMM 算法高,但是由于沒有較高的使用限制條件,也成了人臉篡改檢測的一個得力工具.利用重建的人臉,Kee 等[20]在估計人臉姿態(tài)后計算對應的光照參數.Peng 等[21]考慮了人臉的非凸結構存在光照自遮擋現象以及眉毛等紋理反射率同皮膚不一致的問題,放寬了約束條件,提出了改進的光照估計算法.利用上述方法分析圖1 中的日本人質的照片,都會得到和專家意見相似的分析結果.
但是,正如文獻[17]用到的平行投影假設,多數方法同樣是基于平行投影的假設來估計光照方向.如果將在投影平面上得到物體正面投影時物體對應的坐標系作為物體坐標系,那么,在平行投影下,各物體坐標系和相機坐標系平行,用來估計光照的法向量是圖像中每個物體在各自的坐標系中旋轉到對應姿態(tài)得到的法向量,等同于在相機坐標系中的法向量.但是由于相機成像模型是透視投影的針孔模型,得到正面投影時,物體其實是朝向相機光心的,各物體坐標系不再和相機坐標系平行,如果仍然按照平行投影處理,利用物體坐標系下的法向量估計的物體坐標系光照必然和相機坐標系光照有著明顯誤差.但由于人臉和相機距離超過1 米后,透視效果明顯減弱,近似于平行投影,因此得到的相機參數存在顯著誤差[20?21].通過這些方法估計出的光照,即便差別很大,也仍有可能是真實的照片.所以,因為照片中光照方向不一致而被質疑造假的日本人質照片,如圖1 所示,需要被重新審視.
為了克服這種誤差,本文提出了一種透視投影下物體的空間光照估計算法,并通過各物體的空間光照一致性對圖像拼接篡改進行檢測.本文后續(xù)的內容安排如下:第1 節(jié)介紹了光照模型和光照估計算法的原理;第2 節(jié)分析了投影方法對光照估計的影響;第3 節(jié)詳細地描述本文提出的算法;第4 節(jié)給出實驗比較和分析;第5 節(jié)為全文的結論.
如圖2 所示,在光照參數為l的場景光照L的作用下,人臉上法向量為N的頂點X0會反射部分光E進入相機,生成2 維圖像I,其中X0的對應投影點為x.通過人臉掃描或者三維重建得到的3 維人臉結構X后,就可以利用若干頂點的亮度信息b和其他信息組成的矩陣M,估計光照參數l.其中,過程(1)是光照模型,(2)是相機模型,(3)是人臉模型,(4)是光照估計.前面三個模型是光照估計的基礎,特別是光照模型,為光照估計提供了理論依據.此前,研究人員提出了許多不同的光照模型.其中,由于人臉近似于反射率為ρ的漫反射朗伯體表面,因此在光照估計算法中常用的兩個模型是Lambert模型[27]和球諧函數SH 模型[28?29].Lambert 模型可以較好地表現類似陽光的簡單光照,而SH 模型對具有多光源的現實場景中的復雜光照也可以很好地表現.
其中,Ld是漫反射光,La是環(huán)境光,RNl 同N 和l之間的夾角θ有關,且限定不小于0,因為在該頂點背后入射的光線不會到達該頂點,所以可以表示如下:
考慮到人臉的紋理信息ρ和結構信息G(如果物體是朗伯體,紋理ρ就是一個常數;如果是凸物體,結構G就等于1),光照模型的原理可統(tǒng)一為如下形式:
如果將人臉各點的法向量、紋理、結構等信息用矩陣M(X)表示,那么就可以用矩陣形式描述人臉圖像各點亮度b(x):
其中,l和M(X)在不同的光照模型中有不同的形式,具體可以參考文獻[17?21].
圖2 光照模型和光照估計原理圖Fig.2 The principle of Illumination model and lighting estimation
給定一張人臉圖像I,就知道了圖像中各點的RGB 亮度值b.如果知道圖像上若干點的法向量和紋理、結構信息得到矩陣M,就可以通過最小二乘算法來估計光照參數l:
因為Lambert 模型和SH 模型中l(wèi)分別有4 個和9 個參數,因此估計光照至少需要4 個或9 個點.文獻[17?21]中的光照估計方法可統(tǒng)一為如下形式:
估計出圖片中不同物體的光照參數l后,文獻[17?21]通過光照參數之間的差別d(lij)來判斷光照是否一致:
其中,對于SH 模型,Q是9×9 矩陣,具體形式可以參考文獻[19];對于Lambert 模型,則可以認為Q=1,直接計算光照方向的差別.
如果單純利用人臉皮膚區(qū)域和人臉凸區(qū)域的情況下,光照估計的關鍵就是得到人臉上各點較為精確的法向量N.此前多數方法都是基于平行投影的假設來估計光照.而我們知道相機成像模型針孔模型是透視投影,下面我們將分析投影方法的不同會對法向量N和估計的光照l造成哪些影響.
圖3 是平行投影和透視投影下光照差異的示意圖,左邊為平行投影,右邊為透視投影.其中,外圍實線框是成像平面,外圍虛線框是對應的空間視野.約定垂直于照片向里為相機坐標系z軸正方向(光軸),坐標系滿足右手螺旋定理.相機坐標系Cc和照片平面垂直,用向上虛線箭頭表示.初始人臉坐標系Cf0同Cc一致,對應的初始法向量為Nf0,是頭頂朝下面朝里的人臉.將Cf0繞x軸翻轉180 度得到和光軸相反的坐標系Cf,此時人臉姿態(tài)是頭頂朝上的正面人臉Pf,對應的正面法向量為Nf=RfNf0,其中Rf=[1,0,0;0,?1,0;0,0,?1]為對應的旋轉矩陣,稱為正面姿態(tài)矩陣.投影平面上物體正面投影對應的坐標系為物體投影坐標系Cp,用實線框中朝下的虛線箭頭表示其z軸正方向,Cp和Cf保持平行.物體在Cp中也就是照片中的姿態(tài)Pp用實線框中實線細箭頭表示,對應的投影法向量為Np=RpNf,Rp為Pp和Pf間的旋轉矩陣,稱為照片姿態(tài)矩陣;此時物體在場景空間中的實際姿態(tài)Ps用虛線框中實線細箭頭表示,在Cc中對應的空間法向量為Ns=RsNf,Rs為Ps和Pf間的旋轉矩陣,稱為空間姿態(tài)矩陣.得到物體正面投影時物體對應的空間坐標系定義為物體正面坐標系Cd,用虛線框中虛線細箭頭表示其z軸正方向,物體在Cd中的姿態(tài)Pd同物體在Cp中的姿態(tài)Pp保持一致,對應法向量Nd=Np.利用式(6)和(7),得到Np和Ns對應的照片投影光照lp和實際空間光照ls:
那么,在平行投影下,Cd和Cp互相平行,Rs同Rp相同,投影到成像平面后,Ps和Pp一致:
可以看到,在平行投影的假設下,Ns=Np,對應的ls=lp.也就是說,各物體在照片中的投影光照(圖3(a)中實線框中實線粗箭頭),就是它們在場景空間中的實際光照(圖3(a)中虛線框中實線粗箭頭).
圖3 平行投影和透視投影對光照估計的影響示意圖Fig.3 The influences of the projection methods on the lighting estimation
在透視投影下,只有面朝光心O的人臉才能在成像平面上得到正面人臉.當人臉不在相機光軸上時,Cd和Cf不再平行,而是存在一定夾角,Rs和Rp不相等,投影到成像平面后,Ps和Pp不一致:
可以看到,在透視投影下,Ns=Np,對應的ls=lp.也就是說,各物體在照片中的投影光照(圖3(b)中實線框中實線粗箭頭),并不是它們在場景空間中的實際光照(圖3(b)中虛線框中實線粗箭頭).
由于相機模型是基于透視投影的針孔模型,因此照片中各人臉的投影姿態(tài)并等同于它們在空間中的實際姿態(tài).同一張照片中不同物體投影光照存在明顯差異的時候,在真實場景空間中仍有可能具有相同的光照參數.因此,我們需要在統(tǒng)一的坐標系下進行光照估計和比較,才能正確進行光照一致性分析.相機坐標系就是一個很好的選擇.而本文所說的空間光照,也就是在相機坐標系下的光照.
對于相機針孔模型,從空間3 維點XXX到圖像2維點x的映射關系為:
其中,K和[R,TTT]分別是相機的內參和外參矩陣.其中,R是相機坐標系和物體坐標系間的旋轉矩陣,可以參數化為歐拉角(α,β,γ);TTT是兩坐標系間的平移矩陣,表示物體坐標系原點在相機坐標系中的坐標(Tx,Ty,Tz)T.內參矩陣K形式如下:
其中,(cx,cy)是相機主點,fx和fy分別是圖像水平和豎直方向上的像素單位焦距,skew是元器件斜度.一般情況下認為fx和fy都等于f,同時skew為0.
將上述參數組成一個9 個未知參數的向量,定義為透視參數σ=(f,cx,cy,α,β,γ,Tx,Ty,Tz)T,其中,σex=(α,β,γ,Tx,Ty,Tz)T為外參,σin=(f,cx,cy)T為內參.這樣,式(13)可表示成:
Pm是由σ決定的映射矩陣,求解Pm的問題就是相機標定問題.構造nd個圖像點ximi和對應XXXi的投影點xi之間的誤差函數:
應用Levenberg-Marquardt 方法就可以求解.
相機標定求解的精度依賴于XXX的精度以及XXX和xim的配準精度.傳統(tǒng)的相機標定方法使用標定板[30]、規(guī)則幾何圖像[31]進行標定,標定精度高,但往往不會出現在待鑒定的篡改圖像中.對于人臉來說,文獻[20?21]利用圖像中人臉標定點xim和人臉3 維模型點XXX的約束關系來求取映射矩陣.表面上,上述兩個條件都可以將誤差控制在允許范圍內,得到可以接受的映射矩陣.但是,如圖4(a)所示,隨著人臉中心和相機中心距離的增加,透視效果明顯減弱,在超過1 米后,人臉投影幾乎保持不變,圖4(b)中可以看出無窮遠下的關鍵點和它們在透視人臉上的對應點之間的距離誤差急劇下降,因此在人臉相機間的距離超過一米后,通過關鍵點估計的相機參數就會存在顯著的誤差.事實上,估計出的焦距?f趨近于一個無窮大的值,接近于平行投影,而估計出的旋轉矩陣?R對應的人臉姿態(tài)Ps則非常接近于人臉投影姿態(tài)Pp,得到的光照仍然近似于照片投影光照,也就是平行投影下的光照,ls ≈lp:
圖4 人臉透視形變程度隨人臉到相機距離變化的情況Fig.4 The influences of the distance from the face to the camera on the facial perspective distortion
總之,由于相機模型是基于透視投影的針孔模型,而且多數照片中人臉距離相機都超過1 米,因此,之前基于平行投影假設或者根據人臉關鍵點標定相機后進行光照估計的算法,會錯誤地將各人臉在照片中的投影姿態(tài)Pp作為空間中的實際姿態(tài)Ps,因而利用投影法向量Np計算得到的光照是照片投影光照lp,而不是具有統(tǒng)一坐標系的空間光照ls.如果直接根據投影光照進行一致性分析,就會由于原理上的錯誤而得到錯誤的判斷結果.接下來,我們將闡述如何得到相機坐標系下的空間法向量Ns,進而得到空間光照ls的方法.
在已有光照估計方法的基礎上,本文提出了一種基于透視投影下的空間光照估計方法,其算法流程可分為5 個步驟,如圖5 所示:1)利用文獻[26]中的算法檢測68 個人臉標志,并利用文獻[25]中的方法重建待分析人臉3 維模型;2)計算照片中人臉模型Nf0、人臉投影姿態(tài)矩陣Rp、人臉中心投影位置h和照片姿態(tài)下的投影光照lp;3)通過經典方法或者本文提出的優(yōu)化方法進行相機標定,求得透視參數;4)用透視參數?K得到相機坐標系下的人臉空間法向量Ns,進而求得空間光照ls;5)利用所提出的判定依據對照片人臉空間光照及其他空間信息的合理性進行分析.其中,圖5 中第2 步和第4 步的圖從上到下依次為用于計算光照的姿態(tài)、估計的光照渲染球以及透視參數下人臉的重投影圖像.
圖5 算法流程圖Fig.5 The workflow of the proposed method
通過第2 節(jié)的分析,我們知道相機內外參數估計的精度影響著在相機坐標系下物體空間光照參數的估計準確度.但是經典的標定方法又不能勝任多數人臉圖像篡改的案例.然而,第2 節(jié)的分析給了我們啟發(fā):既然可以較準確地得到照片中人臉的姿態(tài)Pp,它和人臉在空間中的實際姿態(tài)Ps有什么關系呢?
如圖6 所示,將人臉中心在相機坐標系中的空間位置定位為H,H同相機光心O之間的連線定義為OH,OH的長度DOH就是人頭距離相機光心的距離.在照片中投影得到正面人臉的人臉坐標系Cd的z軸就和OH重合并指向光心O.固定O、H和人臉姿態(tài)Pd,無論相機如何轉動,焦距如何改變,投影在成像平面上的人臉模型3 維點都是固定的同一簇射線.因此人臉在成像平面上的投影圖像的姿態(tài)Pp始終等于Pd,改變的只是投影圖像的位置、大小和形變.我們將相機光軸同OH之間的旋轉矩陣稱為相機姿態(tài)矩陣,并用Rc來表示.可以看出,Pp和Ps之間的關系就是Rc,Pp經過Rc旋轉得到Ps,有Ns=RcNp.相應的,Rs=RcRp,因此相機和人臉之間的旋轉矩陣R就可以表示為:
給定一張照片,照片中人臉中心定義為h=(hx,hy,1)T.那么就可以得到位于OH上、z軸坐標H1z=1 的空間點H1的坐標:
從O指向H1間的向量定義為vOH1=(H1x,H1y,1)T.和光軸平行的單位向量定義為vOA=(0,0,1)T.通過計算vOA和vOH1間的旋轉矩陣求得相機姿態(tài)矩陣Rc.
圖6 固定人臉和相機光心,人臉的照片姿態(tài)就保持不變,不隨相機焦距變化和姿態(tài)旋轉而變化Fig.6 The poses of the face in the photo remain the same once the face and the optical center are fixed
給出任意兩個單位向量vf=(vfx,vfy,vfz)T和vt=(vtx,vty,vtz)T,從vf到vt的旋轉矩陣Rft可以通過Rodrigues 旋轉方程計算得到,如圖7 所示.首先,可以計算得到垂直于vf和vt所在平面的旋轉軸oft=vf ×vt=(ox,oy,oz)T.vf和vt之間的夾角θft=arc cos(vf ·vt).用s表示sin(θft),用c表示cos(θft),用b表示(1?c),并用oij表示oi×oj.那么,Rft(vf,vt)可以表示為:
利用式(20)可以得到相機姿態(tài)矩陣Rc:
可以看出,Rc是關于K和h的函數.
圖7 Rodrigues 旋轉公式的示意圖Fig.7 The principle of Rodriguesrotation formula
現在,利用式(12)、(18)、(21),圖像中第i個人臉在相機坐標系下的空間法向量Nsi就可以表示為:
然后利用Nsi求的Ms,通過式(10)就可以得到空間光照lsi:
這樣,不同人臉的光照就被統(tǒng)一到了相機坐標系下.通過重建的人臉3 維模型Nf0、估計的照片姿態(tài)矩陣Rp、照片中人臉中心的位置h以及人臉圖像I中皮膚的RGB 亮度值b,只要知道相機內參矩陣K,就可以得到相機坐標系下各人臉的人臉空間光照,然后進行空間光照一致性分析.
相機內參矩陣K可以利用照片中的規(guī)則幾何標定得到,或者從照片的可交換圖像文件格式(Exchangeable image file format,EXIF)中獲取精確的相機焦距.如果照片中沒有有效的信息可以計算相機內參,我們就可以通過照片中不同人臉的空間光照一致的約束,得到使空間光照lsi和lsj之間差別d(lsij)(式(8))最小的相機參數:
空間光照估計算法具體步驟如下:
步驟1.輸入為照片中m個人臉對應的3 維點法向量Nf0,估計的照片姿態(tài)矩陣Rp,圖像人臉中心的位置h以及圖像人臉皮膚的RGB 亮度值b;
步驟2.如果相機內參K已知,通過式(19)得到各個人臉的圖像中心點h對應的空間位置H1;
步驟3.通過式(21)計算各個人臉的空間位置H1對應的相機姿態(tài)矩陣Rc;
步驟4.通過式(23)計算各個人臉的空間光照ls;
步驟5.如果相機內參K未知,則計算兩兩人臉之間的空間光照差別diff(lsij),求解優(yōu)化方程(24),收斂或者達到迭代次數后,輸出相機內參K以及各物體的空間光照ls.
相機坐標系Cc中空間人臉中心坐標H=[Hx,Hy,Hz]T可以通過下式得到:
可以看出H關于K,h和DOH的函數.得到圖像中各人臉在相機坐標系下的位置坐標,就可以將相互位置是否合理作為判斷圖像合理性的一個輔助依據.
給定一張人臉照片,式(13)可以寫成:
同樣的,式(15)可以寫作如下形式:
其中Pn是由ω決定的一個新的映射矩陣.由于Rp和h可以較為準確地從人臉圖像中得到,因此式(27)中就只有K和DOH未知,ω是包含4 個未知數[f,cx,cy,DOH]T的向量.利用光照一致性優(yōu)化得到的?K,就能估計出DOH的大小:
經典的相機標定方法將物體坐標系原點TTT=(Tx,Ty,Tz)T作為參數一起估計,即便DOH固定,TTT仍然隨著旋轉矩陣R的變化而變化.相比于經典方法,式(27)將DOH作為估計參數獨立于旋轉矩陣而存在,再加上未知參數數目從9 個減少為4 個,針對人臉的標定問題,該方法更容易得到魯棒的解.
由于之前基于光照的取證方法無法獲得較為精確的焦距,因此對焦距的研究很少.本文簡要介紹焦距的一個常識性概念,等效焦距(The equivalent focal length,EFL).不同的相機傳感器有不同的尺寸,例如,索尼和尼康Dx 中使用的APS-C 的寬度、高度和對角線長度分別為22.3 mm、14.9 mm和27.3 mm,而iPhone 6 中使用的1/3CMOS 的相應尺寸分別為4.8 mm、3.6 mm 和6.0 mm.為了便于比較性能,人們使用全幀膠片的對角線長度43.4 mm 作為參照標準來計算其他傳感器的等效焦距.其相關尺寸分別為36 mm、24 mm 和43.4 mm,如圖8 所示.對角線尺寸為XX mm 的傳感器,其轉換系數rd=43.4/XX,等效焦距=物理焦距× rd.同樣,我們可以將計算得到像素單位的焦距f轉換為mm 單位,使用照片主點c(cx,cy)和照片的4 個頂點vim之間的最大長度得到等效焦距Feq:
這樣,我們就能利用優(yōu)化得到的等效焦距范圍是否合理,作為圖像是否被篡改的一個輔助證據.等效焦距越小,視野越大,圖像靠近邊緣形變越明顯,屬于廣角鏡頭;等效焦距越大,視野越小,圖像靠近邊緣形變越不明顯,屬于長焦鏡頭,越接近平行投影.
圖8 等效焦距示意圖Fig.8 The illustration of equivalent focal length
傳統(tǒng)的光照估計方法只能得到平行投影光照lp,然后只能根據兩個光照lpi和lpj之間的差別d(lpij)的大小來進行光照一致性分析進而檢測圖像篡改.但是根據分析,d(lpij)差別大并不能說明問題,同時傳統(tǒng)的方法也只有投影光照可以用來分析,因而傳統(tǒng)光照分析方法得到的結果明顯具有局限性.
本文利用上面章節(jié)計算的信息對待檢驗照片進行空間信息合理性分析,包括空間光照ls、相機等效焦距Feq、人臉位置關系DH和人臉重投影圖像Ire.
1)空間光照ls:得到圖像中各人臉的空間光照ls后,就可以根據式(8)計算第i和j個人臉的空間光照差別d(lsij).同lp相比,ls是各人臉統(tǒng)一到相機坐標系下的光照,用來描述人臉光照是否一致具有更高的準確度;
2)相機等效焦距Feq:普通的數字相機和手機都有常見的焦距范圍,如果Feq明顯過小或過大同拍攝設備不符,就可以說明問題.另外,等效焦距越小,視野越大,圖像靠近邊緣失真越明顯,屬于廣角鏡頭;等效焦距越大,視野越小,圖像靠近邊緣失真越不明顯,屬于長焦鏡頭,越接近平行投影.如果估計的Feq和圖像中人臉失真程度不符,也可以說明問題;
3)人臉位置關系DH:通過式(25)可以計算每個人臉的空間位置坐標,進而可以得到人臉同相機的距離DOH以及人臉之間距離DHH.如果同照片展示的物理事實有明顯不符,就可以說明問題,比如互相靠近的兩人間的距離過大;
4)人臉重投影圖像Ire:通過式(15)和(27)可以將人臉模型Nf0按照估計的相機參數重新投影,如果重投影圖像Ire和照片中的圖像差別過大,就可以說明問題.
我們首先使用一張晴天時拍攝的一個18 人足球隊的原始照片來驗證我們提出的方法,如圖9 所示.這張照片是用華為P9 Plus 拍的,它的傳感器是1/2.9英寸的索尼IMX 286,物理焦距是4 毫米,等效焦距是29 mm.按照算法流程,首先提取標定點并重建三維人臉模型.由于位于后排中間的運動員佩戴運動眼鏡的影響,無法正確標定人臉關鍵點和重建人臉模型,我們將他看做偽造人臉.圖11 的第一個框中就是18 個隊員對應重建人臉和投影光照渲染球.因為存在差別比較大的投影光照,按照投影光照進行判斷,會認為這張照片的光線不一致.
圖9 晴天下拍攝的一個足球隊的真實照片Fig.9 A pristine photo of a football team taken on a sunny day to verify our proposed approach
假設圖像主點位于圖像中心,通過任意兩個人臉和就可以優(yōu)化得到對應的優(yōu)化焦距和相應的空間光照ls.進而得到優(yōu)化等效焦距、優(yōu)化等效焦距和實際等效焦距的差別以及投影光照差別d(lpij)和該焦距對應的空間光照差別d(lsij).18 個隊員兩兩計算,就得到這4 個變量長寬為18×18 的矩陣圖,如圖10 所示.
圖10 圖9 中任意兩人優(yōu)化的等效焦距及其和真實焦距的誤差,投影光照差別及空間光照差別Fig.10 The maps ofbetween any two person in Fig.9
可以看出,優(yōu)化等效焦距在有些情況下很接近實際等效焦距,有時差別較大.從整圖來看,多數情況下d(lsij)都會比d(lpij)小,有時會小很多,說明即便單純用投影光照lp和空間光照ls來進行一致性分析,統(tǒng)一坐標系的空間光照ls更能表征光照一致性.
接下來,我們對圖中出現的幾種主要類型進行分類說明:
1)當d(lpij)本身較大時,如果對應的和Feq較為接近,d(lsij)會明顯小于d(lpij),其他信息也都合理.比如圖11 中第二排框,通過(6,11)兩人人臉估計透視參數,d(lp(6,11))=0.0219,d(ls(6,11))=0.0001.照片中其他人的空間光照也都變得比較接近,尤其是投影光照差別明顯的人臉17和18.?Feq(6,11)=29.3 mm,和照片相比重投影模型沒有較大形變,而且相互空間位置比較合理,沒有過近或者過遠,,如圖12 第一列所示;
2)當d(lpij)本身較大時,如果對應的和Feq差別較大,d(lsij)并不明顯小于d(lpij),其他信息合理性也很低,篡改的可能性就很大.比如圖11 中第三排框,通過(3,12)估計透視參數,d(lp(3,12))=0.3508,d(ls(3,12))=0.3009,=5 mm,和照片相比重投影模型形變嚴重,而且相互空間位置過于接近,不符合實際,如圖12 第二列所示;
圖11 圖9 中18 名隊員的三維人臉模型和投影光照渲染球,以及三組通過不同人臉估計的透視參數對應的人臉空間姿態(tài)、空間光照渲染球及重新投影的人臉透視模型對比Fig.11 The 3D face models and projected lighting of the 18 players in Fig.9,and three groups of spatial pose,spatial lighting and re-projected face model under the estimated perspective parameters using three different pairs of faces
3)當d(lpij)本身較小時,對應的往往比較大,這是因為對于無限遠空間光照來說,只有在兩人和相機光心之間連線的夾角比較小時,投影光照才會比較接近,此時很難通過一致性約束得到準確的透視參數,所以便會得到長焦距,接近于平行光照,如果此時其他的信息合理性也低,那么圖像的篡改可能性較大.比如圖11 中第四排框,通過(5,10)估計透視參數,d(lp(5,10))=0.0063,d(ls(5,10))=0.0098,=115 mm,重投影模型雖然沒有較大失真,但是相互空間位置過遠,互相搭肩的兩人距離超過了1 m,不符合實際,如圖12第三列所示.
圖12 根據人臉(6,11)、(3,12)、(5,10)優(yōu)化得到的參數估計出在人臉空間分布(上方為正視圖,下方為俯視圖)Fig.12 The estimated spatial poses of 18 human faces according to the optimized parameters of human faces (6,11),(3,12)and (5,10),respectively (The first row is the face view,and the second row is the top view of the faces)
由于多數用于篡改檢測的數據集中不包含人臉,而已有的人臉數據庫,包括最近公開的基于深度學習的計算機生成人臉庫ForensicsFaces[1],多是單一人臉.這些都不適用于評估本文算法.文獻[12]公開了真實人臉拼接照片數據集DSO ?1.由于DSO ?1 主要用于評估該文提出的光照色彩估計算法,里面多數照片都是距離很近的合影,而且有很多是在非無窮遠光源的室內光照和閃光燈下拍攝.我們主要選擇一些晴天下拍攝的真實照片和拼接照片進行實驗.下給出4 個例子,如圖13 所示.
對于圖13(a),傳統(tǒng)方法會直接按照投影光照差別大d(lpa)=0.2463 判為篡改圖像,如圖中第二排虛線所示.本文算法無法得到將lpa優(yōu)化成空間光照lsa差別足夠小的透視參數,=125 mm,實際上lsa同lpa基本相等.可以判斷這是一個篡改圖像.
對于圖13(b),d(lpb)=0.0093,傳統(tǒng)方法會判為真實圖像.由于d(lsb)非常小,本文算法無法得到合理的透視參數,=94 mm,而圖中女生照片有明顯的透視形變,說明相機等效焦距較小,因此是個篡改圖像.實際上,由于閃光燈拍攝不符合無窮遠光源的前提假設,不滿足本文方法的空間光照一致性的約束,無法得到正確的透視參數.但是傳統(tǒng)方法對閃光燈這種明顯點光源的照片按照投影光照一致判為真實圖像,其實從側面說明了傳統(tǒng)方法的局限.
圖13 對DSO-1 數據集中的四幅樣本圖像的檢測結果.(a)~(d)分別是對拼接圖像正確檢測,對原始圖像錯誤報警,對原始圖像正確檢測,對拼接圖像錯誤檢測Fig.13 The detection results of our method on four sample images in the DSO-1 dataset.(a)~(d)are respectively a correct detection for splicing image,a false alarm for pristine image,a correct detection for pristine image and a miss detection for splicing image
對于圖13(c),傳統(tǒng)方法會按照d(lpc)=0.0635較大判為篡改圖像.利用本文方法,得到優(yōu)化的=20.2 mm 下的d(lsc)=0.0167,較d(lpc)有明顯改變.同時,二者頭部間距為0.24 m,距離相機都為1 米左右,比較符合照片的事實,是真實照片的合理性較大.
對于圖13(d),傳統(tǒng)方法會按照d(lpd)=0.1065較大判為篡改圖像.利用本文方法,得到優(yōu)化的=34 mm 下的d(lsd)=0.0361,雖然本身較大判斷為篡改.但由于較d(lpd)有明顯改變,同時,二者頭部間距為0.69 m,距離相機分別為1.87 米和1.61 米,比較符合照片的事實,是真實照片的合理性較大.實際上這是一個篡改圖像,如果可以從相機中讀取準確的等效焦距,就可以進行比較.錯誤判斷的一個原因可能是原始的兩張照片是在相似的條件下拍攝的.
現在,我們不能再因為圖1 中日本人質照片的投影光照差別d(lp)=0.1327 足夠大,就認為這張圖片是篡改照片.按照本文方法,優(yōu)化得到等效焦距=44 mm,相應空間光照差別d(ls)=0.0755雖然明顯變小.兩人空間位置分別是(?0.5556,0.1015,3.3071)和(0.6310,0.0597,3.2316),比較符合事實.而44 mm 的等效焦距,是普通數碼相機和攝像機常見范圍內的數值.照片中人臉也沒有明顯的近距離形變.如圖14 所示,較強的空間光照的一致性以及等效焦距、空間位置以及重投影圖像的合理性,表明這張圖片很大程度上是一張真實圖片.
圖14 對圖1 中日本人質的分析示意圖Fig.14 The analysis of the Japanese captivesphoto in Fig.1
將以上案例的相關參數列表及判斷意見列為表1.其中,意見1 是傳統(tǒng)光照估計方法根據投影光照lp進行光照一致性判斷給出的意見,意見2 是本文空間光照估計方法根據空間光照ls進行光照一致性判斷給出的意見,意見3 是綜合空間信息進行照片空間合理性分析給出的意見.結合對案例的分析,傳統(tǒng)的光照估計方法只能得到投影光照lp,基于此進行的光照一致性分析具有明顯的局限性:對因透視投影造成的照片投影光照不一致現象無法進行正確判斷,對閃光燈造成的照片投影光照一致則認為光照一致.而基于透視投影下統(tǒng)一坐標系后的空間光照進行光照一致性分析則更符合物理事實.與此同時,結合透視投影下得到的其他空間信息,可以對照片的空間合理性進行分析,比單純依靠光照一致性檢測人臉圖像篡改更有說服力.對相機參數未知的空間光照估計來說,圖像中兩個人臉同相機光心連線之間的夾角越大,投影光照差別越大,如果是真實圖像,越容易通過優(yōu)化方法得到另各種空間信息都較為合理的相機參數;如果兩個人臉距離太小使得投影光照差別過小,就無法通過優(yōu)化得到合理的相關參數.如果照片是篡改圖像或者不滿足平行光源假設的閃光燈照片,那么總會有一些參數不符合物理事實,從而給出更有說服力的判斷意見.
本文提出了一種透視投影下物體空間光照估計算法以及照片空間合理性分析方法.針對以往光照估計基于平行投影的假設、得到光照都是照片投影光照的不足,該算法將各物體坐標系統(tǒng)一到相機坐標系下,得到各物體相對于相機坐標系的空間光照,從物理原理上使得光照估計方法的準確度得到了顯著提高.同時,根據空間光照一致性約束可以優(yōu)化得到相機參數,并得到該參數下的等效焦距、人臉空間位置以及重新透視投影的圖像和原圖像的形變差異等信息.本文將空間光照的一致性和上述信息的合理性作為評判標準,實驗結果表明,相比于傳統(tǒng)光照估計方法僅依據照片投影光照一致性對人臉圖像進行拼接篡改檢測,本文提出的空間光照一致性分析方法具有更高的準確度,結合相關空間信息進行照片空間合理性分析則更有說服力.
表1 實驗中各案例相關參數列表及判斷意見Table 1 Comparisons of relevant parameters and corresponding judgment opinions of each case in the experiment
在圖像取證和圖像篡改檢測領域,單純依靠一種方法很難給出有效的意見,往往需要綜合考慮各種線索才能做出判斷.同時,已有的取證算法也容易被反取證算法攻擊.因此,在完善提高已有算法的同時,也需要不斷提出新的取證算法.而利用深度學習方法對圖像內容進行取證,同樣是一個值得探索和研究的方向.