吳連旭,徐哲壯,林 燁
(福州大學(xué) 電氣工程與自動(dòng)化學(xué)院,福建 福州 350108)
在木制品加工行業(yè),木制品通常由大量木材配件拼接而成[1]。未經(jīng)加工的木材原料往往存在蟲(chóng)洞、死結(jié)、裂縫等缺陷,會(huì)影響產(chǎn)品的美觀和功能[2]。因此需要借助機(jī)器視覺(jué)等方式對(duì)于木材缺陷進(jìn)行檢測(cè),進(jìn)而在后續(xù)工藝中切除。為了在缺陷檢測(cè)和截鋸等環(huán)節(jié)對(duì)木材原料進(jìn)行精準(zhǔn)匹配,木材的編號(hào)與識(shí)別算法設(shè)計(jì)成為了重要的研究課題。
目前已有對(duì)于編號(hào)識(shí)別的研究。Wang 等人[3]總結(jié)了針對(duì)車(chē)牌字符傾斜、模糊等識(shí)別的算法,并比較了不同車(chē)牌識(shí)別系統(tǒng)在數(shù)據(jù)集、工作站、準(zhǔn)確率和時(shí)間上的差異;Fan 等人[4]提出了一個(gè)全卷積序列識(shí)別網(wǎng)絡(luò)(FCSRN),用于快速準(zhǔn)確地讀取水表號(hào)碼,F(xiàn)CSRN 能夠捕獲上下文信息,同時(shí)只需更少的參數(shù)和更少的計(jì)算;Xiang 等人[5]提出了一種基于多向照明圖像融合增強(qiáng)技術(shù)的金屬?zèng)_壓字符識(shí)別算法,可有效消除油污、銹蝕、氧化、噴丸坑、不同背景顏色等因素的干擾,增強(qiáng)MSCs 與背景的對(duì)比度。上述方法針對(duì)字符在不同場(chǎng)景下的特征提出了不同的識(shí)別算法,但由于木種和缺陷等因素的影響,木材原料表面具有較大的差異,這使得現(xiàn)有研究成果難以在木材表面的編號(hào)識(shí)別上達(dá)到良好的識(shí)別精度。
針對(duì)上述問(wèn)題,本文首先分析了木材原料的缺陷特征,通過(guò)現(xiàn)場(chǎng)采集數(shù)據(jù)分析缺陷分布情況?;诜治鼋Y(jié)果,本文提出了容忍缺陷的木材多區(qū)段編號(hào)及識(shí)別算法。該算法的基本思想是將木材原料的前段劃分為多個(gè)區(qū)段,在多個(gè)區(qū)段上打印相同的編號(hào),以避免單一編號(hào)被木材缺陷影響而難以識(shí)別。并采用YOLOv5[6]對(duì)多個(gè)區(qū)段的編號(hào)進(jìn)行檢測(cè),緊接著將檢測(cè)結(jié)果進(jìn)行組合判斷,最終得出木材的編號(hào)。實(shí)驗(yàn)結(jié)果表明,本文所提出的算法能夠有效容忍木材缺陷對(duì)編號(hào)識(shí)別造成的影響。
系統(tǒng)由噴碼機(jī)、工業(yè)相機(jī)、計(jì)算機(jī)終端設(shè)備以及截鋸機(jī)床組成。由噴碼機(jī)對(duì)木材原料進(jìn)行編號(hào)打印,再由工業(yè)相機(jī)采集木材編號(hào)圖像,并將采集的圖像傳輸?shù)接?jì)算機(jī)終端,通過(guò)計(jì)算機(jī)終端對(duì)采集的圖像進(jìn)行處理并識(shí)別,獲取木材編號(hào),并反饋至截鋸機(jī)床。
如圖1 所示,當(dāng)編號(hào)打印在蟲(chóng)洞、腐蝕、死結(jié)、裂縫等缺陷上時(shí),編號(hào)特征會(huì)消失,無(wú)法被正確識(shí)別。因此,如何消除缺陷對(duì)木材編號(hào)識(shí)別造成的影響成為本文主要研究的內(nèi)容。
在實(shí)際木材加工生產(chǎn)過(guò)程中,木材原料沿著長(zhǎng)度方向在傳送帶上輸送。為了第一時(shí)間獲取木材編號(hào),選取長(zhǎng)度為29 cm 的木材原料的前段作為編號(hào)打印區(qū)域。
通過(guò)相機(jī)對(duì)750 根木材原料的前段(如圖2 所示)進(jìn)行采集,并對(duì)所采集的前段原料進(jìn)行缺陷統(tǒng)計(jì)。結(jié)果見(jiàn)表1 所列,有缺陷的木材原料共有256 根,占比為34.13%。由此可知,編號(hào)有可能被打印在缺陷上,進(jìn)而導(dǎo)致其無(wú)法被正確識(shí)別。
表1 帶有缺陷木材原料的數(shù)量
圖2 木材原料的前段
為了分析缺陷在木材原料前段的分布情況,將前段劃分為多個(gè)區(qū)段,并統(tǒng)計(jì)各個(gè)區(qū)段的缺陷情況。如圖3(a)所示,將木材原料前段的長(zhǎng)度方向記為y軸,寬度方向記為x軸,建立直角坐標(biāo)系。分別把木材原料的前段以y軸為方向平均劃分為2 個(gè)區(qū)段與3 個(gè)區(qū)段。劃分為2 個(gè)區(qū)段時(shí),最上面的區(qū)段記為區(qū)段A,最下面的區(qū)段記為區(qū)段B(如圖3(b)所示)。劃分為3 個(gè)區(qū)段時(shí),最上面的區(qū)段記為區(qū)段A,中間的區(qū)段記為區(qū)段B,最下面的區(qū)段記為區(qū)段C(如圖3(c)所示)。
圖3 木材原料前段的多區(qū)段劃分
當(dāng)木材原料的前段被劃分為2 個(gè)區(qū)段時(shí),對(duì)256 根帶有缺陷的木材原料分區(qū)段進(jìn)行缺陷分布統(tǒng)計(jì)分析,結(jié)果見(jiàn)表2所列。
表2 2 個(gè)區(qū)段的缺陷分布情況
根據(jù)表2 可以看出,缺陷分布在區(qū)段A 的木材原料有84 根,分布在區(qū)段B 的木材原料有93 根,既分布在區(qū)段A又分布在區(qū)段B 的木材原料有79 根。由于存在缺陷分布在區(qū)段A 又分布在區(qū)段B 的情況,因此將編號(hào)打印在木材原料的區(qū)段A 與區(qū)段B 時(shí),并不能消除缺陷對(duì)編號(hào)識(shí)別的影響。
當(dāng)木材原料的前段被劃分為3 個(gè)區(qū)段時(shí),進(jìn)行相同的分區(qū)段缺陷分布統(tǒng)計(jì)分析,結(jié)果見(jiàn)表3 所列。
表3 3 個(gè)區(qū)段的缺陷分布情況
根據(jù)表3 可以看出,缺陷分布在區(qū)段A 的木材原料有53 根,分布在區(qū)段B 的木材原料有43 根,分布在區(qū)段C 的木材原料有48 根,既分布在區(qū)段A 又分布在區(qū)段B 的木材原料有40 根,既分布在區(qū)段B 又分布在區(qū)段C 的木材原料有59 根,既分布在區(qū)段A 又分布在區(qū)段C 的木材原料有13 根,不存在缺陷同時(shí)分布在區(qū)段A、區(qū)段B、區(qū)段C 的情況。因此,將編號(hào)分別打印在木材原料的區(qū)段A、區(qū)段B、區(qū)段C 時(shí),可有效保證字符特征在某個(gè)區(qū)段內(nèi)完整呈現(xiàn)。
為實(shí)現(xiàn)木材編號(hào)的識(shí)別,根據(jù)上述統(tǒng)計(jì)結(jié)果,通過(guò)打印機(jī)在木材原料多區(qū)段上打印,之后根據(jù)不同區(qū)段的檢測(cè)結(jié)果確定木材編號(hào)。
在對(duì)編號(hào)進(jìn)行打印時(shí),調(diào)整噴碼機(jī)[7-9]的打印延時(shí),將編號(hào)打印在木材原料的不同區(qū)段。獲取木材原料圖像后,將木材原料圖像沿長(zhǎng)度方向等分,接著分別對(duì)各部分圖像進(jìn)行識(shí)別,以識(shí)別出最多次數(shù)的編號(hào)作為木材編號(hào)。
在進(jìn)行編號(hào)打印時(shí),需要考慮木材原料劃分區(qū)段個(gè)數(shù)對(duì)后續(xù)編號(hào)識(shí)別處理帶來(lái)的影響。當(dāng)劃分的個(gè)數(shù)越多,所需要識(shí)別的圖像數(shù)量也隨之增加,從而導(dǎo)致識(shí)別木材編號(hào)的時(shí)間增長(zhǎng),進(jìn)而影響木材原料截鋸加工的效率。因此,在保證木材編號(hào)準(zhǔn)確識(shí)別的前提下,應(yīng)采用最少的區(qū)段劃分對(duì)木材原料進(jìn)行編號(hào)打印。
木材編號(hào)打印的具體過(guò)程:當(dāng)木材原料進(jìn)入編號(hào)待打印位置時(shí),通過(guò)傳感器觸發(fā)噴碼機(jī)進(jìn)行編號(hào)打印,此時(shí)根據(jù)木材原料被劃分的區(qū)段個(gè)數(shù)n,木材原料前段的長(zhǎng)度l以及傳送帶的運(yùn)行速度v,噴碼機(jī)的打印時(shí)間間隔t應(yīng)設(shè)定為t=l/(n×v),打印過(guò)程如圖4 所示。
圖4 木材編號(hào)打印過(guò)程
目前用于字符編號(hào)識(shí)別的方法主要分為兩大類(lèi),分別為傳統(tǒng)圖像處理與深度學(xué)習(xí)。傳統(tǒng)圖像處理方法一般由圖像預(yù)處理、字符定位、字符分割以及字符識(shí)別等部分組成[10]。在進(jìn)行特征提取時(shí),主要依賴(lài)人工設(shè)計(jì)的特征提取器,針對(duì)某種特定應(yīng)用,泛化性及魯棒性較差。由于木材原料表面存在紋理、缺陷、染色等因素,因此,在進(jìn)行圖像預(yù)處理、字符定位時(shí),并不能達(dá)到精準(zhǔn)定位的效果,因而不能確保木材編號(hào)的準(zhǔn)確識(shí)別。而深度學(xué)習(xí)方法主要基于數(shù)據(jù)驅(qū)動(dòng)進(jìn)行特征提取,根據(jù)大量樣本的學(xué)習(xí)得到深層的、特定的特征表示,所提取的抽象特征魯棒性更強(qiáng)、泛化能力更好。
目標(biāo)檢測(cè)(Object Detection)[11-12]是深度學(xué)習(xí)的三大基礎(chǔ)任務(wù)之一,它具有快速定位目標(biāo)、分類(lèi)精準(zhǔn)等優(yōu)點(diǎn)。YOLO(You Only Look Once)[13-14]網(wǎng)絡(luò)是一種one-stage 目標(biāo)檢測(cè)算法,其中YOLO 的第5 代,即YOLOv5 相對(duì)其它目標(biāo)檢測(cè)的網(wǎng)絡(luò)結(jié)構(gòu),具有快速識(shí)別和自適應(yīng)錨框等優(yōu)點(diǎn)[6]。因此,本文采用YOLOv5 作為木材編號(hào)識(shí)別的方法。
木材編號(hào)識(shí)別的具體過(guò)程:把提取的木材原料圖像切分為n張,再分別對(duì)n張切分后的區(qū)段圖像進(jìn)行識(shí)別,并判斷每張區(qū)段圖像識(shí)別出的編號(hào)字符個(gè)數(shù)與打印時(shí)設(shè)定個(gè)數(shù)是否相同,把個(gè)數(shù)相同的結(jié)果進(jìn)行組合形成集合,記為{id1,id2, ..., idt},其中t≤n。統(tǒng)計(jì)各不同編號(hào)出現(xiàn)的次數(shù),如式(1)所示,ID={id1, id2, ..., ids}表示各不同編號(hào)的集合,k表示相同編號(hào)次數(shù),f表示分別統(tǒng)計(jì)不同編號(hào)出現(xiàn)的次數(shù)。最后,將最大統(tǒng)計(jì)次數(shù)km所對(duì)應(yīng)的編號(hào)idm取出,作為木材的編號(hào),如式(2)所示。
如圖5 所示,以木材原料的前段被劃分為3 個(gè)區(qū)段為例:
圖5 木材編號(hào)識(shí)別流程
(1)將提取到的木材原料圖像以3 個(gè)區(qū)段進(jìn)行切分。
(2)把3 張切分好的圖像放入YOLOv5 網(wǎng)絡(luò)進(jìn)行編號(hào)識(shí)別,區(qū)段B,區(qū)段C 分別識(shí)別出的結(jié)果為6A,由于木材缺陷的影響,區(qū)段A 識(shí)別出的結(jié)果為6B。
(3)將區(qū)段A,區(qū)段B,區(qū)段C 識(shí)別出的結(jié)果進(jìn)行組合判斷,得到木材的編號(hào)為6A。
如圖6 所示,實(shí)驗(yàn)平臺(tái)主要由工業(yè)相機(jī)、噴碼機(jī)、流水線系統(tǒng)組成,同時(shí),還包含一臺(tái)服務(wù)器進(jìn)行深度學(xué)習(xí)模型訓(xùn)練以及實(shí)時(shí)木材編號(hào)檢測(cè)。服務(wù)器的配置為:AMD Ryzen 5 5600G with Radeon Graphics 的CPU,NVIDIA GeForce GTX 1660 SUPER 的GPU 和16G 內(nèi)存,搭載Windows 10 系統(tǒng)。通過(guò)此系統(tǒng),對(duì)木材編號(hào)的打印策略以及識(shí)別方法進(jìn)行實(shí)驗(yàn)對(duì)比分析,以此驗(yàn)證本文提出算法的有效性。
圖6 實(shí)驗(yàn)平臺(tái)
實(shí)驗(yàn)通過(guò)準(zhǔn)確率(Accuracy)、查準(zhǔn)率(Precision)、召回率(Recall)以及木材編號(hào)檢出率,即正確識(shí)別木材編號(hào)的木材原料數(shù)量來(lái)衡量本文方法的有效性。
準(zhǔn)確率(Accuracy)、查準(zhǔn)率(Precision)以及召回率(Recall)的公式如下[15]:
式中:TP、TN、FP、FN 分別表示檢測(cè)中真正例、真反例、假正例、假反例的數(shù)量。
分別對(duì)1 000 根木材原料的前段劃分為2 個(gè)區(qū)段,3 個(gè)區(qū)段,4 個(gè)區(qū)段,然后進(jìn)行編號(hào)打印,并與1 個(gè)區(qū)段的打印方式進(jìn)行木材編號(hào)識(shí)別對(duì)比分析,實(shí)驗(yàn)結(jié)果見(jiàn)表4 所列。由實(shí)驗(yàn)結(jié)果可知,把木材原料的前段劃分為3 個(gè)區(qū)段時(shí),已經(jīng)能達(dá)到接近100%的檢出率,而在劃分為4 個(gè)區(qū)段時(shí),檢出率并未得到提升。因此,為保證木材原料截鋸加工的加工效率,應(yīng)采用劃分為3 個(gè)區(qū)段的木材編號(hào)打印方式。
表4 木材編號(hào)的檢出率
YOLOv5[6]算法根據(jù)網(wǎng)絡(luò)寬度與深度分為4 種模型,依次為YOLOv5s、YOLOv5m、YOLOv5x 和YOLOv5l, 精度逐漸提高,但檢測(cè)速度逐漸降低。本文對(duì)1 000 張編號(hào)沒(méi)有打印在缺陷上的木材原料圖像分別使用YOLOv5s、YOLOv5m 編號(hào)識(shí)別的方式(這里以IOU>0.5 作為YOLOv5識(shí)別正確的閾值)與顏色特征+CNN 編號(hào)識(shí)別的方式進(jìn)行木材編號(hào)識(shí)別的對(duì)比分析。其中,顏色特征+CNN 是通過(guò)對(duì)字符顏色進(jìn)行提取,找到字符區(qū)域,并對(duì)找到的字符區(qū)域進(jìn)行分割,放入CNN 卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分類(lèi)識(shí)別,并將識(shí)別結(jié)果進(jìn)行組合形成木材編號(hào)的方式。實(shí)驗(yàn)結(jié)果見(jiàn)表5所列。其中,YOLOv5s 與YOLOv5m 的參數(shù)量、浮點(diǎn)運(yùn)算數(shù)、模型規(guī)模、推理速度見(jiàn)表6 所列。
表5 不同方法的識(shí)別精度
表6 模型性能對(duì)比
根據(jù)表5 可以看出,當(dāng)使用YOLOv5 編號(hào)識(shí)別的方式相比顏色特征+CNN 編號(hào)識(shí)別的方式在準(zhǔn)確率上有顯著提升。因此,采用YOLOv5 可以有效、準(zhǔn)確地識(shí)別木材編號(hào)。
根據(jù)表6 可以看出,使用YOLOv5m 與使用YOLOv5s 的識(shí)別準(zhǔn)確率一致,但模型的參數(shù)量增大了197.0%,在CPU和GPU 上的推理速度增加了65.7% 和114.3%。因此,在保證精度的前提下,應(yīng)使用YOLOv5s 作為木材編號(hào)識(shí)別的算法。
本文針對(duì)缺陷對(duì)木材編號(hào)識(shí)別產(chǎn)生的影響提出了一種容忍缺陷的木材多區(qū)段編號(hào)及識(shí)別算法。通過(guò)對(duì)木材原料前段缺陷情況的分析,將木材原料的前段劃分為多個(gè)區(qū)段,并分別對(duì)各區(qū)段進(jìn)行編號(hào)識(shí)別,將識(shí)別次數(shù)最多的編號(hào)作為木材編號(hào)。通過(guò)實(shí)驗(yàn)討論了不同區(qū)段劃分的木材編號(hào)檢出率,以及不同識(shí)別算法的木材編號(hào)識(shí)別精度。實(shí)驗(yàn)結(jié)果證明,把木材原料的前段劃分為3 個(gè)區(qū)段的編號(hào)打印方式相對(duì)于不進(jìn)行區(qū)段劃分的打印方式,木材編號(hào)檢出率提高了17.2%。同時(shí),使用YOLOv5 編號(hào)識(shí)別的方式相比顏色特征+CNN 編號(hào)識(shí)別的方式,識(shí)別精度提高了28.7%。因此,采用本文所提出的算法能夠有效容忍木材缺陷對(duì)編號(hào)識(shí)別的影響,提升木制品工業(yè)的生產(chǎn)效率。
注:本文通訊作者為徐哲壯。