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