劉肖健,馮玉梅,張冪,徐博群
(浙江工業(yè)大學(xué),杭州 310023)
平面設(shè)計(jì)和產(chǎn)品設(shè)計(jì)常用的一種配色方法是從圖片中提取特征色彩,經(jīng)過(guò)組合與微調(diào)后賦予各色區(qū),使之可以再現(xiàn)圖片的色彩意象。如果設(shè)計(jì)任務(wù)是體現(xiàn)某一文化或亞文化的色彩意象,則色源通常是一個(gè)圖庫(kù)。基于大數(shù)據(jù)技術(shù)從圖庫(kù)中提取特征色彩的研究很多,而提取色在設(shè)計(jì)中的應(yīng)用方式則相對(duì)簡(jiǎn)陋[1]。從圖庫(kù)中提取出來(lái)的色彩信息類(lèi)型有很多,如色值、占比、像素分散度、色值分散度、源圖色區(qū)鄰接關(guān)系等。這些信息均為色源的色彩“意象”組成部分。如需在設(shè)計(jì)中再現(xiàn)色源的色彩意象,應(yīng)該對(duì)意象編碼進(jìn)行全面體現(xiàn),但目前絕大多數(shù)相關(guān)文獻(xiàn)中的方法只用到了色值信息,鮮見(jiàn)其他信息。本文針對(duì)提取色信息的有效應(yīng)用提出了改進(jìn)方案。
圖像特征色彩的設(shè)計(jì)重用,或圖像色彩意象的設(shè)計(jì)再現(xiàn),包括兩個(gè)過(guò)程:一是圖像特征色彩的提取;二是提取色的應(yīng)用。
圖像色彩提取常用的方法是聚類(lèi)法,已有較多研究,聚類(lèi)結(jié)果通常是得到一系列特征色。近期的一些研究力圖從圖像中提取出更豐富的信息。劉肖健等[2]提出了色彩網(wǎng)絡(luò)模型,除了提取色的色值外,還加入了提取色的占比、兩色在圖庫(kù)中的共現(xiàn)概率等信息,豐富了色彩意象的編碼和內(nèi)涵;趙露唏[3]基于色彩網(wǎng)絡(luò)模型分析了11 種傳統(tǒng)紋樣圖庫(kù)的色彩特征,并提出了色彩特征顯著度的概念和計(jì)算方法;李愚[4]在色彩網(wǎng)絡(luò)基礎(chǔ)上構(gòu)建了色彩鄰接網(wǎng)絡(luò),把提取色在源圖中的鄰接關(guān)系考慮進(jìn)去,并構(gòu)建了配色對(duì)象的色區(qū)鄰接網(wǎng)絡(luò),把配色問(wèn)題表達(dá)為兩個(gè)矩陣之間的映射問(wèn)題,規(guī)范了配色設(shè)計(jì)的數(shù)學(xué)形式;Xu Bo Qun 等[5]提出了基于色序偏差、鄰接偏差、凝聚度偏差和子空間尺寸偏差4 個(gè)指標(biāo)的圖庫(kù)提取色編碼,以及配色結(jié)果對(duì)圖庫(kù)色彩意象還原度的量化計(jì)算模型。
本文的提取色應(yīng)用主要面向進(jìn)化算法。由于配色方案的評(píng)價(jià)是一個(gè)比較感性的工作,交互式遺傳算法(Interactive Genetic Algorithms,IGA)應(yīng)用較多。劉肖健等[6]給出了基于單圖提取色重用的交互式遺傳算法的基本架構(gòu),并用于3D 產(chǎn)品模型的配色方案優(yōu)化;朱昱寧等[7]提出了基于圖庫(kù)提取色的意象再現(xiàn)交互式遺傳算法。劉肖健等[8]提出了基于圖庫(kù)提取色的非隨機(jī)種群交互式遺傳算法,以適應(yīng)設(shè)計(jì)師對(duì)連續(xù)變化的色彩進(jìn)行比較評(píng)價(jià)的需求;郭一楠等[9]通過(guò)協(xié)同交互式多Agent 文化算法解決配色設(shè)計(jì)交互式遺傳算法的用戶(hù)疲勞問(wèn)題;Hu Guo Sheng 等[10]開(kāi)發(fā)了基于交互式操作生成和諧配色方案的技術(shù),并構(gòu)建了基于HSL 色彩空間的6 個(gè)變量色彩組合模型[11];Man Ding 等[12]建立了用戶(hù)色彩意象空間,利用BP 神經(jīng)網(wǎng)絡(luò)構(gòu)建了色彩語(yǔ)義映射模型并通過(guò)遺傳算法推薦配色方案。
配色設(shè)計(jì)的遺傳算法應(yīng)用中,研究熱點(diǎn)在于用戶(hù)評(píng)價(jià)方式,以及基于評(píng)價(jià)數(shù)據(jù)的用戶(hù)偏好預(yù)測(cè),以便使用程序代替人類(lèi)自動(dòng)評(píng)價(jià),以增加進(jìn)化代數(shù),解決IGA 人工評(píng)價(jià)的低效瓶頸。該做法對(duì)用戶(hù)評(píng)價(jià)給予了較高的權(quán)重,以致用戶(hù)偏好完全主導(dǎo)了進(jìn)化方向。由于色彩重用的目標(biāo)并非一味地取悅用戶(hù),配色方案對(duì)源圖色彩意象的再現(xiàn)程度也是一個(gè)重要指標(biāo)。Xu Bo Qun 等[5]考慮到此因素,給出了兩者的組合決策模型。
上述研究提供了特征色彩的提取和配色方案的自動(dòng)生成方法,解決了配色優(yōu)化的核心問(wèn)題,但是對(duì)優(yōu)化流程中色彩變化范圍的約束條件普遍處理得比較粗糙。色彩意象的再現(xiàn)要求對(duì)配色方案色彩的變化范圍設(shè)置約束,這個(gè)約束應(yīng)該是色源的色彩提取信息與用戶(hù)評(píng)價(jià)信息融合的結(jié)果。關(guān)于這一點(diǎn),多數(shù)基于進(jìn)化算法的配色優(yōu)化方法考慮得并不充分。這是開(kāi)展本工作的出發(fā)點(diǎn)。
本方法對(duì)配色方案優(yōu)化算法的改進(jìn)主要在于為色彩變化施加有效約束,約束來(lái)自源圖庫(kù)的提取色信息。
在基于遺傳算法的配色方案優(yōu)化方法中,方案色彩的變化主要有2 種方式。
1)在色彩自身鄰域內(nèi)變化。指定一個(gè)鄰域尺寸,讓色彩在鄰域中隨機(jī)變化。此法多用于構(gòu)造初始種群、方案變異,或以單性繁殖方式生成后代。鄰域大小一般是設(shè)置好的固定值,如RGB 空間的一個(gè)比例值。
2)在兩色之間插值。線(xiàn)性插值或以?xún)缮鳛閷?duì)角點(diǎn)構(gòu)造子空間,在整個(gè)子空間內(nèi)部隨機(jī)取色。
以色彩意象再現(xiàn)為目標(biāo)的優(yōu)化過(guò)程較少使用二進(jìn)制編碼進(jìn)行交叉重組或突變,以免出現(xiàn)不在提取色范圍之內(nèi)的全新色彩(相當(dāng)于無(wú)效方案)。某種程度上,編碼的選擇也是一種約束形式。
配色方案種群的形成不是完全隨機(jī)的,而是來(lái)自源圖提取色,通常是基于聚類(lèi)方法得到,因此,提取色即聚類(lèi)中心。在生成初始種群時(shí),這些提取色通過(guò)隨機(jī)組合形式被賦予配色方案的各色區(qū)。在后續(xù)的優(yōu)化過(guò)程中,原始提取色不再對(duì)配色方案的變化形成直接的約束。因此,色源的原始提取信息(不僅是提取色代表的幾個(gè)聚類(lèi)中心)的約束未能作用于整個(gè)優(yōu)化過(guò)程,這是配色方案優(yōu)化的一個(gè)不足之處。
色彩的原始提取信息約束失效(或者代之以固定尺寸的子空間約束)會(huì)有4 個(gè)問(wèn)題:有些提取色十分精準(zhǔn)(如“點(diǎn)睛色”),采用固定尺寸的子空間進(jìn)行色彩變化會(huì)導(dǎo)致色彩偏離原始意象;有些提取色旗下的像素色彩變化范圍十分寬廣,固定尺寸的子空間約束會(huì)錯(cuò)過(guò)一些潛在的優(yōu)秀色彩;有些提取色實(shí)際上是連續(xù)色調(diào),表現(xiàn)在色彩空間中是一個(gè)形狀不規(guī)則的區(qū)域,或者在一條線(xiàn)上,而子空間的形狀是一個(gè)立方體,用于表達(dá)提取色誤差過(guò)大;經(jīng)過(guò)多輪優(yōu)化后,配色方案的色彩會(huì)逐漸偏離原始提取色,導(dǎo)致意象失真,而多數(shù)算法只是通過(guò)用戶(hù)評(píng)價(jià)(評(píng)價(jià)方案的色彩意象吻合度)法來(lái)解決這些問(wèn)題,對(duì)交互式優(yōu)化方法來(lái)說(shuō),即使能解決失真問(wèn)題也是比較低效的,增加了進(jìn)化代數(shù)和用戶(hù)疲勞。
針對(duì)上述問(wèn)題,本文有2 個(gè)解決方案:一是從色源提取多種信息(除了聚類(lèi)中心以外),用作優(yōu)化過(guò)程的約束;二是這些約束在優(yōu)化過(guò)程中全程有效,而不是僅針對(duì)初始種群的生成階段。
本方法面向交互式遺傳算法開(kāi)展。交互式遺傳算法的交互方式通常比較單一,即用戶(hù)對(duì)生成的配色方案進(jìn)行交互評(píng)價(jià)。本文拓展了用戶(hù)的交互方式,在約束條件的生成過(guò)程中讓用戶(hù)有效介入,生成定制約束條件;另外,也簡(jiǎn)化了部分用戶(hù)交互,配色方案是否再現(xiàn)了原始色彩意象不再讓用戶(hù)單獨(dú)評(píng)價(jià),用戶(hù)要做的只是基于一個(gè)綜合評(píng)價(jià)標(biāo)準(zhǔn)進(jìn)行打分或選擇。方法的整體架構(gòu)見(jiàn)圖1。在交互式進(jìn)化中,用戶(hù)的交互行為體現(xiàn)在約束空間(即特征色彩空間)的定義和進(jìn)化過(guò)程中的交互評(píng)價(jià)。
圖1 方法整體架構(gòu)Fig.1 Structure of the method
本文用“色彩意象信息提取”代替“色彩提取”的說(shuō)法,以區(qū)別于單一的色值信息。源圖庫(kù)的色彩意象信息有很多種,如色值、占比、像素分散度、色值分散度、色區(qū)鄰接度、雙色共現(xiàn)度、多色共現(xiàn)度等。為避免干擾并集中敘述約束的處理,本文只提取色值、占比和色值分散度三類(lèi)信息加以利用。其中色值即提取色(聚類(lèi)中心)的色彩分量值,如RGB 等;占比為提取色旗下的像素在圖像總像素?cái)?shù)中的占比;色值分散度為提取色旗下的像素色值的差異程度,用像素色彩與提取色距離的標(biāo)準(zhǔn)差來(lái)表達(dá)。
文獻(xiàn)[2]給出了基于K–Means 方法的圖庫(kù)色彩提取技術(shù),使用了2 次聚類(lèi),第1 次聚類(lèi)對(duì)每幅圖像進(jìn)行色彩提??;第2 次聚類(lèi)是把第1 次的提取結(jié)果合并在一起形成一幅新的圖像,然后用同樣的方法再進(jìn)行一次聚類(lèi)。
第2 次聚類(lèi)結(jié)果中帶有每種提取色的分散度指標(biāo),即色彩原點(diǎn)的外環(huán)。如果這個(gè)分散度指標(biāo)用于約束,就只能提供一個(gè)用于設(shè)置鄰域空間尺寸的參考量,并不能體現(xiàn)該提取色旗下像素色彩分布區(qū)域的實(shí)際形狀。因此,筆者采用了一種新的方式來(lái)代替第2次聚類(lèi)(不是使用K–Means 方法,而是用2.5D 的方式直接展示給用戶(hù)),見(jiàn)圖2。
圖2 第1 次聚類(lèi)結(jié)果的可視化展示Fig.2 Visual demonstration of first clustering result
圖2 中的2.5D 空間中展示了第1 次聚類(lèi)的全部提取色:圓點(diǎn)位置為其在色彩空間中的坐標(biāo)位置;圓點(diǎn)色彩即提取色的色值,圓點(diǎn)大小為提取色在源圖中的占比;周邊3 個(gè)平面是2.5D 空間的3 個(gè)投影面,展示了提取色在3 個(gè)投影面上的位置。3 個(gè)投影面與中間3 個(gè)合在一起的投影面是相同的,復(fù)制分開(kāi)表達(dá)是為了避免與中間的圓點(diǎn)重疊在一起,影響觀察。
由圖2 可知,敦煌圖庫(kù)的提取色在RGB 空間的分布形式大致是對(duì)角線(xiàn)方向上的月牙形空間。這種直觀的展示給用戶(hù)提供了交互操作的便利性。本文的原型系統(tǒng)基于平面矢量設(shè)計(jì)軟件CorelDraw 開(kāi)發(fā),圖2的可視化展示為矢量圖,每種提取色均可單獨(dú)選取。當(dāng)用戶(hù)通過(guò)點(diǎn)擊提取色圓點(diǎn)選中一種色彩時(shí),可以同時(shí)看到它在2.5D 空間及其3 個(gè)投影面上的位置(4個(gè)色彩圓點(diǎn)被設(shè)置為一個(gè)群組),以確保交互選擇正確。
“約束空間”是RGB 色彩空間中的一個(gè)區(qū)域,它定義了配色方案中某一色彩的變化范圍,對(duì)配色方案優(yōu)化過(guò)程中的變化形成限定約束作用,它有以下幾個(gè)特征。
1)約束空間是RGB 色彩空間的子集。
2)約束空間的形態(tài)不是立方體,而是一張基于4 個(gè)點(diǎn)(即4 種色彩)構(gòu)建的曲面,所以約束空間的形態(tài)有一定的自由度。
3)構(gòu)建約束空間的4 種色彩由用戶(hù)在第1 次聚類(lèi)結(jié)果的展示圖上交互確定,見(jiàn)圖3。
4)由于圖3 中所有色彩點(diǎn)均為聚類(lèi)結(jié)果,所以色彩點(diǎn)是有大小區(qū)別的;色彩點(diǎn)的大小將以某種形式影響約束空間曲面的形態(tài)。
5)約束空間的數(shù)量由用戶(hù)決定;配色方案的每一種色彩在自己的約束空間中變化,但也允許幾款色彩共用一個(gè)約束空間,這種情況多出現(xiàn)在同系列色的使用中。
上述第2 個(gè)特征是關(guān)鍵。希望色彩能在一個(gè)可以體現(xiàn)提取色分布規(guī)律的區(qū)域內(nèi)變化,但是這個(gè)區(qū)域通常是不規(guī)則的,讓色彩在里面自由變化需要使用間接方式。本方法是把這個(gè)不規(guī)則的約束空間映射到一個(gè)單位正方形中,這樣只需一對(duì)UV 坐標(biāo)就能在約束空間中尋優(yōu)。
用戶(hù)在圖3 所示的界面中選擇4 種色彩后,所對(duì)應(yīng)的單位正方形形狀的約束空間如圖3b 所示,約束空間中的所有色彩均在此。
圖3 約束空間的構(gòu)建Fig.3 Construction of the constraint space
圖3a 是用戶(hù)以交互方式從圖2 中選出的4 種色彩。在實(shí)際的優(yōu)化過(guò)程中,圖3b 所示的約束空間是在程序內(nèi)部表達(dá)的,并不需要畫(huà)出來(lái),這里僅做圖示。這個(gè)約束空間在RGB 空間中則表達(dá)為通過(guò)4 個(gè)色彩坐標(biāo)的一個(gè)曲面。
在三維RGB 色彩空間中,在4 個(gè)坐標(biāo)點(diǎn)之間通過(guò)插值方法構(gòu)造一個(gè)直紋曲面并不困難,但約束空間曲面還需要體現(xiàn)4 種色彩的權(quán)重大小。即4 個(gè)色彩點(diǎn)的直徑要在約束空間的構(gòu)造中起到影響作用。圖4 為相同的4 種色彩但權(quán)重不同,可以看到生成約束空間的差異。
圖4 的2 個(gè)約束空間在3D 的RGB 空間表達(dá)為形態(tài)不同的2 個(gè)曲面。因此,為了體現(xiàn)色彩權(quán)重的影響,需要在單位空間的二維UV 坐標(biāo)和RGB 空間的三維曲面坐標(biāo)之間建立某種映射關(guān)系。
圖4 色彩權(quán)重對(duì)約束空間的影響Fig.4 Color weights' influence to the constraint space
許多平面軟件提供了網(wǎng)格節(jié)點(diǎn)賦色功能,允許用戶(hù)手工調(diào)整一張UV 網(wǎng)格中每個(gè)節(jié)點(diǎn)的色彩及權(quán)重,效果與圖4 類(lèi)似。但這些功能中權(quán)重對(duì)色彩的影響算法是未知的,而且只能手工操作,無(wú)法用于優(yōu)化迭代。因此,本文設(shè)計(jì)了一種色彩權(quán)重對(duì)約束空間形態(tài)的影響算法。
構(gòu)建約束空間的目的是通過(guò)一個(gè)單位坐標(biāo)(u,v)準(zhǔn)確地在空間中鎖定一種色彩,這樣它就可以在空間中的某個(gè)色彩鄰域中變化,或者在2 個(gè)(u,v)坐標(biāo)之間進(jìn)行插值。這些操作均可以確保操作結(jié)果滿(mǎn)足約束條件,即屬于同一個(gè)約束空間。
以下是約束空間的建構(gòu)過(guò)程。
每種色彩有R、G、B3 個(gè)分量,每個(gè)分量的值需要單獨(dú)計(jì)算,以下以紅色分量R為例展示一個(gè)色彩分量的算法。
圖5a 是用戶(hù)選取的4 個(gè)色彩構(gòu)成的約束空間,暫且假設(shè)它們的權(quán)重一樣大。由于只討論一個(gè)R分量,所以色彩用灰度來(lái)表達(dá),灰度值即代表色彩的R分量值。
圖5 色彩分量R 的約束空間(等權(quán)重)Fig.5 Constraint space for color's red value (with even weight)
圖5b 是加上了R分量軸的約束空間的3D 表達(dá):下方的平面是UV 地平面上的單位正方形,豎軸表示色彩分量R的值,上方曲面上的每一點(diǎn)高度的坐標(biāo)為約束空間中對(duì)應(yīng)點(diǎn)的R分量值。由于4 種色彩的權(quán)重相同,所以約束空間中任意點(diǎn)(u,v)處的R分量值可以使用線(xiàn)性插值法算出,圖5b 的曲面在u和v2個(gè)方向上的截線(xiàn)均為直線(xiàn)。
當(dāng)用戶(hù)選取的4 種色彩的權(quán)重不同時(shí),仍然可以使用插值法計(jì)算任意點(diǎn)(u,v)處的R分量值,但不再是線(xiàn)性插值了。這種插值算法不是固定的,需要優(yōu)化算法的開(kāi)發(fā)者來(lái)設(shè)計(jì)。
對(duì)此本文進(jìn)一步給出了一個(gè)非線(xiàn)性的插值算法,見(jiàn)圖6。
圖6 色彩分量R 的約束空間(不等權(quán)重)Fig.6 Constraint space for color’s red value (with uneven weight)
圖6b 中的黃色曲面是不等權(quán)重的約束空間曲面,白色直紋曲面即圖5b 中的等權(quán)重約束空間曲面,放在一起以示對(duì)比??梢钥吹?,2 個(gè)曲面的4 個(gè)角點(diǎn)是相同的,這表示構(gòu)造2 個(gè)約束空間所使用的4 種色彩是相同的;但曲面的4 條邊界均為曲線(xiàn)而不是直線(xiàn),這表示在單位正方形中UV 坐標(biāo)均勻取值時(shí),在豎軸上所產(chǎn)生的R分量值的分布是不均勻的,如在色彩權(quán)重大的一端密度大。
約束空間曲面的邊界曲線(xiàn)由非線(xiàn)性插值函數(shù)確定。
非線(xiàn)性插值函數(shù)的設(shè)計(jì)有3 個(gè)要求:通過(guò)首尾兩個(gè)給定的色彩坐標(biāo);在定義域內(nèi)為單調(diào)函數(shù);函數(shù)曲線(xiàn)向權(quán)重大的一側(cè)凸起,凸起幅度由首尾兩色的權(quán)重差決定。
以圖6b 右近側(cè)的曲面邊界為例,該曲線(xiàn)對(duì)應(yīng)的是圖6a 單位正方形約束空間的下邊界。由于右下角的色彩權(quán)重比左下角大,因此曲線(xiàn)應(yīng)為上凸形態(tài)(右下角色彩比左下角淺,代表其R分量值比左下角大,因此在R軸上位于上方)。用指數(shù)函數(shù)構(gòu)造一個(gè)u的定義域在[0,1]區(qū)間內(nèi)的函數(shù):
寫(xiě)成矩陣形式:
式中:u的指數(shù)中的d1和d2分別為圖6a 左下角和右下角的2 個(gè)色彩的權(quán)重值(用圓點(diǎn)直徑表達(dá))。如此,當(dāng)d1 同理可得上側(cè)曲線(xiàn)和左右兩側(cè)曲線(xiàn)的函數(shù)。 式中:u和v為單位空間的橫坐標(biāo)和縱坐標(biāo);d1~d4為4 個(gè)色彩的權(quán)重,逆時(shí)針順序。 用上述方式可以構(gòu)造約束空間曲面的四條邊界曲線(xiàn)?;? 條邊界曲線(xiàn)構(gòu)造曲面有多種方法,如Coons 曲面法。本文給出了一種相對(duì)簡(jiǎn)單的線(xiàn)性插值方法,其原理見(jiàn)圖7。 圖7 基于曲線(xiàn)邊界構(gòu)建約束空間Fig.7 Constraint built through border curves 該法分2 步進(jìn)行。 1)基于2 條對(duì)邊曲線(xiàn)構(gòu)建2 個(gè)直紋面,上方的綠色曲面和下方的黃色曲面,2 個(gè)曲面各有2 條邊是直線(xiàn),見(jiàn)圖7。 2)對(duì)2 個(gè)曲面進(jìn)行融合,得到圖7 中間藍(lán)色的四邊都是曲線(xiàn)的約束空間曲面。 圖7 所示綠色直紋面的方程如下: 圖7 黃色直紋面的方程如下: 2 個(gè)直紋面融合為圖7 藍(lán)色曲面的方式是修改RA的公式,RA原本是v的線(xiàn)性函數(shù),現(xiàn)修改為按兩端曲線(xiàn)變化,具體方式就是利用RB在RA的函數(shù)式上加一個(gè)修正量Δr: 式中:Δz1和Δz2為左右兩側(cè)曲線(xiàn)相對(duì)于直線(xiàn)的偏移量: 式(7)展開(kāi)如下: 最后可得約束曲面方程如下: 如此,優(yōu)化過(guò)程中的色彩遺傳操作即可在各色彩的UV 空間內(nèi)進(jìn)行,最后把操作結(jié)果(u,v)坐標(biāo)帶入式(12)得到RGB色彩值,然后對(duì)配色方案進(jìn)行賦色。 交互式遺傳算法的色彩編碼通常直接以色值作為編碼,啟用約束空間后,相當(dāng)于配色方案的編碼發(fā)生了變化,改為以約束空間代號(hào)和UV 坐標(biāo)為編碼: 式中配色方案的每一種色彩由3 個(gè)變量構(gòu)成,其中u和v為該色在約束空間中的坐標(biāo),ID 為約束空間代號(hào)。在以源圖色彩意象再現(xiàn)為目標(biāo)的優(yōu)化任務(wù)中,不允許不同約束空間內(nèi)的色彩進(jìn)行交叉重組,以免產(chǎn)生偏離提取色的新色彩,形成無(wú)效方案。約束空間代號(hào)ID 可以做識(shí)別之用,一是判斷色彩的可交叉性,二是避免配色方案的色區(qū)產(chǎn)生“撞色”現(xiàn)象,即兩個(gè)色區(qū)的色彩來(lái)自同一個(gè)約束空間,除非對(duì)此單獨(dú)設(shè)置約束,如同系色的情況。 基于交互式遺傳算法的流程繼承了文獻(xiàn)[7]中所述的基本框架,除了編碼操作啟用新編碼外,主要改進(jìn)是增加了一個(gè)從UV 單位參數(shù)空間到RGB色彩空間的映射過(guò)程。算法流程如圖8 所示,該流程是對(duì)圖1 中“優(yōu)化流程”環(huán)節(jié)的展開(kāi)。 在準(zhǔn)備階段,用戶(hù)定義好一系列的約束空間,這相當(dāng)于舊方法中的提取色。 配色優(yōu)化過(guò)程分為2 個(gè)階段。 第1 階段是色彩的隨機(jī)組合:程序從用戶(hù)定義的系列約束空間中隨機(jī)選擇并指派給相應(yīng)的色區(qū)?;诩s束空間形成色彩的方式,按等概率隨機(jī)生成一個(gè)(u,v)坐標(biāo),然后將約束空間中該坐標(biāo)位置按式(12)映射為色彩值。由于映射公式中已考慮構(gòu)建約束空間的4 種色彩的權(quán)重,所以隨機(jī)生成的色彩會(huì)一定程度上向權(quán)重大的位置靠近。這種方式生成的配色方案比基于有限提取色(聚類(lèi)中心)排列組合更具多樣性。第1 階段主要是為各色區(qū)選定約束空間,按文獻(xiàn)[6]中的方法進(jìn)行。 第2 階段對(duì)配色方案各色區(qū)的色彩進(jìn)行優(yōu)化。此時(shí),每一色區(qū)均已有確定的約束空間,色彩只在各自的約束空間中變化。舊方法的遺傳操作是在2 個(gè)母本之間插值,或在個(gè)體色彩周邊鄰域進(jìn)行突變,這種做法會(huì)隨著進(jìn)化代數(shù)的增加逐漸偏離提取色。按本方法,每次遺傳操作的結(jié)果都在約束空間內(nèi),確保遺傳操作結(jié)果的有效性。這是本方法的一個(gè)進(jìn)步。 原型系統(tǒng)界面見(jiàn)圖9。 圖9 原型系統(tǒng)界面Fig.9 Interface of the proto system 本文基于平面矢量軟件CorelDraw 開(kāi)發(fā)了原型系統(tǒng),在文獻(xiàn)[7]中所述的原型系統(tǒng)基礎(chǔ)上增加了如下用戶(hù)操作內(nèi)容。 1)圖2 所示的源圖庫(kù)聚類(lèi)結(jié)果展示,在“2.5D提取色表達(dá)”模塊完成。 2)用戶(hù)交互定義一系列約束空間,在“定義約束空間”模塊完成。 約束空間在使用中,可以隨機(jī)為每一色區(qū)分配約束空間,也可以為選定的待配色方案的色區(qū)指定約束空間代號(hào)。 其他改進(jìn)內(nèi)容(如UV 參數(shù)空間的定義)在程序內(nèi)部完成,主要集中在“階段2:微調(diào)”部分,不體現(xiàn)在用戶(hù)界面上。 使用本文的約束空間法在敦煌圖庫(kù)提取色基礎(chǔ)上的優(yōu)化過(guò)程方案種群,見(jiàn)圖10。 圖10 配色方案種群Fig.10 Populations of the designs 圖10 中配色方案各色區(qū)的約束空間是事先指定好的,通過(guò)圖9 界面左下角的按鈕完成:先從下拉列表框中選擇色區(qū)ID,然后選擇原始配色方案的色區(qū),點(diǎn)擊完成設(shè)置(配色方案為矢量圖群組,各色區(qū)可以單獨(dú)選擇)。遺傳操作采用非等位基因交叉方式進(jìn)行,即允許兩個(gè)母本的等位基因來(lái)自不同的約束空間,程序內(nèi)部確保執(zhí)行交叉操作的基因(可以是非等位基因)來(lái)自相同的約束空間,以減少無(wú)效方案的生成,并且可以把組合優(yōu)化和色值微調(diào)融合在一起進(jìn)行。 圖10 展示了第2 代和第5 代種群,與原方法比較,由于迭代偏色導(dǎo)致的無(wú)效方案顯著減少,配色方案對(duì)源圖庫(kù)色彩意象的再現(xiàn)精準(zhǔn)度得到了提高,優(yōu)化效率也隨之提高,且程序有效識(shí)別出用戶(hù)對(duì)深色背景的偏好,并在種群個(gè)體的整體構(gòu)成上有所體現(xiàn)。 約束空間是一個(gè)用于處理配色方案優(yōu)化過(guò)程的約束條件的概念,本文對(duì)這個(gè)概念的實(shí)施給出了一種建構(gòu)案例。約束空間的建構(gòu)方法有很多,本文使用了UV 二維參數(shù)空間,并以此作為配色方案的色彩編碼。也可以使用三維的參數(shù)空間,如此約束空間就映射為RGB空間中的一個(gè)實(shí)體區(qū)域而不是一個(gè)曲面,其建構(gòu)方法與此類(lèi)似。 本方法要求用戶(hù)按順序選擇4 種色彩構(gòu)建約束空間,選擇順序決定了約束空間的建構(gòu)方式。考慮到防錯(cuò)的需要(由于選擇順序是看不見(jiàn)的),也可以在所選色彩的圓點(diǎn)之間建立連線(xiàn)以確保約束空間結(jié)構(gòu)正確。文獻(xiàn)[2]中的色彩網(wǎng)絡(luò)模型的表達(dá)方法可以完成這個(gè)任務(wù)。 本方法的不足之處是約束曲面方程輸出的色彩值并不能保證全部在[0,255],個(gè)別情況下可能會(huì)超界造成無(wú)效色彩。對(duì)這種情況,一個(gè)解決方案是以圖5b 所示的直紋曲面為基準(zhǔn)對(duì)約束曲面進(jìn)行變形修正處理。不過(guò)考慮到人眼對(duì)色彩的知覺(jué)本身就存在一定容差,更簡(jiǎn)單的辦法是在色彩分量值生成之后進(jìn)行檢查,如有超界則強(qiáng)制修正為邊界值。這種處理方法會(huì)導(dǎo)致約束空間曲面局部曲率不連續(xù),不過(guò)對(duì)尋優(yōu)過(guò)程的影響并不大。 案例測(cè)試表明,本文的方法生成的方案種群從直觀的視覺(jué)觀察看更有效地再現(xiàn)了源圖庫(kù)的色彩意象,由迭代而導(dǎo)致嚴(yán)重偏離的色彩顯著減少,客觀上提高了優(yōu)化效率。 在參數(shù)空間內(nèi)實(shí)施尋優(yōu)策略會(huì)使問(wèn)題得到一定程度的簡(jiǎn)化,是一種值得推廣的方法。5 基于特征色彩空間約束的交互式遺傳算法
5.1 配色方案的編碼設(shè)計(jì)
5.2 算法流程
6 原型系統(tǒng)與應(yīng)用案例
7 結(jié)語(yǔ)