本公開涉及圖像處理技術領域,特別涉及一種商品屬性的識別方法及裝置。
背景技術:
隨著電子商務的蓬勃發展,網站上商品的數量和規模不斷擴大,給網站管理和電商大數據分析帶來挑戰。除系統化的管理方法外,尚需結合信息技術進行規范化管理;此外,從事電商營銷的組織和個人因地域、文化、語言、宗族的不同,對日常運營呈現出形態各異的商品維護,導致整個電商平臺出現店鋪管理松散,商品規格、型號等文字屬性信息不規范的場景。
由于商品種類繁多且質量參差不齊,很多電商賣家對商品屬性信息維護不全、更新不及或用詞不規范,用戶無法準確了解商品屬性,導致電商平臺的整體服務水平不高。現今純粹通過人為管理的辦法,定時查驗商品圖片、更新商品屬性的文字描述,人力成本較高,很難完成對商品屬性信息的規范管理。因此,對于種類繁多的商品,基于商家提供的商品圖片,自動識別商品圖片得到商品屬性(如名稱、型號規格),對于實現電商平臺的規范化管理具有重要的意義。
技術實現要素:
為了解決相關技術中存在的無法準確識別出商品屬性的問題,本公開提供了一種商品屬性的識別方法。
一方面,本公開提供了一種商品屬性的識別方法,包括:
獲取未知商品圖像;
對所述未知商品圖像進行圖像特征提取,得到未知商品圖像特征;
查找預存儲的與所述未知商品圖像特征匹配的已知商品圖像特征;
將所述已知商品圖像特征對應的商品屬性,作為所述未知商品圖像的商品屬性。
另一方面,本公開還提供了一種商品屬性的識別裝置,包括:
圖像獲取模塊,用于獲取未知商品圖像;
特征提取模塊,用于對所述未知商品圖像進行圖像特征提取,得到未知商品圖像特征;
特征匹配模塊,用于查找預存儲的與所述未知商品圖像特征匹配的已知商品圖像特征;
屬性確定模塊,用于將所述已知商品圖像特征對應的商品屬性,作為所述未知商品圖像的商品屬性。
本公開的實施例提供的技術方案可以包括以下有益效果:
本公開通過提取未知商品圖像的圖像特征,查找與該圖像特征匹配的已知商品圖像特征,進而將已知商品圖像特征對應的商品屬性作為該未知商品圖像的商品屬性,從而無需人為定時查驗未知商品圖像更新對商品屬性的描述,直接根據提供的未知商品圖像就可以得到商品屬性,降低了人力成本,也實現了商品屬性文字描述的規范化,彌補了部分商品屬性信息缺失給電商管理帶來的困擾。
應當理解的是,以上的一般描述和后文的細節描述僅是示例性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發明的實施例,并于說明書一起用于解釋本發明的原理。
圖1是根據本公開所涉及的實施環境的示意圖;
圖2是根據一示例性實施例示出的一種服務器的框圖;
圖3是根據一示例性實施例示出的一種商品屬性的識別方法的流程圖;
圖4是根據另一示例性實施例示出的一種商品屬性的識別方法的流程圖;
圖5是圖3對應實施例的步驟s350的細節的流程圖;
圖6是根據一示例性實施例示出的一種商品屬性的識別裝置的框圖;
圖7是圖6對應實施例的特征匹配模塊的詳細框圖。
具體實施方式
這里將詳細地對示例性實施例執行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發明相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本發明的一些方面相一致的裝置和方法的例子。
圖1是根據本公開所涉及的實施環境的示意圖。該實施環境包括:服務器110和至少一個客戶端120。
服務器110與客戶端120之間的關聯方式,包括硬件的網絡關聯方式和/或協議,以及二者之間往來的數據關聯方式。其中,該服務器110可以是電商平臺進行數據處理的后臺服務器。客戶端120可以是電商賣家的終端設備,客戶端120向服務器110上傳商品圖像,服務器110對上傳的商品圖像進行處理,提取圖像特征,并從數據庫中查找與該圖像特征匹配的已知商品圖像特征,已知商品圖像特征對應的商品屬性作為客戶端120上傳的商品圖像的商品屬性。服務器110通過上述方式,可以快速確定每個客戶端120上傳的商品圖像的商品屬性,無需人為查驗商品圖像來得到商品屬性,降低了人力成本,也實現了商品屬性信息的規范化管理。
參見圖2,圖2是本公開實施例提供的一種服務器結構示意圖。該服務器200可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上中央處理器(centralprocessingunits,cpu)222(例如,一個或一個以上處理器)和存儲器232,一個或一個以上存儲應用程序242或數據244的存儲介質230(例如一個或一個以上海量存儲設備)。其中,存儲器232和存儲介質230可以是短暫存儲或持久存儲。存儲在存儲介質230的程序可以包括一個或一個以上模塊(圖示未示出),每個模塊可以包括對服務器中的一系列指令操作。更進一步地,中央處理器222可以設置為與存儲介質230通信,在服務器200上執行存儲介質230中的一系列指令操作。服務器200還可以包括一個或一個以上電源226,一個或一個以上有線或無線網絡接口250,一個或一個以上輸入輸出接口258,和/或,一個或一個以上操作系統241,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。下述圖3-5所示實施例中所述的由服務器所執行的商品屬性的識別方法可以基于該圖2所示的服務器結構。
圖3是根據一示例性實施例示出的一種商品屬性的識別方法的流程圖。該商品屬性的識別方法的適用范圍和執行主體,例如,該方法用于圖1所示實施環境的服務器110。如圖3所示,該商品屬性的識別方法,可以由服務器110執行,可以包括以下步驟。
在步驟310中,獲取未知商品圖像;
其中,未知商品圖像可以是由電商賣家的客戶端提供,存儲在服務器數據庫中,服務器利用圖像處理工具進行圖像讀取操作,創建一個圖像緩存對象讀取像素數據并將獲取的未知商品圖像存儲在緩存區,從而可以在緩存區中對獲取的未知商品圖像進行處理。具體的,在獲取到未知商品圖像后可以對該圖像進行流處理,生成二進制信息,并以字節數組的方式存儲緩存。
在步驟330中,對所述未知商品圖像進行圖像特征提取,得到未知商品圖像特征;
其中,圖像特征可以是顏色特征、紋理特征、形狀特征、空間關系特征。可選的,本公開示例性實施例所述未知商品圖像特征包括未知商品圖像顏色特征和未知商品圖像紋理特征。
具體的,未知商品圖像顏色特征的提取方法包括:
(1)顏色直方圖法,其優點在于:它能簡單描述一幅圖像中顏色的全局分布,即不同色彩在整幅圖像中所占的比例,特別適用于描述那些難以自動分割的圖像和不需要考慮物體空間位置的圖像。最常用的顏色空間包括rgb顏色空間、hsv顏色空間。顏色直方圖特征匹配方法:直方圖相交法、距離法、中心距法、參考顏色表法、累加顏色直方圖法。
(2)顏色集,顏色直方圖法是一種全局顏色特征提取與匹配方法,無法區分局部顏色信息。顏色集是對顏色直方圖的一種近似首先將圖像從rgb顏色空間轉化成視覺均衡的顏色空間(如hsv空間),并將顏色空間量化成若干個柄。然后,用色彩自動分割技術將圖像分為若干區域,每個區域用量化顏色空間的某個顏色分量來索引,從而將圖像表達為一個二進制的顏色索引集。在圖像匹配中,比較不同圖像顏色集之間的距離和色彩區域的空間關系。
(3)顏色矩,這種方法的數學基礎在于:圖像中任何的顏色分布均可以用它的矩來表示。此外,由于顏色分布信息主要集中在低階矩中,因此,僅采用顏色的一階矩(mean)、二階矩(variance)和三階矩(skewness)就足以表達圖像的顏色分布。
(4)顏色聚合向量,其核心思想是:將屬于直方圖每一個柄的像素分成兩部分,如果該柄內的某些像素所占據的連續區域的面積大于給定的閾值,則該區域內的像素作為聚合像素,否則作為非聚合像素。
具體的,未知商品圖像紋理特征的提取方法包括:
(1)統計方法,統計方法的典型代表是一種稱為灰度共生矩陣的紋理特征分析方法。gotlieb和kreyszig等人在研究共生矩陣中各種統計特征基礎上,通過實驗,得出灰度共生矩陣的四個關鍵特征:能量、慣量、熵和相關性。統計方法中另一種典型方法,則是從圖像的自相關函數(即圖像的能量譜函數)提取紋理特征,即通過對圖像的能量譜函數的計算,提取紋理的粗細度及方向性等特征參數。
(2)幾何法,所謂幾何法,是建立在紋理基元(基本的紋理元素)理論基礎上的一種紋理特征分析方法。紋理基元理論認為,復雜的紋理可以由若干簡單的紋理基元以一定的有規律的形式重復排列構成。在幾何法中,比較有影響的算法有兩種:voronio棋盤格特征法和結構法。
(3)模型法,模型法以圖像的構造模型為基礎,采用模型的參數作為紋理特征。典型的方法是隨機場模型法,如馬爾可夫(markov)隨機場(mrf)模型法和gibbs隨機場模型法。
(4)信號處理法,紋理特征的提取與匹配主要有:灰度共生矩陣、tamura紋理特征、自回歸紋理模型、小波變換等。
以灰度共生矩陣為例,特征提取與匹配主要依賴于能量、慣量、熵和相關性四個參數。tamura紋理特征基于人類對紋理的視覺感知心理學研究,提出6種屬性,即:粗糙度、對比度、方向度、線像度、規整度和粗略度。自回歸紋理模型(simultaneousauto-regressive,sar)是馬爾可夫隨機場(mrf)模型的一種應用實例。
在一種示例性實施例中,可以使用cedd(colorandedgedirectivitydescriptor顏色和邊緣的方向性描述符)算法的紋理模塊和顏色模塊提取未知商品圖像的顏色特征和紋理特征。具體的,grabcut(圖像分割算法)將未知商品圖像分割成若干預設號碼的塊,在hsv顏色空間應用一組模糊規則提取模糊顏色直方圖。對紋理特征的提取與顏色類似,區別在于計算紋理時利用每個像素的rgb值的均值,將每個小塊再分為2*2塊,分別計算水平、垂直、45度、135度和無定向方向的描述子,對顏色需將圖像轉換到hsv空間計算,對hsv分別計算模糊屬于哪個類別,最后根據模糊規則生成量化直方圖。
cedd算法結合了圖像的顏色和紋理信息,生成一個144維的直方圖,cedd直方圖信息由六個區域組成,也就是提取出紋理信息的6維向量直方圖,然后在這些紋理信息的每一維中再加入顏色模塊提取出的24維顏色信息,這樣就可以將顏色和紋理有效結合起來,最終得出6*24=144維的直方圖信息。
通過將rgb模型轉換為hsv模型的方法提取其中的顏色特征和紋理特征,具體算法如下:
設(r,g,b)分別是一個顏色的紅、綠和藍坐標,它們的值是在0到1之間的實數。設max等價于r,g和b中的最大者;設min等于這些值中的最小者。要找到在hsl空間中的(h,s,l)值,這里的h∈[0,360)是角度的色相角,而s,l∈[0,1]是飽和度和亮度,轉換公式如下:
l=1/2(max+min)
h的值通常規范化到位于0到360°之間。而h=0用于max=min的(灰色)時候。hsl和hsv有同樣的色相定義,但是其他分量不同。hsv顏色的s和v的值定義如下:
v=max。
在步驟350中,查找預存儲的與所述未知商品圖像特征匹配的已知商品圖像特征;
需要說明的是,已知商品圖像特征及其對應的商品屬性已事先關聯并存儲在分布式數據庫中。商品屬性是指商品的名稱、規格型號、適應人群、品牌等信息。
具體的,對于未知商品圖像特征,可以通過特征匹配的方式,從分布式數據庫中查找與該位置商品圖像特征匹配的已知商品圖像特征。舉例來說,對于顏色特征的匹配,可以通過顏色直方圖特征匹配方法,如直方圖相交法、距離法、中心距法、參考顏色表法、累加顏色直方圖法。而對于紋理特征的匹配可以依賴于能量、慣量、熵和相關性四個參數進行特征匹配,又或者基于6種屬性“粗糙度、對比度、方向度、線像度、規整度和粗略度”進行特征匹配。特征匹配的方式可以采用現有技術實現,本公開對此不作限定。
在步驟370中,將所述已知商品圖像特征對應的商品屬性,作為所述未知商品圖像的商品屬性。
需要說明的是,在查找到與未知商品圖像特征匹配的已知商品圖像特征后,可以認為未知商品圖像和已知商品圖像是相似的兩張圖片,默認這兩張圖片中的商品具有相同的商品屬性。從而在查找到與未知商品圖像特征匹配的已知商品圖像特征后,可以認為已知商品圖像特征對應的商品屬性是該未知商品圖像特征對應的商品屬性,即得到未知商品圖像的商品屬性。
以圖1所示應用場景舉例來說,客戶端120對上傳商品圖像的商品屬性的文字描述不規范,目前只能通過人為方式定時更新對商品圖像的商品屬性的描述,人力成本較大,無法基于商品圖像直接得到規范且統一的商品屬性的文字描述。
本公開上述示例性實施例,通過提取未知商品圖像的圖像特征,查找與該圖像特征匹配的已知商品圖像特征,進而將已知商品圖像特征對應的商品屬性作為該未知商品圖像的商品屬性,從而無需人為定時查驗未知商品圖像更新對商品屬性的描述,直接根據提供的未知商品圖像就可以得到商品屬性,降低了人力成本,也實現了商品屬性文字描述的規范化。
如圖4所示,在上述示例性實施例的基礎上,在步驟s350查找預存儲的與所述未知商品圖像特征匹配的已知商品圖像特征之前,本公開提供的一種商品屬性的識別方法還包括以下步驟:
在步驟341中,獲取已知商品圖像和對應的商品屬性;
具體的,可以在服務器中部署爬蟲系統做已知商品圖像的定向抓取,并根據抓取的已知商品圖像整理出對應的商品屬性數據。
在步驟342中,對所述已知商品圖像進行圖像特征提取,得到已知商品圖像特征;
其中,已知商品圖像特征包括已知商品圖像顏色特征和已知商品圖像紋理特征。對于已知商品圖像的圖像特征的提取方式可以參照上述示例性實施例中,對未知商品圖像的顏色特征和紋理特征的提取方法。在此不再贅述。
在步驟343中,將所述已知商品圖像特征和對應的商品屬性進行關聯并存儲。
具體的,可以獲取量化直方圖(即已知商品圖像特征),進行base64編碼將字節數組編碼成字符串,最后可使用img標簽輸出base64編碼的圖片。已知商品圖像特征經過base64編碼后的字符串與對應的商品屬性進行關聯,并存儲。
優選的,在步驟s350之前,所述方法還可以包括:建立對未知商品圖像特征的lsh局部敏感哈希索引,用于查找與所述未知商品圖像特征匹配的已知商品圖像特征。
局部敏感哈希算法(locality-sensitivehashing,lsh)的基本思想是:將原始數據空間中的兩個相鄰數據點通過相同的映射或投影變換(projection)后,這兩個數據點在新的數據空間中仍然相鄰的概率很大,而不相鄰的數據點被映射到同一個桶的概率很小。也就是說,如果對原始數據進行一些哈希映射后,我們希望原先相鄰的兩個數據能夠被哈希到相同的桶內,具有相同的桶號。對原始數據集合中所有的數據都進行哈希映射后,我們就得到了一個哈希表,這些原始數據集被分散到了哈希表的桶內,每個桶會落入一些原始數據,屬于同一個桶內的數據就有很大可能是相鄰的,當然也存在不相鄰的數據被哈希到了同一個桶內。因此,如果我們能夠找到這樣一些哈希函數,使得經過它們的哈希映射變換后,原始空間中相鄰的數據落入相同的桶內的話,那么我們在該數據集合中進行近鄰查找就變得容易了,我們只需要將查詢數據進行哈希映射得到其桶號,然后取出該桶號對應桶內的所有數據,再進行線性匹配即可查找到與查詢數據相鄰的數據。換句話說,我們通過哈希函數映射變換操作,將原始數據集合分成了多個子集合,而每個子集合中的數據間是相鄰的且該子集合中的元素個數較小,因此將一個在超大集合內查找相鄰元素的問題轉化為了在一個很小的集合內查找相鄰元素的問題,顯然計算量下降了很多。
那具有怎樣特點的哈希函數才能夠使得原本相鄰的兩個數據點經過哈希變換后會落入相同的桶內。這些哈希函數需要滿足以下兩個條件:
1)如果d(x,y)≤d1,則h(x)=h(y)的概率至少為p1;
2)如果d(x,y)≥d2,則h(x)=h(y)的概率至多為p2;
其中d(x,y)表示x和y之間的距離,d1<d2,h(x)和h(y)分別表示對x和y進行hash變換。
滿足以上兩個條件的哈希函數稱為(d1,d2,p1,p2)-sensitive。而通過一個或多個(d1,d2,p1,p2)-sensitive的哈希函數對原始數據集合進行哈希生成一個或多個哈希表的過程稱為lsh。
使用lsh進行對海量數據建立索引(即哈希表)的過程如下:離線建立索引
(1)選取滿足(d1,d2,p1,p2)-sensitive的lsh哈希函數;
(2)根據對查找結果的準確率(即相鄰的數據被查找到的概率)確定哈希表的個數l,每個表內的哈希函數的個數k,以及跟lsh哈希函數自身有關的參數;
(3)將所有數據經過lsh哈希函數哈希到相應的桶內,構成了一個或多個哈希表;
需要說明的是,已知商品圖像特征可以由一個或多個特征向量來表達,為了檢索出與未知商品圖像相似的圖像集合,我們可以通過集成elasticsearch-image插件,對已知商品圖像特征數據庫中的所有特征向量利用上述方法建立lsh索引,通過查找lsh索引可以加快檢索出匹配的已知商品圖像特征的速度。
圖5是對圖1對應實施例中的步驟s350的細節進行描述的流程示意圖,如圖5所示,步驟s350具體包括:
在步驟351中,對所述未知商品圖像特征進行編碼將字節數組編寫成字符串;
具體的,對于未知商品圖像特征的量化直方圖,可以通過base64編碼的方式,將字節數組編寫成字符串。
在步驟352中,將所述字符串經過局部敏感哈希算法的哈希函數,得到對應的存儲位置;
具體的,應用lsh算法,將待查詢的未知商品圖像特征的字節數組字符串經過lsh哈希函數的哈希映射得到相應的桶號(即存儲位置)。換句話說,得到了存儲有已知商品圖像特征數據的容器的編號,即“桶號”,并且該編號對應的容器中存儲的已知商品圖像特征與所查詢的未知商品圖像特征匹配的可能性較大。
在步驟353中,獲取所述存儲位置對應的所有已知商品圖像特征;
需要說明的是,由于建立了lsh索引,從而可以快速讀取桶號中對應的所有數據,即可以得到存儲位置對應的所有已知商品圖像特征。為了保證查找速度,通常也可只需取出前2l個數據。
在步驟354中,計算所述未知商品圖像特征與每個已知商品圖像特征之間的相似度或距離,將相似度最高或距離最接近的已知商品圖像特征作為與所述未知商品圖像特征匹配的已知商品圖像特征。
其中,取出桶號中所有的已知商品圖像特征與未知商品圖像特征進行比對,具體的,計算未知商品圖像特征與2l個已知商品圖像特征之間的相似度或距離。其中,可以設置閾值,當相似度大于第一閾值或者距離小于第二閾值時,認為該未知商品圖像特征與已知商品圖像特征是匹配的,未知商品圖像與已知商品圖像是類似的圖片,可以將已知商品圖像的商品屬性作為該未知商品圖像的商品屬性。
下述為本公開裝置實施例,可以用于執行本公開上述服務器110執行的商品屬性的識別方法實施例。對于本公開裝置實施例中未披露的細節,請參照本公開商品屬性的識別方法實施例。
圖6是根據一示例性實施例示出的一種商品屬性的識別裝置的框圖,該商品屬性的識別裝置可以用于圖1所示實施環境的服務器110中,執行圖3-5任一所示的商品屬性的識別方法的全部或者部分步驟。如圖6所示,該商品屬性的識別裝置包括但不限于:圖像獲取模塊610、特征提取模塊630、特征匹配模塊650以及屬性確定模塊670。
圖像獲取模塊610,用于獲取未知商品圖像;
特征提取模塊630,用于對所述未知商品圖像進行圖像特征提取,得到未知商品圖像特征;
特征匹配模塊650,用于查找預存儲的與所述未知商品圖像特征匹配的已知商品圖像特征;
屬性確定模塊670,用于將所述已知商品圖像特征對應的商品屬性,作為所述未知商品圖像的商品屬性。
上述裝置中各個模塊的功能和作用的實現過程具體詳見上述xx方法中對應步驟的實現過程,在此不再贅述。
圖像獲取模塊610比如可以是圖2中的某一個物理結構輸入輸出接口258。
特征提取模塊630、特征匹配模塊650以及屬性確定模塊670也可以是功能模塊,用于執行上述商品屬性的識別方法中的對應步驟。可以理解,這些模塊可以通過硬件、軟件、或二者結合來實現。當以硬件方式實現時,這些模塊可以實施為一個或多個硬件模塊,例如一個或多個專用集成電路。當以軟件方式實現時,這些模塊可以實施為在一個或多個處理器上執行的一個或多個計算機程序,例如圖2的中央處理器222所執行的存儲在存儲器232中的程序。
可選的,所述未知商品圖像特征可以包括但不限于未知商品圖像顏色特征和未知商品圖像紋理特征。
可選的,在上述示例性實施例的基礎上,所述裝置還可以包括但不限于:
信息獲取模塊,用于獲取已知商品圖像和對應的商品屬性;
已知商品特征提取模塊,用于對所述已知商品圖像進行圖像特征提取,得到已知商品圖像特征;
存儲模塊,用于將所述已知商品圖像特征和對應的商品進行關聯并存儲。
可選的,在上述示例性實施例的基礎上,所述裝置還可以包括但不限于:
索引構建模塊,用于建立對未知商品圖像特征的lsh局部敏感哈希索引,用于查找與所述未知商品圖像特征匹配的已知商品圖像特征。
圖7為對圖6對應實施例中的特征匹配模塊650的細節進行描述的框架示意圖,如圖7所示,所述特征匹配模塊650可以包括但不限于:編碼單元651、哈希單元652、獲取單元653以及計算單元654;
編碼單元651,用于對所述未知商品圖像特征進行編碼將字節數組編寫成字符串;
哈希單元652,用于將所述字符串經過局部敏感哈希算法的哈希函數,得到對應的存儲位置;
獲取單元653,用于獲取所述存儲位置對應的所有已知商品圖像特征;
計算單元654,用于計算所述未知商品圖像特征與每個已知商品圖像特征之間的相似度或距離,將相似度最高或距離最接近的已知商品圖像特征作為與所述未知商品圖像特征匹配的已知商品圖像特征。
可選的,本公開還提供一種商品屬性的識別裝置,該商品屬性的識別裝置可以用于圖1所示實施環境的服務器110中,執行圖3-5任一所示的商品屬性的識別方法的全部或者部分步驟。所述裝置包括:
處理器;
用于存儲處理器可執行指令的存儲器;
其中,所述處理器被配置為執行:
獲取未知商品圖像;
對所述未知商品圖像進行圖像特征提取,得到未知商品圖像特征;
查找預存儲的與所述未知商品圖像特征匹配的已知商品圖像特征;
將所述已知商品圖像特征對應的商品屬性,作為所述未知商品圖像的商品屬性。
該實施例中的裝置的處理器執行操作的具體方式已經在有關該商品屬性的識別方法的實施例中執行了詳細描述,此處將不做詳細闡述說明。
在示例性實施例中,還提供了一種存儲介質,該存儲介質為計算機可讀存儲介質,例如可以為包括指令的臨時性和非臨時性計算機可讀存儲介質。該存儲介質例如包括指令的存儲器232,上述指令可由服務器200的中央處理器222執行以完成上述商品屬性的識別方法。
應當理解的是,本發明并不局限于上面已經描述并在附圖中示出的精確結構,并且可以在不脫離其范圍執行各種修改和改變。本發明的范圍僅由所附的權利要求來限制。