黃玥玥, 陳 曉, 王海燕, 姚海洋
(陜西科技大學(xué) 電子信息與人工智能學(xué)院, 陜西 西安 710016)
人體衣物外觀對(duì)個(gè)體具有強(qiáng)烈的表征意義,其對(duì)社會(huì)生活多個(gè)方面有著廣泛且深刻的影響。在時(shí)尚領(lǐng)域,顏色作為服裝感知的最主要特征,可鮮明地表現(xiàn)人類情感,塑造迥然不同的形象[1];在電商領(lǐng)域,顏色搭配對(duì)服裝的銷售具有重要影響[2-4];在安全領(lǐng)域,利用大量交叉監(jiān)控視頻搜索人物時(shí),外部衣物屬性作為重要的識(shí)別特征,可聯(lián)合實(shí)現(xiàn)更準(zhǔn)確地實(shí)時(shí)人物捕捉與分析[5-7],因此,如何高效、準(zhǔn)確地識(shí)別人體衣物屬性受到多個(gè)領(lǐng)域的廣泛關(guān)注。
傳統(tǒng)人體衣物顏色識(shí)別方法基于手工特征結(jié)合分類器,手工設(shè)計(jì)衣物各種特征并從背景中分離出來(lái),然后利用機(jī)器學(xué)習(xí)方法K-means[8]、Mean shift[9]等作為離散數(shù)據(jù)的聚類算法,通過(guò)重建衣物的顏色空間數(shù)據(jù)提高對(duì)衣物顏色的識(shí)別。這些方法通常用手工判定邊界方式,會(huì)消耗大量的人工成本,且當(dāng)圖像背景顏色與服裝顏色相似時(shí),識(shí)別算法會(huì)將其顏色聚為一類,導(dǎo)致對(duì)衣物顏色識(shí)別精確率過(guò)低?;谏疃葘W(xué)習(xí)的衣物顏色識(shí)別,采用端到端的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)聯(lián)合優(yōu)化將特征提取和分類器合并成統(tǒng)一的框架,使得識(shí)別模型更能表征數(shù)據(jù)特點(diǎn)。如Ivanov等[10]設(shè)計(jì)了以LeNet為基本網(wǎng)絡(luò)結(jié)構(gòu)的模型,可自動(dòng)提取圖像中人體衣物特征,但該方法識(shí)別精確率僅達(dá)到78%。Roy[11]利用YOLOv3和殘差網(wǎng)絡(luò),有效提取了圖像中衣物的位置信息,利用DeepFashion[12]數(shù)據(jù)集進(jìn)行訓(xùn)練,實(shí)現(xiàn)了服裝的邊框回歸檢測(cè);通過(guò)在測(cè)試數(shù)據(jù)集中進(jìn)行衣物顏色的識(shí)別驗(yàn)證,準(zhǔn)確度達(dá)89%。Chen等[13]提出一種改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)(CNN)用于對(duì)紅、綠、藍(lán)及黑色4種衣物顏色識(shí)別,獲得了92.52%的平均精確率。由以上總結(jié)可知,已有方法僅對(duì)少數(shù)衣物顏色可實(shí)現(xiàn)較準(zhǔn)確的識(shí)別,無(wú)法適用于真實(shí)情況特別是顏色受到嚴(yán)重扭曲的狀況,且多數(shù)方法均只針對(duì)單一場(chǎng)景,無(wú)法適應(yīng)復(fù)雜變化的環(huán)境。
針對(duì)以上問(wèn)題,本文提出基于ClothResNet模型的人體衣物顏色識(shí)別方法,采用端對(duì)端的技術(shù)實(shí)現(xiàn)對(duì)衣物輪廓的自動(dòng)提取,最終實(shí)現(xiàn)人體衣物顏色的識(shí)別,克服了手動(dòng)分離衣物的繁瑣性,有效提高了衣物顏色識(shí)別的準(zhǔn)確率,實(shí)現(xiàn)了對(duì)多種人體衣物顏色高效、準(zhǔn)確識(shí)別的目的。
為訓(xùn)練針對(duì)人體衣物顏色識(shí)別的ClothResNet網(wǎng)絡(luò)模型,需要構(gòu)建一個(gè)大規(guī)模的人體衣物顏色標(biāo)注數(shù)據(jù)集。本文選擇活動(dòng)模板回歸(active template regression,ATR)[14]數(shù)據(jù)集中的部分圖像進(jìn)行衣物分割、標(biāo)注、擴(kuò)充,構(gòu)建了專門(mén)用于人體衣物顏色識(shí)別的數(shù)據(jù)集,命名為pcaparsing(people clothes attribute parsing)。該數(shù)據(jù)集包含紅、橙、黃、綠、青、藍(lán)、紫、白、黑、棕、粉和灰12種顏色的衣物,每個(gè)樣本包括原始彩色圖像和對(duì)應(yīng)的掩碼圖。掩碼圖是通過(guò)在原始彩色圖像上分割提取衣物輪廓,并在對(duì)應(yīng)位置標(biāo)注其所屬顏色獲得的。圖1示出pcaparsing中示例圖片。
圖1 樣本集示例圖片F(xiàn)ig.1 Sample image of dataset.(a) Sample 1;(b)Sample 2;(c) Sample 3;(d) Sample 4
由于ATR數(shù)據(jù)集中可用于網(wǎng)絡(luò)訓(xùn)練的圖像數(shù)據(jù)僅有5 639張,且顏色分布不均勻,導(dǎo)致模型難以學(xué)習(xí)到少量屬性的全部特征,增大了模型訓(xùn)練的難度;因此,本文對(duì)原始數(shù)據(jù)進(jìn)行了擴(kuò)充,以防止神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到不相干的模式,從根本上提升了網(wǎng)絡(luò)的泛化性能和對(duì)衣物屬性的識(shí)別性能。本次數(shù)據(jù)擴(kuò)充主要針對(duì)顏色數(shù)量較少的數(shù)據(jù)進(jìn)行處理,采用的數(shù)據(jù)增強(qiáng)方式包括裁剪、上下移動(dòng)、水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)等。通過(guò)數(shù)據(jù)擴(kuò)充,每種顏色的圖像數(shù)量均達(dá)到了 1 000 張左右,從而在數(shù)據(jù)集中保持了每種類別的圖像數(shù)量呈現(xiàn)均勻分布。圖2示出數(shù)據(jù)擴(kuò)充后的輸入數(shù)據(jù)和對(duì)應(yīng)的標(biāo)注圖示例。
圖2 數(shù)據(jù)擴(kuò)充示例Fig.2 Data expansion example
ClothResNet人體衣物顏色識(shí)別網(wǎng)絡(luò)主要包含輸入端、主干網(wǎng)絡(luò)以及輸出端3個(gè)部分,網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 ClothResNet 網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 ClothResNet network structure
1.2.1 輸入端
在訓(xùn)練過(guò)程中,每次輸入16張含有人體衣物的彩色圖像,大小設(shè)置為3×256像素×256像素。
1.2.2 主干網(wǎng)絡(luò)
主干網(wǎng)絡(luò)由3個(gè)模塊組成,分別是殘差網(wǎng)絡(luò)、改進(jìn)的金字塔池化模塊和坐標(biāo)注意力模塊。
模塊1:殘差網(wǎng)絡(luò)采用ResNet18作為基礎(chǔ)網(wǎng)絡(luò),并將ResNet18前2個(gè)殘差塊卷積核輸出通道設(shè)置為64,卷積核大小設(shè)置為3×3×1,并舍棄后面的池化和全連接層。此模塊通過(guò)高低級(jí)特征的融合,能夠減少特征信息的丟失,高效地提取圖像全局特征,并使網(wǎng)絡(luò)較快地達(dá)到收斂狀態(tài)。
模塊2:改進(jìn)的金字塔池化模塊將殘差網(wǎng)絡(luò)提取到的特征進(jìn)行多尺度變換,以便進(jìn)行串接。傳統(tǒng)的金字塔池化結(jié)構(gòu)未能對(duì)衣物輪廓信息進(jìn)行更好的提取,因此,本文在傳統(tǒng)的金字塔池化結(jié)構(gòu)基礎(chǔ)上增加了4個(gè)特征塊,分別設(shè)計(jì)為4×4、5×5、7×7和 8×8, 這樣可減少不同區(qū)域之間的上下文信息丟失,從而增強(qiáng)對(duì)圖像中不同特征的提取。該模塊的結(jié)構(gòu)如圖4所示。
圖4 改進(jìn)的金字塔池化網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Optimized pyramid pooled network structure
模塊3:坐標(biāo)注意力模塊,其網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。該模塊的輸入特征圖大小為1 024×32像素×32像素,通過(guò)2個(gè)卷積核大小分別為(32,1)和(1,32)的卷積層對(duì)輸入特征圖在水平和垂直方向上進(jìn)行編碼,以捕捉一個(gè)衣物圖像中空間方向上的長(zhǎng)期依賴關(guān)系,并在另一個(gè)空間方向上保持準(zhǔn)確的位置信息,這有助于網(wǎng)絡(luò)更準(zhǔn)確地定位感興趣的對(duì)象。接下來(lái),將編碼后的特征圖連接起來(lái)并送入一個(gè)1×1的共享卷積層進(jìn)行轉(zhuǎn)換,得到32×1像素×64像素大小的特征圖。然后對(duì)該特征圖進(jìn)行歸一化和激活函數(shù)處理。此外,利用2個(gè)1×1卷積層分別將編碼后的2個(gè)特征圖轉(zhuǎn)換為與輸入具有相同通道數(shù)的向量,并經(jīng)過(guò)Sigmoid激活函數(shù)處理。最后,將2個(gè)特征圖相乘得到注意塊的輸出,其大小為1 024×32像素×32像素。這樣設(shè)計(jì)的坐標(biāo)注意力模塊可更好地捕捉衣物輪廓信息,并提高感興趣區(qū)域的準(zhǔn)確性。
1.2.3 輸出端
輸入端為3×256像素×256像素的彩色圖像,經(jīng)主干網(wǎng)絡(luò)輸出的圖像大小為128像素×128像素,在輸出端通過(guò)反卷積層和線性修正單元得到與輸入圖像等大的特征圖。
本文用2種評(píng)價(jià)指標(biāo)衡量提出模型的有效性,分別為平均交并比、精確率。平均交并比M反映真實(shí)圖像與預(yù)測(cè)圖像的重合度,從而衡量衣物分割準(zhǔn)確率,其公式如下:
式中:n為總體分類數(shù),在本文中n為12;x為實(shí)際類別樣本和預(yù)測(cè)類別樣本的交集和并集之比,其定義如下:
式中:NTP為被模型分類正確的正類樣本數(shù)量;NFN為被模型分類錯(cuò)誤的正樣本數(shù)量;NFP為被模型分類錯(cuò)誤的負(fù)類樣本數(shù)量。
在得到預(yù)測(cè)圖像后,統(tǒng)計(jì)其中分割出的衣物顏色分類是否正確。針對(duì)最終衣物顏色識(shí)別結(jié)果,另需使用精確率來(lái)評(píng)價(jià)最終分類結(jié)果的準(zhǔn)確度,計(jì)算公式如下:
在模型設(shè)計(jì)中,通常會(huì)將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,其中訓(xùn)練集用于訓(xùn)練模型參數(shù),而測(cè)試集則用于評(píng)估最終訓(xùn)練好的模型的性能。本文中,數(shù)據(jù)集的劃分比例為8∶2,即訓(xùn)練集占80%,測(cè)試集占20%。在訓(xùn)練過(guò)程中,將訓(xùn)練數(shù)據(jù)集輸入ClothResNet網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過(guò)反向傳播調(diào)整網(wǎng)絡(luò)參數(shù)。
本文所有實(shí)驗(yàn)均在Tesla V100環(huán)境下使用Paddle工具箱運(yùn)行進(jìn)行訓(xùn)練,訓(xùn)練過(guò)程中,訓(xùn)練和測(cè)試圖像的尺寸為3×256像素×256像素,使用LeakyReLU(斜率為0.2)和Adagrad算法進(jìn)行訓(xùn)練,損失函數(shù)為交叉熵?fù)p失,初始學(xué)習(xí)率為0.000 2,批處理大小設(shè)置為16,訓(xùn)練120輪。
圖6為用K-means、Hog-KNN、卷積神經(jīng)網(wǎng)絡(luò)(CNN)以及本文方法ClothResNet對(duì)12種人體衣物顏色的識(shí)別精確率對(duì)比圖。
圖6 K-means、Hog-KNN、CNN、ClothResNet識(shí)別顏色精確率的對(duì)比圖Fig.6 Comparison diagram of color recognition accuracy of K-means,Hog-KNN, CNN and ClothResNet
從圖6可看出,在本文構(gòu)建的數(shù)據(jù)集上,ClothResNet模型對(duì)衣物顏色識(shí)別精確率均優(yōu)于同類方法。由于K-means方法是將圖像中的所有像素聚集在一起,而不是衣物,因此對(duì)衣物顏色的預(yù)測(cè)不準(zhǔn)確;Hog-KNN用Hog方法提取特征后再進(jìn)行聚類信息提取,從而得到了相對(duì)較好的結(jié)果,但其對(duì)某些顏色的提取能力較差,如在對(duì)灰色衣物進(jìn)行識(shí)別時(shí)精確率僅有65%左右;利用深度學(xué)習(xí)方法則能夠均勻地捕獲衣物屬性信息,CNN方法相較于傳統(tǒng)方法也具有較高的識(shí)別精確率,但其網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,不能提取圖像中的深層語(yǔ)義信息,從而造成識(shí)別率不高;ClothResNet模型對(duì)每種顏色的識(shí)別都取得了較高的識(shí)別精確率,從而驗(yàn)證了本文模型的有效性。相比其他網(wǎng)絡(luò),本文提出的方案能夠有針對(duì)性地解決對(duì)人體衣物顏色識(shí)別率不高的問(wèn)題。對(duì)金字塔池化模塊進(jìn)行改進(jìn)并融入坐標(biāo)注意力機(jī)制提升了網(wǎng)絡(luò)的局部特征提取能力,降低了識(shí)別錯(cuò)誤率。
為驗(yàn)證本文構(gòu)建的人體衣物顏色識(shí)別模型ClothResNet加入各個(gè)模塊的有效性、ResNet18作為骨干網(wǎng)絡(luò)的優(yōu)勢(shì)以及擴(kuò)充樣本對(duì)算法的影響,選取深度學(xué)習(xí)中典型的骨干網(wǎng)絡(luò)AlexNet和VGG11作為ResNet18對(duì)比網(wǎng)絡(luò),對(duì)基于ResNet18網(wǎng)絡(luò)僅加入金字塔池化的模型(ResNet18+PP)、ResNet18加入改進(jìn)的金字塔池化模型(ResNet18+OPP)和基于ResNet18網(wǎng)絡(luò)僅使用坐標(biāo)注意力機(jī)制的模型(ResNet18+CA) 各自分別在原始數(shù)據(jù)集與樣本擴(kuò)充后的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),結(jié)果如表1、2所示。
表1 原始數(shù)據(jù)集消融實(shí)驗(yàn)對(duì)比Tab.1 Comparison of ablation experiments with original dataset
從表1、2可看出,相比在原始數(shù)據(jù)集擴(kuò)充樣本后各個(gè)網(wǎng)絡(luò)模塊對(duì)人體衣物的顏色識(shí)別結(jié)果得到了提升,從而證明對(duì)樣本進(jìn)行的多種變換提高了網(wǎng)絡(luò)的泛化性能。從表2可看出,使用骨干網(wǎng)絡(luò)ResNet18與AlexNet、VGG11相比,能夠在參數(shù)量遠(yuǎn)小于其它二者的情況下,達(dá)到相對(duì)較好的分割和識(shí)別效果。對(duì)于原始數(shù)據(jù)集,在加入優(yōu)化的金字塔池化模塊和坐標(biāo)注意力機(jī)制后對(duì)于衣物的分割和顏色的識(shí)別都得到了提升。從表2中比較ResNet18+PP與ResNet18+OPP可知,原始金字塔池化模塊對(duì)衣物的分割交并比為45.2%,而改進(jìn)的金字塔模塊提升了5%;ResNet18+PP對(duì)衣物顏色識(shí)別精確率為71.50%,而ResNet18+OPP在此基礎(chǔ)上提升5.4%。在骨干網(wǎng)絡(luò)中加入坐標(biāo)注意力后分割交并比提升了3.2%,也有效提升了網(wǎng)絡(luò)的識(shí)別性能,識(shí)別精確率相比ResNet18提升6.45%。本文的ClothResNet模型融合改進(jìn)的金字塔池化模塊和坐標(biāo)注意力模塊,在ResNet18的基礎(chǔ)上只增加了10.41 MB的參數(shù)量,而對(duì)衣物顏色識(shí)別精確率達(dá)到了94.49%。
表2 擴(kuò)充數(shù)據(jù)集消融實(shí)驗(yàn)對(duì)比Tab.2 Comparison of ablation experiments with extended dataset
本文提出了人體衣物顏色識(shí)別模型ClothResNet,模型以ResNet18為基礎(chǔ)網(wǎng)絡(luò),融入了改進(jìn)的金字塔模塊、坐標(biāo)注意力機(jī)制,最終實(shí)現(xiàn)了對(duì)12種人體衣物顏色的高效識(shí)別。該方法克服了傳統(tǒng)人體衣物顏色識(shí)別方法繁雜的衣物分割步驟,以及簡(jiǎn)單卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型識(shí)別效率低的缺點(diǎn)。從實(shí)驗(yàn)結(jié)果來(lái)看,提出的ClothResNet模型較傳統(tǒng)方法和簡(jiǎn)單的CNN模型有更好的衣物顏色識(shí)別效果,達(dá)到了94.49%的平均識(shí)別精確率。
本模型只針對(duì)12種人體衣物顏色進(jìn)行識(shí)別,研究仍存在不足,現(xiàn)實(shí)中的人體衣物顏色種類遠(yuǎn)超于 12種。 在后續(xù)的工作中,將擴(kuò)大人體衣物顏色樣本圖像庫(kù),通過(guò)研究神經(jīng)網(wǎng)絡(luò)的各層結(jié)構(gòu),構(gòu)建出能識(shí)別更多種類人體衣物顏色的網(wǎng)絡(luò)模型。