張軒宇,鄧作杰,高櫻萍,黃 威
(湖南工程學(xué)院 計(jì)算機(jī)與通信學(xué)院,湘潭 411104)
近年來,服裝圖像特征識(shí)別廣泛應(yīng)用于服裝搜索領(lǐng)域.服裝圖像主要有輪廓、顏色和形狀三種特征,與其他特征相比,顏色更能準(zhǔn)確地反映出一個(gè)服裝圖像的主要信息.許多研究人員對(duì)服裝顏色識(shí)別方法進(jìn)行了研究.Le Xing等[1]提出利用均值平移聚類算法對(duì)服裝圖像像素進(jìn)行聚類,并從分類結(jié)果中提取主色調(diào).但是,由于其方法提取的圖像主顏色容易受圖像背景環(huán)境的影響,使得識(shí)別的顏色不精確,容易造成誤差.Ran Jin等[2]提出了利用k均值聚類算法來提高目標(biāo)區(qū)域的分割精度,從而有效地在圖像中識(shí)別顏色.但是該方法容易受到圖像其他顏色的影響,形成多余的聚類,從而導(dǎo)致識(shí)別效率不高.本文融合使用均值平移和k均值聚類,利用兩種算法在圖像顏色識(shí)別中的優(yōu)勢(shì),使用k均值聚類去除圖像背景,對(duì)圖像顏色進(jìn)行粗略處理,然后使用均值平移對(duì)圖像顏色進(jìn)行精細(xì)化處理.實(shí)驗(yàn)證明,本文提出的方法可以精確、高效地對(duì)服裝圖像顏色進(jìn)行識(shí)別.
k均值聚類是一種迭代求解的聚類分析算法,它將若干個(gè)樣本值分為k個(gè)聚類,每個(gè)樣本值將分配給距離最近的聚類中心.均值平移是一種無參估計(jì)算法,算法利用像素特征點(diǎn)概率密度函數(shù)的梯度推導(dǎo)而得.均值平移通過迭代運(yùn)算收斂于概率密度函數(shù)的局部最大值,實(shí)現(xiàn)目標(biāo)定位從而達(dá)到局部最優(yōu)點(diǎn).
給定一組樣本值(x1,x2,…,xn),每個(gè)樣本值都有可能為初始點(diǎn),k均值聚類算法將樣本點(diǎn)劃分成k類,每個(gè)樣本點(diǎn)距離簇的聚類中心越近簇內(nèi)相似度越高.
對(duì)每一個(gè)樣本點(diǎn)之間的距離計(jì)算采用歐氏距離計(jì)算公式,初始聚類中心隨機(jī)選取后,通過樣本點(diǎn)之間的距離大小,將其隨機(jī)分配至附近的聚類中心,其過程如圖1所示.
圖1 k均值聚類算法過程圖
1.2.1 基本概念
均值平移是一個(gè)沿著密度上升方向?qū)ふ揖鄞攸c(diǎn)的方法.其計(jì)算過程使用了迭代方法,如圖2所示,在一個(gè)有N個(gè)樣本點(diǎn)的特征空間里確定一個(gè)中心點(diǎn),設(shè)置的半徑為D,計(jì)算在圓形空間內(nèi)所有的點(diǎn)與中心點(diǎn)的向量,得出整個(gè)圓形空間內(nèi)所有向量的平均值,得到一個(gè)平移均值,將中心點(diǎn)移動(dòng)到平移均值位置重復(fù)移動(dòng),直到滿足一定條件結(jié)束.
圖2 中心點(diǎn)移動(dòng)過程圖
1.2.2 引入核函數(shù)的均值平移
核函數(shù)是用來計(jì)算映射到高維空間之后內(nèi)積的一種簡(jiǎn)便方法,目的是為了讓低維的不可分?jǐn)?shù)據(jù)變成高維的可分?jǐn)?shù)據(jù).利用核函數(shù),可以忽略映射關(guān)系,直接在低維空間中完成計(jì)算.在均值平移中引入核函數(shù)的概念,能夠使計(jì)算中距離中心的點(diǎn)具有更大的權(quán)值,反映距離越短,權(quán)值越大的特性.改進(jìn)的均值平移:x為中心點(diǎn),xi為帶寬范圍內(nèi)的點(diǎn),n為帶寬范圍內(nèi)的點(diǎn)的數(shù)量,g(x)為對(duì)核函數(shù)的導(dǎo)數(shù)求負(fù):
k均值聚類會(huì)把圖像背景顏色和圖像顏色聚類到一些簇中,從而出現(xiàn)許多多余數(shù)據(jù),導(dǎo)致聚類結(jié)果出現(xiàn)比較大的誤差.圖3給出了圖像聚類后的結(jié)果.而均值平移則會(huì)根據(jù)圖像內(nèi)容把數(shù)據(jù)分為幾大類.如果把均值平移應(yīng)用于k均值聚類后的結(jié)果則會(huì)使得顏色識(shí)別更準(zhǔn)確.具體過程為:首先,我們使用k均值聚類來對(duì)服裝在復(fù)雜環(huán)境中的圖像進(jìn)行聚類;接著通過聚類得到數(shù)據(jù)重建為服裝色彩空間里的向量;最后,采用均值平移對(duì)通過色彩空間里的數(shù)據(jù)再次進(jìn)行聚類,并對(duì)含有正確顏色名稱的數(shù)據(jù)庫進(jìn)行相似度匹配,通過計(jì)算得出顏色之間的最小距離,從而給出服裝圖像的顏色最準(zhǔn)確的名稱.
圖3 k均值聚類結(jié)果圖
k均值聚類可以通過對(duì)設(shè)置參數(shù)的大小來影響服裝圖像顏色的聚類情況.當(dāng)設(shè)置參數(shù)過大,會(huì)導(dǎo)致出現(xiàn)的顏色聚類過多,無法對(duì)服裝以外的其他顏色進(jìn)行準(zhǔn)確地剔除,當(dāng)設(shè)置參數(shù)過小,會(huì)導(dǎo)致服裝原本具有的顏色無法全部顯現(xiàn)出來.在本文中,將聚類參數(shù)設(shè)置為2,則服裝擁有2種不同的顏色.
圖4顯示了沒有背景的圖像.使用k均值聚類來對(duì)人在復(fù)雜環(huán)境中的圖像進(jìn)行聚類后,利用顏色空間將聚類數(shù)據(jù)重建為向量值.
圖4 用k-均值去除圖像背景
最后,使用均值平移重建圖像的顏色類別,即重建后的聚類數(shù)據(jù)集,對(duì)比標(biāo)準(zhǔn)數(shù)據(jù)庫通過相似性給出服裝顏色名稱,通過均值平移獲得服裝主要顏色.
為了驗(yàn)證本文算法的有效性,使用Matlab2014a軟件對(duì)它進(jìn)行了兩組仿真實(shí)驗(yàn).實(shí)驗(yàn)機(jī)器的操作系統(tǒng)是Windows10,CPU的頻率為2 GHz,內(nèi)存為4 GB.
實(shí)驗(yàn)一:對(duì)含有2種顏色跨度較大的服裝圖像進(jìn)行識(shí)別.在實(shí)驗(yàn)中把本文使用的幾種算法進(jìn)行了比較.不同顏色的服裝圖像識(shí)別實(shí)驗(yàn)結(jié)果如圖5所示.
圖5 三種算法識(shí)別顏色效果比較圖
由圖5可知,k均值聚類與均值平移算法實(shí)驗(yàn)結(jié)果的服裝顏色名稱與實(shí)際服裝顏色名稱存在偏差,即圖5(a)中圖片的顏色名稱被命名為藍(lán)色和紅色;圖5(b)中圖片的顏色名被命名為天藍(lán)色和大紅色,這是由于均值平移根據(jù)像素只給出圖像上一個(gè)大體的顏色分布,它將圖像含有最多的顏色默認(rèn)為服裝的顏色;圖5(c)可以看出,通過對(duì)兩者算法優(yōu)勢(shì)的融合得出了很好的結(jié)果,它將服裝圖像顏色名稱具體化,并且不受背景因素的影響.這是由于在通過k均值聚類后,它將服裝圖像里的環(huán)境部分去除后,然后在通過均值平移,提取服裝圖像中存在顏色最多的像素點(diǎn),通過與數(shù)據(jù)庫進(jìn)行相似性匹配,最終得到的顏色就是我們想要的實(shí)際顏色.
實(shí)驗(yàn)二:圖6顯示了通過對(duì)300張不同的服裝圖像進(jìn)行測(cè)試,得到了三種算法對(duì)顏色識(shí)別的準(zhǔn)確率的對(duì)比.
圖6 算法準(zhǔn)確率對(duì)比圖
由圖可知,均值平移和k均值聚類算法在進(jìn)行大量服裝圖像顏色識(shí)別測(cè)試時(shí),顏色的識(shí)別準(zhǔn)確率明顯偏低,數(shù)據(jù)分布在20%~70%的范圍內(nèi).而結(jié)合兩種算法對(duì)大量的服裝圖像進(jìn)行顏色識(shí)別測(cè)試,識(shí)別的準(zhǔn)確率提升至80%~90%,大大提高了準(zhǔn)確性并得到了理想的效果,證實(shí)了本文提出的方法具有可行性.
服裝圖像顏色識(shí)別已經(jīng)廣泛應(yīng)用在服裝搜索領(lǐng)域.現(xiàn)有的顏色識(shí)別方法都是把顏色特征粗略地劃分為幾個(gè)具體的值來進(jìn)行匹配,從而會(huì)導(dǎo)致顏色識(shí)別出現(xiàn)比較大的誤差.本文融合使用k均值聚類和均值平移的顏色識(shí)別方法,它能夠有效解決這個(gè)問題.實(shí)驗(yàn)結(jié)果顯示了本文方法能夠準(zhǔn)確地從彩色服裝圖像信息中提取服裝顏色.為了更高效地進(jìn)行圖像檢索,在后續(xù)的研究中,將研究對(duì)顏色數(shù)據(jù)庫進(jìn)行準(zhǔn)確分類,以區(qū)分相似的顏色,提高識(shí)別率.