趙恩銘,楊 松,姚志強
(大理大學(xué)工程學(xué)院,云南大理 671003)
我國是一個多民族融合的國家,其中民族服飾代表著各民族的特色〔1〕。由于受社會現(xiàn)代化的影響,具有數(shù)千年文化底蘊的民族服飾正在逐步淡出人們的視線。民族服飾的辨識能夠起到科普民族服飾特點的作用〔2〕,對推廣民族服飾文化,加強大眾保護民族文化的意識有較好的促進作用。
民族服飾識別系統(tǒng)需要對用戶在不同環(huán)境下所拍攝的圖像進行識別。通常圖像識別效果受許多因素影響〔3〕,例如光照強度〔4〕、拍攝角度〔5〕和復(fù)雜背景〔6〕等。傳統(tǒng)的目標(biāo)識別方法采用手動設(shè)計特征的方式〔7〕,模型只能夠獲得目標(biāo)的顏色、梯度、紋理和形狀等基礎(chǔ)特征信息并無法做到目標(biāo)深度特征信息的提取,往往導(dǎo)致在復(fù)雜背景下識別效率不理想。2012年卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)〔8〕的興起突破了傳統(tǒng)目標(biāo)識別方法中圖像特征提取的瓶頸,該網(wǎng)絡(luò)能夠自主學(xué)習(xí)目標(biāo)特征并達到較好的分類效果。
目前常見的目標(biāo)識別算法基本都基于CNN〔9〕,其中以O(shè)ne-Stage為代表的YOLO算法〔10〕與SSD算法〔11〕,Two-Stage為代表的Faster-RCNN算法〔12〕效果最為突出。通過綜合對比分析上述3種算法在民族服飾識別上的效果,設(shè)計一種基于Faster-RCNN算法的民族服飾識別系統(tǒng)。該系統(tǒng)能夠有效地識別白族、苗族和蒙古族服飾。
1.1 Faster-RCNN算法原理Faster-RCNN算法屬于RCNN算法系列的目標(biāo)識別算法〔13〕,該算法在特征提取和分類能力上都有很好的效果。Faster-RCNN算法最早由Shaoqing Ren等人提出,針對Fast-RCNN算法〔14〕選擇性搜索找出所有候選框耗時長的問題,在Fast-RCNN算法基礎(chǔ)上采用區(qū)域建議網(wǎng)絡(luò)(region proposal networks,RPN)來提高模型分類效率,實現(xiàn)了真正意義上的端到端識別。
Faster-RCNN算法基本結(jié)構(gòu)圖如圖1所示,主要由特征圖提取、RPN、ROI(regions of interest,ROI)池化和分類這4部分組成。輸入圖像經(jīng)卷積層、ReLu層和池化層后得到特征圖像,此處常用的圖像特征提取網(wǎng)絡(luò)有VGG16網(wǎng)絡(luò)〔15〕、ResNet50網(wǎng)絡(luò)〔16〕和Xception網(wǎng)絡(luò)〔17〕。本設(shè)計選取具有殘差網(wǎng)絡(luò)結(jié)構(gòu)的ResNet50網(wǎng)絡(luò)作為主干特征提取網(wǎng)絡(luò),其主要目的是為了克服因網(wǎng)絡(luò)深度加深導(dǎo)致模型學(xué)習(xí)效率低和準(zhǔn)確度無法很好提升的問題。RPN網(wǎng)絡(luò)主要用于生成高質(zhì)量建議區(qū)域框。ROI池化可以從不同大小的建議區(qū)域得到固定大小的特征圖,便于分類階段的特征圖進行全連接操作。分類部分包括分類層和回歸層。分類層主要用來確定檢測目標(biāo)的類別,回歸層用來得到預(yù)測目標(biāo)的準(zhǔn)確位置區(qū)域即邊界框。Faster-RCNN算法主要用于提取高質(zhì)量建議區(qū)域的特征并對建議區(qū)域進行分類操作〔18〕。
圖1 Faster-RCNN的構(gòu)成
1.2 非極大抑制算法原理通常在Faster-RCNN算法最后一層使用非極大抑制(non-maximum suppression,NMS)算法〔19〕,該算法能根據(jù)邊界框的不同置信度(系統(tǒng)給出的邊界框分?jǐn)?shù))消除多余的邊界框,只保留置信度最大的邊界框。因此NMS能夠達到搜索局部極大值,抑制非極大值元素的效果。抑制效果見圖2(該圖像拍攝于大理古城街市)。
圖2 NMS消除多余邊界框
1.3 Faster-RCNN算法損失函數(shù)在Faster-RCNN算法中,對一張圖像的多任務(wù)損失函數(shù)定義為:
其中,pi是框內(nèi)預(yù)測為目標(biāo)的概率,pi*是實際目標(biāo)的概率,Ncls和Nreg為標(biāo)準(zhǔn)化項,λ為權(quán)衡系數(shù),ti是一個向量,代表預(yù)測的邊界框的參數(shù)坐標(biāo),ti*為候選框相對于目標(biāo)所在的真實框的實際偏移量。關(guān)于pi*、ti和ti*的定義如下:
其中,
Lcls(pi,pi*)是針對目標(biāo)與非目標(biāo)類別的對數(shù)損失,可表示為:
Lreg(ti,ti*)是針對目標(biāo)與非目標(biāo)類別的對數(shù)損失,可表示為:
其中,
在該算法中,RPN網(wǎng)絡(luò)使用隨機梯度下降法優(yōu)化損失函數(shù),找到損失函數(shù)的最小值,同時也完成參數(shù)的調(diào)整。RPN網(wǎng)絡(luò)的輸出經(jīng)NMS算法能夠有效得到候選框。
2.1 數(shù)據(jù)集的構(gòu)成截至目前,互聯(lián)網(wǎng)上仍未有較為權(quán)威的傳統(tǒng)民族服飾數(shù)據(jù)集,所以本模型數(shù)據(jù)集采用人為收集互聯(lián)網(wǎng)上的民族服飾圖像,見圖3,經(jīng)圖像數(shù)據(jù)篩選后得到白族、苗族和蒙古族服飾圖像各1 000張。將所得數(shù)據(jù)集使用LabelImg工具進行不同標(biāo)簽的標(biāo)記,為后續(xù)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練做好鋪墊。本模型所使用的數(shù)據(jù)集嚴(yán)格按照ImageNet公布的VOC2007標(biāo)準(zhǔn)數(shù)據(jù)集格式進行預(yù)處理。數(shù)據(jù)集按照訓(xùn)練集和測試集9:1的比例進行劃分,并采用Tensorboard監(jiān)控模型的訓(xùn)練過程做到實時掌控訓(xùn)練進度。苗族服飾種類繁多,據(jù)不完全統(tǒng)計已超上百種,苗族服飾的頭飾主要以銀飾為主,服飾仍保持織、繡和染等工藝技法使得服飾圖案溢彩流光。白族崇尚白色,以白色為尊貴,白族服飾基本以白色作為底色,頭纏繡花包頭和腰系短圍腰,色彩鮮明,美觀大方。蒙古族服飾以蒙古袍為主,蒙古袍以寬大袖長、高領(lǐng)居多。同時腰帶也是蒙古族服飾的一部分,一般與蒙古袍顏色相近,美觀的同時也起到防寒保暖作用。
圖3 數(shù)據(jù)集示例
2.2 民族服飾識別系統(tǒng)的網(wǎng)絡(luò)模型訓(xùn)練Faster-RCNN算法由RPN網(wǎng)絡(luò)和Fast-RCNN算法組合而成,所以相應(yīng)的訓(xùn)練階段也包括兩個部分。
(1)RPN網(wǎng)絡(luò)使用隨機梯度下降法進行訓(xùn)練?;贗mageNet公布的VOC2007標(biāo)準(zhǔn)數(shù)據(jù)集采用遷移學(xué)習(xí)的方式初始化本模型RPN網(wǎng)絡(luò)。
(2)Fast-RCNN網(wǎng)絡(luò)同樣也是利用ImageNet分類任務(wù)預(yù)訓(xùn)練網(wǎng)絡(luò)實現(xiàn)初始化,得到一個單獨的檢測網(wǎng)絡(luò)。Faster-RCNN算法允許不同尺寸的輸入圖像,該算法通常會把輸入的圖像短邊尺寸固定到600像素,并保留原圖比例避免失真。原圖像首先經(jīng)過5層卷積得到特征圖,最終將特征圖經(jīng)全連接層連接得到區(qū)域邊界框和每個類別的概率,此時兩個網(wǎng)絡(luò)還未共享卷積層。
接下來用檢測網(wǎng)絡(luò)初始化RPN網(wǎng)絡(luò)訓(xùn)練,此時固定共享卷積層只微調(diào)RPN網(wǎng)絡(luò)獨有的參數(shù)層,達到兩個網(wǎng)絡(luò)已經(jīng)共享卷積層的目的。最后保持共享的卷積層,微調(diào)Fast-RCNN的全連接層。經(jīng)上述步驟后兩個網(wǎng)絡(luò)已經(jīng)共享了相同的卷積層并構(gòu)成了統(tǒng)一的網(wǎng)絡(luò)。
2.3 系統(tǒng)框圖民族服飾識別系統(tǒng)的識別流程圖見圖4,將原圖像傳入已經(jīng)訓(xùn)練好的Faster-RCNN民族服飾識別系統(tǒng)中,系統(tǒng)會自動對原圖像進行目標(biāo)識別并對識別結(jié)果進行判斷。當(dāng)識別到目標(biāo)時,系統(tǒng)會通過計算給出識別后帶有邊界框的圖像和對應(yīng)的識別信息,若未識別到目標(biāo)則直接結(jié)束本次任務(wù)。系統(tǒng)的輸出信息包括類別、置信度和目標(biāo)對應(yīng)位置的坐標(biāo)信息。
圖4 系統(tǒng)框圖
3.1 評價方法精準(zhǔn)度(Precision)和召回率(Recall)是常見的二分類模型評價指標(biāo),用在多分類模型中往往很難準(zhǔn)確評價模型的好壞。平均精度(average precision,AP)綜合了精準(zhǔn)度和召回率對模型效果的評價,該指標(biāo)是多分類模型中較為常見的評價指標(biāo)。平均精度值(mean average precision,MAP)是將AP求平均得到,進一步提高了指標(biāo)對模型評價的準(zhǔn)確度。
精準(zhǔn)度的表達如下:
其中,NTP是被判定為正確的個數(shù);NFP是被判定為錯誤的個數(shù)。
召回率一般指的是某類目標(biāo)對應(yīng)的識別率,其表達式為:
其中,NFN為漏檢的個數(shù)。
MAP的定義如下:
其中,QR是數(shù)據(jù)集R的總類別數(shù);q為數(shù)據(jù)集的類別。理論上模型的MAP值越大,模型分類效果越好。
3.2 民族服飾識別效果本系統(tǒng)的AP值與MAP值見圖5~6。從AP圖上可以看出召回率和精準(zhǔn)度所構(gòu)成的曲線下方的面積即為對應(yīng)分類的AP值。圖5中白族服飾和白族帽子的AP值分別為81.75%和73.92%,在本次數(shù)據(jù)集6類圖像中分類效果最好。苗族服飾的AP值僅為47.67%,識別效果最差。苗族服飾種類繁多,網(wǎng)絡(luò)上收集的高質(zhì)量苗族服飾圖像較少,這應(yīng)該是本次實驗苗族服飾識別效果最差的根本原因。MAP圖是對所有類的AP值求平均得到,可以看出本系統(tǒng)的平均精度值為67.88%,能夠滿足辨識民族服飾的需求。
圖5 模型AP值
圖6 模型MAP值
本次實驗是為了起到弘揚民族服飾文化的作用,幫助人們了解民族服飾文化和正確辨識大部分白族、苗族和蒙古族服飾圖像。綜合所有分類效果可以得出民族服飾識別系統(tǒng)滿足本次對白族、苗族和蒙古族服飾識別的需求。
本文所搭建的民族服飾識別系統(tǒng)的目標(biāo)識別效果見圖7??梢钥闯觯鞠到y(tǒng)能夠以較高的準(zhǔn)確率識別白族、蒙古族和苗族服飾。同時此次測試屬于復(fù)雜背景下的目標(biāo)識別,本識別系統(tǒng)能夠有效避開干擾服飾圖像,從復(fù)雜背景中提取對應(yīng)的民族服飾信息。同時在系統(tǒng)界面的下方可以清楚地看到系統(tǒng)給出該圖像被識別出的所有類別、置信度和坐標(biāo)信息。該系統(tǒng)基本能夠正確標(biāo)記出對應(yīng)民族服飾圖像,部分蒙古族帽子未被識別,原因可能是一張圖像中出現(xiàn)多個目標(biāo),識別難度提高以及蒙古族服飾品類繁多,數(shù)據(jù)集不夠完善。
圖7 民族服飾識別系統(tǒng)的識別效果
為測試本系統(tǒng)的有效性,通過與YOLOV4算法、SSD算法進行比對,結(jié)果見表1。從表中可以看出Faster-RCNN算法模型訓(xùn)練時間較長,但其MAP值為67.88%,在3種不同的模型中效果最好,F(xiàn)aster-RCNN算法比YOLOV4算法的MAP值提升了13.24%,比SSD算法的MAP值提升了20.56%。故Faster-RCNN算法應(yīng)用在本文所設(shè)計的民族服飾識別系統(tǒng)中識別效果更佳,更能滿足本項研究的需求,同時數(shù)據(jù)集的多樣性也保證了該模型的泛化能力。從表中也可看出,YOLOV4算法和SSD算法雖然模型訓(xùn)練時間較短,但MAP值遠遠不及Faster-RCNN算法,并不滿足本研究識別精度的需求。
表1 不同算法在民族服飾數(shù)據(jù)集上的識別效果
本文基于Faster-RCNN算法設(shè)計了民族服飾識別系統(tǒng),與YOLOV4算法和SSD算法相比,F(xiàn)aster-RCNN算法具有更高的MAP值,能夠滿足對白族、苗族和蒙古族民族服飾的辨識需求。Faster-RCNN算法作為Two-Stage的代表算法,利用RPN網(wǎng)絡(luò)結(jié)合Fast-RCNN網(wǎng)絡(luò),比One-Stage算法達到了更好的民族服飾識別效果。該系統(tǒng)能夠起到科普民族服飾特點和推廣民族服飾文化的作用。