






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