文 馬坤 無錫小天鵝電器有限公司
隨著國際貿(mào)易的快速發(fā)展,中國企業(yè)積極開拓海外市場(chǎng)。在洗衣機(jī)制造業(yè)中,由于不同國家電源插座標(biāo)準(zhǔn)不同,銷往不同國家的產(chǎn)品都必須配備上符合當(dāng)前國家標(biāo)準(zhǔn)的插頭。目前,在洗衣機(jī)生產(chǎn)流水線中,人工不容易區(qū)分插頭與洗衣機(jī)箱體是否匹配,所以在完成洗衣機(jī)裝配后,通常直接對(duì)洗衣機(jī)進(jìn)行封裝發(fā)往銷售地。插頭裝配過程中由于插頭誤拿、錯(cuò)放等因素的影響,不能100%保證洗衣機(jī)型號(hào)與插頭類別相匹配。在銷售過程中,匹配錯(cuò)誤的洗衣機(jī)不僅是資源的浪費(fèi),也對(duì)企業(yè)聲譽(yù)造成了影響。為了提高企業(yè)信譽(yù),增強(qiáng)企業(yè)競(jìng)爭(zhēng)力,洗衣機(jī)插頭檢測(cè)勢(shì)在必行。
近年來,隨著計(jì)算機(jī)性能的不斷提升,深度學(xué)習(xí)相關(guān)技術(shù)發(fā)展迅速,新的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)不斷涌現(xiàn),在一些數(shù)據(jù)集上的分類水準(zhǔn)已經(jīng)接近于人類,利用卷積神經(jīng)網(wǎng)絡(luò)提取圖像特征,也具有更好的效果和更強(qiáng)的魯棒性。在機(jī)器視覺和計(jì)算機(jī)視覺的相關(guān)應(yīng)用領(lǐng)域,深度學(xué)習(xí)也不斷有大量的新算法涌現(xiàn),在圖像分類、目標(biāo)檢測(cè)、三維重建和語義分割等領(lǐng)域中應(yīng)用廣泛,效果顯著。
目前,由于洗衣機(jī)插頭誤裝率低,流水線檢測(cè)時(shí)間短,檢測(cè)環(huán)境復(fù)雜,國內(nèi)外目前還沒有洗衣機(jī)插頭錯(cuò)配檢測(cè)的相關(guān)研究。由于不同插頭形狀不同,同時(shí)在插頭上往往刻有表示不同含義的字符,為采用深度學(xué)習(xí)識(shí)別插頭種類提供了可行性條件。本文采用相機(jī)圖像采集系統(tǒng)和深度學(xué)習(xí)目標(biāo)檢測(cè)技術(shù)建立了在線插頭識(shí)別系統(tǒng),在識(shí)別出插頭種類與代表洗衣機(jī)種類的條形碼不匹配時(shí)報(bào)錯(cuò),并由三色燈進(jìn)行報(bào)警,實(shí)現(xiàn)了洗衣機(jī)插頭錯(cuò)配識(shí)別與預(yù)警,大幅減少了插頭種類與洗衣機(jī)類別不匹配的產(chǎn)品流入市場(chǎng)。
視覺識(shí)別系統(tǒng)的硬件主要由插頭圖像采集、洗衣機(jī)條形碼識(shí)別和三色燈報(bào)警三個(gè)部分構(gòu)成。其中,插頭圖像采集部分如圖1 所示,通過選取合理的工業(yè)相機(jī)和光源布局,采集插頭圖片。由于流水線上燈光環(huán)境復(fù)雜,為了能采集到清晰完整的插頭圖片,提高插頭識(shí)別準(zhǔn)確率,光源采用環(huán)形燈光,從下往上照射,相機(jī)放置在環(huán)形光源下方,透過環(huán)形光源孔拍攝插頭圖片,同時(shí)采用茶色燈罩阻隔外部燈光。為了滿足流水線的快速性需求,圖像采集采用按鍵式拍照,在放置插頭的玻璃板下設(shè)置一個(gè)觸發(fā)按鍵,有插頭放置時(shí)按鍵觸發(fā),同時(shí)打開三色燈與攝像頭拍照,完成圖像采集。洗衣機(jī)條形碼識(shí)別部分為掃碼槍,能夠在洗衣機(jī)經(jīng)過時(shí)讀取洗衣機(jī)上條形碼的S/N 碼,并傳送至工控機(jī)。三色燈報(bào)警部分由三色燈構(gòu)成,三色燈通過USB 接口連接在工控機(jī)上,在檢測(cè)到插頭識(shí)別出的種類與代表洗衣機(jī)種類的S/N 碼不匹配時(shí),紅色燈閃爍報(bào)警。
圖1 插頭圖像采集部分示意圖
識(shí)別流程由離線和在線兩個(gè)階段構(gòu)成。離線階段是指深度學(xué)習(xí)模型訓(xùn)練階段,先通過插頭圖像采集模塊采集不同種類的插頭圖像構(gòu)成數(shù)據(jù)集,再經(jīng)過旋轉(zhuǎn)、灰度化、拼接等圖片處理方式擴(kuò)充數(shù)據(jù)集,使用獲得的數(shù)據(jù)集訓(xùn)練深度學(xué)習(xí)目標(biāo)定位模型,提取不同插頭的特征表示,獲得插頭種類,并將其保存在插頭的模型庫中便于后續(xù)調(diào)用比較。在線階段主要是指洗衣機(jī)流水線工作階段,分為掃碼槍識(shí)別洗衣機(jī)條形碼和插頭圖像采集獲取插頭種類兩部分。在洗衣機(jī)到達(dá)掃碼槍工位時(shí),掃碼槍掃描箱體背后整機(jī)條形碼,并識(shí)別出代表洗衣機(jī)種類的S/N碼,檢測(cè)系統(tǒng)收到MES(制造執(zhí)行系統(tǒng))發(fā)送的S/N 碼后,調(diào)取模型庫中S/N 碼對(duì)應(yīng)的插頭種類模型,同時(shí)將插頭放到圖像采集系統(tǒng)中,觸發(fā)按鍵拍攝插頭圖像,工控機(jī)獲取到插頭圖像后導(dǎo)入深度學(xué)習(xí)模型,獲得待測(cè)插頭的深度特征信息,根據(jù)所得特征信息獲得插頭模型庫中的插頭種類。將圖像采集獲得的插頭種類與掃描箱體條形碼獲得的插頭種類進(jìn)行對(duì)比,檢測(cè)插頭是否錯(cuò)配。插頭識(shí)別流程圖如圖2 所示。
圖2 插頭識(shí)別流程圖
目前,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法大致可以分為兩類:兩階段檢測(cè)算法和單階段檢測(cè)算法。其中,兩階段算法是先通過卷積神經(jīng)網(wǎng)絡(luò)獲得一系列候選區(qū)域,然后再根據(jù)形狀、顏色等特征完成對(duì)特定區(qū)域的分類來達(dá)到檢測(cè)目的的算法,這種算法檢測(cè)準(zhǔn)確率高,但由于其需要多次運(yùn)行監(jiān)測(cè)和分類流程,導(dǎo)致檢測(cè)速度很慢。單階段算法利用回歸思想,直接將圖片輸入到卷積神經(jīng)網(wǎng)絡(luò)中,經(jīng)過檢測(cè)后直接輸出得到結(jié)果,該算法雖然準(zhǔn)確率不如兩階段算法,但是速度相對(duì)較快。
由于工廠流水線運(yùn)轉(zhuǎn)速度快,在檢測(cè)過程中不能干擾流水線的正常運(yùn)行,因此必須同時(shí)滿足快速性和準(zhǔn)確性的要求。YOLO 算法作為單階段檢測(cè)算法的代表,其在目標(biāo)檢測(cè)任務(wù)中滿足快速性的同時(shí)能保證檢測(cè)的準(zhǔn)確性,因此被廣泛應(yīng)用在目標(biāo)檢測(cè)項(xiàng)目中。本文采用了YOLOv5 識(shí)別插頭的種類。
YOLOv5 算法由Utralytics 在2020 年6 月提出,是YOLO算法的第五個(gè)版本,該版本在保證準(zhǔn)確性的同時(shí)有良好的檢測(cè)速度,性能超過了YOLO 之前的所有版本,其網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。YOLOv5 算法又可以根據(jù)主干網(wǎng)絡(luò)寬度和深度的不同,分為YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 四個(gè)版本,其中YOLOv5s 是最簡(jiǎn)單的版本,它的模型參數(shù)最少,檢測(cè)速度也最快。YOLOv5s 將模型分為Backbone 網(wǎng)絡(luò)、FPN 特征增強(qiáng)和YoloHead 三個(gè)部分,每個(gè)部分的作用都不盡相同。
Backbone 網(wǎng)絡(luò)部分又被稱為主干特征提取網(wǎng)絡(luò),輸入的圖片會(huì)先在這里進(jìn)行圖像特征提取。首先,圖片輸入后會(huì)先經(jīng)過focus 網(wǎng)絡(luò)結(jié)構(gòu),輸入圖像會(huì)在此處每隔一個(gè)像素取一個(gè)值,獲得四個(gè)獨(dú)立特征層,然后再將這四個(gè)獨(dú)立特征層進(jìn)行堆疊,此時(shí),圖像的寬度和高度信息都會(huì)被集中到通道信息中,在降低圖像分辨率、減少計(jì)算量的同時(shí)還能提高每個(gè)點(diǎn)的感受野,減少原始信息的損失。接著,結(jié)合CSPNet 網(wǎng)絡(luò)的設(shè)計(jì)思想,設(shè)計(jì)了三個(gè)Resblock_body 模塊。該模塊將原先殘差塊的堆疊拆分成兩部分,主干部分繼續(xù)進(jìn)行殘差塊的堆疊,另一部分則經(jīng)過少量處理直接連接到最后,然后再將兩部分進(jìn)行組合,這樣可以在保證準(zhǔn)確性的同時(shí)減少計(jì)算量。在Backbone 網(wǎng)絡(luò)的最后部分使用了SPP 結(jié)構(gòu),采用不同池化核大小的最大池化對(duì)圖像進(jìn)行特征提取,進(jìn)一步擴(kuò)大了網(wǎng)絡(luò)的感受野,更有效地將上下文特征進(jìn)行分離。
FPN 特征增強(qiáng)部分為加強(qiáng)特征提取網(wǎng)絡(luò),它可以使網(wǎng)絡(luò)的特征提取能力得到進(jìn)一步的改善。在主干部分得到的三個(gè)有效特征層會(huì)在這一部分對(duì)圖像特征進(jìn)行融合,通過這種方式,將不同尺度的特征信息進(jìn)行結(jié)合。
YoloHead 是YOLOv5 的分類器與回歸器,它有三個(gè)分支。經(jīng)過Backbone 網(wǎng)絡(luò)和FPN 網(wǎng)絡(luò)的增強(qiáng)后,可以得到三個(gè)加強(qiáng)過的有效特征層,每個(gè)特征層都含有寬、高和通道數(shù)等信息。這時(shí),就可以把特征圖看作多個(gè)特征點(diǎn)的集合,每個(gè)特征點(diǎn)都含有該通道的多個(gè)特征。YoloHead 的工作就是對(duì)特征點(diǎn)進(jìn)行判斷,判斷特征點(diǎn)上的先驗(yàn)框是否有與之相匹配的對(duì)象。
由于沒有公開的插頭種類數(shù)據(jù)集,本研究通過工業(yè)相機(jī)采集了七種插頭種類圖像共70 張,并通過人工標(biāo)注的方式標(biāo)出每個(gè)插頭的種類。但作為數(shù)據(jù)集,70 張圖像稍顯不足,因此繼續(xù)將這些圖像通過旋轉(zhuǎn)、裁剪、加入噪聲等方式擴(kuò)充數(shù)據(jù)集,將每類插頭圖像均擴(kuò)充為200 張,在此基礎(chǔ)上,將訓(xùn)練集與測(cè)試集按照9:1 的比例進(jìn)行隨機(jī)分配。
YOLOv5 在插頭種類識(shí)別過程中使用了K-means 聚類算法,該算法會(huì)對(duì)數(shù)據(jù)集中人工標(biāo)記的分類框進(jìn)行聚類分析:首先會(huì)確認(rèn)先驗(yàn)框的數(shù)量和寬高,然后在網(wǎng)絡(luò)周圍生成一些具有一定比例的邊界框,在這些邊界框中,包含有該區(qū)域中心點(diǎn)的位置、高度、寬度和置信度等信息,最后每個(gè)網(wǎng)格單元就會(huì)根據(jù)這些信息對(duì)這些邊界框的置信度分?jǐn)?shù)進(jìn)行預(yù)測(cè)。
利用置信度,可以確定檢測(cè)對(duì)象是否存在邊界框中,進(jìn)而判斷預(yù)測(cè)框的準(zhǔn)確度,其計(jì)算公式為
其中confidence——預(yù)測(cè)框的準(zhǔn)確度;
P(object)——邊界框中是否存在檢測(cè)對(duì)象;
若邊界框中包含插頭種類,即存在檢測(cè)對(duì)象,則P(object)的值取1,那么置信度confidence 的值就等于;如果邊界框中沒有包含插頭,則P(object)的值為0,置信度也就為0。
因此,預(yù)測(cè)邊界框中某一類插頭的置信分?jǐn)?shù)就可以由下面的公式表示
置信分?jǐn)?shù)可以用來反映某個(gè)插頭種類包含在預(yù)測(cè)邊界框中的概率和邊界框坐標(biāo)的準(zhǔn)確性。以置信分?jǐn)?shù)為依據(jù),再使用非極大值抑制(NMS)進(jìn)行篩選,就可以得到最終插頭的識(shí)別結(jié)果。
本文用于驗(yàn)證深度學(xué)習(xí)插頭錯(cuò)配識(shí)別系統(tǒng)的仿真實(shí)驗(yàn)平臺(tái)為PC 端,PC 配置為Intel i7-12700, 顯卡為NVIDIA GeForce RTX 3090,24G 運(yùn)行內(nèi)存;集成開發(fā)環(huán)境為Pycharm,cuda版本為11.3,編程語言為Python3.7;標(biāo)注的軟件采用的是labelme。
YOLOv5s 模型參數(shù)設(shè)置為:批處理大?。╞atch_size)為4,迭代次數(shù)(epochs)為200次,學(xué)習(xí)率(learning_rate)為0.0005。
首先將準(zhǔn)備好的數(shù)據(jù)集放入YOLOv5網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,經(jīng)過訓(xùn)練后網(wǎng)絡(luò)模型的好壞程度將直接決定插頭種類的識(shí)別效果。在訓(xùn)練結(jié)束后,放入一張插頭圖片檢測(cè)訓(xùn)練結(jié)果,得到識(shí)別結(jié)果如圖4 所示。
模型的訓(xùn)練結(jié)果可以由平均精度均值(mAP)作為評(píng)價(jià)指標(biāo)。每個(gè)檢測(cè)類別均有精確度—召回率(P-R)曲線,P-R 曲線與坐標(biāo)軸圍成的面積為AP 值,將AP值再求平均即為mAP,mAP 的值在[0,1]之間,值越大表示模型精度越高。其中精確度Precision 和召回率Recall 分別為
其中 TP——模型為正樣本被檢測(cè)為正樣本的結(jié)果;
FP——模型為負(fù)樣本但是檢測(cè)為正樣本的結(jié)果;
FN——模型為正樣本但檢測(cè)為負(fù)樣本的結(jié)果。
在模型訓(xùn)練完后獲得的插頭種類AP值見表1,可以看出每種插頭的AP 值均超過了95%,mAP 值達(dá)到97.6%,這表明使用YOLOv5 網(wǎng)絡(luò)對(duì)插頭種類進(jìn)行識(shí)別有著很好的效果。
表1 插頭種類AP 值
基于深度學(xué)習(xí)的洗衣機(jī)插頭錯(cuò)配系統(tǒng)在生產(chǎn)流水線現(xiàn)場(chǎng)部署的主要硬件部分分為插頭圖像采集、洗衣機(jī)條形碼識(shí)別和三色燈報(bào)警三個(gè)部分,其實(shí)際場(chǎng)景圖如圖5 所示。流水線工作過程中,洗衣機(jī)箱體經(jīng)過傳送帶傳送,經(jīng)過掃碼槍時(shí),掃碼槍上下掃動(dòng)識(shí)別出箱體上的條形碼傳送至工控機(jī),在下一個(gè)箱體到來前將此箱體上安裝的插頭放入插頭圖像采集部分,觸發(fā)按鍵拍照,傳送至工控機(jī)進(jìn)行插頭種類識(shí)別,并在工控機(jī)上根據(jù)掃碼識(shí)別得到的S/N 碼判斷洗衣機(jī)上的插頭是否錯(cuò)配,如果錯(cuò)配,則在工控機(jī)顯示端顯示的同時(shí)三色燈報(bào)警。工控機(jī)上識(shí)別結(jié)果如圖6 所示。
圖5 洗衣機(jī)生產(chǎn)流水線實(shí)際場(chǎng)景圖
圖6 工控機(jī)端識(shí)別圖
本文根據(jù)洗衣機(jī)生產(chǎn)流水線中檢測(cè)插頭與洗衣機(jī)箱體是否錯(cuò)配的需求,設(shè)計(jì)了一種基于深度學(xué)習(xí)的洗衣機(jī)插頭錯(cuò)配識(shí)別系統(tǒng)。該系統(tǒng)通過結(jié)合讀取條形碼信息和檢測(cè)插頭種類判斷洗衣機(jī)插頭是否錯(cuò)配,并能在檢測(cè)到錯(cuò)配時(shí)進(jìn)行三色燈報(bào)警。仿真和實(shí)際應(yīng)用表明該系統(tǒng)識(shí)別準(zhǔn)確率不小于95%,在洗衣機(jī)插頭錯(cuò)配率不高的情況下能有效完成檢測(cè)任務(wù),剔除裝配出錯(cuò)的洗衣機(jī),提高公司的信譽(yù)度,增強(qiáng)企業(yè)競(jìng)爭(zhēng)力。目前該系統(tǒng)已經(jīng)應(yīng)用于國內(nèi)某洗衣機(jī)生產(chǎn)流水線,具有較大的應(yīng)用價(jià)值。