畢曉琳,侯卓軒,張瀛天
(廣東東軟學(xué)院,廣東 佛山 528225)
鋁型材產(chǎn)品被普遍應(yīng)用到人們實(shí)際生活的許多環(huán)節(jié),比如鋁合金門窗、燈飾等,與人們的生活聯(lián)系密切。鋁棒是鋁型材成品的加工的原料,目前,多數(shù)鋁材廠商采用噸作為包裝單位的方式按重量進(jìn)行鋁棒原料的采購(gòu),但是實(shí)際生產(chǎn)中常常要了解掌握的是具體的鋁棒條數(shù),因而要求鋁材廠商對(duì)采購(gòu)的鋁棒實(shí)現(xiàn)更快速準(zhǔn)確的復(fù)核和驗(yàn)收計(jì)數(shù)。目前大多數(shù)鋁材廠對(duì)鋁棒的數(shù)量清點(diǎn)工作主要依靠人工清點(diǎn)完成。這種方法不僅造成人力物力的浪費(fèi),而且計(jì)數(shù)的準(zhǔn)確率通常不高,計(jì)數(shù)結(jié)果難以復(fù)核。
隨著計(jì)算機(jī)科學(xué)與技術(shù)的發(fā)展日益成熟,鋁材廠商都傾向于使用更加智能的方式來代替一些重復(fù)、乏味的人力工作。20 世紀(jì)70 年代便有棒材自動(dòng)識(shí)別計(jì)數(shù)[1]的實(shí)踐。第一種方法是使用機(jī)械裝置來分離棒材,然后在機(jī)械裝置的基礎(chǔ)上利用光電管實(shí)現(xiàn)自動(dòng)計(jì)數(shù)[2],第二種方法是將數(shù)字圖像技術(shù)運(yùn)用到棒材圖像識(shí)別和處理中,比如采用模板匹配的方法進(jìn)行計(jì)數(shù)[3],或連通區(qū)域匹配實(shí)現(xiàn)棒材計(jì)數(shù)的方法[4]。盡管使用圖像處理方法進(jìn)行計(jì)數(shù)的相關(guān)技術(shù)已經(jīng)比較成熟,但是該類實(shí)踐對(duì)圖像拍攝背景、圖像采集設(shè)備有較高的要求。在上述所提的研究中,棒材都是垂直放置,且拍攝背景是純色,非常容易將背景與棒材分離,但是鋁棒在實(shí)際的加工生產(chǎn)過程中,由未經(jīng)培訓(xùn)非專業(yè)的工人拍攝到的鋁棒圖片大概率不是垂直放置的,且拍攝背景雜亂,因此僅依靠一般的數(shù)字圖像處理方法進(jìn)行計(jì)數(shù)是不符合實(shí)際的。
結(jié)合卷積神經(jīng)網(wǎng)絡(luò)圖像識(shí)別算法的優(yōu)點(diǎn),能夠在復(fù)雜環(huán)境中準(zhǔn)確識(shí)別特征圖像。YOLO 是由Redmon et al.[5]于2016 年提出的一種只完整查看一次圖像的識(shí)別模型,YOLO 與其他卷積神經(jīng)圖像識(shí)別算法相比,YOLO 模型將對(duì)象檢測(cè)視為簡(jiǎn)單的回歸問題,具有快速、準(zhǔn)確的優(yōu)點(diǎn)[6]。本研究使用YOLO 算法作為圖像識(shí)別模型,并在使用模型識(shí)別之前,采用系列圖像處理算法壓縮輸入模型的信息量,提升訓(xùn)練和識(shí)別速度。
在本研究中,拍攝的鋁棒端面樣本圖像都是來自鋁材生產(chǎn)車間,在自然燈光狀態(tài)下拍攝,樣本圖像背景中有設(shè)備、墻體、屋頂?shù)雀蓴_因素。
用手機(jī)拍攝共圖像1309 張,其中我們將樣本又分為訓(xùn)練集、驗(yàn)證集以及測(cè)試集。訓(xùn)練集是用于模型擬合的數(shù)據(jù)樣本,驗(yàn)證集是用于調(diào)整模型的超參數(shù)和用于對(duì)模型的能力進(jìn)行初步評(píng)估。通常用來在模型迭代訓(xùn)練時(shí),用以驗(yàn)證當(dāng)前模型泛化能力,以決定是否停止繼續(xù)訓(xùn)練。測(cè)試集是用來評(píng)估最終模型的泛化能力。
使用YOLOv5框架進(jìn)行目標(biāo)檢測(cè)必須先對(duì)圖片進(jìn)行標(biāo)注,生成對(duì)應(yīng)的txt文檔。本研究樣本標(biāo)注使用在線圖像標(biāo)注軟件Roboflow(https://app.roboflow.com/)。用Roboflow 生成YOLOv5 能夠讀取的標(biāo)注信息。
由于識(shí)別目標(biāo)為單獨(dú)對(duì)鋁棒檢測(cè)和計(jì)數(shù),圖片中沒有其他與鋁棒特征相似的對(duì)象,因此我們只標(biāo)注1個(gè)類,名為“Aluminum bar”。圖片總共1309 張,被隨機(jī)化分為3 組:943 張為訓(xùn)練集,266 張為驗(yàn)證集,100 張為測(cè)試集。所有的鋁棒都進(jìn)行了標(biāo)注,總的標(biāo)注6492 個(gè)。圖片標(biāo)注好之后進(jìn)行導(dǎo)出,導(dǎo)出時(shí)將圖片尺寸調(diào)整為640*640 像素,以適應(yīng)YOLOv5 模型。
標(biāo)注工作完成后,將鋁棒端面彩色圖片進(jìn)行灰度化處理[7],去除掉圖片原本的色彩信息,簡(jiǎn)化了輸入訓(xùn)練模型的信息量,以達(dá)到提高訓(xùn)練效率的結(jié)果。
在真實(shí)生產(chǎn)環(huán)境中,拍攝到的鋁棒端面圖像背景相對(duì)復(fù)雜,鋁棒端面相較復(fù)雜背景亮度更高,因此為了使鋁棒端面在背景中更加突出,對(duì)鋁棒端面灰度圖作對(duì)比度增強(qiáng)[8]的處理,使得鋁棒端面和背景亮度差異更大。為避免復(fù)雜背景產(chǎn)生噪點(diǎn)影響模型準(zhǔn)確率,將對(duì)比度增強(qiáng)后的圖片進(jìn)行了高斯濾波[9]去噪。
為了進(jìn)一步縮減圖像信息量,僅將鋁棒端面的形態(tài)信息輸入圖像識(shí)別模型進(jìn)行訓(xùn)練,我們將去噪后的圖片采用Sobel 算子邊緣提取算法[10]獲取鋁棒形貌信息,至此完成模型訓(xùn)練前的圖像處理工作。
基于YOLO 模型在圖像識(shí)別領(lǐng)域的有著模型簡(jiǎn)單、識(shí)別準(zhǔn)確的優(yōu)點(diǎn),綜合YOLO 幾種模型的優(yōu)缺點(diǎn),本研究采用YOLOv5 模型作為圖像識(shí)別模型。YOLOv5 的總體架構(gòu)由四部分構(gòu)成:輸入端、Backbone、Neck 和Head。
Backbone 部分作為特征提取網(wǎng)絡(luò),主要是由Focus和BottleneckCSP 組成。
Focus 在減少計(jì)算量的同時(shí)實(shí)現(xiàn)下采樣過程,Bottl eneckCSP 是此特征提取網(wǎng)絡(luò)的核心。
Neck 部分采用了FPN 與Pan 相結(jié)合的結(jié)構(gòu)。Head部分實(shí)現(xiàn)輸出的功能,包括檢測(cè)的Probability、Score以及Bounding-box。
在本研究的實(shí)驗(yàn)中使用的訓(xùn)練權(quán)重文件為YOLOv5m,使用Google Colab 提供的云GPU 進(jìn)行訓(xùn)練。共訓(xùn)練了三組鋁棒圖片進(jìn)行測(cè)試,581 張圖片需要約7 小時(shí)13 分,450張圖片需要5小時(shí)23分,178張圖片需要2小時(shí)36分。
為了驗(yàn)證使用圖像處理方法能夠減少模型訓(xùn)練信息,提高模型訓(xùn)練速率,本研究做了兩組對(duì)比實(shí)驗(yàn)。一組實(shí)驗(yàn)是直接將標(biāo)注過的圖片與和標(biāo)注文件輸入YOLOv5 模型進(jìn)行訓(xùn)練,以下簡(jiǎn)稱Y 模型。另一組實(shí)驗(yàn)則是在模型對(duì)圖片進(jìn)行訓(xùn)練前,對(duì)所有圖片進(jìn)行上述圖像處理,再將圖片和標(biāo)注信息輸入YOLOv5 模型進(jìn)行訓(xùn)練以下簡(jiǎn)稱M+Y 模型。
對(duì)于M+Y 模型來說,僅將鋁棒形態(tài)信息輸入模型,大幅壓縮了圖像樣本信息量,因此訓(xùn)練時(shí)間得到大幅縮短。
本研究中,為排除偶然性的結(jié)果,采取不同數(shù)量的訓(xùn)練集和驗(yàn)證集圖像,輸入Y 模型和M+Y 模型進(jìn)行訓(xùn)練,總共訓(xùn)練3 次YOLOv5 模型,綜合比較訓(xùn)練時(shí)長(zhǎng)。每次訓(xùn)練模型輸入的訓(xùn)練集、驗(yàn)證集圖像數(shù)量,以及Y模型與M+Y 模型的訓(xùn)練時(shí)間對(duì)比如表1 所示。結(jié)果表明,不論訓(xùn)練集和驗(yàn)證集圖像數(shù)量多少,采用圖像處理方法先提取有效信息再訓(xùn)練模型,都能大幅提升訓(xùn)練速度。M+Y 模型的平均訓(xùn)練時(shí)間僅為Y 模型的15.16%,平均訓(xùn)練時(shí)長(zhǎng)大約縮短了85%。
表1 模型和M+Y 模型訓(xùn)練時(shí)長(zhǎng)對(duì)比
此外,在本研究中,使用準(zhǔn)確率作為模型評(píng)估的標(biāo)準(zhǔn),其中準(zhǔn)確率分為單張圖片(簡(jiǎn)稱單圖)的準(zhǔn)確率和總體準(zhǔn)確率。單圖準(zhǔn)確率定義為:
其中,i為本張圖的序號(hào),AI(Accuracy of one Image)為單圖準(zhǔn)確率,AN(Actual Number of aluminum bars)為單圖中實(shí)際鋁棒數(shù),DN(Detected Number of aluminum bars)為單圖中檢測(cè)出的鋁棒數(shù)量。n 張鋁棒識(shí)別圖的總體準(zhǔn)確率定義為:
其中,A(n)為n 張圖的總體準(zhǔn)確率,AI(Accuracy of one image)為單圖準(zhǔn)確率。
運(yùn)用Y 模型與M+Y 模型通過YOLOv5 訓(xùn)練,分別得到兩個(gè)權(quán)重文件,即Y.pt 與MY.pt。分別使用這兩個(gè)權(quán)重文件對(duì)100 張鋁棒圖進(jìn)行識(shí)別與計(jì)數(shù),其中100張鋁棒圖包含54 張來自測(cè)試集與46 張來自驗(yàn)證集的圖像。將識(shí)別計(jì)數(shù)結(jié)果統(tǒng)計(jì)整理,Y 模型與M+Y 模型的總體準(zhǔn)確率如表2 所示。若不采用圖像處理方法,直接將鋁棒彩圖輸入YOLOv5 得到的Y 模型的總體準(zhǔn)確率為70%,而采用圖像處理方法得到的M+Y 模型的總體準(zhǔn)確率為84%。
表2 Y 模型與M+Y 模型的總體準(zhǔn)確率
本研究表明,在對(duì)鋁棒端面圖像進(jìn)行鋁棒識(shí)別計(jì)數(shù)的實(shí)踐中,先采用圖像處理方法提取有效信息,壓縮圖片信息,大幅減少輸入模型訓(xùn)練的信息量,能夠有效地提高訓(xùn)練速率,并且由于排除了無(wú)關(guān)信息造成的誤差,識(shí)別計(jì)數(shù)的準(zhǔn)確率也得到了提升。在本研究中,壓縮鋁棒圖像信息量后,訓(xùn)練時(shí)長(zhǎng)僅為未壓縮前的15.16%,訓(xùn)練速度的大幅提升為實(shí)現(xiàn)模型自適應(yīng)提供了實(shí)踐基礎(chǔ)。在真實(shí)鋁材加工工廠的生產(chǎn)流程中,各生產(chǎn)線上有大量工人會(huì)在不同流程階段在一天內(nèi)多次使用該鋁棒識(shí)別計(jì)數(shù)軟件,一天累計(jì)新拍攝的鋁棒端面圖像有可能上千張,因此為了模型的優(yōu)化,模型需要自適應(yīng)地將新拍攝的圖像作為補(bǔ)充訓(xùn)練樣本,使模型能夠“認(rèn)識(shí)”更多各樣格式排列的鋁棒,從而提高模型的準(zhǔn)確率,而在真實(shí)生產(chǎn)應(yīng)用中,如果要頻繁地自適應(yīng)重新訓(xùn)練模型,且不耽誤軟件的日常使用,則對(duì)模型訓(xùn)練速度有極高要求。因此,本研究提出的先提取圖像有效信息再進(jìn)行模型訓(xùn)練的識(shí)別計(jì)數(shù)方法,不僅使訓(xùn)練速度得到大幅提升,而且能提高識(shí)別計(jì)數(shù)準(zhǔn)確率,為棒材識(shí)別計(jì)數(shù)以及模型自適應(yīng)發(fā)展提供了新的研究方向。