豐宗強(qiáng), 應(yīng)一鵬, 章甫君, 于勇波, 劉毅
(燕山大學(xué) 機(jī)械工程學(xué)院,河北 秦皇島 066004)
金剛線[1]是硬脆材料的切割工具,廣泛應(yīng)用于寶石、硅片[2]、太陽能板[3]的切割作業(yè)中。在金剛線生產(chǎn)線[4]上,任何額外的接觸帶來的振動或者其他不穩(wěn)定因素都有可能導(dǎo)致線受力不均而斷裂。所以金剛線斷裂的快速檢測和斷線位置的準(zhǔn)確捕捉是金剛線生產(chǎn)過程中的重要課題。目前,金剛線斷線普遍在生產(chǎn)線線頭和線尾采用拉力傳感器進(jìn)行檢測,通過測量線的張力來判定金剛石線是否斷裂,此方案具有可靠且穩(wěn)定的優(yōu)點(diǎn),但是此方法只有斷線位置接近線頭線尾時才能觸發(fā)報警,故受限于金剛線1.5 m/s的線速,存在斷線反饋滯后導(dǎo)致增加損失且設(shè)備成本較高的缺點(diǎn),原有方案的實(shí)際滯后時間為50~90 s。
由于在激光照射下金剛線網(wǎng)呈現(xiàn)明顯的光斑點(diǎn),故將金剛線是否斷線的狀態(tài)表征為光斑點(diǎn)有無。通過視覺檢測金剛線反射的亮斑點(diǎn)達(dá)到檢測是否斷線的目的,將斷線檢測轉(zhuǎn)化為視覺光斑點(diǎn)目標(biāo)檢測的問題。斑點(diǎn)檢測是機(jī)器視覺研究的重要內(nèi)容之一,隨著圖像處理技術(shù)的日趨成熟,斑點(diǎn)檢測已經(jīng)應(yīng)用于產(chǎn)品缺陷檢測[5]、醫(yī)學(xué)圖像檢測[6]、遙感識別[7]等諸多領(lǐng)域,眾多應(yīng)用方案已經(jīng)在工業(yè)生產(chǎn)與實(shí)際生活中實(shí)施。針對傳統(tǒng)圖像處理方法斑點(diǎn)檢測的缺點(diǎn),研究人員將深度學(xué)習(xí)技術(shù)應(yīng)用到斑點(diǎn)檢測任務(wù)中,并取得了不錯的效果。Xu[8]等提出UH-DOG斑點(diǎn)檢測模型,聯(lián)合DOG法和U-Net深度學(xué)習(xí)模型,在細(xì)胞斑點(diǎn)檢測中取得了優(yōu)異的檢測結(jié)果。張軒宇[9]等則利用VGGNet和ResNe-t34卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了遙感圖像中船舶、養(yǎng)殖箱等不同形狀的斑點(diǎn)物體的檢測及分類。Cao[10]等也利用YOLOv3卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)了遙感圖像中船舶斑點(diǎn)的識別和檢測。
目標(biāo)檢測是相對斑點(diǎn)檢測更高的范疇,目標(biāo)檢測的主要任務(wù)是確定目標(biāo)在圖像中的位置、尺寸和邊緣等信息,這依舊是當(dāng)前計(jì)算機(jī)視覺領(lǐng)域充滿挑戰(zhàn)性的問題[11]。Redmon[12]等提出了YOLO系列目標(biāo)檢測算法,馬立[13]等針對小目標(biāo)漏檢率高的問題,提出了改進(jìn)的Tiny YOLO3模型,對算法的特征提取網(wǎng)絡(luò)、預(yù)測網(wǎng)絡(luò)和損失函數(shù)進(jìn)行改進(jìn)。Ahmad[14]等將低級特征的特征圖與常規(guī)SSD的反卷積層相結(jié)合提出EDF-SSD模型。王宸[15]等利用YOLOv3對輪轂焊縫缺陷進(jìn)行檢測。陳仁祥[16]結(jié)合注意力機(jī)制提出多注意力的Faster RCNN結(jié)構(gòu)對電路板進(jìn)行缺陷檢測。Kumar[16]等結(jié)合空間金字塔操作,對Yolov4模型進(jìn)行改進(jìn),提高了口罩檢測的準(zhǔn)確率。
本文以生產(chǎn)線上金剛線的反射光斑點(diǎn)為研究對象,在前期算法開發(fā)中經(jīng)過灰度處理、空間濾波和圖像增強(qiáng)的方法對圖像進(jìn)行預(yù)處理,并分別結(jié)合基于閾值的亮斑點(diǎn)分割方法、圖像形態(tài)學(xué)操作對目標(biāo)亮斑點(diǎn)進(jìn)行了有效檢測,得到了較理想的光斑點(diǎn)分割與檢測效果。但由于經(jīng)典圖像處理方法主要利用單通道圖像進(jìn)行檢測,且在閾值分割過程中會丟失大量的圖像特征,同時依靠人為提取特征進(jìn)行目標(biāo)分割,步驟多、程序復(fù)雜度高。傳統(tǒng)圖像檢測方法易受環(huán)境光照條件的影響,為解決傳統(tǒng)圖像處理的問題,研究了基于深度學(xué)習(xí)的光斑點(diǎn)目標(biāo)檢測算法,并對算法存在的網(wǎng)絡(luò)層次較深、模型體積較大、檢測實(shí)時性較差的問題,進(jìn)行輕量化改進(jìn)和優(yōu)化,將深度學(xué)習(xí)技術(shù)應(yīng)用于工業(yè)領(lǐng)域的亮斑點(diǎn)檢測任務(wù)中,簡化檢測流程,提高斷線檢測的準(zhǔn)確率,并將改進(jìn)后的模型部署于嵌入式平臺,提出了一套工業(yè)落地的深度學(xué)習(xí)嵌入式金剛線斷線檢測方案。
光斑點(diǎn)視覺檢測系統(tǒng)原理如圖1所示。以線掃激光光源向生產(chǎn)線上的金剛石線投射激光,激光照射在金剛石線網(wǎng)上形成一排光斑點(diǎn),將識別金剛石線的運(yùn)動狀態(tài)表征為金剛石線上漫反射形成的亮斑狀態(tài),并通過CCD攝像頭進(jìn)行圖像采集及視覺檢測,從而判定金剛石線的工作狀態(tài)。
圖1 光斑點(diǎn)視覺檢測系統(tǒng)原理Fig.1 Schematic diagram of light spot vision detection system
檢測系統(tǒng)分為圖像采集端和控制器端兩部分。圖像采集端由圖像采集和輔助功能組成,輔助功能包括光源以及LED交互燈組的控制,圖像采集和傳輸主要依靠3個720P工業(yè)相機(jī)模組和有源USB H-UB模組。前期研究發(fā)現(xiàn),在綠光下斑點(diǎn)的成像效果最優(yōu),故光源選擇一字線綠色激光燈,相機(jī)使用LRCP7650_720P高清面陣工業(yè)相機(jī),其最大分辨率為1 280?720,幀頻為30 frame/s,數(shù)據(jù)接口為USB2.0。USB HUB模組可輸出4個USB2.0接口。
圖像采集端以STM32作為控制器接收控制信號并控制舵機(jī)、LED燈組和激光筆等從設(shè)備,從控制器接受控制器指令調(diào)整光源角度和人機(jī)交互模組提供良好的圖像識別環(huán)境??刂破鞫擞蒍etson Nano嵌入式模組和外圍電路組成,控制器端的Nano模組接收相機(jī)模組的視頻流數(shù)據(jù)并進(jìn)行目標(biāo)檢測,硬件框架組成如圖2所示。
圖2 光斑點(diǎn)視覺檢測硬件組成Fig.2 Hardware composition of light spot vision detection system
如圖3所示,在金剛線生產(chǎn)線上,系統(tǒng)對金剛線網(wǎng)實(shí)時掃描,捕捉實(shí)時圖像并進(jìn)行光斑點(diǎn)目標(biāo)檢測,實(shí)現(xiàn)對產(chǎn)線上線網(wǎng)狀態(tài)的過程監(jiān)測。金剛線網(wǎng)由63條金剛線組成,為了滿足實(shí)際檢測工況、成像效果、相機(jī)視野覆蓋金剛線網(wǎng)等條件,需將金剛線網(wǎng)均分為左、中、右3個部分檢測,圖像采集端左、中、右3個相機(jī)分別捕獲金剛線網(wǎng)的左、中、右區(qū)域的圖像,即分別對各自區(qū)域的21個光斑進(jìn)行檢測,并使用黑色光面亞克力板隔除復(fù)雜背景,創(chuàng)造良好的成像環(huán)境。系統(tǒng)控制端循環(huán)獲取3個相機(jī)的圖像幀進(jìn)行目標(biāo)檢測,完成一次金剛線網(wǎng)的斷線檢測,圖4為檢測系統(tǒng)左、中、右相機(jī)采集的原始圖像。
圖3 金剛線斷線智能檢測平臺Fig.3 Prototype of light spot vision inspection system
圖4 檢測系統(tǒng)左、中、右相機(jī)采集的原始圖像Fig.4 Raw images captured by left, center, and right cameras of inspection system
對處于生產(chǎn)狀態(tài)下的不同產(chǎn)線進(jìn)行光斑點(diǎn)圖像采集,將圖像分為多段,針對不同段,選取不同圖像閾值,便于標(biāo)注時斑點(diǎn)的識別同時縮小目標(biāo)數(shù)量,使目標(biāo)標(biāo)注的區(qū)域選擇更加準(zhǔn)確。數(shù)據(jù)增廣是深度學(xué)習(xí)模型訓(xùn)練的常用方法之一,能夠有效增加訓(xùn)練數(shù)據(jù),避免模型過擬合,同時提升模型的魯棒性,并采用鏡像變換、旋轉(zhuǎn)、透視變換、亮度調(diào)整、添加噪聲等方法對數(shù)據(jù)集進(jìn)行增廣,再對數(shù)據(jù)集進(jìn)行標(biāo)注。圖5為采集圖像處理后的部分?jǐn)?shù)據(jù)集。
圖5 部分光斑點(diǎn)檢測數(shù)據(jù)集展示Fig.5 Partial presentation of blob detection dataset
對實(shí)際生產(chǎn)線上采集得到的原始圖像進(jìn)行篩選,濾除斑點(diǎn)代表性較差、圖像過度模糊、圖像相似度高的圖像,并利用數(shù)據(jù)增廣方法進(jìn)一步擴(kuò)充數(shù)據(jù)集,最終挑選出15 000張較為理想的圖片作為模型訓(xùn)練的數(shù)據(jù)集,各階段數(shù)據(jù)集的參數(shù)如表1所示。
表1 數(shù)據(jù)集參數(shù)表Tab.1 Dataset parameter
將得到的訓(xùn)練數(shù)據(jù)集按照8∶1∶1的數(shù)量比例隨機(jī)劃分為訓(xùn)練集、驗(yàn)證集和測試集3個部分供后續(xù)模型訓(xùn)練。其中,訓(xùn)練集12 000張,驗(yàn)證集1 500張。實(shí)驗(yàn)使用圖像標(biāo)注工具LabelImg,標(biāo)注圖像數(shù)據(jù)中光斑點(diǎn)的位置,共標(biāo)注13 500張圖像。為進(jìn)一步驗(yàn)證光斑點(diǎn)目標(biāo)檢測的準(zhǔn)確率,在測試數(shù)據(jù)集中增加了500張非金剛線反射形成的光斑雜點(diǎn)作為干擾項(xiàng),模擬實(shí)際產(chǎn)線的成像環(huán)境。
本文模型訓(xùn)練及相關(guān)實(shí)驗(yàn)均在相同的設(shè)備上完成,采用的硬件配置和軟件版本的具體參數(shù)如表2所示。模型訓(xùn)練采用遷移學(xué)習(xí)方法Pytorch官方提供的預(yù)訓(xùn)練模型進(jìn)行模型參數(shù)初始化,同時采用凍結(jié)模型的訓(xùn)練方法,模型總共進(jìn)行100個Epoch的訓(xùn)練。在前50個Epoch訓(xùn)練過程中,先凍結(jié)模型的主干特征提取網(wǎng)絡(luò)的權(quán)重系數(shù),使之不進(jìn)行反向梯度更新,凍結(jié)階段網(wǎng)絡(luò)訓(xùn)練的batch_size為8,初始學(xué)習(xí)率為0.001。在后50個Epoch的訓(xùn)練過程中,再將主干特征提取網(wǎng)絡(luò)解凍,此時對整個網(wǎng)絡(luò)模型參數(shù)進(jìn)行反向梯度更新。由于需要更新的參數(shù)量增加,為避免超出內(nèi)存,減小輸入模型的圖片batch_size為4,且由于解凍階段模型更深,故減小初始學(xué)習(xí)率為0.000 1。在兩個階段的訓(xùn)練過程中,模型的學(xué)習(xí)率變化均采用固定步長衰減的策略,學(xué)習(xí)率每隔一定步數(shù)(1個Epoch)就衰減為原來的0.92倍。
表2 實(shí)驗(yàn)的硬件配置和軟件版本參數(shù)Tab.2 Experiment hardware configuration and software version parameter
在相同的軟硬件配置下,本文分別對Yolov4,Yolov5和與前兩者模型大小相近的Yoloxm 3個模型進(jìn)行訓(xùn)練。檢測速度和檢測平均精度(mAP)的關(guān)鍵指標(biāo)統(tǒng)計(jì)如表3所示。
表3 Yolo系列光斑點(diǎn)的檢測精度與速度Tab.3 Spot detection accuracy and speed of Yolo series
由表3可見,3種模型均具有較好的檢測效果,mAP值均在96%以上。其中Yolox-m的檢測精度最高,達(dá)到了97.28%,但三者的檢測速度均較低,只有2~3 frame/s,主要是由于三者模型層次較深且體積較大,實(shí)時性較差,需進(jìn)行輕量化改進(jìn)。在檢測系統(tǒng)的實(shí)際應(yīng)用中,從檢測速度和平均精度考慮,選擇對Yolox-m進(jìn)行輕量化改進(jìn)。圖6為Yolox-m模型的光斑點(diǎn)檢測結(jié)果。
圖6 Yolox-m模型的光斑點(diǎn)檢測結(jié)果Fig.6 Detection results of light spots in Yolox-m model
Yolox目標(biāo)檢測算法是新一代高性能目標(biāo)檢測算法,其算法框架可分為主干特征提取網(wǎng)絡(luò)、加強(qiáng)特征提取網(wǎng)絡(luò)和分類器三部分,如圖7所示。算法框架中,主干特征提取網(wǎng)絡(luò)為CSPDarkNet網(wǎng)絡(luò),它主要由5個局部跨階段(Cross Stage Partial,CSP)殘差網(wǎng)絡(luò)塊構(gòu)成。加強(qiáng)特征提取網(wǎng)絡(luò)(Feature Pyramid Network, FPN)主要由空間金字塔操作(Spatial Pyramid Pooling Network, SPP)和路徑聚合網(wǎng)絡(luò)(Path Aggregation Network, PANet)組成。輸入圖片經(jīng)過CSPDark-Net和FPN得到3個特征圖完成圖像特征提取,最后在Yolo Head中完成目標(biāo)檢測。與Yolov4最大的不同在于:分類器中Yolox將回歸預(yù)測和置信度預(yù)測進(jìn)行解耦,并采用無錨框(anchorfree)的邊框預(yù)測方法代替原有的基于錨框(anchor-based)的邊框預(yù)測方法。
圖7 Yolox目標(biāo)檢測算法框架Fig.7 Schematic diagram Yolox target detection algorithm
Yolox采用解耦檢測器,模型在檢測器中增加預(yù)測分支,將邊界框的位置及寬高的回歸任務(wù)和種類置信度預(yù)測的二分類任務(wù)相分離,去除檢測器在預(yù)測過程中回歸任務(wù)和二分類任務(wù)可能存在的不利耦合作用,最后再通過通道堆疊操作將輸出的3個預(yù)測三維張量進(jìn)行通道堆疊。解耦檢測器雖然增加了少量的模型計(jì)算量,但有效地提高了模型訓(xùn)練的收斂速度和預(yù)測精度。解耦檢測器結(jié)構(gòu)如圖7中右側(cè)框檢測器所示,其中通道堆疊前的卷積層不執(zhí)行批歸一化和激活函數(shù)操作。
相較于早先Yolo系列模型的基于anchorbased的邊界框預(yù)測方法,Yolox采用了目前流行的anch-orfree的預(yù)測框回歸策略。在進(jìn)行正負(fù)樣本選擇時,基于錨框的邊界框預(yù)測方法需要進(jìn)行大量的真實(shí)框與錨框的交并比計(jì)算。
無錨框回歸采用點(diǎn)回歸的形式,在預(yù)測目標(biāo)物體邊緣框的過程中不再借助錨框尺寸。特征圖中每個柵格只有一個預(yù)測點(diǎn),根據(jù)經(jīng)過解耦檢測器得到的預(yù)測參數(shù)tx,ty,tw,th可以確定該預(yù)測點(diǎn)的預(yù)測框形狀。如圖8所示,與Yolov4不同,經(jīng)過網(wǎng)絡(luò)預(yù)測得到的寬高的預(yù)測參數(shù)通過指數(shù)函數(shù)后直接得到預(yù)測框的寬高,而不再是預(yù)測框相對于錨框的比例系數(shù)。
圖8 預(yù)測框位置及寬高示意圖Fig.8 Schematic diagram of position and width and height of prediction box
根據(jù)網(wǎng)絡(luò)所得的預(yù)測參數(shù)可得預(yù)測框的中心點(diǎn)坐標(biāo)及其寬高,計(jì)算公式如下:
其中:bx,by為預(yù)測框中心坐標(biāo)相對于圖像左上角的偏移量,bw,bh為預(yù)測框?qū)捀?,tx,ty為預(yù)測框中心點(diǎn)坐標(biāo)的預(yù)測參數(shù),tw,th為預(yù)測框?qū)捀叩念A(yù)測參數(shù),dx和dy為預(yù)測點(diǎn)所在柵格左上角點(diǎn)與圖像左上角點(diǎn)的距離。
通過解耦檢測器可得到3個包含預(yù)測參數(shù)的三維張量,分別對應(yīng)加強(qiáng)特征提取網(wǎng)絡(luò)輸出的3張?zhí)卣鲌D,根據(jù)式(1)即可利用三維張量中的預(yù)測參數(shù)得到相應(yīng)特征圖中每個柵格的預(yù)測框。若特征圖尺寸為n×n,則每張?zhí)卣鲌D可得到n×n×1個待分類樣本,與基于錨框預(yù)測的模型相比減少了2/3的待分類樣本數(shù)目。但由于負(fù)樣本數(shù)量相對正樣本數(shù)量的比例依舊較大,為了進(jìn)一步減小正負(fù)樣本的數(shù)量差距,利用Simple Optimal Transport Assignment (SimOTA)算法進(jìn)行正負(fù)樣本分類,增加正樣本的數(shù)量。在SimOTA算法中,先將真實(shí)框內(nèi)及真實(shí)框向外擴(kuò)展2.5個柵格的區(qū)域劃分為候選區(qū)域,位于候選區(qū)域的預(yù)測點(diǎn)作為候選點(diǎn),候選點(diǎn)對應(yīng)的預(yù)測框?yàn)楹蜻x框。再計(jì)算候選框與其對應(yīng)的真實(shí)框的IOU值,并計(jì)算候選框與真實(shí)框的代價函數(shù),代價函數(shù)為:
其中:Lcls為候選框的分類誤差,Lreg為候選框的回歸誤差,x為系數(shù)取0.5。
再由圖像中真實(shí)框的數(shù)量確定參數(shù)y,y的計(jì)算公式如下:
取出每個真實(shí)框IOU最大的前y個候選框,將其IOU值相加得到y(tǒng)'。將每個真實(shí)框的候選框中代價函數(shù)最小的前y'個候選框作為正樣本,y'最小值取1,其余樣本為負(fù)樣本。若一個正樣本候選框?qū)?yīng)多個真實(shí)框,則該候選框歸為代價函數(shù)值小的真實(shí)框的正樣本。
Yolox中SimOTA算法在限制的候選區(qū)域內(nèi)進(jìn)行正樣本分類,保證了正樣本質(zhì)量,同時根據(jù)算法確定自適應(yīng)的選取樣本數(shù),選取多個預(yù)測框?yàn)檎龢颖荆岣哒龢颖镜臄?shù)量。再將其余預(yù)測框歸為負(fù)樣本,由于預(yù)測框總數(shù)減少了2/3,所以有效控制了負(fù)樣本數(shù)量,進(jìn)而提高了正負(fù)樣本比例,使用于模型訓(xùn)練的正負(fù)樣本數(shù)量更加均衡。同時由于放棄了錨框,模型不再需要提前指定參考錨框的尺寸,使模型訓(xùn)練更加簡便。
結(jié)合深度可分離卷積的模型輕量化方法和倒殘差塊的結(jié)構(gòu)設(shè)計(jì)對Yolox模型的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行輕量化改進(jìn),將Yolox中的CSPDarknet主干特征提取網(wǎng)絡(luò)替換為采用倒殘差塊結(jié)構(gòu)的輕量化網(wǎng)絡(luò)Mobile-Netv3-Large,得到初步的輕量化網(wǎng)絡(luò)模型Yolox-MobileNetV3。在主干特征提取網(wǎng)絡(luò)替換前,刪去M-obileNetv3-Large模型最后的全連接層。Yolox模型中默認(rèn)的輸入圖像尺寸為640×640,故主干特征提取網(wǎng)絡(luò)輸出的3個特征圖的寬高分別為20×20,40×40,80×80,MobileNetv3-Large網(wǎng)絡(luò)的3個輸出特征圖的尺寸應(yīng)與之相同。
3個特征圖的輸出位置及裁剪后的Mobile-Netv3-Large網(wǎng)絡(luò)結(jié)構(gòu)如表4所示。圖中,3×3,5×5表示殘差塊中卷積操作中卷積核尺寸,s表示卷積操作步長。Scale通道為輸出特征圖通道,3個輸出的特征圖尺寸和通道數(shù)分別為80×80×40,40×40×112和20×20×160。
表4 裁剪后的MobileNetv3-Large網(wǎng)絡(luò)結(jié)構(gòu)Tab.4 Cropped MobileNetv3-Large network structure
在對主干特征提取網(wǎng)絡(luò)進(jìn)行輕量化修改后,對加強(qiáng)特征提取網(wǎng)絡(luò)也進(jìn)行輕量化修改。由于Yolox模型的加強(qiáng)FPN中也含有大量的卷積網(wǎng)絡(luò)層和傳統(tǒng)殘差結(jié)構(gòu)塊,為了進(jìn)一步減小模型大小,還可以對FPN進(jìn)行輕量化改進(jìn)。FPN主要由上采樣、下采樣、普通卷積層和CSP層組成,CSP層為CSP殘差塊結(jié)構(gòu)。原加強(qiáng)特征提取網(wǎng)絡(luò)結(jié)構(gòu)如圖9所示。
圖9 原加強(qiáng)特征提取網(wǎng)絡(luò)結(jié)構(gòu)Fig.9 The original enhanced feature extraction network structure
加強(qiáng)特征提取網(wǎng)絡(luò)的輕量化即將FPN的卷積層中的普通卷積替換成深度可分離卷積,并對CSP層中的卷積結(jié)構(gòu)和殘差結(jié)構(gòu)進(jìn)行改進(jìn)。
Yolox的FPN中CSP層的輕量化改造如圖10所示。為了清晰描述網(wǎng)絡(luò)結(jié)構(gòu),省略了批歸一化層和激活函數(shù),圖中左部分所示網(wǎng)絡(luò)結(jié)構(gòu)為原始CSP殘差塊結(jié)構(gòu);右部分所示為輕量化后的CSP殘差塊結(jié)構(gòu),其中卷積層中執(zhí)行普通卷積操作,DP卷積中執(zhí)行深度可分離卷積操作,m表示殘差塊的堆疊次數(shù)。
圖10 CSP層結(jié)構(gòu)輕量化Fig.10 Lightweight CSP layer structure
將改進(jìn)后的加強(qiáng)特征提取網(wǎng)絡(luò)FPN和改進(jìn)后的主干特征提取網(wǎng)絡(luò)進(jìn)行組合,最終輕量化改進(jìn)模型結(jié)構(gòu)Yolox-MobileNetV3如圖11所示。在最終輕量化改進(jìn)的模型結(jié)構(gòu)中,將主干特征提取網(wǎng)絡(luò)和加強(qiáng)特征提取網(wǎng)絡(luò)均進(jìn)行輕量化處理,同時對于Yolox模型的Yolo Head檢測器,保持其原有的解耦檢測和無錨框的檢測機(jī)制。圖中,Scale通路表示從修改的主干特征提取網(wǎng)絡(luò)中輸出的3個特征圖,Scale通路左部分為采用經(jīng)過裁剪的Mobi-leNet網(wǎng)絡(luò)替換后的主干特征提取網(wǎng)絡(luò),Scale通路右側(cè)緊接著的是輕量化后的加強(qiáng)特征提取網(wǎng)絡(luò),模型的Yolo Head檢測器依舊保持原有結(jié)構(gòu)。DP卷積表示深度可分離卷積層,InvCSP層表示輕量化改進(jìn)的采用倒殘差結(jié)構(gòu)的CSP層。
圖11 輕量化改進(jìn)后的Yolox-MobileNetV3網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.11 Lightweight and improved Yolox-MobileNetV3 network model structure
添加注意力機(jī)制是提高模型性能的有效手段。由于斑點(diǎn)目標(biāo)存在較強(qiáng)的空間分布特征且斑點(diǎn)之間存在線性的空間分布規(guī)律,故增強(qiáng)網(wǎng)絡(luò)的空間特征信息的提取能力有助于目標(biāo)斑點(diǎn)的識別。
在CA機(jī)制中,為了有效地捕捉位置信息和通道關(guān)系。通過將SE中全局池化的H×W池化核更換為H×1和1×W的兩個池化核,將二維全局池化操作分解為兩個一維池化編碼,沿寬度方向和高度方向的編碼方式如下:
其中:H,W分別表示特征張量的高和寬,h表示水平池化所在行高度,w表示豎直池化所在列的寬度表示沿高度方向的編碼值表示沿寬度方向的編碼值。
CA模塊的添加位置如圖12所示。為了避免破壞MobileNet原有的網(wǎng)絡(luò)結(jié)構(gòu)導(dǎo)致預(yù)訓(xùn)練權(quán)重失效,故在主干特征提取網(wǎng)絡(luò)的3個特征圖輸出通道后添加CA模塊。同時在加強(qiáng)特征提取網(wǎng)絡(luò)FPN中,在特征圖上采樣之后也添加CA模塊以增強(qiáng)網(wǎng)絡(luò)采樣在空間方向上的靈敏度。將經(jīng)過輕量化及添加CA機(jī)制的Yolox模型記為MCA-Yolox模型。
圖12 注意力機(jī)制改進(jìn)網(wǎng)絡(luò)Fig.12 Improved network of attention mechanism
深度學(xué)習(xí)中通常用模型的平均精度(Average Precision,AP)作為衡量模型目標(biāo)檢測效果的指標(biāo)。而模型的平均精度受模型的精確度(Precision)和召回率(Recall)影響。準(zhǔn)確率表示預(yù)測為真的樣本中正樣本數(shù)的比例,召回率表示在所有真實(shí)情況為整的樣本中預(yù)測為真的樣本數(shù)的比例。精確度和召回率的計(jì)算公式分別為:
其中:TP表示預(yù)測為真的正樣本(True Positive),F(xiàn)N表示預(yù)測為假的負(fù)樣本(False negative),F(xiàn)P表示預(yù)測為假的正樣本(False posi-tive)。AP是不同召回率下的準(zhǔn)確率的平均值,mAP表示不同類別的AP值的平均值。mAP的計(jì)算公式為:
其中:P表示精確度,R表示召回率,C表示目標(biāo)類別數(shù)。
F1分?jǐn)?shù)(F1-score)是Precision和Recall的調(diào)和平均數(shù),最大為1,最小為0,分?jǐn)?shù)越高,說明模型越穩(wěn)健,計(jì)算公式為:
由于受到嵌入式平臺算力成本限制,在實(shí)際應(yīng)用場景中除了模型的檢測能力,人們往往更關(guān)注模型的復(fù)雜度,通常用模型前向傳播的每秒浮點(diǎn)運(yùn)算次數(shù)(Floating-Point Operations Per second,F(xiàn)LOPs)和模型參數(shù)個數(shù)(Parameters)來描述模型的復(fù)雜度。對模型進(jìn)行實(shí)驗(yàn)比較時,需要結(jié)合模型的準(zhǔn)確度和復(fù)雜度來選擇。
除了MobileNet模型,常見的輕量化網(wǎng)絡(luò)模型還有ShuffleNet,GhostNet和EfficientNet等系列。為了驗(yàn)證Yolox-MobileNetV3模型的性能,選取Yolox-ShuffleNetV2,Yolox-GhostNet和Yolox-Ef-ficientNet 3種輕量化模型,采取與Yolox-MobileN-et相同的方式替換Yolox模型的主干特征提取網(wǎng)絡(luò),在相同的數(shù)據(jù)集上進(jìn)行對比實(shí)驗(yàn)。Mobilenet網(wǎng)絡(luò)中為了靈活控制模型大小,設(shè)置了兩個超參數(shù),通道因子α和分辨率因子β,分別用來控制模型中特征張量的通道數(shù)和尺寸,通過因子參數(shù)可以控制模型大小。實(shí)驗(yàn)中默認(rèn)通道因子和分辨率因子均為1.0。
模型訓(xùn)練的學(xué)習(xí)率依舊采用固定步長衰減的策略,學(xué)習(xí)率每隔一定步數(shù)(1個Epoch)就衰減為原來的0.92倍。訓(xùn)練采用先凍結(jié)主干特征提取網(wǎng)絡(luò),再解凍的訓(xùn)練步驟,模型訓(xùn)練100個Epoch,凍結(jié)的訓(xùn)練階段為前50個Epoch。各模型的mAP值默認(rèn)取threshold為0.5時的mAP值。
如表5所示,與Yolox-m模型相比,4個輕量化改進(jìn)模型的參數(shù)量、大小和運(yùn)算量均大幅地減小。Yolox-mobileNetV3模型的檢測精度在4個模型中最高,mAP值達(dá)到了95.02%,模型的大小也僅有20.23 Mb,在模型的檢測準(zhǔn)確率和模型存儲上都比較優(yōu)秀。
表5 模型實(shí)驗(yàn)參數(shù)Tab.5 Parameters of model experiment
表5 不同主干特征提取網(wǎng)絡(luò)替換模型參數(shù)Tab.5 Model parameter for different backbone feature extraction network replacement
訓(xùn)練過程中,4種輕量化模型的mAP值變化曲線如圖13所示。圖14為模型訓(xùn)練后期的mAP變化曲線。在模型解凍即訓(xùn)練50個Epoch后,模型得到進(jìn)一步的訓(xùn)練,模型的mAP值有較大的提高。4種輕量化改進(jìn)模型在訓(xùn)練70個Epoch后趨向收斂,mAP值趨向于穩(wěn)定。與其他模型相比,利用MobilenetV3輕量化改進(jìn)的模型在模型訓(xùn)練后期能夠達(dá)到更高的mAP值,體現(xiàn)出MobileNetV3的改進(jìn)模型相比于其他幾個模型在該斑點(diǎn)數(shù)據(jù)集上具有更高的檢測準(zhǔn)確率。
圖13 模型訓(xùn)練過程中mAP值Fig.13 mAP in target detection of light spot
圖14 訓(xùn)練后期模型mAP值Fig.14 mAP value of post-training model
為了驗(yàn)證改進(jìn)模型的檢測精度,同時為了進(jìn)一步驗(yàn)證添加CA機(jī)制對提高模型檢測精度的有效性,對Yolox-MobileNetV3,MCA-Yolox,Yolox-Tiny和Yolov4-Tiny的檢測精度進(jìn)行比較。
4個模型訓(xùn)練過程中的mAP曲線、F1值曲線分別如圖15和圖16所示。4個模型在模型解凍后,模型的mAP值和F1值均有較大的提升,說明模型得到進(jìn)一步收斂,模型的檢測精度進(jìn)一步得到提升。與其他模型相比,在訓(xùn)練過程中改進(jìn)模型MCA-Yo-lox均保持較高的mAP值,說明改進(jìn)模型具有較高的檢測精確度。由實(shí)驗(yàn)數(shù)據(jù)得到,MCA-Yolox模型的mAP值達(dá)到95.43%左右,Yolox-MobileNetV3,Yolox-Tiny和Yolov4-Tiny的mAP值分別在94.52%,94.24%和92.52%左右。在模型F1值上,改進(jìn)模型比其他3種模型更高,說明模型同時具備更高的Precision和Recall值,模型檢測性能更加穩(wěn)定。MCA-Yolox模型的F1值達(dá)到0.952左右,Yolox-MobileNetV3,Yolox-Tiny和Yolov4-Tiny的F1值分別在0.943,0.922和0.922左右。
圖15 模型訓(xùn)練的mAP曲線Fig.15 mAP curve of model training
圖16 模型訓(xùn)練的F1曲線Fig.16 F1 curve of model training
模型的Precision-Recall(PR)曲線如圖17所示,可驗(yàn)證模型的mAP和F1曲線的特征。改進(jìn)模型MCA-Yolox的PR曲線基本將其他模型的曲線包圍,曲線與橫縱坐標(biāo)軸包圍的面積比另外3個模型的面積都要大,說明改進(jìn)模型具有較高的mAP值,曲線的右上角點(diǎn)同時滿足更高的Precision和Recall坐標(biāo)值,說明模型具有更高的F1值。綜上,從模型的mAP值和F1值參數(shù)上比較,改進(jìn)模型MCA-Yolox模型具有最好的檢測精度和準(zhǔn)確率。同時,MCA-Yolox模型比Yolox-MobileNetV3模型在mAP值上提升了約1%,驗(yàn)證了添加CA機(jī)制對模型性能的提升。
圖17 模型訓(xùn)練的PR曲線Fig.17 PR curve of model training
各模型在Jetson Nano平臺上的實(shí)驗(yàn)參數(shù)如表6所示。經(jīng)過模型的輕量化,改進(jìn)后的MCAYolox模型的參數(shù)量僅占到Y(jié)olov4模型的1/13左右。在模型大小和運(yùn)算量方面,MCA-Yolox也只有Yolov4模型的1/10左右。與Yolov4-Tiny和Yolox-Tiny模型相比,MCA-Yolox在模型大小和運(yùn)算量相差不多的情況下,mAP提升了1%以上,體現(xiàn)出更佳的檢測性能。
Yolov4-Tiny,Yolox-Tiny和改進(jìn)模型MCATiny在Jetson Nano平臺上的檢測結(jié)果如圖18所示,可以看到Y(jié)olox-Tiny和Yolov4-Tiny模型對于金剛線網(wǎng)邊緣較暗的光斑點(diǎn)都有出現(xiàn)漏檢的現(xiàn)象,Yolov4-Tiny對于金剛線網(wǎng)中間形狀較不規(guī)則的亮斑點(diǎn)也出現(xiàn)了漏檢,而改進(jìn)的MCAYolox模型則成功地檢測出圖像中的所有亮斑點(diǎn)。同時Yolox-Tiny和Yolov4-Tiny模型檢測出的亮斑點(diǎn)的置信度都在0.60~0.75之間,而MCA-Yolox模型檢測出的亮斑點(diǎn)的置信度都高于0.75,體現(xiàn)出MCA-Yolox模型更高的檢測精度和穩(wěn)定性。輕量化檢測模型中Yolov4-Tiny模型的檢測速度最快達(dá)到15 frame/s,MCA-Yolox模型也達(dá)到12 frame/s。
圖18 各模型檢測效果對比Fig.18 Comparison of detection effect of each model
最后,利用TensorRT庫對改進(jìn)后的模型進(jìn)行加速優(yōu)化,隨后將優(yōu)化后的模型部署于智能檢測嵌入式平臺,經(jīng)過TensorRT加速后的MCA-Yolox模型的檢測速度能夠達(dá)到30 frame/s左右,若不考慮系統(tǒng)圖像傳輸時間,系統(tǒng)可在0.1 s左右內(nèi)完成3個相機(jī)捕獲的圖像幀斑點(diǎn)檢測,并進(jìn)行斷線異常報警。從模型存儲空間、檢測速度和檢測準(zhǔn)確率等方面考慮,改進(jìn)的MCA-Yolox模型在滿足檢測實(shí)時性的要求上,檢測準(zhǔn)確率較高,達(dá)到了理想的光斑點(diǎn)檢測效果。
本文針對傳統(tǒng)圖像處理算法易受外部環(huán)境干擾,實(shí)時性較差等問題,引入深度學(xué)習(xí)算法對光斑進(jìn)行檢測,并提出了一種改進(jìn)的輕量化目標(biāo)檢測模型MCA-Yolox,對Yolox模型提出了3點(diǎn)改進(jìn)策略:利用MobileNetV3輕量化特征提取網(wǎng)絡(luò)替換 Yolox模型的主干特征提取網(wǎng)絡(luò)對模型進(jìn)行了輕量化改進(jìn);利用深度可分離卷積和倒殘差結(jié)構(gòu)對加強(qiáng)特征提取網(wǎng)絡(luò)進(jìn)行了輕量化改進(jìn);對模型添加CA機(jī)制,提高了模型的檢測精度。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的MCA-Yolox模型的大小和運(yùn)算量減小到Y(jié)olov4和Yolox模型的1/3以下,相比同樣規(guī)模的Yolov4-Tiny和Yolox-Tiny輕量化模型具有更高的檢測精度,其mAP值高于 Yolov4-Tiny約2.9%,高于Yolox-Tiny約1.2%。在Jetson Nano設(shè)備上的檢測實(shí)驗(yàn)中,MCA-Yolox模型體現(xiàn)出最好的亮斑點(diǎn)檢測效果,并達(dá)到12 frame/s的檢測速度。最后,將加速優(yōu)化后的模型部署于智能檢測平臺,檢測速度可達(dá)30 frame/s。