王媛媛 田海陽 朱俊勛 嚴(yán)少峰 黃佳瀧 宋照渝
摘? 要: “行程碼”的有效使用需要解決圖像模糊、網(wǎng)絡(luò)權(quán)重大等問題。本文提出一種基于損失函數(shù)改進(jìn)的輕量化模型LL_YOLO(Lightweight Loss YOLO)。LL_YOLO基于YOLOv5模型,通過接口在線調(diào)用圖像增強(qiáng)函數(shù)進(jìn)行畫質(zhì)增強(qiáng)、改進(jìn)損失函數(shù),提高檢測精度,輕量化壓縮模型。實(shí)驗結(jié)果表明,LL_YOLO在圖像增強(qiáng)與損失函數(shù)模塊等的作用下,識別精度提高到91.82%,參數(shù)量降低為2.8M。因此LL_YOLO具有低參數(shù)量和計算量的優(yōu)勢,對高算力硬件的依賴性低,能夠極大地降低應(yīng)用部署成本。
關(guān)鍵詞: 行程碼; 損失函數(shù); 輕量化; 圖像增強(qiáng)
中圖分類號:TP311? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ?文章編號:1006-8228(2023)04-116-04
Abstract: The effective use of travel code needs to solve the problems of blurred image and heavy network weight. In this paper, we propose a lightweight model LL_YOLO (Lightweight Loss YOLO) based on improved loss function. It is based on the YOLOv5 model, and improves the detection accuracy and lightweight compression model by calling the image enhancement function online through the interface. The experimental results show that the recognition accuracy of LL_YOLO is improved to 91.82% and the number of parameters is reduced to 2.8M under the effect of image enhancement and loss function module. LL_YOLO has the advantages of low number of parameters and computation, low dependence on high-computing hardware, and can greatly reduce the application deployment cost.
Key words: travel code; loss function; lightweight; image enhancement
0 引言
最近幾年,新冠疫情肆虐,行程碼應(yīng)運(yùn)而生,采用計算機(jī)視覺方法解決在公共場所輔助檢測行程碼具有研究意義及實(shí)際應(yīng)用價值。目前實(shí)現(xiàn)目標(biāo)檢測主要有單階段和雙階段檢測方法。單階段算法如SSD[1],YOLO系列[2,3],優(yōu)勢是檢測速度快,但精度較低;雙階段目標(biāo)檢測算法如RCNN系列[4],其優(yōu)點(diǎn)是精度高,但雙階段處理導(dǎo)致時間復(fù)雜度提高,檢測速度較慢。
針對上述應(yīng)用研究的不足,本文做出如下改進(jìn)。
⑴ 通過改進(jìn)損失函數(shù)(Intersection over Union Losses,IoU),提升了模型對重要特征的提取能力,使模型的檢測精度得到提高。
⑵ 改進(jìn)原網(wǎng)絡(luò)的C3網(wǎng)絡(luò),使用更為輕量的Mobilenetv3網(wǎng)絡(luò)結(jié)構(gòu),使模型參數(shù)量得到極大的減少,使模型更利于實(shí)際的應(yīng)用部署。
1 相關(guān)工作
1.1 模型選擇
在目標(biāo)識別領(lǐng)域中,就R-CNN而言,缺點(diǎn)十分明顯,因為需要從2000多個候選框中提取出特征,所以R-CNN的檢測效率通常很低。而Alex-Net[5]的參數(shù)量十分龐大,不利于模型在移動設(shè)備上的部署。Transformer雖然改進(jìn)了循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)訓(xùn)練比較慢的缺點(diǎn),但同時帶來計算量大、訓(xùn)練數(shù)據(jù)需求量高等問題。相比于這些算法模型,YOLOv5[6]模型更適合檢測與內(nèi)容識別。如圖1所示為YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu),骨干網(wǎng)絡(luò)(Backbone)的Focus模塊在保證圖像特征信息不丟失的情況下,將信息集中到通道中去。CSP可以增強(qiáng)網(wǎng)絡(luò)的特征提取能力,融合不同分支的特征。空間金字塔池化模塊(SPP)經(jīng)過通道拼接后,使用1×1的卷積來實(shí)現(xiàn)特征融合,提高了網(wǎng)絡(luò)在復(fù)雜環(huán)境下的檢測效果。預(yù)測端(Prediction)則是將得到的三個不同大小的特征圖用于最終結(jié)果的預(yù)測。因此,相比于其他卷積神經(jīng)網(wǎng)絡(luò)來說,YOLOv5更適合實(shí)際工程的應(yīng)用。
1.2 行程碼內(nèi)容識別與檢測
行程碼內(nèi)容識別與檢測的流程圖如圖2所示,其可分為三步,第一步是使用YOLOv5的目標(biāo)檢測模塊檢測圖片是否是行程碼圖片,第二步是行程碼的內(nèi)容識別,它采用ocr技術(shù)將行程碼的內(nèi)容識別出來,本文為取得更好的檢測效果,在原有模型的基礎(chǔ)上調(diào)用了圖像增強(qiáng)函數(shù)對圖像進(jìn)行畫質(zhì)增強(qiáng),并改進(jìn)了損失函數(shù);同時將模型進(jìn)行輕量化改進(jìn)以便于實(shí)踐應(yīng)用與部署。
2 檢測算法改進(jìn)
2.1 總體結(jié)構(gòu)
本文所提LL_YOLO方法網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,將YOLOv5骨干網(wǎng)絡(luò)的BottleneckCSP結(jié)構(gòu)替換成了更輕量的MobileNetv3網(wǎng)絡(luò)結(jié)構(gòu),同時在骨干網(wǎng)絡(luò)的Conv結(jié)構(gòu)中融入改進(jìn)的損失函數(shù)來提升其對重要特征的提取能力。
2.2 Mobilenetv3輕量化網(wǎng)絡(luò)
YOLOv5主干特征提取網(wǎng)絡(luò)采用C3結(jié)構(gòu),而此網(wǎng)絡(luò)擁有的較大參數(shù)量會造成應(yīng)用受限,首先面臨的問題就是由于模型參數(shù)量十分龐大造成的內(nèi)存不足問題,其次因為行程碼檢測要求的是實(shí)時檢測。因此,研究一個高效且輕量的模型對卷積神經(jīng)網(wǎng)絡(luò)在實(shí)際應(yīng)用中的部署是至關(guān)重要的。最新的輕量化模型主要是Shufflenetv2[7]和Mobilenetv3,本文采取適合在YOLOv5上融合的輕量化MobileNetv3網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)圖如圖4所示,首先,激活函數(shù)由原來的ReLU替換成非線性激活函數(shù)swish,其次加入SE注意力模塊,經(jīng)過平均池化兩個全連接層,輸出的特征向量可以理解為是對SE之前的特征矩陣的每一個channel分析出了一個權(quán)重關(guān)系,它認(rèn)為比較重要的channel會賦予一個更大的權(quán)重,對于不是那么重要的channel維度上對應(yīng)一個比較小的權(quán)重。
2.3 損失函數(shù)
IoU Loss損失對bbox scales是不變的,所以能夠更好的訓(xùn)練檢測器[7],但是當(dāng)預(yù)測框和真實(shí)框沒有重疊的時候存在梯度消失的問題,從而導(dǎo)致降低收斂速度和檢測精度。
本文采用Alpha-IoU損失函數(shù)[8],如式⑴,是基于現(xiàn)有損失函數(shù)IoU的統(tǒng)一冪化,可以通過α自適應(yīng)來提高回歸精度。由于α-IoU損失函數(shù)用于卷積神經(jīng)網(wǎng)絡(luò)能帶來很好的性能提升,所以本文以YOLOv5模型為基準(zhǔn),融合α-IoU方法對行程碼進(jìn)行檢測,實(shí)驗表明本方法提高了模型對目標(biāo)的檢測精度。
2.4 圖像增強(qiáng)
首先算法對目標(biāo)圖像進(jìn)行canny邊緣檢測,canny函數(shù)有四個參數(shù),分別代表輸入的圖片,檢測的最小閾值,檢測的最大閾值以及邊緣檢測器的大小,canny使用非極大值抑制判斷弱邊緣像素,最后使用霍夫變換:rho=x cos(theta)+y sin(theta),用霍夫線變換探測出圖像中的所有直線,然后根據(jù)計算的每條直線傾斜角的平均值旋轉(zhuǎn)矯正,最后根據(jù)文本尺寸截取圖像,其行程碼圖像增強(qiáng)與內(nèi)容識別流程如圖5所示。
3 實(shí)驗結(jié)果分析
3.1 實(shí)驗環(huán)境及數(shù)據(jù)
本文是選取網(wǎng)絡(luò)和生活中搜集到的2300張行程碼圖片作為實(shí)驗數(shù)據(jù),數(shù)據(jù)集包含各種顏色以及不同場景下的行程碼,且有角度差異,光照差異,數(shù)據(jù)信息豐富,其中測試集和驗證集都是隨機(jī)從數(shù)據(jù)集中抽取一定比例進(jìn)行劃分。測試集比例為0.2,余下數(shù)據(jù)集中驗證集與訓(xùn)練集的比例為2:8,其中訓(xùn)練集約為1840個行程碼圖像,驗證集為460個行程碼圖像像。
3.2 評價指標(biāo)
為了評估算法性能,本文采用模型參數(shù)量、Recall和mAP三個指標(biāo)評價模型的精度、速度以及大小。Recall計算如式⑵,其中P表示準(zhǔn)確率,其計算如式⑶,AP計算方法如式⑷,mAP的計算方法如式⑸。
[R=TPTP+FN]? ⑵
其中,R表示召回率,TP表示被模型預(yù)測為正類的正樣本,F(xiàn)P表示被模型預(yù)測為正類的負(fù)樣本,r表示所有召回率的可能取值,k表示總類別數(shù)。
3.3 實(shí)驗結(jié)果
訓(xùn)練結(jié)果如圖6所示,訓(xùn)練集數(shù)據(jù)量為2300張圖片,采用的batch_size為16,模型在訓(xùn)練到100次迭代時趨于平緩,準(zhǔn)確率與召回率都在穩(wěn)步上升直至穩(wěn)定。
本文提出的基于LL_YOLO的行程碼信息檢測方法,在添加注意力機(jī)制的同時進(jìn)行模型輕量化,其檢測效果與模型大小之間取得了較好的平衡。如表1所示,LL_YOLO的模型權(quán)重僅為2.8M,召回率能夠到達(dá)93.43%,優(yōu)于其他幾種模型的檢測算法。
4 結(jié)束語
本文針對行程碼檢測任務(wù),使用YOLOv5模型作為基準(zhǔn)。增加圖像增強(qiáng)函數(shù),解決圖像畫質(zhì)不清的問題;將輕量級網(wǎng)絡(luò)模型與注意力模塊融入YOLOv5中,增強(qiáng)模型對行程碼的識別能力;降低模型參數(shù)量,減輕算法對硬件設(shè)施的依賴,得到本文的輕量級LL_YOLO模型。實(shí)驗表明,LL_YOLO算法能很好的完成行程碼檢測任務(wù),在所有改進(jìn)的作用下,檢測mAP達(dá)91.82%,且模型參數(shù)量僅為2.8M,對文本的提取更加精確,最終行程碼目標(biāo)識別效果準(zhǔn)確率在90%以上,更加適用于條件有限的移動設(shè)備。
目前訓(xùn)練模型需要的標(biāo)注樣本仍然十分龐大,在很多情況下,對大量的樣本進(jìn)行標(biāo)注是費(fèi)時費(fèi)力的。因此,下一步工作是把半監(jiān)督或無監(jiān)督方法應(yīng)用于行程碼的檢測,力求少量標(biāo)注樣本或無需標(biāo)注樣本也能對目標(biāo)檢測達(dá)到一個較好的訓(xùn)練效果。
參考文獻(xiàn)(References):
[1] Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot?multibox detector[C].European conference on computer vision. Springer, Cham,2016:21-37
[2] Redmon J, Divvala S, Girshick R, et al. You only look once: unified, real-time object detection[C]. IEEE Conference on Computer Vision and Pattern Recognition June 27-30, 2016, Las Vegas, NV, USA. IEEE,2016:779-788
[3] Redmon J, Farhadi A. YOLO9000: better, faster, stronger[C].Proceedings of the IEEE conference on computer vision and pattern recognition,2017:7263-7271
[4] Ren S Q, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149
[5] Sun J, Cai X, Sun F, et al. Scene image classification method based on Alex-Net model[C].2016 3rd International Conference on Informative and Cybernetics for Computational Social Systems (ICCSS). IEEE,2016:363-367
[6] 王冠博,楊俊東,李波,等.改進(jìn)YOLO v4的火焰圖像實(shí)時檢測[J].計算機(jī)工程與設(shè)計,2022,43(5):1358-1365
[7] Ma N, Zhang X, Zheng H T, et al. Shufflenet v2: Practical guidelines for efficient cnn architecture design[C].European conference on computer vision(ECCV),2018:116-131
[8] He J, Erfani S, Ma X, et al. Alpha-IoU: A family of power Intersection over Union losses for bounding box regression[C],2021:1-2
*基金項目:淮陰工學(xué)院—淮安經(jīng)濟(jì)技術(shù)開發(fā)區(qū)產(chǎn)學(xué)研合作項目(Z413H21522); 江蘇省自然科學(xué)基金面上項目(BK20211365); 大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(202211049087Y、202211049268XJ)
作者簡介:王媛媛(1981-),女,江蘇人,博士研究生,主要研究方向:云計算、大數(shù)據(jù)、計算機(jī)視覺。