本發(fā)明涉及圖像處理領(lǐng)域,尤其是涉及一種基于語義共鳴色彩的數(shù)據(jù)可視化方法。
背景技術(shù):
在數(shù)據(jù)可視化的過程中,著色方法將發(fā)揮重要作用,好的著色方案將極大地提升可視化的效果,例如,我們可以用藍(lán)色的來顯示“海洋”的數(shù)據(jù),或者用粉紅色的來為關(guān)鍵字“愛”著色,不同的顏色可以幫助我們識(shí)別和區(qū)分不同的類別。
很容易發(fā)現(xiàn),顏色與字義一致會(huì)加速認(rèn)知過程,反之則會(huì)阻礙認(rèn)知,這種有趣的現(xiàn)象稱為“斯特魯普效應(yīng)”(Stroop Effect),其實(shí),不單是顏色的名稱,人們?cè)缫蚜?xí)慣將顏色與各種概念綁定在一起,這些自然的、與語義一致的顏色被稱為“語義共鳴色”(Semantically Resonant Color),如果能有效利用語義共鳴色,我們能提高可視化的認(rèn)知效率。
但是現(xiàn)有的文字的表現(xiàn)形式過于單調(diào),通篇的黑色字體對(duì)于文字的語義識(shí)別非常不利,也不能提起讀者的閱讀興趣,現(xiàn)有語義共鳴色彩的文字表示方法通常采用大量相關(guān)圖片作為訓(xùn)練集,在獲取顏色直方圖之前的背景剔除時(shí),往往將黑色與白色的背景剔除掉,但是由于有些詞匯對(duì)應(yīng)的主體顏色就是黑和白,因此此種方法將本身的顏色剔除,導(dǎo)致統(tǒng)計(jì)不準(zhǔn)確。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種保留主體顏色、配色準(zhǔn)確的基于語義共鳴色彩的數(shù)據(jù)可視化方法。
本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):
一種基于語義共鳴色彩的數(shù)據(jù)可視化方法,包括以下步驟:
1)設(shè)定一組待分配顏色的物品名詞作為詞匯集,根據(jù)名詞的關(guān)鍵詞獲取與其相關(guān)的圖片集;
2)選取合適的調(diào)色板,該調(diào)色板包括待分配顏色的物品的所有顏色;
3)產(chǎn)生圖片集中每幅圖片的顏色直方圖,根據(jù)顏色直方圖中色彩的分布情況,獲取調(diào)色板中的顏色在顏色直方圖中出現(xiàn)的概率;
4)根據(jù)調(diào)色板中的顏色之間的辨識(shí)度和在顏色直方圖中出現(xiàn)的概率,將調(diào)色板中的顏色分配到詞匯集中的待分配顏色的物品上,形成關(guān)鍵詞-顏色對(duì)并顯示。
所述的步驟2)中,所述的調(diào)色板采用20色調(diào)色板。
所述的步驟3)具體包括以下步驟:
31)對(duì)圖片集中的圖片采用像素過濾的方式進(jìn)行背景剔除;
32)采用像素?cái)?shù)統(tǒng)計(jì)圖片中各個(gè)顏色出現(xiàn)的數(shù)量;
33)將數(shù)量處于前三位的顏色類別作為眾類,其余顏色類別作為寡類,據(jù)此對(duì)每幅圖片賦予顏色標(biāo)簽,
34)拋棄寡類對(duì)應(yīng)的圖片,并根據(jù)眾類對(duì)應(yīng)的圖片,將黑色與白色添加到顏色直方圖的概率統(tǒng)計(jì)顏色類別以及調(diào)色板中,產(chǎn)生對(duì)應(yīng)的顏色直方圖。
該方法還包括以下步驟:
5)將本方法產(chǎn)生的帶有顏色語義的詞匯與人為顏色分配統(tǒng)計(jì)作比較,得到配色準(zhǔn)確度。
所述的步驟32)中,在LAB空間中對(duì)圖片中各個(gè)顏色的像素?cái)?shù)進(jìn)行數(shù)量統(tǒng)計(jì)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
一、保留主體顏色:采用像素點(diǎn)統(tǒng)計(jì)進(jìn)行背景剔除,現(xiàn)有的剔除了大量的有效信息,本發(fā)明將背景過濾改為像素過濾,原調(diào)色板中沒有白色和黑色,因?yàn)檫@兩種顏色很少用于數(shù)據(jù)可視化的展示,因此在統(tǒng)計(jì)像素顏色直方圖時(shí)再進(jìn)行過濾,針對(duì)單個(gè)像素進(jìn)行。
二、配色準(zhǔn)確:采用20色配色版配合顏色直方圖的概率統(tǒng)計(jì),使本發(fā)明的方法配色準(zhǔn)確。
附圖說明
圖1為LAB空間的像素統(tǒng)計(jì)圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說明。
實(shí)施例:
1.獲取數(shù)據(jù)
是對(duì)一組特定類別的詞匯如蔬菜(“番茄”、“土豆”、“青椒”等)進(jìn)行谷歌圖片搜索,并將搜索得的圖片匯總起來,統(tǒng)計(jì)所有圖片的所有像素的顏色以產(chǎn)生顏色直方圖。
對(duì)于一個(gè)關(guān)鍵詞,比如說“蘋果”,除了直接搜索“蘋果”外,本方法還可以通過附加詞來獲得更豐富的圖片數(shù)據(jù),例如“蘋果+素材”,這樣對(duì)每個(gè)關(guān)鍵詞將獲得兩個(gè)顏色直方圖。
2.候選調(diào)色板
并不是隨意取均值為一個(gè)關(guān)鍵詞安排一個(gè)顏色就是合適了。在一次可視化任務(wù)中,必須在所有的類別中實(shí)現(xiàn)一種兼顧區(qū)分度和語義的顏色安排才是有意義的。為了獲取有意義的顏色安排,算法采用了知名可視化公司Tableau的20色調(diào)色板。在每次可視化任務(wù)中將基于這個(gè)調(diào)色板中的20種顏色來為類別按照語義進(jìn)行合理的分配。
3.顏色安排
在獲得所有的顏色直方圖后,對(duì)直方圖作核密度估計(jì)以模擬色彩的分布,并據(jù)其計(jì)算候選調(diào)色板中每種顏色出現(xiàn)的概率,再兼顧色彩之間的辨識(shí)度,得到每一對(duì)“顏色-詞匯”組合的“共鳴分?jǐn)?shù)”(Affinity Score)。這些共鳴分?jǐn)?shù)刻畫了概念與顏色之間聯(lián)結(jié)的強(qiáng)度。根據(jù)所有共鳴分?jǐn)?shù),利用匈牙利法將候選顏色一一分配到詞匯集中,使得總的共鳴分?jǐn)?shù)最高,即色彩語義性最強(qiáng)。
下面是算法的核心公式:
最后,利用Amazon Mechanical Turk上的眾包資源,要求參與者對(duì)相同的詞匯集和顏色集進(jìn)行匹配,并據(jù)此調(diào)整自動(dòng)化算法的參數(shù),使自動(dòng)化分配的結(jié)果盡可能接近人為選擇的方案,A、T兩列分別為算法和人為產(chǎn)生的色彩分配方案,可見兩者有不少近似的地方。
4.算法結(jié)果與實(shí)驗(yàn)
在實(shí)驗(yàn)階段,比較了三種不同的色彩分配對(duì)直方圖閱讀效率的影響,分別為專家選擇、算法生成和隨機(jī)分配的方案。其中專家選擇的方案由商業(yè)可視化軟件Tableau的設(shè)計(jì)者給出,作為其他方案效果的上限和準(zhǔn)繩。在實(shí)驗(yàn)中,被試將會(huì)看到三種直方圖,并要求根據(jù)圖上信息回答問題,其反應(yīng)時(shí)間被記錄下來作為直方圖效果的度量。而實(shí)驗(yàn)的結(jié)果顯示,對(duì)于著色性高、具有相對(duì)固定顏色的詞匯,譬如“天空”、“草莓”、“土豆”等,具有語義共鳴性的色彩分配能提高約10%的反應(yīng)時(shí)間,其中專家選擇的方案略優(yōu)于算法產(chǎn)生的方案。但對(duì)于抽象的、缺少固定顏色的詞匯,如“可口可樂”、“谷歌”、“健康”等,語義共鳴性只能提供較小的改善。
三.問題分析
因?yàn)轭伾才鸥叨纫蕾囉讷@得的圖片數(shù)據(jù),因此結(jié)果的好壞很大程度上取決于原數(shù)據(jù)預(yù)處理的過程,而之后的統(tǒng)計(jì)學(xué)方法并不能提供太多的去噪修正。
先來看一組測(cè)試結(jié)果,見下圖。
可以看到前三個(gè)關(guān)鍵字的顏色安排無法令人滿意,發(fā)現(xiàn)存在如下問題:
1.大量有效的圖片在原算法的背景剔除的過程中被刪去。(原算法通過圖片邊緣的
像素統(tǒng)計(jì),統(tǒng)計(jì)出和黑色、白色在規(guī)定閾值內(nèi)的像素個(gè)數(shù),如果超過整個(gè)邊緣的75%,則認(rèn)為這種圖片難以提取關(guān)鍵顏色信息,予以刪除。)這直接造成了大量有效信息被忽略,總體變?nèi)?,而噪音?shù)據(jù)的權(quán)重更大。例如在“牛奶”中,藍(lán)色背景被保留下來成為了最大的干擾,而白色背景的有效圖片卻被忽略。
2.“百合”、“牡丹”的原數(shù)據(jù)最大的特點(diǎn)是顏色繁雜,關(guān)鍵特征數(shù)據(jù)不易提取。這在統(tǒng)計(jì)時(shí)直接造成的結(jié)果是單個(gè)關(guān)鍵詞和候選色的結(jié)合度平均,最后的結(jié)果分散不具有集中性。
四.改進(jìn)工作
首先,在數(shù)據(jù)采集階段,本方法使用在國內(nèi)更加穩(wěn)定的最新的Baidu Image Search API,修復(fù)對(duì)中文字符集的支持。
其次,修改背景剔除算法。鑒于之前剔除了大量的有效信息,因此將背景過濾改為像素過濾?,F(xiàn)有使用的調(diào)色板中本來沒有白色和黑色,因?yàn)檫@兩種顏色很少用于數(shù)據(jù)可視化的展示。因此在統(tǒng)計(jì)像素顏色直方圖時(shí)再進(jìn)行過濾,針對(duì)單個(gè)像素進(jìn)行。
第三,如圖1所示,在統(tǒng)計(jì)前要進(jìn)行一次聚合。針對(duì)LAB空間,將它按L,A,B正反共計(jì)6個(gè)方向分為6類。將單幅圖的所有像素按顏色進(jìn)行歸類,最后統(tǒng)計(jì)各類別的像素?cái)?shù)。取最多的像素?cái)?shù)的那一類為該幅圖的標(biāo)簽。
在所有的圖都帶有顏色分類標(biāo)簽后再進(jìn)行一次統(tǒng)計(jì),取各類總數(shù)前三的類別為眾類,余下的三類為寡類,這些類別的圖片予以放棄。
最后,要改進(jìn)展示。在現(xiàn)有條件下需要對(duì)結(jié)果進(jìn)行足夠有表現(xiàn)力的展示才能對(duì)結(jié)果進(jìn)行評(píng)估。不可能指望拿著幾個(gè)顏色的編碼作為最終的輸出結(jié)果??梢赃x用D3庫來實(shí)現(xiàn)前端的數(shù)據(jù)讀取和顯示。