尹 立,林新棋,2,陳黎飛,2
(1.福建師范大學 數(shù)學與信息學院,福州 350007; 2.福建省網(wǎng)絡安全與密碼技術重點實驗室(福建師范大學),福州 350007)
數(shù)字視頻篡改取證檢測現(xiàn)已成為信號處理領域的一個研究熱點[1]。現(xiàn)如今我們的日常生活中隨處可見到可以記錄視頻的高品質(zhì)數(shù)碼產(chǎn)品,并且一些高級的視頻編輯軟件也進入大家的視野,大家可以比任何時候都方便地處理和修改自己拍攝的視頻。科技改變了我們的生活的同時也會給一些不法分子以可乘之機。數(shù)字視頻作為信息傳播的媒介之一通常會被用于商業(yè)廣告、媒體新聞、法律機構和政府組織等單位傳播信息,如果這些用于傳播信息的視頻被惡意篡改,將會產(chǎn)生許多不良影響。數(shù)字視頻內(nèi)容的完整性和真實性的驗證變得非常重要。
目前國內(nèi)外關于數(shù)字視頻篡改取證檢測的主要研究方法分為兩類:主動取證和被動取證。主動取證技術是指將待取證的數(shù)字視頻中預先嵌入驗證信息如數(shù)字指紋或數(shù)字水印,在取證的過程中通過驗證所嵌入的驗證信息是否完整來判斷視頻是否經(jīng)過篡改,但是由于需要事先將驗證信息嵌入到生成的視頻中,主動取證技術有很大的局限性。被動取證技術又稱為盲取證技術[1],這種取證方法不依賴于外部加入的驗證信息,依據(jù)視頻內(nèi)容被篡改后會留下篡改痕跡而且會破壞視頻內(nèi)容的原有統(tǒng)計特性,利用視頻內(nèi)容自身的統(tǒng)計特性和信息驗證視頻的完整性和真實性。被動取證技術更為實用,已經(jīng)成為視頻篡改取證檢測研究的一個熱點。
針對視頻幀內(nèi)對象刪除篡改操作,文獻[2]指出對篡改區(qū)域進行修復會破壞時域連續(xù)性,導致視覺上的不連貫,所以會產(chǎn)生“鬼影”,于是針對視頻修復時會產(chǎn)生“鬼影”提出一種新的篡改檢測方法,該方法對有損壓縮視頻的檢測具有較強的魯棒性,但是其算法時間復雜度較高。文獻[3]指出基于物體的篡改如移除物體后會通過后期的修復技術消除運動“鬼影”,這些被移除的物體的邊界或者邊界附近始終會有留下篡改的痕跡,并且篡改會破壞這些區(qū)域的統(tǒng)計特征,利用小波系數(shù)和梯度信息提取特征并通過SVM(Support Vector Machine)分類器進行分類,從而實現(xiàn)篡改視頻的檢測;但是該方法需要利用樣本數(shù)據(jù)庫進行訓練,對樣本數(shù)據(jù)庫的依賴程度較高。文獻[4]采用基于塊的運動估計方法從相鄰的視頻幀中提取運動信息,通過比較原始視頻和篡改視頻的運動矢量的大小和方向的差異,檢測視頻是否經(jīng)篡改;缺點是在遇到使用復雜的技術對目標人物進行刪除篡改時,由于提取運動矢量的差異會比較困難,該方法可能會失效。文獻[5]基于壓縮感知理論使用KSVD(K-means Singular Value Decomposition )算法對差異幀進行特征提取,并構造高斯隨機矩陣對特征進行測量獲得低維壓縮子空間,獲得的低維壓縮子空間通過kmeans進行分類,實現(xiàn)篡改視頻幀的檢測;但該方法不能定位具體的篡改位置。文獻[6]針對動態(tài)物體被移除和幀復制的篡改,提出一種利用原始幀和篡改幀之間的噪聲變化的特征去檢測篡改視頻的被動取證方法,該方法使用小波分解提取去噪后的視頻幀的傳感噪聲特征,再將使用EM(Expectation Maximization)算法估計參數(shù)的GMD(Gaussian Mixture Density)作為貝葉斯分類器對篡改視頻進行分類最后得出檢測結果;雖然利用噪聲變化的特征可以檢測篡改視頻,但是它對量化噪聲敏感,對于高壓縮的視頻會造成誤檢。文獻[7]提出了一種可以自動識別基于目標的篡改并定位篡改位置的視頻被動取證檢測方法,通過分析基于目標的篡改和圖像隱寫術之間的相似性,將視頻片段中的基于目標的篡改的檢測轉換為相應視頻幀的運動殘差中的隱藏數(shù)據(jù)的檢測;但該方法對于低比特率的視頻魯棒性較差。文獻[8]針對基于紋理和結構的視頻目標移除篡改,提出了一種利用Hessian矩陣的統(tǒng)計相關性來檢測和定位篡改區(qū)域的方法;但該方法不能針對背景發(fā)生變化的視頻進行檢測。文獻[9]利用光流不一致性來檢測和定位篡改視頻區(qū)域;但該方法檢測精確度不高。文獻[10]針對視頻的logo被移除的篡改,提出了一種新的篡改檢測算法。該算法通過分析logo區(qū)域的空間和時域上的統(tǒng)計特性估計可疑區(qū)域,然后使用SVM提取可疑區(qū)域的特征,并將可疑區(qū)域和參考區(qū)域的特征進行比較,從而判別可疑區(qū)域是否為篡改區(qū)域;但是對于logo被移除區(qū)域是非模糊的篡改該方法失效。
本文針對幀內(nèi)對象刪除篡改操作,提出一種基于主成分分析(Principal Component Analysis, PCA)的視頻幀內(nèi)前景目標移除篡改檢測算法。實驗結果表明,所提出算法可以有效檢測靜止背景下運動對象被移除的篡改,并且對壓縮視頻有很好的魯棒性。
數(shù)字視頻具有時域上連續(xù)的特性,而幀內(nèi)的對象刪除篡改操作會破壞這種一致性,雖然通過后期的修復技術可以掩蓋篡改痕跡,但是畫面的不連貫很難修復。對于這種畫面不連貫的情況,為了使篡改痕跡顯露,本文對差異幀進行處理,將處理的結果用二值圖像來表示,然后對所有處理后的差異幀進行圖像形態(tài)學操作,最后對每一幀的處理結果進行組合,輸出檢測結果。
該檢測算法的實現(xiàn)步驟為:1)獲取待測幀序列與基準幀的差異幀(灰度化);2)利用自適應稀疏算法對差異幀進行稀疏表示,得到去噪后的差異幀;3)將去噪后的差異幀分為h×h的非重疊圖像塊;4)對差異幀進行PCA變換,獲得圖像塊降維后的特征向量空間,接著利用得到的特征向量空間,提取差異幀每個像素的特征向量;5)對每個像素的特征向量使用kmeans進行聚類,根據(jù)聚類結果構造差異幀的二值矩陣;6)對所有處理后的差異幀進行圖像形態(tài)學操作,最后輸出檢測結果。
將待測的視頻轉化成幀序列圖像,對幀序列圖像進行灰度化處理,從而減少運算量。假設視頻幀大小為H×W,彩色圖像轉化為灰度圖像公式[11]為:
Y=0.299R+0.587G+0.114B
(1)
在得到可疑視頻序列后,將待測的可疑幀序列作為待測幀,記第k幀為Ik,Ik={ik(i,j)|1≤i≤H,1≤j≤W}。將不包含運動前景目標的背景靜止的未篡改幀序列作為參考幀,記作Io,Io={io(i,j)|1≤i≤H,1≤j≤W}。差異幀Id可以表示為Id=|Ik-Io|。
鑒于差異幀存在許多噪聲信息,這些噪聲信息會降低篡改檢測的準確度,因此需要在檢測之前盡可能地移除這些無用的多余的噪聲信息。近年來主流的去噪方法是通過稀疏分解去噪。傳統(tǒng)的去噪方式通過區(qū)分有用信息和噪聲信息的頻率不同來去噪。在含有噪聲的圖像中,傳統(tǒng)理論認為有用信息集中在低頻區(qū)域,而無用的噪聲信息集中在高頻區(qū)域。然而這種理論并不總是正確的,存在有用信息集中在高頻區(qū)域,這些高頻區(qū)域的有用信息決定圖像的邊緣和細節(jié)等;另一方面無用的噪聲信息既含有高頻成分也含有低頻成分。也就是說,圖像信號中的有用信息的頻率和無用的噪聲信息的頻率存在重疊,通過區(qū)分頻率不同來去噪的傳統(tǒng)方法不能達到很好的去噪效果,導致去噪效果一般。而基于稀疏表示的圖像去噪是從圖像中提取稀疏成分,這些稀疏成分代表了圖像中的有用信息,并且這些稀疏成分可以很好地表示圖像的結構信息,即保留了圖像的絕大部分信息,從而將圖像中有用信息和噪聲信息分開,實現(xiàn)噪聲去除。
根據(jù)稀疏表示理論可知,一幅含噪聲圖像包含兩部分:一部分是圖像的稀疏成分,這部分包含圖像的結構信息;另一部分是圖像去除稀疏成分后剩下的部分,即圖像的噪聲,該部分不包含圖像的結構信息?;谙∈璞硎镜膱D像去噪,根據(jù)圖像中的稀疏成分來區(qū)分有用信息和噪聲信息,從而達到去噪效果。經(jīng)過圖像的稀疏分解可以得到圖像的一種線性表示[12]為:
(2)
其中〈Rkf,gγk〉表示圖像f或者圖像殘差Rkf在對應原子gγk上的分量,對于一幅含噪聲的圖像f可以表示如下:
f=fs+fn
(3)
其中:
(4)
(5)
其中:fs是圖像的有用信息即稀疏成分,fn為圖像中的無用信息即噪聲成分。
與傳統(tǒng)的圖像去噪不同,基于稀疏分解的圖像去噪是提取圖像中的稀疏成分,再利用提取到的稀疏成分重構圖像,從而達到圖像去噪的目的。本文采用KSVD算法[13]實現(xiàn)圖像信號的自適應稀疏表示。KSVD算法是一種訓練字典稀疏表示的去噪算法,該算法將超完備字典的訓練和優(yōu)化結合起來,訓練得到的字典能更好表示圖像的特征,將訓練得到的超完備字典的原子通過正交匹配追蹤法(Orthogonal Matching Pursuit, OMP)實現(xiàn)圖像信號的稀疏表示。
將去噪后的差異幀進行非重疊分塊,即分成h×h的非重疊圖像塊。使用PCA提取分塊后差異幀中每個像素點(i,j)的特征得到向量U(i,j)。令集合Id(x,y)={id(p,q)|x-「h/2?+1≤p≤h-「h/2?,y-「h/2?+1≤q≤y+h-「h/2?},其中(x,y)為圖像塊h×h(h≥2)內(nèi)像素的坐標,「?表示向上取整。構造協(xié)方差矩陣:
(6)
其中:
(7)
T表示矩陣轉置。Γ為集合中的元素id(x,y)的均值向量,1≤k≤M,M=?(H×W)/(h×h)」,?」表示向下取整。協(xié)方差矩陣大小為h2×h2,并且有r(r=h2)個特征向量。
利用協(xié)方差矩陣Σ可以求得差異幀中像素點(i,j)的投影向量U(i,j)。令λi(i=1,2,…,r)(r=h2)為協(xié)方差矩陣的第i個特征值,然后依據(jù)特征值大小進行排序,即λ1≥λ2≥…≥λr,其對應的特征向量為ωi(i=1,2,…,r)(r=h2),從中取S(S≤r)個特征向量得到:
W(i,j)=[w1,w2,…,wS]
(8)
將id(x,y)投影到W張成的特征向量空間中,由特征向量降維得到的特征向量空間W。因為差異幀中的任意像素點(i,j)都可以向其投影,所以可以得到該像素點在該空間的投影向量U(i,j),即生成空間像素點(i,j)的維度為S維的向量:
U(i,j)=[u1,u2,…,uS]T
(9)
us=wsT(id(x,y)-Γ)
(10)
其中:1≤s≤S,1≤S≤h2。
PCA保留的特征向量空間W與均值向量Γ可以將空間中的像素點投影到低維空間。由于對應r-S個特征值的特征向量被舍去了,導致原始的高維空間降維到低維空間,造成原始高維空間與低維空間不同。當視頻幀受到噪聲影響時,最小特征值對應的特征向量往往與噪聲有關,將這部分信息舍去可以在一定程度上起到去除噪聲的效果。前面已經(jīng)對差異幀進行稀疏去噪,經(jīng)過PCA變換可以再次去除殘留的噪聲,通過兩次去噪,可以得到更優(yōu)的去噪結果。再次,數(shù)據(jù)降維的主要動機是使空間中像素點的采樣密度增大[14],舍去該部分信息可以增加對空間中像素點的采樣密度,從而降低數(shù)據(jù)維度,減少了運算數(shù)據(jù)量。
將投影得到的空間像素點的向量U(i,j)進行特征聚類,取k=2,使用k-means算法進行聚類,即將特征子空間分為兩個類,類1和類2。將個數(shù)較多的類記為類1,個數(shù)較少的類記為類2,η1表示類1對應的向量,η2表示類2對應的向量。通過計算向量U(i,j)與兩個類對應的向量之間的歐氏距離,對投影得到的特征向量進行分類。定義二值矩陣:
A={a(i,j)|1≤i≤H,1≤j≤W}
(11)
相關區(qū)域像素值為“1”,表示為白色,相關區(qū)域像素值為“0”,表示為黑色??梢缘玫剑?/p>
(12)
其中‖‖2表示歐氏距離。
對得到的二值矩陣A進行“開”運算?!伴_”運算可以刪除不包含模板形狀的對象區(qū)域,可以平滑對象輪廓,斷開圖像中狹窄的連接,并去掉細小的突出部分和孤立的點?!伴_”運算定義為:
f°b=(f?b)⊕b
(13)
其中:f為原圖像,b為算子。設待測視頻幀序列長度為L幀,每次間隔m幀進行一次處理,令I(i)表示第i幀處理后的結果,將二值矩陣A(i)處理結果記為I(i)。判斷第i幀序列是否大于L,如果小于L則更新第i幀序列繼續(xù)處理,直到幀序列大于L。然后將每次幀序列處理的結果I(i)依次進行“或”運算[15],即將處理得到的幀序列進行并運算并保留所有的處理結果,最后將最終處理結果存入一個新的二值矩陣Iz中。
視頻幀內(nèi)運動目標被刪除篡改之后,為了保持視覺上的連續(xù)性,需要對篡改邊界區(qū)域進行修復處理。盡管如此,仍然會在視頻幀內(nèi)遺留一些篡改痕跡,例如畫面不一致導致的陰影以及沒有完全移除運動目標周圍的影子(稱之為“鬼影”)等。通過本文算法,將不可見的“鬼影”顯現(xiàn)化最終二值圖像中的白色區(qū)域顯示出來。而未經(jīng)篡改的原始視頻,沒有經(jīng)過幀內(nèi)目標移除操作,當進行獲取差異幀操作時不會產(chǎn)生因畫面不一致所帶來的痕跡,故而檢測結果不會出現(xiàn)白色區(qū)域。因此:如果圖像Iz中出現(xiàn)白色塊狀或帶狀區(qū)域,則表示該可疑視頻經(jīng)過篡改;如果圖像Iz中不出現(xiàn)任何痕跡,則表示該視頻未經(jīng)篡改。
本文所使用的原始視頻來自公共視頻數(shù)據(jù)庫 Surrey University Library for Forensic Analysis( SULFA)。實驗視頻共有20個,這些視頻分別由Canon SX220 (codec H.264)、Nikon S3000 (codec MJPEG)和Fujifilm S2800HD (codec MJPEG)拍攝所得,視頻分辨率320×240,幀率為30 frame/s。所選取的實驗視頻均為背景靜止且有唯一的運動前景目標,使用視頻編輯軟件Mokey 4.0.0對視頻幀進行前景目標刪除。實驗所用計算機的配置為處理器Intel(R) Core(TM) i5-3470 CPU @ 3.20 GHz,內(nèi)存容量4.0 GB,顯卡Intel HD Graphics,操作系統(tǒng)Windows 7 64位,使用Matlab(R2015b)運行代碼。
圖1和圖2的實驗結果給出了原始有目標的視頻幀和篡改后的視頻幀以及使用本文所提算法對這些視頻幀檢測后的結果,其中圖1(a)為有運動目標的原始視頻幀;圖1(b)為刪除運動目標的篡改視頻幀;圖1(c)為使用本文算法對圖1(a)檢測的結果;圖1(d)為用本文提出的算法處理圖1(b)的結果。圖1的(d)和圖2的(d)表明背景靜止的視頻且?guī)瑑?nèi)目標被移除即該視頻經(jīng)過篡改,檢測的結果確實出現(xiàn)白色塊狀或帶狀區(qū)域;而圖1的(c)和圖2的(c)表明原始的未篡改視頻,檢測結果確實無白色區(qū)域。這表明本文提出的算法確實能夠檢出運動目標被刪除的篡改視頻。
圖1 視頻檢測結果對比1 Fig. 1 Comparison of video detection results Ⅰ
圖2 視頻檢測結果對比2 Fig. 2 Comparison of video detection results Ⅱ
為了檢驗算法對有損壓縮視頻的檢測效果,本文對8個不同壓縮比的視頻進行檢測,檢測結果如表1所示。結果表明算法對有損壓縮視頻可以進行有效的檢測,對有損壓縮視頻具有很好的魯棒性;而且對于未篡改的視頻片段也具有較高的檢測準確性。文獻[6-7]方法對高壓縮的視頻和低比特率的視頻檢測魯棒性較差,會產(chǎn)生誤檢;而本文給出的算法針對差異幀,通過對差異幀的像素點使用PCA進行處理,獲取像素點的特征并使用k-means進行分類,使得檢測算法對有損壓縮視頻誤檢率低,并且不受視頻格式影響。
二分類問題常用的評價指標為準確率(precision)和召回率(recall)以及F1值。本文用正類和負類對樣本視頻進行標記。令實驗中的原始未篡改的視頻為正類,經(jīng)過幀內(nèi)對象刪除篡改的視頻記為負類。設TP為正類預測為正類數(shù)目;FN為正類預測為負類數(shù)目;FP為負類預測為正類數(shù)目;TN為負類預測為負類的數(shù)目。
本文準確率(precision)定義為:
(14)
召回率(recall)定義為:
(15)
此外還有F1值,是基于查準率與召回率的調(diào)和平均(harmonic mean)定義的:
(16)
本文對視頻素材進行篡改檢測,通過統(tǒng)計并計算上述3個度量指標,結果如表2所示。從表2可以看出,本文提出算法的檢測指標均超過90%,這表明本文提出的算法具有一定的有效性,可用視頻篡改鑒定。文獻[5]提出了基于壓縮感知的視頻幀內(nèi)目標移除篡改檢測算法,本文算法與文獻[5]的算法進行比較,比較結果如表2所示。本文算法準確度、召回率以及F1值均優(yōu)于文獻[5]的算法的。實驗結果表明,本文所提出的算法可以有效地進行視頻幀內(nèi)對象刪除篡改檢測,并且不受壓縮比的影響,對有損壓縮視頻具有很好的魯棒性。
表1 不同壓縮比的篡改視頻檢測結果Tab. 1 Tampering video detection results for different compression ratio
表2 不同算法比較結果 %Tab. 2 Performance comparison of different algorithms %
本文提出了基于PCA的視頻幀內(nèi)前景目標移除篡改檢測算法,利用稀疏表示的方法將視頻差幀內(nèi)的噪聲去除,將去噪后的差異幀使用PCA提取特征并分類,最終獲得檢測結果。如果直接對視頻差異幀進行特征提取,由于視頻幀有干擾噪聲存在,實驗結果將出現(xiàn)大量的白點,這些白點會干擾檢測結果,導致篡改痕跡不能被顯示,并且容易對未篡改的視頻造成誤檢;而使用稀疏表示對差幀去噪,可以最大限度地濾除噪聲并保留視頻差幀的原始信息,所以本文首先利用稀疏表示對差異幀去噪,然后進行特征提取。由于篡改時產(chǎn)生畫面不一致的陰影以及篡改時沒有完全移除目標周圍的影子,這些痕跡導致檢測結果出現(xiàn)白色區(qū)域。而未經(jīng)篡改的原始視頻,沒有經(jīng)過幀內(nèi)目標移除操作,當獲取差異幀操作時不會產(chǎn)生因畫面不一致所帶來的痕跡,故而檢測結果無白色區(qū)域。經(jīng)過實驗驗證,本文算法對背景靜止的視頻幀內(nèi)對象移除的篡改可以進行有效的檢測,但是本文算法對有強光照射且光線出現(xiàn)抖動的場景檢測效果不理想,算法只能針對特定的篡改方式進行檢測,適用性不強,今后工作需要進一步解決這個問題。
參考文獻(References)
[1] BESTAGINI P, FONTANI K M, MILANI S, et al. An overview on video forensics [C]// EUSIPCO 2012: Proceedings of the 2012 Proceedings of the 20th European Signal Processing Conference. Piscataway, NJ: IEEE, 2012: 1229-1233.
[2] ZHANG J, SU Y, ZHANG M. Exposing digital video forgery by ghost shadow artifact [C]// MiFor ’09: Proceedings of the 1st ACM Workshop on Multimedia in Forensics. New York: ACM, 2009: 49-54.
[3] CHEN R, YANG G, ZHU N. Detection of object-based manipulation by the statistical features of object contour [J]. Forensic Science International, 2014, 236(3): 164-169.
[4] LI L, WANG X, ZHANG W, et al. Detecting removed object from video with stationary background [C]// IWDW ’12: Proceedings of the 11th International Conference on Digital Forensics and Watermarking. Berlin: Springer, 2012: 242-252.
[5] SU L, HUANG T, YANG J. A video forgery detection algorithm based on compressive sensing [J]. Multimedia Tools and Applications, 2015, 74(17): 6641-6656.
[6] PANDEY R C, SINGH S K, SHUKLA K K. A passive forensic method for video: exposing dynamic object removal and frame duplication in the digital video using sensor noise features [J]. Journal of Intelligent and Fuzzy Systems, 2017, 32(5): 3339-3353.
[7] CHEN S, TAN S, LI B, et al. Automatic detection of object-based forgery in advanced video [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2016, 26(11): 2138-2151.
[8] BAGIWA M A, WAHAB A W A, IDRIS M Y I, et al. Digital video inpainting detection using correlation of hessian matrix [J]. Malaysian Journal of Computer Science, 2016, 29(3): 179-195.
[9] SAXENA S, SUBRAMANYAM A V, RAVI H. Video inpainting detection and localization using inconsistencies in optical flow [C]//
TENCON 2016: Proceedings of the 2016 IEEE Region 10 Conference. Piscataway, NJ: IEEE, 2016: 1361-1365.
[10] SU Y, ZHANG J, HAN Y, et al. Exposing digital video logo-removal forgery by inconsistency of blur [J]. International Journal of Pattern Recognition and Artificial Intelligence, 2010, 24(7): 1027-1046.
[11] GRUNDLAND M, DODGSON N A. Decolorize: fast, contrast enhancing, color to grayscale conversion [J]. Pattern Recognition, 2007, 40(11): 2891-2896.
[12] BERGEAUD F, MALLAT S. Matching pursuit of images [C]// Proceedings of the 1995 International Conference on Image Processing. Washington, DC: IEEE Computer Society, 1995, 1: 53-56.
[13] AHARON M, ELAD M, BRUCKSTEIN A.K-SVD: an algorithm for designing overcomplete dictionaries for sparse representation [J]. IEEE Transactions on Signal Processing, 2006, 54(11): 4311-4322.
[14] 周志華.機器學習[M].北京:清華大學出版社,2016:230-232.(ZHOU Z H. Machine Learning [M]. Beijing: Tsinghua University Press, 2016: 230-232.)
[15] GONZALEZ R C,WOODS R E.數(shù)字圖像處理[M].阮秋琦,阮宇智,譯.第3版.北京:電子工業(yè)出版社,2011:48-49.(GONZALEZ R C,WOODS R E. Digital Image Processing [M]. RUAN Q Q, RUAN Y Z, translated. 3rd ed. Beijing: Publishing House of Electronics Industry, 2011: 48-49.)
This work is partially supported by the National Natural Science Foundation of China (61672157), the Fujian Provincial Higher Education Innovation Team Project (IRTSTFJ, J1917), the Fujian Normal University “Network and Information Security Key Theory and Technology” School Innovation Team Project (IRTL1207).
YINLi, born in 1992, M. S. candidate. His research interests include machine learning, multimedia information processing.
LINXinqi, born in 1972, Ph. D., associate professor. His research interests include multimedia information processing, pattern recognition.
CHENLifei, born in 1972, Ph. D., professor. His research interests include statistical machine learning, data mining, pattern recognition.