劉瑞昊 于振中 孫 強(qiáng)
[1.江南大學(xué),江蘇無錫,214122;2.哈工大機(jī)器人(合肥)國際創(chuàng)新研究院,安徽合肥,230601]
在紡織行業(yè)中,檢索織物圖像的工作一般是依賴個人經(jīng)驗(yàn)查找完成的。此種策略不僅耗費(fèi)大量的人力、物力,而且在速度和準(zhǔn)確率上都有人為的主觀性,不能滿足用戶對檢索到相同或類似圖片的實(shí)時性和準(zhǔn)確性要求[1]。市場上存在檢索圖片的方法和系統(tǒng),但是不完全適用于織物圖像的檢索需要,仍需要較大的改進(jìn)。
針對圖像檢索領(lǐng)域,主要有兩方面技術(shù):基于文本內(nèi)容的檢索(Text-based Image Retrieval,TBIR)和基于內(nèi)容的圖像檢索(Content-based Image Retrieval,CBIR)技術(shù)[2-5]。TBIR 是通過使用關(guān)鍵字表述圖像,將圖像檢索轉(zhuǎn)化為文字匹配問題,TBIR 需要人工對大量的圖片文字標(biāo)注,耗費(fèi)許多人力資源,此外人工標(biāo)注的主觀性也會造成錯誤的檢索結(jié)果。CBIR 是分析提取圖像的視覺或語義特征,結(jié)合相似度度量算法,在檢索庫中檢索和目標(biāo)最為相似的圖片,并排序輸出,這是目前國內(nèi)外研究的熱點(diǎn)。
在織物圖像的檢索方面,早期傳統(tǒng)的檢索方法是依靠手工設(shè)計(jì)的特征。劉立等[6]提出的簡化SIFT(Scale-invariant Feature Transform)算法實(shí)現(xiàn)快速圖像匹配,但是忽略了色彩信息;YANG L F 等[7]提出在圖像檢測中使用主顏色矩匹配實(shí)現(xiàn)相似度測量,但是運(yùn)行的速度較慢。有一些研究是將幾種特征表示融合,再與圖像檢索的功能組合起來。JING J F 等[8]提出了一種基于多特征融合的印刷織物圖像檢索的方法,其中顏色描述表示顏色特征,GIST 表示空間形狀特征,此方法提高了檢索精度,但計(jì)算量大、運(yùn)行速度不快;ZHANG L J 等[9]提出基于旋轉(zhuǎn)不變性和多尺寸LBP(Local Binary Patterns)的一種織物圖像檢索方法,其運(yùn)行的效率也不是很高。近年來,將深度學(xué)習(xí)的特征表示引入圖像檢索也有很多成果。段文靜等[10]提出了基于深度學(xué)習(xí)有監(jiān)督的離散哈希算法,提高了檢索的精度;任夏荔等[11]在主成分分析算法的基礎(chǔ)上對特征進(jìn)行哈希編碼然后檢索,雙層檢索提高了模型的檢索能力;曾凡鋒等[12]提出一種改進(jìn)傳統(tǒng)哈希編碼的雙線性模型網(wǎng)絡(luò)結(jié)構(gòu)的圖像檢索方法,在哈希編碼的基礎(chǔ)上做了進(jìn)一步改進(jìn);王妙[13]提出基于深度學(xué)習(xí)的印花織物圖像檢索系統(tǒng)設(shè)計(jì),采用哈希算法的粗檢索和卷積神經(jīng)網(wǎng)絡(luò)的細(xì)致檢索相結(jié)合的分級檢索,在提高精度的基礎(chǔ)上進(jìn)一步提高了速度;XIANG J 等[14]提出的卷積神經(jīng)網(wǎng)絡(luò)針對織物圖片分級檢索也取得很好的效果。
雖然在織物檢索方面取得了很好的成果,但是通過深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)方法用來學(xué)習(xí)圖像特征表示,仍具有明顯的優(yōu)勢,而且將其應(yīng)用在織物圖像檢索方面,在速度和準(zhǔn)確率上仍有較大的提升空間。本研究主要針對當(dāng)前傳統(tǒng)人工整理的庫存織物進(jìn)行檢索,通過結(jié)合深度學(xué)習(xí)技術(shù)以及分級檢索的策略解決市場上存在檢索方法難以滿足需求,以及檢索耗時久、檢索精度低的問題,為紡織行業(yè)管理提供更加高效的策略。
織物圖像的檢索系統(tǒng)是依據(jù)實(shí)際紡織行業(yè)的需求,對織物圖像進(jìn)行特征學(xué)習(xí)、表示及相似性匹配等,最后完成檢索目標(biāo)。系統(tǒng)有圖像預(yù)處理、圖像模型訓(xùn)練、圖像索引庫和檢索模塊4 個部分。圖像預(yù)處理主要包括圖像數(shù)據(jù)的分類及篩檢、圖像變換均衡化等操作;圖像模型訓(xùn)練中特征表達(dá)是檢索系統(tǒng)的重點(diǎn),主要涉及模型的參數(shù)設(shè)置以及將訓(xùn)練好的合適模型導(dǎo)出;圖像索引庫是利用訓(xùn)練好的模型對數(shù)據(jù)庫中的圖像進(jìn)行特征提取,并保存起來,構(gòu)建成圖像特征索引庫;檢索模塊是將待檢索圖像與數(shù)據(jù)庫圖像進(jìn)行相似度匹配,排序后輸出檢索結(jié)果。
基于深度學(xué)習(xí)的織物圖像檢索系統(tǒng)框架結(jié)構(gòu)如圖1 所示。
圖1 圖像檢索整體框架流程
該系統(tǒng)將圖像檢索技術(shù)與深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合。首先利用CNN 對數(shù)據(jù)庫中分好的4 類圖像分別進(jìn)行訓(xùn)練,得到提取4 類織物特征的CNN 模型,將數(shù)據(jù)庫中其他圖片根據(jù)其類別分別通過4 類CNN 模型提取到各自的特征向量,并根據(jù)類別分別保存至對應(yīng)的特征索引數(shù)據(jù)庫中;然后將待檢索圖像輸入到檢索系統(tǒng)中,使用相同類別的CNN 模型對輸入的圖像進(jìn)行特征提取,得到能夠表達(dá)圖像信息的特征向量,同時提取出相同類別的圖像特征索引數(shù)據(jù)庫,選擇歐氏距離匹配算法完成待檢索圖像的特征向量與檢索庫中數(shù)據(jù)的特征向量之間的相似性匹配;最后再將相似度最高的topk檢索結(jié)果經(jīng)服務(wù)器返回,完成檢索過程。
對于少量的待測圖片,可采用人工分類,在相同的類中進(jìn)行檢測,由于4 類庫中評價(jià)標(biāo)準(zhǔn)相同均采用相似度計(jì)算,若待測圖片在一類中得分很低,可在其他庫中再檢測,輸出相似的圖片;對于大量的待測圖片,可采用深度學(xué)習(xí)方法,先訓(xùn)練出分類模型,再將分好類的圖片分別放入相應(yīng)的庫中檢測,輸出結(jié)果。
織物圖片數(shù)據(jù)集是從紡織廠收集得到的真實(shí)織物卡片數(shù)據(jù)集,獲得26 065 張圖片,并根據(jù)卡片外觀將其分為4 類,分別是純色(11 272 張)、條紋(6 775 張)、網(wǎng)格(6 614 張)、圖案(1 404 張),如圖2 所示。
圖2 4 類圖片的劃分
為避免因織物類別中數(shù)量差異導(dǎo)致訓(xùn)練效果有偏差,保持各類訓(xùn)練數(shù)據(jù)集數(shù)量相同,每類取4 000 張作訓(xùn)練數(shù)據(jù)集,剩余圖片均作為模型的測試集,由于圖案織物的數(shù)量較少,且圖案圖像多為不規(guī)則圖像,而檢索主要需要是紋理特征的提取,故隨機(jī)抽取圖案訓(xùn)練集的1 000 張,網(wǎng)格訓(xùn)練集的2 000 張,條紋訓(xùn)練集的1 000 張,制作成訓(xùn)練圖案提取紋理特征的數(shù)據(jù)集。
針對訓(xùn)練數(shù)據(jù)集,對于每一張?jiān)紙D420 像素×570 像素的織物卡片,對其隨機(jī)切割、旋轉(zhuǎn)、對比度、亮度等變化的數(shù)據(jù)增強(qiáng)用來擴(kuò)大模型的魯棒性,獲得28 張420 像素×285 像素的大小圖片,將其壓縮至112 像素×112 像素的大小,并放入同一文件夾,將其視作1 個小類,對于每一大類圖片,目標(biāo)是訓(xùn)練出能夠分辨出4 000 張圖片差異的特征提取模型,且在同一大類圖片中,每張圖片之間的差異很小,對模型要求更高。在訓(xùn)練數(shù)據(jù)集中,以10∶1 比例進(jìn)行訓(xùn)練,得到模型后,在測試集中測試檢索的效果。
針對測試數(shù)據(jù),本研究創(chuàng)新處理數(shù)據(jù)集,使其更加符合實(shí)際檢索情況,將測試集的每一張?jiān)紙D片平均分割成2 份,大小均為420 像素×285 像素,一份通過相同類別的特征提取模型得到紋理特征,將其作為檢索的索引數(shù)據(jù)庫;另一份均作為待檢測圖片,通過在相同類別的索引庫中,用半張待測圖片檢索出另一半,測試網(wǎng)絡(luò)的檢索效果。
針對檢索的策略,本研究將此圖片先分類再檢索,以整體的檢索時間、topk和mAP作為評價(jià)依據(jù)。同時研究深度學(xué)習(xí)模型與數(shù)據(jù)集的關(guān)系,增加對比試驗(yàn),將4 類圖片訓(xùn)練數(shù)據(jù)集放在一起進(jìn)行整體訓(xùn)練和分類別驗(yàn)證。
特征提取是織物圖像檢索最重要的環(huán)節(jié),每一張圖片經(jīng)過訓(xùn)練的模型提取,得到的特征是獨(dú)特的,也是其識別的依據(jù),更是后續(xù)特征匹配的關(guān)鍵,所以優(yōu)秀的網(wǎng)絡(luò)模型和訓(xùn)練策略使得模型更加完善。ResNet[15]網(wǎng)絡(luò)自出現(xiàn)后,其表現(xiàn)就非常優(yōu)秀,可作為提高檢索識別的模型,通過進(jìn)一步優(yōu)化其網(wǎng)絡(luò)結(jié)構(gòu),使其更加符合織物這一研究對象,讓模型從織物數(shù)據(jù)中學(xué)習(xí)到更多有用的信息。本研究使用修改后的LResNet50E-IR 網(wǎng)絡(luò),來源于Arcface[16],遷移學(xué)習(xí)其網(wǎng)絡(luò)結(jié)構(gòu),由于檢索的目標(biāo)是織物,檢測的重點(diǎn)是角點(diǎn)信息,淺層網(wǎng)絡(luò)提取的細(xì)節(jié)特征更符合織物檢索的特點(diǎn),而ResNet 網(wǎng)絡(luò)隨著圖層的加深,圖像特征逐漸變得更復(fù)雜,計(jì)算量也會增加,所以使用的模型在ResNet50 基礎(chǔ)上做出以下改進(jìn)。一是替換第一個7×7 的卷積改為3×3 的卷積。二是在Layer5 的卷積層后續(xù)相繼使用批量歸一化層(BN),丟棄層(Dropout),全連接層(FC)和批量歸一化層,用來優(yōu)化輸出。三是將批量歸一化→卷積層→批量歸一化→PReLU→卷積層→批量歸一化結(jié)構(gòu)作為殘差塊,激活函數(shù)不使用ReLU,改為PReLU。四是將LResNet50E-IR 的最后兩個卷積模塊各自減少一層,在保證特征提取能力的情況下,減少模型的計(jì)算量,加快模型的訓(xùn)練速度,既可以保證特征提取的能力,也一定程度避免了過擬合問題,增加了模型的魯棒性。
faiss 是Facebook AI 團(tuán)隊(duì)開源的針對聚類和相似性搜索庫,將高效相似度搜索和聚類方法用來解決稠密向量問題,能夠達(dá)到任意大小向量集甚至數(shù)十億級別向量的搜索[17]。以檢索圖片為例,相似度搜索就是在給定的一堆圖片中,尋找出與待測的目標(biāo)最像的K張圖片,簡稱為K 近鄰方法[18]。本研究使用faiss 索引,faiss 為每一張輸入圖片的向量記錄一個索引,然后向索引中添加特征向量,search 方法提供搜索,通過相似度計(jì)算,輸出結(jié)果。
2.4.1 相似性計(jì)算
相似性度量是用于判斷兩幅圖片的相似程度,通過距離函數(shù)計(jì)算兩幅圖像特征向量之間的距離差,距離數(shù)值越小意味著兩幅圖像相似度越高。本研究采用歐氏距離[19],歐氏距離表示為兩個坐標(biāo)點(diǎn)的直線距離。
2.4.2 評價(jià)標(biāo)準(zhǔn)
對于查詢圖像,將其與相同類別的索引庫中保存的特征向量進(jìn)行匹配,歐氏距離測量相應(yīng)的兩個特征向量的距離,并選擇相似度排名較高的前k名圖像輸出[20]。
本研究根據(jù)傳統(tǒng)的topk思路,重新定義了檢索的評估方法Ptopk,計(jì)算見式(1)。
式中:對于每一張查詢圖片Ci,在檢索輸出排名前k中的圖片中,若是與查詢圖片屬于同一張圖的兩個不同部分,即排名前k數(shù)據(jù)庫中圖片的名稱含有被查詢圖片的名稱,則認(rèn)為此圖片的對應(yīng)的topk查詢到,Ci=1,否則Ci=0。有m張查詢圖像,統(tǒng)計(jì)對應(yīng)的topk檢索到的準(zhǔn)確率。
本研究使用mAP作為綜合評價(jià)指標(biāo),對于m張圖片,計(jì)算其mAP值,計(jì)算公式見(2)。
式中:APi是每一張待測圖的前10 個預(yù)測圖的精度。
使用的計(jì)算機(jī)為windows10,64 位操作系統(tǒng),處理 器 為Inter(R)Core(TM)i7-7700 CPU @3.60 GHz、16 G RAM。
在后續(xù)的深度學(xué)習(xí)算法的改進(jìn)與運(yùn)行主要是在服務(wù)器上進(jìn)行,服務(wù)器使用的是Intel Xeon E5-2680 v3,CPU 運(yùn)行內(nèi)存64 G,GPU(RTX2080Ti)顯存11 G,開發(fā)語言python。
使用深度學(xué)習(xí)框架MXNet[21]訓(xùn)練模型,ADAM[22]被用作優(yōu)化器,代替了傳統(tǒng)的隨機(jī)梯度下降的優(yōu)化算法。根據(jù)織物檢索的實(shí)際情況,修改網(wǎng)絡(luò)層數(shù)和參數(shù),調(diào)整網(wǎng)絡(luò)尺寸112 像素×112 像素,迭代次數(shù)5 000 次,學(xué)習(xí)率0.001,batchsize 為64。訓(xùn)練過程中驗(yàn)證集的準(zhǔn)確率如圖3 所示。
圖3 訓(xùn)練過程中準(zhǔn)確率變化
對比算法采用多特征融合檢索方式的傳統(tǒng)算法,即采用基于顏色矩(Color Moments,CM)和要點(diǎn)特征(Gist Feature,GF)相結(jié)合方式提取圖片的特征,相似度計(jì)算采用歐氏距離進(jìn)行對比,試驗(yàn)的準(zhǔn)確率結(jié)果如圖4 所示。CM+GIST 全檢索、CM+GIST 分級檢索、深度學(xué)習(xí)+faiss 全檢索、深度學(xué)習(xí)+faiss 分級檢索的Top10mAP值分別為84.45%、86.68%、98.92%、99.22%。
從圖4 可見,在傳統(tǒng)的多特征融合檢索算法中,分級檢索策略表現(xiàn)更好;與傳統(tǒng)檢索算法相比,深度學(xué)習(xí)分級檢索top10 的檢索準(zhǔn)確率提高5個百分點(diǎn)以上,效果更突出;深度學(xué)習(xí)結(jié)合faiss索引方法的top10 準(zhǔn)確率99%左右,雖然基于深度學(xué)習(xí)分級策略和全檢索在準(zhǔn)確率相差不大,但分級檢索對資源的消耗卻是最少的,表1 顯示4 種檢索方法分別檢索完2 614 張網(wǎng)格,2 775 張條紋,7 272 張純色以及404 張圖案圖片的時間??梢钥闯觯谕挥布O(shè)備下,傳統(tǒng)檢索方法耗時較多,資源占用比較大,而分級檢索在資源消耗和時間響應(yīng)上占據(jù)優(yōu)勢,在深度學(xué)習(xí)中也呈現(xiàn)此種情況。
圖4 不同算法和策略中的準(zhǔn)確率
表1 不同算法和策略時間消耗
理論上深度學(xué)習(xí)是數(shù)據(jù)量越多,其訓(xùn)練的效果也越好,但是其缺點(diǎn)也明顯,訓(xùn)練時間過長,軟硬件資源消耗比較大。由top10mAP的測試結(jié)果可知,深度學(xué)習(xí)+faiss 分級檢索的top10mAP比全檢索提高了0.30 個百分點(diǎn),比CM+GIST 分級檢索提高了12.54 個百分點(diǎn),但全檢索的資源消耗比較大,耗時較多。
深度學(xué)習(xí)+faiss 全檢索和分級檢索詳細(xì)結(jié)果如表2 所示??梢钥闯?,分級檢索策略在有紋理類別檢索上普遍比全檢索好,部分類別top10 的準(zhǔn)確率100%,即對于每一張待檢測圖片,在索引庫中輸出相似度最高的10 張圖中一定有待測圖的另一半。有紋理類別分級檢索策略表現(xiàn)更好,原因是在訓(xùn)練集數(shù)量合適情況下,迭代足夠數(shù)量,模型盡可能提取到同類圖片間的紋理差異,特征表示更有針對性;此外,分類訓(xùn)練和檢索縮小了檢索范圍,所以在正確率和速度上有所提升。但純色類別可提取的紋理信息等特征較少,主要是顏色信息,在只有純色的訓(xùn)練集中訓(xùn)練,網(wǎng)絡(luò)結(jié)構(gòu)不能提取到更多的織物間的差異,容易過擬合,而全檢索是將不同類別數(shù)據(jù)集堆在一起訓(xùn)練,增大了訓(xùn)練集數(shù)量和織物的差異性,故純色的整體訓(xùn)練和檢索效果優(yōu)于分類訓(xùn)練。此外,由于4 類庫中評價(jià)標(biāo)準(zhǔn)相同均采用相似度計(jì)算,若待測圖片在一類中得分很低,可在其他庫中再檢測,按照相似度排序輸出檢索到的圖片。綜合考慮經(jīng)濟(jì)效益,分級檢索策略在圖像提取、檢索及資源消耗是有優(yōu)勢的。
表2 深度學(xué)習(xí)中不同策略詳細(xì)試驗(yàn)準(zhǔn)確率結(jié)果
本研究研發(fā)了一種基于深度學(xué)習(xí)的織物圖像檢索系統(tǒng),解決了織物檢索耗時久、檢索精度低等問題。通過改進(jìn)后的LResNet50E-IR 網(wǎng)絡(luò)結(jié)構(gòu)模型遷移學(xué)習(xí)到織物檢索上,利用卷積神經(jīng)網(wǎng)絡(luò)強(qiáng)大的特征表示能力,結(jié)合faiss 索引進(jìn)行織物圖像檢索可以取得很好的效果。同時,運(yùn)用分級檢索的策略,先對待檢索圖片分類,將分類后的圖片輸入相同類別的模型進(jìn)行特征提取,再與對應(yīng)的特征索引庫進(jìn)行相似度匹配檢索,進(jìn)一步縮短了檢索時間,提高了準(zhǔn)確率。本系統(tǒng)提出的模型及檢索策略在織物圖像上的top10 準(zhǔn)確率能達(dá)到99%,mAP達(dá)到99.22%,比傳統(tǒng)檢索方法分別提高5.00 個百分點(diǎn)和12.54 個百分點(diǎn)。將此先進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)創(chuàng)新應(yīng)用于紡織行業(yè),能進(jìn)一步推動紡織行業(yè)快速發(fā)展。在實(shí)際測試中,該系統(tǒng)可達(dá)到工程應(yīng)用的要求,能夠進(jìn)一步推廣,下一步可在現(xiàn)工作的基礎(chǔ)上進(jìn)一步優(yōu)化,在降低運(yùn)算資源成本同時,研發(fā)出實(shí)用性更強(qiáng)、速度更快的織物圖像檢索系統(tǒng)。