李武波,黃 利,劉 興,郭 峰
(一汽-大眾汽車有限公司佛山分公司,廣東佛山 528000)
隨著汽車行業(yè)發(fā)展及大眾對(duì)汽車產(chǎn)品認(rèn)識(shí)的提升,汽車的配置越來(lái)越豐富。為了避免在汽車生產(chǎn)時(shí)發(fā)生零件錯(cuò)漏裝,以往總裝車間采用加強(qiáng)出廠前人員檢測(cè)來(lái)解決這一難題。從實(shí)際運(yùn)行效果來(lái)看,人工的檢測(cè)可靠性低,尤其是對(duì)于涉及多車型多配置零件,人工存在識(shí)別疲勞造成檢測(cè)錯(cuò)誤,導(dǎo)致的汽車配置錯(cuò)誤,進(jìn)而產(chǎn)生一系列售后問(wèn)題,甚至導(dǎo)致經(jīng)濟(jì)損失。例如,一汽-大眾佛山工廠總裝車間總共有16 種汽車輪轂零件,為確定4個(gè)輪轂是否異常,終檢人員需繞車一圈檢測(cè)。不僅存在人員識(shí)別錯(cuò)誤風(fēng)險(xiǎn),而且需要花費(fèi)大量檢查的時(shí)間。采用計(jì)算機(jī)視覺(jué)開(kāi)展目標(biāo)檢測(cè)勢(shì)在必行。
本文使用的技術(shù)是計(jì)算機(jī)視覺(jué)中的目標(biāo)檢測(cè)(object detection)[1]方向,是計(jì)算機(jī)視覺(jué)識(shí)別的重要研究方向,在工業(yè)檢測(cè)/機(jī)器人/智能視頻監(jiān)控等方面的應(yīng)用特別廣泛,具有重要的現(xiàn)實(shí)意義[2]。2016-2018 年期間,國(guó)內(nèi)外的專家學(xué)者相繼提出基于深度學(xué)習(xí)的單階段目標(biāo)檢測(cè)的算法YOLO[3-4]系列和SDD[5]系列。2021 年,Ultralytics LLC公司提出了YOLOv5 算法,YOLOv5 是現(xiàn)今較先進(jìn)的目標(biāo)檢測(cè)算法,在計(jì)算速度上表現(xiàn)非常出色。YOLOv5根據(jù)網(wǎng)絡(luò)模型寬度和深度的差別,從小到大依次遞增分別共有4 種版本,它們是YOLOv5s、YOLOv5m、YOLOv5l 以及YOLOv5x[6]。其中,YOLOv5s 是其中的網(wǎng)絡(luò)深度和特征圖寬度最小的,識(shí)別運(yùn)行速率也最快。
在汽車機(jī)器視覺(jué)檢測(cè)應(yīng)用中,2020 年,張麗秀等通過(guò)采用改進(jìn)的YOLOv3 算法實(shí)現(xiàn)汽車零件配置的識(shí)別,解決傳統(tǒng)的終檢人工作業(yè)檢測(cè)的弊端[7]。為進(jìn)一步提高識(shí)別速度和檢測(cè)質(zhì)量,基于YOLO 系列中YOLOv5s 具有體積小、速度快和易開(kāi)發(fā)等優(yōu)勢(shì),本文采用YOLOv5s算法,研發(fā)零件防錯(cuò)裝檢測(cè)系統(tǒng),通過(guò)對(duì)汽車生產(chǎn)線過(guò)程中輪轂、前后杠、尾標(biāo)等零件進(jìn)行配置識(shí)別,取代了傳統(tǒng)汽車零件裝配后依靠人工檢測(cè)。
YOLOv5s 網(wǎng)絡(luò)由輸入端(Input)、骨干網(wǎng)絡(luò)(Backbone)、Neck層、輸出層(Prediction)4 個(gè)部分組成。其網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1 所示。
圖1 YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)模型
相對(duì)其他版本,輸入端在Mosaic數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算、自適應(yīng)圖片縮放3 方面做了優(yōu)化提升,Mosaic數(shù)據(jù)增強(qiáng)通過(guò)4 張圖片的隨機(jī)排布、綻放、裁剪的方式拼接形成一張新圖片,然后將該張圖片傳入神經(jīng)網(wǎng)絡(luò)學(xué)習(xí);自適應(yīng)錨框是指針對(duì)不同的數(shù)據(jù)集,都需要設(shè)定特定長(zhǎng)寬的錨點(diǎn)框;自適應(yīng)圖片縮放將自適應(yīng)地添加最少的黑邊到圖片中,從而減少了計(jì)算量,提升了YOLOv5 的推理速度。
YOLOv5s 的骨干網(wǎng)絡(luò)(Backbone)結(jié)構(gòu)由Focus 結(jié)構(gòu)、CSP結(jié)構(gòu)[8]組成。Focus 對(duì)圖片做切片操作,從一張高分辨率的圖片中周期性的取出像素點(diǎn)到低分辨率的圖片中,圖片的相鄰位置進(jìn)行了堆疊,提高了每個(gè)像素點(diǎn)的視野。新的圖片再經(jīng)過(guò)卷積運(yùn)算,最終得到?jīng)]有丟失信息的二倍下采樣特征圖。CSP 主要將feature map 拆成兩部分,一部分做卷積運(yùn)算,另一部分和上一部分卷積運(yùn)算結(jié)果進(jìn)行連接。通過(guò)以上步驟,可以降低模型的計(jì)算量,提升運(yùn)算速率。
Neck層是指一系統(tǒng)混合和組合圖像特征的網(wǎng)絡(luò)層,并將圖像特征傳遞到預(yù)測(cè)層。YOLOv4 的Neck 層采用FPN+PAN結(jié)構(gòu),其中FPN 層是自頂向下傳達(dá)強(qiáng)語(yǔ)義特征,PAN是自底向上傳達(dá)定位特征。YOLOv5 仍采用的是這種結(jié)構(gòu),與YOLOv4 不同的是,采用CSPNet 設(shè)計(jì)的CSP2結(jié)構(gòu),增強(qiáng)了網(wǎng)絡(luò)特征融合的能力,而YOLOv4 的Neck只是進(jìn)行普通卷積運(yùn)算。
YOLOv5s使用GIOU Loss[11]作為損失函數(shù),通過(guò)多輪次運(yùn)算,不斷地調(diào)整相應(yīng)參數(shù),使運(yùn)算的錨框與實(shí)際錨框的誤差值最小,最終得到最優(yōu)的模型。
本文檢測(cè)系統(tǒng)可用于攝像頭拍攝下的汽車外飾零件檢測(cè),以汽車輪轂零件為例,系統(tǒng)整體流程圖如圖2 所示。攝像頭安裝在輪轂零件裝配后的工位,實(shí)時(shí)拍攝零件;檢測(cè)系統(tǒng)設(shè)定每2 s 讀取一次控制生產(chǎn)線的PLC 信號(hào)(獲得實(shí)時(shí)的生產(chǎn)線上的每輛車的位置信息);當(dāng)車輛到達(dá)指定拍攝位置,系統(tǒng)多攝像頭獲取并保存1 張視頻幀圖像,并調(diào)用YOLOv5s程序?qū)Ρ4鎴D片計(jì)算,自動(dòng)識(shí)別出零件配置信息(PR號(hào)),并輸出標(biāo)注的檢測(cè)框圖片;識(shí)別出的PR號(hào)與實(shí)際的生產(chǎn)需求PR 號(hào)進(jìn)行比對(duì),如果PR號(hào)相同,則實(shí)際安裝的輪轂零件正確,PR 號(hào)不同,則實(shí)際安裝輪轂零件配置錯(cuò)誤,需要更換正確零件。系統(tǒng)保存識(shí)別的PR號(hào),實(shí)際計(jì)劃PR號(hào),檢測(cè)結(jié)果等檢測(cè)信息,便于后續(xù)查詢及問(wèn)題追溯。
圖2 檢測(cè)系統(tǒng)流程圖
本文中的汽車零件檢測(cè)系統(tǒng)基于YOLOv5s算法,操作系統(tǒng)是Win10 系統(tǒng)。首先需要配置Python3.8.5 的虛擬環(huán)境。通過(guò)Anaconda3 完成,在系統(tǒng)控制臺(tái)建立一個(gè)命名為“yolov5”的虛擬環(huán)境,然后激活yolov5 虛擬環(huán)境。YOLOv5s還依賴matplotlib,numpy,opencv,Pillow,tensorflow,pytorch 等庫(kù),具體依賴庫(kù)都保存在YOLOv5的開(kāi)源文件“requirements.txt”中??刂婆_(tái)輸入“pip install-r requirements.txt”,打包安裝所需的依賴庫(kù)。
本系統(tǒng)的YOLOv5s 訓(xùn)練過(guò)程的一些關(guān)鍵參數(shù)設(shè)置為:圖片尺寸為640 ×640,初始學(xué)習(xí)速率設(shè)置為0.001,權(quán)重衰減系數(shù)為0.000 5,網(wǎng)絡(luò)優(yōu)化方法選擇為SGD,每次訓(xùn)練圖片設(shè)置為64,訓(xùn)練輪數(shù)Epoch為300 輪。
汽車輪轂作為汽車輪胎必備零件,樣式種類多。本文案例中的輪轂共有16 種,不同樣式輪轂的PR 號(hào)也不一樣。為了增加訓(xùn)練的模型的準(zhǔn)確性,每種輪轂共收集200~300 張圖片,分別在不同光線、分辨率、場(chǎng)景、位置條件下拍攝得到。數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,共包括5 202 張訓(xùn)練圖片和572 張測(cè)試圖片。人工對(duì)訓(xùn)練集和測(cè)試集的圖片打標(biāo)簽,使用的標(biāo)注軟件為L(zhǎng)abelimg,生成訓(xùn)練所需的“.txt”標(biāo)注文件,標(biāo)注后的部分圖片見(jiàn)圖3。
圖3 輪轂零件數(shù)據(jù)樣本集
在系統(tǒng)控制臺(tái)輸入“pip install labelimg”,即可安裝Labeling標(biāo)注軟件。使用Labeling 軟件對(duì)5 202 張訓(xùn)練圖片和672 張測(cè)試圖片進(jìn)行矩形框標(biāo)注,標(biāo)注文件包含5個(gè)數(shù)據(jù),其中第1 個(gè)數(shù)據(jù)為標(biāo)簽物體的類別,后面4 個(gè)數(shù)據(jù)為標(biāo)簽物體在圖片中的坐標(biāo)信息。
本文的檢測(cè)系統(tǒng)模型訓(xùn)練是在Featurize 上,基于云GPU(顯卡)進(jìn)行訓(xùn)練,GPU 型號(hào)為NVIDIA 的RTX3060,擁有12.6 G顯存。
將標(biāo)注好的訓(xùn)練與測(cè)試集,基于YOLOv5s算法進(jìn)行模型訓(xùn)練,采用精確率(Precision)、召回率(Recall)指標(biāo)作為評(píng)價(jià)指標(biāo),其值越大,說(shuō)明訓(xùn)練得到的模型準(zhǔn)準(zhǔn)確度越高。精確率指模型對(duì)所有識(shí)別出的圖片(包括正確識(shí)別和誤識(shí)別為該P(yáng)R號(hào)的圖片),正確識(shí)別的圖片所占的比例[12]。召回率指被正確識(shí)別的數(shù)量占總識(shí)別圖片數(shù)量的比例[13]。經(jīng)過(guò)訓(xùn)練得到的模型,設(shè)定IOU 閾值為0.5 時(shí),結(jié)果為精確率為98.964%,召回率為97.863%,訓(xùn)練結(jié)果數(shù)據(jù)如圖4 所示。本系統(tǒng)的訓(xùn)練模型只有14.2 MB,正是基于YOLOv5s的權(quán)重?cái)?shù)據(jù)文件小,這樣后續(xù)在實(shí)際檢測(cè)中,單張圖片識(shí)別的時(shí)間短,滿足生產(chǎn)過(guò)程的檢測(cè)實(shí)時(shí)性要求,實(shí)際運(yùn)行中,該模型在識(shí)別時(shí),CPU檢測(cè)一張圖片需要300 ms左右,GPU檢測(cè)一張圖片需要15~20 ms左右時(shí)間。
圖4 模型訓(xùn)練結(jié)果
本輪轂檢測(cè)系統(tǒng)的整體成本為攝像頭2 臺(tái)以及普通微型計(jì)算機(jī)1 臺(tái),其他都是人力投入。攝像頭采用??低暼蔖OE攝像頭,單價(jià)不到500 元,輪轂的檢測(cè)需要在生產(chǎn)線左右兩側(cè)分別安裝1 個(gè)攝像頭。采用1 臺(tái)微型計(jì)算機(jī)作為整個(gè)工廠所有的零件檢測(cè)系統(tǒng)服務(wù)器,成本約5 000 元。綜上,檢測(cè)系統(tǒng)單次總投入在6 000 元左右。通過(guò)該項(xiàng)技術(shù)的運(yùn)用不僅可靠性高,還可為每個(gè)零件的檢測(cè)減少1 個(gè)人力投入。
圖5 展示的是實(shí)際輪轂識(shí)別效果圖,利用訓(xùn)練好的模型對(duì)攝像頭拍攝的圖片進(jìn)行識(shí)別。圖中的方框是通過(guò)模型訓(xùn)練后自動(dòng)的描框,其中“G8-COX”指的是該輪轂的類別,即PR號(hào),“0.84”是置信度(模型運(yùn)算判斷84%的概率是此PR號(hào),系統(tǒng)設(shè)定0.5 即可接受)。
圖5 實(shí)際識(shí)別圖
根據(jù)實(shí)際生產(chǎn)線汽車輪轂零件檢測(cè)結(jié)果,識(shí)別正確率在99%以上。本檢測(cè)系統(tǒng)檢測(cè)結(jié)果保存在一張數(shù)據(jù)庫(kù)表中,如圖6,便于后續(xù)問(wèn)題追溯。圖6 中記錄的是圖片識(shí)別的PR 號(hào)、判定結(jié)果、檢測(cè)時(shí)間等信息。檢測(cè)系統(tǒng)還有增加蜂鳴器及手機(jī)釘釘提醒功能,當(dāng)檢測(cè)到輪轂配置錯(cuò)誤時(shí),系統(tǒng)會(huì)讓生產(chǎn)線的蜂鳴器響,并將錯(cuò)誤信息實(shí)時(shí)發(fā)送到相應(yīng)人的手機(jī)釘釘上。
圖6 系統(tǒng)結(jié)果保存數(shù)據(jù)表
本文開(kāi)發(fā)了基于YOLOv5s 算法的汽車零件防錯(cuò)裝檢測(cè)系統(tǒng),以輪轂零件為對(duì)象開(kāi)展驗(yàn)證,通過(guò)圖片的收集制作了輪轂的訓(xùn)練與測(cè)試數(shù)據(jù)集,使用Labelimg軟件完成所有圖片的人工標(biāo)注,為了節(jié)省成本,使用云GPU完成了模型的訓(xùn)練。結(jié)果表明模型訓(xùn)練精確率為98.964%,召回率為97.863%,系統(tǒng)實(shí)際檢測(cè)結(jié)果可靠。
系統(tǒng)解決了汽車生產(chǎn)制造過(guò)程中,多配置零件易造成錯(cuò)裝的問(wèn)題。目前已經(jīng)在一汽-大眾佛山工廠完成開(kāi)發(fā)應(yīng)用,該設(shè)備的投入低,能夠極大地降低人力成本投入,且檢測(cè)準(zhǔn)確度與效率高。根據(jù)實(shí)際運(yùn)行效果表明:該系統(tǒng)優(yōu)于人工檢測(cè),可以滿足在生產(chǎn)節(jié)拍內(nèi)零件檢測(cè)要求,進(jìn)而提升車輛生產(chǎn)的質(zhì)量,避免出現(xiàn)錯(cuò)裝零件的汽車流入客戶中。計(jì)劃下一步將此技術(shù)擴(kuò)展到零件供應(yīng)商的生產(chǎn)過(guò)程防錯(cuò)檢測(cè)。