尉遲姝毅
(遼寧工業(yè)大學藝術(shù)設計與建筑學院,遼寧 錦州 121000)
隨著計算機技術(shù)的不斷提高,圖像處理加工方法也越來越多,圖像間的顏色遷移方法是近幾年圖像處理行業(yè)中的新興技術(shù)。圖像間的顏色遷移是動畫處理中經(jīng)常使用的技術(shù),如今已經(jīng)衍生出多種算法[1]?,F(xiàn)有的圖像間顏色遷移算法主要作用在兩張圖片上,分別為目標圖像和源圖像,使用顏色遷移算法在不改變源圖像所表達的圖像信息的情況下,將源圖像的顏色信息賦予到目標圖像當中,重新生成的圖像極具有源圖像的色彩特點,也擁有目標圖像的信息特點。在圖像間顏色遷移算法當中,由于目標圖像和源圖像賦予合成圖像的內(nèi)容不同,又被稱為顏色圖像和形狀圖像。經(jīng)過長時間的應用發(fā)現(xiàn),一種理想的圖像間顏色遷移的算法,可以保持形狀圖像中的場景以及顏色圖像中的顏色,同時所有顏色圖像中的顏色都應該被遷移到形狀圖像上去[2]。而且在算法實現(xiàn)中,形狀圖像與顏色圖像中存在明顯差別的顏色不能出現(xiàn)在合成圖像當中。
現(xiàn)如今的圖像間顏色遷移算法有三種,分別為傳統(tǒng)FCM顏色遷移算法、傳統(tǒng)Reinhard顏色遷移算法和傳統(tǒng)Welsh顏色遷移算法[3]。其中傳統(tǒng)FCM顏色遷移算法也被稱為圖像模糊顏色聚類自適應顏色遷移算法,這種算法在實現(xiàn)時把顏色圖像和形狀特向劃分為具有不同顏色特征的聚類,接著使用模糊矩陣匹配每個區(qū)域中的顏色特征,進而實現(xiàn)顏色的遷移,此遷移算法當中未對顏色圖像進行處理,存在劃分精度不足的問題。傳統(tǒng)Reinhard顏色遷移算法通過分別計算圖像像素上的分量值,得出相應的均值和標準差,對每一個分量通道進行調(diào)整來得到遷移結(jié)果,使用該算法具有精度高的特點,但只能用于處理色調(diào)較為單一的圖像,在多種色調(diào)組成的圖像當中,顏色誤傳的現(xiàn)象極為普遍。而傳統(tǒng)Welsh顏色遷移算法主要是利用重映射原理,將圖像中的每一個像素點映射到遷移結(jié)果當中,但這種算法只能在灰度圖像當中使用,而當形狀圖像中有其它顏色時,就會對遷移過程造成干擾。綜上所述,三種傳統(tǒng)的圖像間顏色遷移算法在使用中都存在著一定的局限性,也都存在著顏色誤遷率高的問題,為了解決此類問題,對圖像間顏色遷移算法進行設計,采用傳統(tǒng)方法當中的部分步驟,并在設計中引入反向映射的思想,以此保證顏色遷移的精度[4]。經(jīng)過對基于反向映射的圖像間顏色遷移算法的設計,將此算法與傳統(tǒng)的三個算法進行模擬仿真對比實驗,觀察并分析有關(guān)于顏色遷移精度與顏色誤遷率的遷移結(jié)果。
為了實現(xiàn)兩張互不相關(guān)圖像間的顏色遷移,需要建立Lab空間上的顏色通道,因此需要在顏色圖像與形狀圖像的顏色特征上建立聯(lián)系。那么首先將兩圖像的主色描述符提取出來,設顏色圖像的主色為Fy,其表達式為
Fy={pi,ci,vi},i=1,2,…,N
(1)
式中N表示的是顏色圖像中的主色像素數(shù)量,pi為第i種主色所占圖像像素的百分比,其計算方法就是將主色像素點數(shù)量與圖像中的像素數(shù)量做除法運算,式(1)中的ci表示的是第i種主色的矢量,vi為主色矢量附近的主色顏色該變量[5]。由于顏色圖像與形狀圖像當中提取主色像素點的數(shù)量相同,方便進行映射匹配,所以需要計算兩圖像主色之間的距離,其距離計算方法如式(2)所示
(2)
式中cs和cr分別表示的是顏色圖像和形狀圖像的主色矢量,φ(i)屬于N當中的一組像素排列。通過得到的主色距離結(jié)果,將顏色圖像與形狀圖像按主色區(qū)域進行分割,并在區(qū)域中進行特征提取[6]。依照主色距離的計算結(jié)果,計算RGB空間下兩種圖像的顏色直方圖,將屬于相同主色的部分合并在一起,將整個合并過程分為多個步驟[7]。在分割的每一個區(qū)域中進行顏色特征提取,將分割的某一個區(qū)域中的所有像素點用集合SR1來表示,該集合中包含n個像素點,那么該分割區(qū)域當中的亮度平均值可以通過式(3)來計算
(3)
式(3)當中I(x,y)表示的是圖像上位置為(x,y)像素點的亮度,由此便可以提取有關(guān)于亮度的特征結(jié)果,同理可以將圖像當中有關(guān)于透明度、色度等特征值的提取結(jié)果。
對源圖像實行邊界平滑處理以解決分割所引起的誤差,利用雙邊濾波器去同時平滑顏色和空間信息:
(4)
式中參數(shù)a表示的是圖像的平衡顏色系數(shù),σ為空間結(jié)構(gòu)動態(tài)選擇系數(shù),通常情況下a和σ取常數(shù)[8]。源圖像的空間平滑過程保證了顏色遷移后區(qū)域邊界顏色的平滑過渡。
通常情況下圖像的格式為RGB格式,這種格式是圖像中一種顏色的空間標準,其中R表示的是紅、G為綠、B表示藍,通過對這三種顏色的變化以及點的疊加得到其它的不同顏色,RGB的空間表示形式如圖1所示。
圖1 RGB顏色空間立方體示意圖
圖中主對角線上的點代表從黑色到白色的灰度值。然而在顏色遷移過程中需要將目標圖像和源圖像的格式,從RGB色彩空間格式轉(zhuǎn)換為lαβ色彩空間[9]。由于圖像間顏色遷移算法涉及到反向映射,而在RGB色彩空間下容易出現(xiàn)映射交叉的問題,而lαβ空間中圖像的三個通道間的相關(guān)性較小,因此在此空間內(nèi)進行映射運算不會出現(xiàn)通道交叉的問題。由于RGB無法直接與lαβ空間進行圖像轉(zhuǎn)換,因此將圖像從RGB空間變換到lαβ空間,首先需要通過式(5)轉(zhuǎn)換到LMS顏色空間。
(5)
接著即可通過式(6)將LMS下的圖像轉(zhuǎn)換到lαβ空間中。
(6)
lαβ色彩空間下,l表示的是灰度,α和β為色彩信息。
為了保證顏色遷移的精度,需要對圖像中的色調(diào)像素進行反向映射處理,其處理流程如圖2所示。
圖2 色調(diào)反向映射流程圖
從圖中可以看出,在進行反向映射之前需要之前先對顏色進行編輯定義,定義顏色圖像中的像素點i的初始顏色特征用ai來表示,經(jīng)過色彩顏色特征變換其顏色特征表示為a′i[10]??梢詫′i的編輯函數(shù)可以用式(7)來表示
a′i=f(ai,ei)
(7)
其中ei表示的是i像素的顏色編輯參數(shù)。分別用gi和wi來表示顏色編輯強度,其數(shù)值變化范圍在0到1之間。那么顏色遷移算法的框架顏色編輯就可以看做為一個映射過程,其映射原理如圖3所示。
圖3 像素點反向映射原理
以圖像間的顏色亮度為例,用對數(shù)亮度的平均值作為其特征值的比例因子,對輸入的亮度值進行線性縮放處理,則其表達式可以表示為
(8)
式(8)當中,F(xiàn)0為輸入的亮度值。那么圖像間有關(guān)于亮度的顏色遷移反向映射公式可以表示為
(9)
式中Fout為反向映射的結(jié)果,γ為反向映射系數(shù),經(jīng)常取值為2.2。
依照色調(diào)反向映射結(jié)果,使用K均值聚類方法,將相同類型的像素點聚集在一起,并將兩張圖像之間相同區(qū)域的像素作匹配,以此作為顏色的遷移范圍。首先在顏色圖像中選取k個像素點作為聚類中心,接著對顏色圖像中的每一個像素點與聚類中心的距離進行計算,并對比計算結(jié)果將其分配給距離最近的聚類中心,直到圖像當中每一個像素點都被分配為止。接著按照聚類結(jié)果進行區(qū)域分配,按照反向映射的方法,優(yōu)先匹配最接近的區(qū)域,再依次對剩下的形狀圖像的區(qū)域和顏色圖像的區(qū)域進行匹配,最后達到最佳的匹配結(jié)果。
將圖像間的顏色遷移問題轉(zhuǎn)化為能量方程的形式,將圖像間的顏色遷移過程當作編輯參數(shù)最優(yōu)化的問題。將整個顏色的遷移過程分為分層遷移和全局遷移兩種方式進行具體分析,結(jié)合兩種遷移最終得到顏色遷移能量的最優(yōu)化方程表達式。
在粗糙分層得到過渡圖像的基礎(chǔ)下,將顏色圖像和過渡圖像平均分為k層,將過渡圖像中的每一個像素的特征分量進行遷移,選用逐層遷移的方式,將兩個圖像間層級最接近且有像素點的圖層,用來代替當前的圖層,具體的分層遷移過程如圖4所示。
圖4 分層遷移過程
圖中L0…L255表示的是圖像的層次等級,按照圖層的掃描順序提取過渡圖像中的像素點P,設其對應圖像第m層等級,取兩圖像中的第m層顏色分量,針對α和β分量進行遷移處理,遷移公式如下
(10)
式中α*為遷移完成后生成新圖像的α值。同理β分量的計算公式如下
(11)
由此用圖像各層的α和β來代替形狀圖像中的分量值,得出新的顏色遷移合成圖像。
根據(jù)聚類數(shù)目在源圖像和目標圖像上選取樣本塊,在對應參考圖像樣本塊中根據(jù)式(12)尋找目標圖像樣本塊的最佳匹配像素,進行樣本塊的顏色遷移,式(12)如下
Ti,j=|di-dj|+|σi-σj|+|fi-fj|
(12)
式中i,j分別為顏色圖像和形狀圖像上的像素點,di和dj為像素與聚類點的距離值,fi和fj為兩個圖像的亮度平均值。如此將參考圖像局部區(qū)域中的顏色分量遷移到目標圖像的相應像素點上,如此完成初始偽顏色的重合,完成圖像的色彩化處理。
通過兩種遷移方式得出顏色遷移能量方程的最優(yōu)化,優(yōu)化方程如下:
∑i∑jwj(ei-gj)2+λ∑i∑iwj(ei-ej)2
=exp(-(fi-fj)2)
(13)
最后,計算顏色遷移后輸出圖像的像素值,實現(xiàn)兩圖像間顏色遷移算法,得出顏色遷移后的合成圖像。
為了驗證檢驗圖像間顏色遷移算法的有效性進行仿真,實驗環(huán)境選擇一般的計算機機房,分別對實驗設備和實驗對照組進行設置,通過仿真得到實驗結(jié)果并進一步進行分析。
此次仿真的實驗對象選擇5組不同風格、不同顏色色調(diào)的動畫原始圖片,每一組圖片當中包含一個顏色圖像和一個形狀圖像,將實驗對象輸入到實驗設備當中,使用不同的顏色遷移算法得到仿真結(jié)果。另外,此次仿真中的實驗設備為普通的計算機處理設備,仿真設備的配置環(huán)境為:Interl(R)Core(TM)2 Duo CPU,E7500@2.93GHz處理器,2GB內(nèi)存,Microsoft WindOWS XP操作系統(tǒng)的臺式機,使用matlab編寫代碼。
為了保證實驗的真實性,在仿真當中設立實驗對照組,分別選擇三種傳統(tǒng)遷移算法,即為對照組1、對照組2和對照組3,三組對照組使用的傳統(tǒng)算法如表1所示。
在相同的仿真環(huán)境下,使用設計完成的反響映射圖像間顏色遷移算法為仿真的實驗組,分別使用對照算法和實驗算法對實驗對象中的5組圖像進行顏色遷移處理,實驗過程中除了使用的遷移算法不同,其它影響因素均相同,保證實驗變量唯一。使用遷移評價方法對遷移結(jié)果進行評價,并利用式(14)計算顏色遷移結(jié)果圖像的誤遷率。
表1 仿真對照組設置表
(14)
式中Nw表示的是一組圖像中顏色誤遷像素的個數(shù),而N表示的是一組圖像中形狀圖像的總像素數(shù)。仿真得到的遷移圖像合成結(jié)果中是否存在誤遷情況首先需要通過視覺進行觀察,將顏色存在明顯差異的部分找出來,進行統(tǒng)計求和,以此來得到Nw的值,最后利用公式得到遷移結(jié)果圖像的顏色誤遷率。統(tǒng)計每一組的顏色誤傳率,計算每一個遷移算法誤傳率的平均值。
在仿真環(huán)境中,以動畫的原始圖像為實驗對象,使用反向映射圖像間顏色遷移算法進行實驗操作,得到的實驗結(jié)果如圖5所示。
圖5 實驗操作界面與遷移結(jié)果
圖中a表示的是使用實驗組算法在實驗環(huán)境中進行操作的界面,b為得出的顏色遷移合成圖像,即實驗結(jié)果。將傳統(tǒng)算法與設計算法的誤傳率通過式(13)進行計算,得出有關(guān)于誤遷率的實驗對比結(jié)果,如表2所示。
表2 實驗誤傳率對比結(jié)果
從表中的數(shù)據(jù)可以看出,傳統(tǒng)算法的平均誤遷率為12.3%,比設計出的遷移算法的誤遷率高12.03%。且傳統(tǒng)方法中誤遷率最低的算法為傳統(tǒng)Welsh顏色遷移算法,其誤遷率為8%,也比反向映射的顏色遷移算法高7.73%。
通過反向映射可以得出效果更好的顏色遷移算法,將顏色圖形與形狀圖像中明顯的顏色特征都能在最終的輸出合成圖像中呈現(xiàn)。將這種算法用于圖像處理和視頻處理當中,可以大大的節(jié)省圖像顏色遷移時間,顏色遷移后的圖像在類間交界處的顏色過渡也更加合理,整體效果也更加自然。