黃德成 任德均



摘 ?要:隨著新能源車的迅速發展,各汽車制造商正不斷推出新產品。在此背景下,各類工件供應是否齊全成為相關企業關注的重要問題。文章設計了一種基于機器視覺的工件計數系統。該系統具有視覺成像系統,能夠對多種工件進行圖像采集。同時系統還設計了一套簡單易操作、功能完備的工件計數軟件,滿足實時統計和工件種類拓展的需求。為了穩定監測工件位置信息,還設計了一種模擬光電傳感器的算法替代實物光電傳感器,減少系統受干擾的可能性。最后,運用YOLOv5目標檢測算法,實現了99.9%的檢測精度。
關鍵詞:機器視覺;模擬光電門;目標檢測;計數軟件
中圖分類號:TP389.1;TP391.4 文獻標識碼:A 文章編號:2096-4706(2023)16-0171-05
Design of Workpiece Counting System Based on Machine Vision
HUANG Decheng, REN Dejun
(School of Mechanical Engineering, Sichuan University, Chengdu ?610065, China)
Abstract: With the rapid development of new energy vehicles, automakers are constantly introducing new products. In this context, whether the supply of various workpieces is complete has become an important issue for relevant enterprises. In this paper, a workpiece counting system based on machine vision is designed. This system has a vision imaging system that enables to carry out image acquisition of a wide range of workpieces. At the same time, the system also designs a set of easy-to-operate and fully functional workpiece counting software to meet the needs of real-time statistics and workpiece type expansion. In order to stably monitor the position information of the workpiece, this paper also designs an algorithm that simulates the photoelectric sensor to replace the physical photoelectric sensor, so as to reduce the possibility of system interference. Finally, the YOLOv5 target detection algorithm is used to achieve a detection accuracy of 99.9%.
Keywords: machine vision; analog photoelectric door; object detection; counting software
0 ?引 ?言
在汽車工業當中,汽配維修是一個長期的領域。對于汽修廠而言,因汽車零部件的替換維修等業務,需要對各類零件進行存儲統計以方便調用。因汽車品牌及款式眾多,對應的零件種類更加紛繁復雜,且相當一部分汽車零部件為金屬器件,大量的搬運和人工計數統計對維修人員而言耗時費力且效率、準確度均不高。
目標檢測技術是計算機視覺以及機器學習中的重要研究領域,而視覺檢測在計數領域主要應用于農牧業和水產養殖業等。田冉等[1]在2016年通過紅外傳感器與機器視覺融合的技術替代人工對果樹誘捕靶標害蟲進行檢測,實現了遠距離、大面積、可持續的果樹害蟲檢測技術支撐。中國計量大學古亭[2]在2020年運用機器視覺對蠶繭進行計數和分類識別,在預處理和二值化的基礎上,采用距離變換的方法對蠶繭進行準確計數。2021年,鞠文輝[3]使用YOLOv3算法在單幀圖像中對麥穗進行檢測,從而完成對小麥產量的預估,同時用Faster R-CNN算法對水流中浮游生物進行目標檢測計數。
上述文獻中處理機器視覺檢測計數問題多以傳統視覺算法為立足點,對圖像進行BLOB分析,在形態學處理以及閾值分割等操作下找到合適的提取方法。此類方法需要人工對特定類別圖像目標物進行特征分析和提取,具體算法僅適用于特定目標物,不具備通用性。且農牧業及水產養殖業大多不具備穩定的機器視覺成像采集環境,例如內蒙古科技大學李雪冬[4]在對羊群的計數追蹤研究中因數據缺乏,采用無人機進行跟拍采集對應數據,天氣情況以及地理環境背景完全不穩定,給傳統算法設計以及特征提取帶來了很多困擾??紤]到工業廠家在生產線上對小型零部件的統計計數需求,以及稱重計量的較大偏差和傳統人工計數錯誤率高、勞動力強度大、效率低、不穩定等固有缺點。本文設計了一套通用的工件計數檢測系統,通過設計的機械分堆結構進行工件分攤,形成姿態角度隨機但無重疊的成堆工件,通過圖像采集硬件系統,結合傳統圖像處理以及深度學習目標檢測算法進行實時檢測,對各類小型生產工件進行識別計數統計。
1 ?軟硬件方案設計
本文工件計數系統結構由機械分堆控制模塊、光源成像采集模塊、軟件操作模塊和檢測算法模塊四部分構成。機械分堆控制模塊運行流程圖如圖1所示,金屬擋板閉合阻止工件前進從而形成分堆,金屬擋板由PLC控制的電機驅動,PLC根據傳送帶傳送速率控制擋板開閉時間,使分堆零件數量大致相同。硬毛刷轉動掃下重疊的零件,避免工件相互間遮擋。
光源成像采集模塊布局在機械分堆控制模塊后,采用頂部攝像、常亮條光及方形外殼搭配擬合為燈箱光源的效果,同時根據工件生產環境,工件生產往往多附帶油污以及灰塵,因此本文選用深色傳送帶,以抑制帶有黑色油污的工件進入傳送帶時對傳送帶造成的污染,有效減緩算法處理過程中由于圖像背景顏色差異過大導致的干擾。本文選用??低旵E050-30UC彩色工業相機搭配6 mm鏡頭構成成像硬件系統。成像硬件布局示意圖與實景圖如圖2所示。
本文在Visual Studio 2019上基于Winform框架設計制作了工件計數設備的操作軟件,包含登錄界面和操作主界面。主界面中包含兩個picture box窗口camwindow和camwindow2。camwindow位于主界面左側用于實時顯示成像系統采集的圖像,camwindow2用于顯示上一批次工件檢測效果,便于用戶實時監測設備運行情況及準確度。
2 ?模擬光電傳感器
光電傳感器[5]通過把光強度變化轉化為電信號進行信息發送,工業生產過程中常使用光電傳感器來探測物料在傳送帶上的運行位置,并結合軟件和算法對設備運行進行控制。但由于工業生產環境的復雜性,光電傳感器因探測的方式決定其需要靠近物料,實際運用過程中相當一部分光電傳感器是以裸露在外的方式進行使用。長時間情況下,光電傳感器容易在物料搬運轉移過程中被破壞,多數生產車間在長時間運作的過程中會有灰塵雜物等累計,這也會對光電傳感器的功能穩定性造成干擾。對于企業生產以及設備檢修都會造成延誤以及資源損耗。
2.1 ?傳感器算法邏輯
本文使用算法實現了一個模擬光電傳感器,用于感知進料口和出料口工件堆的位置以及輔助計數,實際使用過程中達到了替代實物光電傳感器的作用。以無工件的背景圖案作為模板,設備所拍工件照片進行目標面積值對比。設定ROI位于成像視野中部、灰度差異閾值用于判定是否進料、差異面積值用于判定進料是否完整。計算式如下:
Δarea = Spinture - Smodel ? ? ? ? ? ? ? ? ?(1)
Spinture為采集圖片中高于設定灰度閾值的面積大小,Smodel為背景模板對應的超出灰度閾值的面積值,Δarea為二者面積差。
2.2 ?綜合計數數量判斷流程
根據機械分堆控制模塊中傳送帶運行速率與擋板開閉控制的搭配,工件被較為均勻分堆送入成像系統,相機拍攝時間間隔也會有相應調整,使每堆工件在成像區域劃定的ROI區域內被完整拍攝,軟件調用深度學習模型對每張圖片進行檢測,得到該圖檢測計數數量,本堆零件完成拍攝計數后,以所有圖片的計數眾數作為實際數量錄入總數進行疊加。若眾數不止一個,則取所有數據的中位數為中值。
2.3 ?ROI檢測區域設定
本文在成像區域前后端均設有模擬光電傳感器,入料口灰度差異面積值達到閾值時再調用深度學習模型,此時工件堆已經完全進入成像視野范圍,當出料口灰度差異面積值達到閾值時,說明此時上一堆零件已經基本走出成像視野范圍且下一堆零件尚未達到入料口光電傳感器,由此ROI檢測區域設定來確保用于檢測的數據為對應的分堆圖像,同時,確保設備運行速度及效率在較高水準。模擬光電傳感器運行效果圖如圖3所示。
3 ?YOLOv5檢測算法
YOLO系列算法作為One-stage的代表性算法,把目標分類與定位均轉化為回歸問題,相比于Faster-RCNN等兩階段系列算法,YOLO系列算法在檢測精度上稍遜,但在檢測速度上展現出明顯優勢,在工業的應用場景中廣受歡迎。YOLOv3[6]借用ResNet[7](殘差網絡)的優點,改進提出DarkNet53網絡進行特征提取,并引入特征金字塔(Feature Pyramid Networks)[8]進行多尺度預測。YOLOv4繼續改進,加入Mosaic數據增強法,分為輸入端、Backbone、Neck以及預測四個部分。YOLOv5緊跟YOLOv4提出,在原有的基礎上不斷創新集成,在準確度上與YOLOv4相當的同時,在速度上遠優于YOLOv4,模型明顯輕量化,有利于在工業中進行部署,是深度學習現有技術的優化整合。
本文選用YOLOv5目標檢測對工件進行計數統計,YOLOv5共有4個版本:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,區別在于網絡通道數量以及模塊堆疊次數不一致,模型大小也因此不同。結合計數項目實際檢測需求,本文選擇YOLOv5s作為檢測模型。
YOLOv5網絡結構分為輸入端、骨干網絡(Backbone)、頸部(Neck)以及預測(prediction)四個部分。輸入端保留YOLOv4中的Mosaic數據增強方法,把4張圖片隨機縮放、隨機分布和隨機裁剪,最后拼接整合成一張圖,達到豐富數據集和提升網絡訓練速度的目的。Backbone模塊用于提取圖像特征,采用Focus結構與CSP結構相結合的方式。Focus結構通過slice操作對圖像進行切片,slice操作用等距離的方式提取圖像原圖中的對應像素,然后按照原圖行列關系進行對應拼接,循環依次對圖像所有像素進行相同操作,最終原圖被裁剪為幾張等大的小圖,再經過Concat操作把所有完成裁剪的小圖合成多通道的圖像序列用于與后續卷積核進行特征提取。YOLOv5在保留YOLOv4設計的包含殘差模塊的CSP結構的同時,另外新增了疊加卷積模塊的CSP結構。Neck網絡中與YOLOv4相同,仍然保留FPN+PAN[9]結構,強化不同層之間的特征融合,增強多尺度上進行預測的能力。預測模塊用于模型的最終檢測。YOLOv5框架結構如圖4所示。
4 ?實驗結果與分析
本文數據集采用自制的數據集,以某汽車配件廠提供的工件作為樣品,搭建本文實驗平臺,使用Labelimg對采集到的數據進行數據標注,類別名為工件生產的實際名稱,生成平行框xml數據集后,數據集以7:2:1比例劃分訓練集、驗證集以及測試集,以VOC2007文件格式導入YOLOv5進行訓練。
本文選取三種在形狀、顏色、大小、材質上各有異同的工件進行實驗,來驗證所選YOLOv5s網絡在各類工件檢測中的普適性和通用性。20-P007與28-T001外觀上均為圓形,體積大小稍有不同,材質均為硬性塑料,28-T001尺寸最小,單個工件標注框大小約為70×70,同時30-2001與其他工件相比傳送帶背景相比和傳送帶背景更為接近,材質為軟塑料,相比其他兩種工件更易變形。三種工件均在同一成像環境、硬件條件以及拍攝距離下進行采集。工件圖樣如圖5所示,訓練后測試結果如表1所示。測試集原圖效果圖如圖6所示。
定量評價方面,選取的指標為:召回率(Recall, R)、準確率(Precision, P)[10]、平均精度均值mAP(mean Average Precision)等。計算式如下:
(2)
(3)
(4)
(5)
上式中TP表示IoU≥設定閾值的檢測框數目;FP表示IoU<設定閾值的檢測框數目;FN表示漏檢的目標數目,mAP表示平均精度,n表示檢測目標類別數。
YOLOv5中損失包含三個部分:矩形框損失(lossrect)、置信度損失(lossobj)、分類損失(lossclc)。總體損失為三部分損失的加權和。損失函數如下:
loss = a · lossobj + b · lossrect + c · lossclc ?(6)
其中a、b、c分別表示三種損失的權重。
本文使用CIoU loss[11]來衡量矩形框的損失。DIoU把兩矩形框的重疊面積以及中心點距離用于損失計算,CIoU在此基礎上把兩矩形框的寬高比作為影響因素帶入計算,公式更加合理:
lossCIoU = 1 - CIoU ? ? ? ? ? ? ? ? ? (7)
(8)
(9)
(10)
其中,ρ表示兩矩形框中心點之間的距離,c表示兩矩形框的最小外接矩形的對角線長度,v表示兩框寬高比的相似度,α表示v的權重,IoU表示兩矩形框面積的交并比值。預測矩形框左上角坐標為(xp1,yp1),右下角坐標為(xp2,yp2);標簽矩形框左上角坐標為(xl1,yl1)、xl2,yl2)。
實驗訓練了200輪,由表1分析可知,實驗條件下,工件的計數準確度可達99.9%,滿足企業的生產檢測需求。
5 ?結 ?論
本文針對工業中批量工件識別計數的實際需求,設計開發出一套工件識別計數系統。通過光源與機械結構的搭配構造出燈箱光源的成像效果,形成具備通用穩定的視覺成像環境,滿足多類別工件的成像采集需求;在winform軟件框架下設計出一套簡單易觀察的操作軟件,滿足實時檢測和統計的生產需求。算法中選用了YOLOv5s目標檢測模型,檢測速度快的同時,在少量數據用于訓練的情況下即可達到極高的檢測精度;同時還使用算法模擬實現了光電傳感器的功能,效果穩定,減少了系統可能受到的干擾。
參考文獻:
[1] 田冉,陳梅香,董大明,等.紅外傳感器與機器視覺融合的果樹害蟲識別及計數方法 [J].農業工程學報,2016,32(20):195-201.
[2] 古亭.基于機器視覺的蠶繭計數與識別研究 [D].杭州:中國計量大學,2020.
[3] 鞠文輝.基于深度學習的視覺計數方法研究 [D].濟南:山東師范大學,2021.
[4] 李雪冬.基于計算機視覺的羊群計數算法研究與實現 [D].包頭:內蒙古科技大學,2021.
[5] 顏曉河,董玲嬌,蘇紹興.光電傳感器的發展及其應用 [J].電子工業專用設備,2006(1):59-62.
[6] REDMON J,FARHADI A .YOLOv3:An Incremental Improvement [J/OL].arXiv:1804.02767 [cs.CV].(2018-04-08).https://arxiv.org/abs/1804.02767.
[7] HE K,ZHANG X,REN S,et al. Deep residual learning for image recognition [C]//Proceedings of the IEEE conference on computer vision and pattern recognition. Las Vegas:IEEE,2016:770-778.
[8] LIN T Y,DOLL?R P,GIRSHICK R,et al. Feature pyramid networks for object detection [C]//Proceedings of the IEEE conference on computer vision and pattern recognition. Honolulu:IEEE,2017:2117-2125.
[9] LI H,XIONG P,AN J,et al. Pyramid Attention Network for Semantic Segmentation [J/OL].arXiv:1805.10180 [cs.CV].(2018-05-25).https://arxiv.org/abs/1805.10180v1.
[10] 任秋霖,任德均,李鑫,等.基于卷積自編碼器的醫用玻璃瓶口缺陷檢測方法 [J].計算機與現代化,2022,324(8):114-120.
[11] ZHENG Z,WANG P,REN D,et al. Enhancing geometric factors in model learning and inference for object detection and instance segmentation [J].IEEE Transactions on Cybernetics,2021,52(8):8574-8586.
作者簡介:黃德成(1997—),男,漢族,四川成都人,碩士研究生,研究方向:機器視覺、深度學習;通訊作者:任德均(1971—),男,漢族,四川成都人,副教授,碩士生導師,博士,研究方向:機器視覺、機器人、嵌入式系統、機電一體化。