






摘要:為了解決工廠煙草濾嘴紙盒碼垛過程中易發生錯誤的問題,并提高碼垛效率,提出了一種基于改進SGBM(Semi-GlobalBlockMatching)算法與輕量化YOLOv5s網絡結構相結合的識別檢測與定位一體化方法。首先,采用MobileNetv3作為YOLOv5s的主干網絡,以降低模型的復雜度、提高檢測速率;其次,將AD-Census(Absolute Differences-Census)代價計算方法應用于SGBM算法中,以提高測距精度。實驗結果顯示,在自建數據集上,該方法獲得的mAP(mean Average Precision)達到91.2%,幀率FPS(Frames Per Second)達到30.8,可以準確識別出紙盒的類別與位置,可為煙草濾嘴盒自動碼垛機器人提供視覺系統技術支持。
關鍵詞:煙草濾嘴盒;SGBM算法;立體匹配;輕量化YOLOv5
中圖分類號:TP391.4 文獻標志碼:A
0 引言(Introduction)
2023年,我國卷煙產量達24427.5億支,同比增長0.4%,展現出持續增長趨勢。在龐大的煙草生產需求下,提升煙草生產效率顯得尤為重要。煙草濾嘴盒碼垛作為煙草加工的初始環節,碼垛效率至關重要,因此準確檢測與定位煙草濾嘴盒,為碼垛機器人提供足夠的環境信息,增強其應對突發狀況的能力,對于提高濾嘴盒碼垛生產線的生產效率具有重要意義。雙目測距作為一種常用的視覺定位技術,憑借其設備簡單、操作便捷等優勢,被廣泛應用于機器人視覺、工業測量、醫療信息處理等領域[1]。其中,雙目立體匹配作為雙目測距的關鍵算法,是計算機視覺領域的研究熱點之一[2-4]。YOLOv5s算法作為YOLO目標檢測算法系列的第五代版本,其結構更為緊湊,但推理速度卻可以達到140FPS[5]。在綜合考慮碼垛機器人檢測精度、速度與應用性價比的需求后,本文使用技術較為成熟的雙目視覺技術與適用于工業檢測的輕量化YOLOv5s目標檢測算法,對煙草濾嘴盒進行檢測與定位,相較于原始算法,該系統能在實際的工程應用中具備更低的硬件成本、更高的檢測效率與測距精度。
1 基于雙目視覺和YOLOv5的煙草濾嘴盒碼垛機器人(Filter tip box stacking robot based on binocular vision and YOLOv5)
本文應用的煙草濾嘴盒碼垛機器人系統框圖如圖1所示,該系統包含成像系統、信息處理單元、控制器與執行機構。在信息處理單元中,使用輕量化YOLOv5算法和改進立體匹配算法進行圖像處理,確定目標位置并將像素坐標轉換為世界坐標。隨后,通過以太網坐標和類別信息傳輸至機器人控制器進行數據分析,執行機構通過控制器生成加工路徑進行碼垛。系統中的碼垛機器人抓取目標物示意圖如圖2所示。
2 基于YOLOv5的目標檢測識別系統(Targetdetection and recognition system based onYOLOv5)
2.1 遷移學習
深度學習在精度和效率方面具有明顯優勢,因此被廣泛應用于工業目標識別領域。然而,工業領域的特征豐富且環境復雜,需要大量的數據集進行訓練,并且數據采集和標注會耗費大量的時間。針對樣本數據較少的情況,通常采用基于模型的深度遷移算法來解決這個問題[6]。
本文使用基于Vocdevkit預訓練的YOLOv5s模型參數進行遷移學習,基于模型遷移學習的邏輯圖如圖3所示,展示了遷移訓練的原理。深度學習可以分為淺層網絡和深層網絡,淺層網絡通常用于解決簡單任務和提取通用特征,例如圖3中,冰箱和濾嘴盒都具有方形的低級特征,因此可以使用淺層網絡進行學習。隨著網絡層次的增加,網絡能夠學習到更為復雜和抽象的特征,從而實現對目標物體更精確的檢測。
2.2 YOLOv5s網絡結構
YOLO系列算法是一種采用回歸技術進行圖像特征提取的目標檢測方法[7],該算法將輸入圖像均勻地劃分為一個固定大小的網格,每個網格設置多個邊界框用于特定對象的檢測[8]。YOLOv5 的網絡結構主要包括以下3個部分。①Backbone,YOLOv5使用CSPDarknet53作為其默認的骨干網絡。這是一個深度卷積神經網絡,用于從輸入圖像中提取特征。②PANet,稱作YOLOv5的加強特征提取網絡,在主干部分獲得的3個有效特征層會在這一部分進行特征融合。③oloHead,YOLOv5的分類器與回歸器,用于預測目標的位置和類別;它通過分析特征點,判斷其是否包含物體,并據此生成目標框的坐標和類別置信度,從而完成目標檢測任務。
2.3 輕量化改進
工業場景中,出于實用性的考慮,在檢測設備性能有限的情況下,需要使用適用性高、資源消耗低的模型。MobileNetv3 是一種輕量級網絡,采用了深度可分離卷積等輕量化技術,具有較小的模型參數量和計算復雜度,適合在計算能力較弱的設備上運行[9]。MobileNetv3網絡結構圖如圖4所示,首先,利用1×1的卷積進行升維,然后引入逆殘差結構;其次,進行3×3 深度可分離卷積,減少網絡的計算量;再次,通過注意力模型SE-Net(Squeeze-and-Excitation-Net),使網絡能夠關注更加有用的通道信息,以調整每個通道的權重;最后,使用h-swish激活函數代替swish函數,減少運算量,提高模型性能。
MobileNetV3有Large和Small兩個版本,兩者在整體結構上是一致的,主要區別是基本單元bneck的數量以及內部參數的不同配置。兩者都采用了輕量級的深度可分離卷積模塊和殘差塊等結構,由多模塊組成,且每個模塊都得到了優化和升級,包括瓶頸結構、SE(Squeeze-and-Excitation)模塊和( NL Non-Local)模塊。在模型搜索技術方面,采用了資源受限的NAS執行模塊級搜索,并結合NetAdapt執行局部搜索,將最后一步的平均池化層前移,并移除最后一個卷積層,同時引入h-swish激活函數。改進后的YOLOv5輕量化網絡結構圖如圖5所示。
3 基于雙目視覺的濾嘴盒距離測量(Binocular vision-based distance measurement for filter tip boxes)
YOLOv5對濾嘴盒進行檢測后,使用雙目視覺技術對濾嘴盒進行距離測量。
3.1 雙目視覺原理
雙目視覺系統通過計算同一目標對象在不同視角下的視差來獲取物體的三維信息。視差是指兩張圖像中對應像素點的距離差,已知兩個攝像頭的基線距離和視角等參數,則通過三角測量原理可以測量出距離,雙目測距原理圖如圖6所示。
3.5 雙目測距
使用雙目測距測量濾嘴盒的距離分為以下幾個步驟。
(1)對相機進行標定:由于攝像機本身存在畸變,因此需要對相機進行標定以獲取矯正參數,標定方法選取張氏標定法。使用張氏標定法需要進行標定圖片的采集,拍攝過程中選取不同角度和位置拍攝21張標定圖像,然后使用MATLAB上的標定工具箱計算出雙目相機的畸變系數,得到的相機參數如表1所示。
(2)雙目校正:根據攝像頭標定獲取的單目內參數據和雙目相對位置關系的旋轉矩陣和平移矩陣,與OpenCV計算機視覺庫相結合,分別對左、右視圖進行消除畸變和行對準,從而使得在下一步的立體匹配時,節省搜索匹配時間,并提高圖像立體匹配的準確率,將左、右視圖的相同對應點匹配起來,生成視差圖。
(3)計算目標物與相機之間的距離:將視差值帶入公式(1),計算出目標物的實際距離,并顯示在檢測框上,將轉換后的坐標輸入碼垛機器人。
4 實驗與結果分析(Experiment and result analysis)
4.1 濾嘴盒數據集制作
(1)采集碼垛機器人碼垛濾嘴盒圖片:使用像機采集濾嘴盒圖片,數據集中的部分原始圖片如圖9所示,為了確保數據集的一致性,對拍攝的適用圖像的分辨率進行調整,使其分辨率大小一致。經過調整后,得到542張分辨率統一的圖片。
(2)濾嘴盒圖像標注:數據標注軟件為Labelimg。濾嘴盒標簽圖片如圖10所示。
(3)數據集訓練:為了統一訓練數據的格式,將所有需要訓練的圖片調整成相同尺寸。在訓練過程中,設置每次輸入的圖像數量為8張,即批量大小為8,進行批量訓練。
訓練過程中,優化器采用隨機梯度下降法(Stochastic Gradient Descent,SGD),初始學習率設置為0.0001,批量大小設置為8,subdivisions設置為8,filter設置為18,迭代周期設置為100。開始訓練后,系統將基于提供的訓練數據集進行迭代學習,通過調整參數使其在訓練過程中的損失值開始趨于穩定時停止訓練。
為了評估模型的性能,將原始YOLOv5s網絡和改進網絡進行對比實驗,并測量了它們的運行幀率、平均精度均值(mean Average" Precision,mAP)和參數量,實驗對比結果如表2所示,其中YOLOv5s為基礎網絡,YOLOv5s-MN-large為使用MobileNetV3-large結構進行輕量化的算法,YOLOv5s-MNsmall為使用MobileNetV3-small結構進行輕量化的算法,本文所提算法使用small結構。從表2中的數據可以看出,本文所所提算法具有較快的速度與較高的準確率。
4.2 濾嘴盒檢測及測距
濾嘴盒檢測及測距如圖11所示。該圖展示了AD-Census 代價計算方法與YOLOv5s輕量化檢測模型相融合后的檢測結果,如圖11(a)、圖11(b)分別展示了不同場景下的檢測效果,其中Ebox標簽代表空紙盒,Fbox代表裝滿的紙盒。實驗結果表明,該融合算法能準確檢測并測量出紙盒的類別與距離。
本研究使用改進SGBM算法與YOLOv5方法相結合的濾嘴盒目標檢測和測距方法,并與未改進SGBM 算法的濾嘴盒目標檢測和測距方法的結果進行對比。對比內容包含實際距離原始算法和絕對誤差,測距結果見表3。
對表3中的數據進行分析可以看出,當距離目標物的距離增加至接近2.05m和1.35m時,測距誤差呈現增大的趨勢,并且在1.75m左右時精度達到最高。經過多次實驗和綜合分析得出結論:采用改進的SGBM 算法對濾嘴盒進行測距,在1.35~2.05m的范圍內表現優異。實驗結果表明,該算法能滿足濾嘴盒碼垛機器人的識別、檢測和定位要求。因此,該方法可以實現對煙草濾嘴盒的快速準確識別與測距。
5 結論(Conclusion)
針對卷煙廠的濾嘴生產線濾嘴盒碼垛機器人存在效率低下的問題,提出了一種基于改進SGBM 算法和輕量化YOLOv5s網絡結構的濾嘴盒精準識別與定位方法。首先,采用輕量化YOLOv5目標檢測方法快速且準確地識別圖像中的濾嘴盒,為后續處理提供了可靠的目標信息。其次,考慮到工廠光照條件不佳和濾嘴盒擺放方式可能導致識別不準確的問題,引入SGBM算法中的AD-Census代價算法替代原有的BT 代價匹配算法,從而顯著提升了測距效果。AD-Census算法通過綜合灰度信息和像素周圍鄰近像素之間的關系,提高了對光照變化和紋理復雜性的適應能力,取得了可靠的測距結果。該方法在智能性和測距精度方面明顯優于目前使用的雙目測距方法,為濾嘴盒碼垛機器人提供了更可靠、更高效的視覺引導。然而,鑒于目標測距領域不斷發展,未來的研究可以考慮采用更為先進的目標檢測算法,以進一步提升系統的自動識別性能。