張 闖,呂東輝
(上海大學 通信與信息工程學院,上海 200072)
數(shù)字圖像的光照方向估計是計算機視覺研究領域的重要課題之一,一方面,光照方向是SFS(Shape from Shading)的各種算法中最重要的參數(shù)之一[1],另一方面,光照方向問題也是人臉識別中具有挑戰(zhàn)性的一個課題[2]。同時,光照方向在圖像篡改認證方面也有著極其重要的意義[3]。
當前,數(shù)字圖像作為很多信息的載體,已經(jīng)成為了一種被廣泛應用的交流手段,它可以全面、方便地展示這個世界,但通過Photoshop等圖像編輯軟件修改數(shù)字圖像不再是一件難事。一些不法分子人為篡改圖像以達到混淆視聽、以假亂真的目的,這些篡改圖像若被大量地用在媒體、法庭證物、保險和科學發(fā)現(xiàn)等領域,將會對政治及社會穩(wěn)定產(chǎn)生嚴重影響。因此,高效準確地鑒別出圖像的真?zhèn)尾υ旒僬哌M行相應的懲罰,將會對道德風氣的樹立及社會穩(wěn)定發(fā)展起到重要作用。如今各種檢測數(shù)字圖像真實性的方法就是在這樣的背景下產(chǎn)生的,其中通過光照方向的矛盾方法來判別圖像的真?zhèn)蝃4]。在具有良好光照的真實圖像中,各處物體表面的光照方向通常具有一致性,而篡改圖像很難做到。通過鑒別圖像中懷疑區(qū)域的光照方向是否一致,可以得到圖像是否造假的初步結(jié)論,其簡潔、直觀、高效的性能是一種優(yōu)良的檢測方法。
呂穎達等描述了點光源距離不同情形下的圖像光照方向估計,但這種算法僅限于二維情形[5],陳波等探討了僅針對人像合成篡改的鑒別方法[6]。本文將主要針對不同于上述兩種算法的圖像光照方向估計的幾種典型方法進行研究,分別對模擬圖像、實拍圖像和合成圖像進行驗證,綜合考察算法的各項性能指標,給出客觀的算法評價。拓展應用于通過數(shù)碼合成圖像中不同區(qū)域的光線矛盾來鑒別圖像真?zhèn)?。最后綜合近年來國內(nèi)外學者在數(shù)字圖像光照方向方面的主要研究成果,探討了估計數(shù)字圖像光照方向存在的問題及未來研究方向。
給定一幅圖像,可以根據(jù)圖像中的亮度、邊緣[7]及紋理[8]等判斷圖像的光照方向。由于本文探討的估計光照方向各種算法都是基于圖像的亮度信息,并且都有各自的前提條件,為便于對各種典型算法進行性能比較,同時也考慮到實際拍攝的圖像中各處物體表面點亮度受到諸多因素的影響,統(tǒng)一設定前提條件:1)光源模式為無限遠處點光源;2)反射模型為朗伯表面反射模型;3)圖像成像幾何關系為正交投影。對于不符合這些假設的圖像,探討的算法對其失效。
常用以描述光照方向的兩個物理量是光源偏角τ和光源傾角γ,如圖1所示。
朗伯表面亦稱為漫反射表面[9],即在固定光照情況下,從任何視角上觀測都具有相同亮度的表面,如圖2所示。朗伯表面不吸收任何入射光,與朗伯表面相對的是鏡面反射,事實上,絕大多數(shù)物體的反射效應是兩者兼有的。
估計光照方向的典型算法有:
1)Pentland算法[10]。在假設圖像物體表面法向量各向同性的前提下,利用多個方向的圖像亮度差分的統(tǒng)計平均值來估計光照方向。
2)Lee算法[11]。將物體表面近似為一個局部球面,并在局部球面坐標系中從水平方向及垂直方向求圖像所有像素點的亮度差分的數(shù)學期望來估計光照方向。
3)Zheng算法[12]。該方法是基于像素點的方法,估計出每個像素點的光照方向后求其統(tǒng)計平均值。
4)Yang算法[13]。該法是利用賦予每個像素點以不同的權重值來估計圖像光照方向。這是因為圖像中各點對估計光照方向的貢獻是不同的,最亮點的作用顯然要比其他點更大。
5)Farid算法[14]。提出對圖像提取遮擋輪廓,沿著對象遮擋輪廓分成若干局部塊,估計局部塊的光源偏角,并首次應用在圖像篡改認證方面,但無法實現(xiàn)對光源傾角的估計。
以上幾種估計光照方向的算法都是通過理論建模來估計光源偏角和光源傾角,多從微元的角度進行理論分析,最終得出一種適用于整個物體表面的光照估計算法。當然,它們都假定用以討論算法的圖像區(qū)域是合適的,但是面對一幅待估計的圖像,并不是圖像上所有的像素點都有進行計算的價值。從平面區(qū)域和陰影區(qū)域中難以估計出光照方向,所以這類區(qū)域不適合作為估計的對象。此外,不同的物體表面由于其材質(zhì)和紋理的差異,對光線的吸收與反射也各不同。對于假設物體表面為朗伯表面的算法而言,將不同紋理或材質(zhì)的物體表面混同進行估計顯然是不合理的。如何區(qū)分、鑒別一幅圖像中的各個區(qū)域,并尋找出合適的待估計區(qū)域是也比較關鍵。
這就要求人為選取待估計區(qū)域時要盡量符合以下兩個條件:1)選取的區(qū)域要盡量具有良好的光照性。2)該區(qū)域最好紋理、材質(zhì)統(tǒng)一,盡量為同一物體表面。但是,區(qū)域中真正具有良好光照并且紋理、材質(zhì)統(tǒng)一的物體表面不會是一個規(guī)則的圖形,而且區(qū)域中可能存在多種類型的表面,這就需要用一定的技術手段將多種表面進行區(qū)分,并且對需要的表面以種子點為中心自動生成,而此生成區(qū)域中的像素點才是真正有估計意義的像素集合。對于朗伯表面可以認為每個可見凹面或凸面都存在一個最亮點,它滿足
通過設定最亮點為種子點,可以進行區(qū)域生長。區(qū)域生長的方法可以概括為[13]:
1)依據(jù)式(1)尋找圖像上的最亮點,并設為種子點。
2)在種子點周圍進行區(qū)域生長,對其每一鄰域元素I(x,y),計算鄰域元素與種子點的亮度差dI(x,y)。若dI(x,y)同時滿足|dI(x,y)|≤ε(ε為一固定域值);該點沒有被分配過,則將該點并入種子點區(qū)域。
3)當區(qū)域生長無法繼續(xù)時,停止運算。否則,繼續(xù)重復步驟3)。
4)對于沒有劃分的點,視作背景區(qū)域并置0。
采用以上規(guī)則對待估計圖像中感興趣區(qū)域進行生長和分割,從原圖像中得到了不同類型的區(qū)域。算法僅需針對具有同一紋理或材質(zhì)的凸凹區(qū)域進行估計即可。
本文采用上述幾種典型算法對數(shù)字圖像進行光照估計后得出的數(shù)據(jù)誤差、適用范圍等客觀結(jié)果來評判算法的準確性與適用性,并就其實用性能和應用性能的驗證做出嘗試。具體來說,首先,通過這些算法對控制變量的模擬生成圖像進行批處理,可以得出不同算法在估計光源偏角與光源傾角時的準確程度以及各自合理的適用范圍,由此可對這些算法的優(yōu)缺點進行直觀比較。其次,通過估計實際拍攝圖像的光照角度,將估計出的結(jié)果與用其他方法(如太陽影長法、公式法等)[15]得到的光照角度進行比較,從而得出算法對實際圖像的適用情況。最后,將嘗試運用這些算法對合成圖像的光線矛盾進行檢測。通過對不同合成區(qū)域的光照角度估計,對比估計結(jié)果是否存在明顯差異,繼而驗證算法能否初步應用于某些篡改圖像的有效鑒別上。
2.1.1 光源傾角不變的模擬生成圖像
用Matlab生成一組光源傾角γ=45°不變,光源偏角τ從0°~90°,每隔5°變化的模擬小球圖像,共計20幅。圖像大小為200×200,黑色背景亮度為0,最亮點亮度為200。部分模擬小球圖像如圖3所示。
將計算機生成的模擬小球圖像作為實驗對象,分別采用Pentland,Lee,Zheng,Yang及Farid 5種算法估計該組模擬圖像的光源偏角τ,實驗結(jié)果相對誤差比較如圖4所示。
由圖4不難看出,5種算法中,Yang算法對于τ的估計誤差最小,Zheng算法其次,Pentland算法和Lee算法對于τ的估計誤差趨于一致,而Farid算法對τ的估計誤差最大??偟膩碚f,5種算法對小球圖像偏角τ的估計誤差都很小,均達到令人滿意的程度。
2.1.2 實際拍攝圖像
這里所用的實際圖像為室外自然光照條件下通過Sony DSC-T10在不同時間拍攝的小球和雞蛋的圖像。通過嚴格的理論推導將計算得到的太陽方位角和太陽高度角換算成xyz直角坐標系中的光源偏角與傾角。通過該類圖像,可以驗證區(qū)域生長的完備性以及算法的實用性能,實驗結(jié)果如表1所示。其中圖5a光照方向為τ=15.4°,γ=36°,圖5b光照方向為τ=-6°,γ=76°。實際圖像如圖5所示。
表1 已知光照方向的實際拍攝圖像及各算法的估計值
從表1實驗數(shù)據(jù)可以看出,5種不同算法對實際圖像的光源偏角τ的估計值趨于一致,與圖像偏角的真實值較為接近,最大差值為9°,小于人眼視覺所能察覺的最小值12°[16]。
2.1.3 篡改合成圖像
這里所用的兩幅篡改圖像是將不同圖像中的人物拼接到一起,如圖6所示,圖6a是從網(wǎng)上下載的關于小布什和韓國議員的篡改合成照片,圖6b是將另外一幅光照方向不同的圖像中的人物拼接合成的篡改圖像。這兩幅篡改圖像的光照方向均未知。針對每一幅圖像,分別選取兩個感興趣的區(qū)域,采用不同的算法估計的光照方向結(jié)果如表2所示。
表2 光照方向未知的篡改圖像及各算法的估計值
由圖6和表2可知,對于光照方向未知的圖像,通過這5種算法分別估計出對應的感興趣區(qū)域的光源偏角τ,同一幅圖像的同一感興趣區(qū)域,各算法估計的值趨于一致,而同一幅圖像的不同感興趣區(qū)域各算法估計的值則明顯不同。數(shù)據(jù)表明,圖6a中小布什所對應的區(qū)域1(實線方框區(qū)域)的光線來自畫面左上角,而韓議員對應的區(qū)域2(虛線方框區(qū)域)的光線則來自畫面左下角。圖6b中紅衣女子對應的感興趣區(qū)域1的光線則來自右上角,白衣小女孩所對應的區(qū)域2的光線則來自左上角,這與眼睛看到的光照方向基本一致。因此對比各感興趣區(qū)域的光照方向,這種不一致性可以揭示出圖像中不同對象是篡改合成的。
2.2.1 光源偏角不變的模擬生成圖像
用Matlab生成一組光源偏角τ=45°不變,傾角γ從0°~90°,每隔5°變化的模擬小球圖像,共計20幅。圖像大小為200×200,黑色背景亮度為0,最亮點亮度為200。部分模擬小球圖像如圖7所示。
將計算機生成的此類模擬小球圖像作為實驗對象,分別采用Pentland,Lee,Zheng算法估計該組模擬生成圖像的光源傾角γ,3種算法對應的實驗結(jié)果相對誤差比較如圖8所示。
估計光源傾角γ之所以只采用這3種方法是因為Yang算法所采用的計算方法與Zheng的相同,而Farid算法則不適用于估計光源傾角γ。由圖8實驗數(shù)據(jù)可知,3種算法中,Pentland算法對于光源傾角較小的情況比較適用,當傾角趨近于90°時算法失效,而Lee算法則對光源傾角較大的情況比較適用,對小于30°的情況失效,Zheng算法估計傾角的實驗誤差要略大于另外2種算法,在接近0°或90°時基本失效。
2.2.2 數(shù)字圖像
對于實際拍攝圖像及篡改合成圖像,Zheng和Lee這兩種算法估計傾角γ時受制于所約束的條件,并不能有效估計出相應的值,只有Pentland算法的表現(xiàn)尚可,相應的實驗結(jié)果如表3所示,數(shù)字圖像如圖9所示。
由表3和圖9可以看出,無論是實際拍攝圖像還是篡改圖像,Pentland算法均可以估計出比較理想的傾角γ值。當然對于未知傾角γ的篡改圖像,感興趣區(qū)域1和感興趣區(qū)域2的傾角γ也有一致的可能性,這種情況下,可以結(jié)合之前估計出的偏角τ值來共同判斷感興趣區(qū)域的光照方向是否一致。
表3 實際拍攝圖像及篡改圖像的估計值
本文用Matlab語言仿真的5種估計光照方向的算法在各種圖像上都有不錯的表現(xiàn)。對于模擬圖像的τ來說,5種算法表現(xiàn)都十分良好。估計實際圖像的τ,也基本上接近真實值,并可以由此判斷出明顯光線矛盾的合成圖像。但是就γ來說,Pentland,Zheng和Lee 3種算法都不盡如人意,Lee算法在估計模擬圖像的γ時有穩(wěn)定的表現(xiàn),而Pentland算法和Zheng算法的有效范圍較小,并且誤差的大小隨真實角度變化明顯。對于實際圖像,只有Pentland算法的表現(xiàn)尚可,另2種算法受制于條件,并不能有效估計出γ的值。總而言之,結(jié)合對τ和γ估計的判斷比較,這些算法均能夠通過數(shù)碼合成圖像中不同部位的光線矛盾來判別圖像的真?zhèn)?,體現(xiàn)了這些算法具有一定的應用性,可以發(fā)揮鑒別圖像真?zhèn)蔚淖饔谩?/p>
由于算法大多假定物體表面是具有朗伯表面特性,而實際估計過程中不可能完全滿足,所以算法本身也存在著局限。目前算法所對應的區(qū)域仍屬于半自動的狀態(tài),如果算法能夠自行選取感興趣區(qū)域,減少人為參與,將大大提高算法的工作效率和智能性。此外,從實驗結(jié)果中也可以看出,對γ的估計不如τ來得理想,如何能夠估計出更合理、更接近實際的傾角應該是光照方向研究領域的一項重點研究內(nèi)容。還有一點值得注意的是,對多光源數(shù)碼圖像的光照方向估計[17]也是將來的研究方向之一。
[1]SHEA J,BANKS M,AGRAWALA M.The preferred angle of illumination in shape from shading[EB/OL].[2010-11-22].http://vis.berkeley.edu/courses/cs294-10-fa07/wiki/images/a/ae/JamesOsheaFinalPaper.pdf.
[2]張智斌,賴劍煌,鄧東皋.未知光源參數(shù)的人臉光照恢復方法[J].計算機研究與發(fā)展,2005,42(4):629-634.
[3]吳瓊,李國輝,涂丹,等.基于真實性鑒別的數(shù)字圖像盲取證技術綜述[J].自動化學報,2008,34(12):1458-1465.
[4]FARID H.A survey of image forgery detection[J].IEEE Trans.Signal Processing Magazine,2009,26(2):16-25.
[5]呂穎達,申鉉京,陳海鵬,等.基于光照方向不一致性的圖像盲鑒別方法[J].吉林大學學報:信息科學版,2009,27(3):293-298.
[6]陳波,朱秋煜.基于光照方向的人像合成圖像檢測[J].計算機仿真,2009,26(3):202-204.
[7]NILLIUS P,EKLUNDH J O.Automatic estimation of the projected light source direction[EB/OL].[2010-11-22].http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.13.6561&rep=rep1&type=pdf.
[8]CHANTLER M J,PETROU M,PENIRSCHE A,et al.Classifying surface texture while simultaneously estimating[J].International Journal of Computer Vision ,2005,62(1):83-96.
[9]BASRI R,JACOBS D W.Lambertian reflectance and linear subspaces[J].IEEE Trans.Pattern Analysis and Machine Intelligence,2003,25(2):218-233.
[10]PENTLAND A.Local shading analysis[J].IEEE Trans.Pattern Analysis and Machine Intelligence,1984,16(2):170-187.
[11]LEE C H,ROSENFELD A.Alhedo estimation for scene segmentation[J].Pattern Recognition Letters,1983,1(3):155-160.
[12]ZHENG Q,CHELLAPPA R.Estimation of illuminant direction,albedo,and shape from shading[J].Pattern Recognition Letters,1991,13(7):680-702.
[13]楊杰,鄧志鵬,郭英凱,等.兩種新的光照方向估計方法[J].上海交通大學學報,2002,36(2):894-896.
[14]JOHNSON K,F(xiàn)ARID H.Exposing digital forgeries by detecting inconsistencies in lighting[EB/OL].[2010-11-22].http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.7368&rep=rep1&type=pdf.
[15]張闖,呂東輝,頊超靜.太陽實時位置計算及在圖像光照方向中的應用[J].電子測量技術,2010,33(11):87-89.
[16]PENTLAND A.Finding the illumination direction[J].Journal of Optical Society of America,1982,72(4):448-455.
[17]WANG Y,SAMARAS D.Estimation of multiple directional illuminants from a single image[EB/OL].[2010-11-22].http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.75.5021&rep=rep1&type=pdf.