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