袁斌,郎宇健,陳凌鵬,李晨
基于YOLOv5和U-NET的多目標藥盒抓取系統設計
袁斌,郎宇健,陳凌鵬,李晨
(浙江科技學院 機械與能源工程學院,杭州 310023)
解決傳統機器視覺機器人抓取系統對多目標及復雜目標背景分割不精確導致的目標定位精度差而影響機器人抓取效率的問題,提出一種新的深度學習抓取識別定位系統。搭建由Delta機械臂、PC上位機、雙目相機等組成的硬件系統,對工業部署常用的YOLO系列算法進行對比研究。將YOLO與U-NET相結合,用于目標的檢測和分割。在精確分割出屬于目標和背景目標的像素區域的同時,計算邊緣和中心位置信息,運用立體視覺技術得到三維位置,并轉換為世界坐標系,由PC機引導機械臂去完成抓取任務。深度學習目標檢測和圖像分割相結合的系統在較復雜背景、多目標的場景下比未添加圖像分割的算法擁有更好的目標定位精確度。YOLOv5和U-NET相結合的目標定位抓取方法具有較高的魯棒性,達到了并聯機械臂的抓取要求。該方法能夠運用于其他多自由度機械臂上,具有良好的應用價值。
Delta機械臂;雙目視覺;抓取方法;YOLOv5;深度學習;U-NET
隨著科技的不斷進步,逐漸進入全新的智能制造時代。在這個時代,制造業將更加智能化、自動化、數字化和網絡化,以滿足不斷增長的市場需求,其重要組成部分——機器人技術,也將不斷發展和創新,成為制造業自動化的重要推動力量。全球機器人不斷高速發展,被廣泛應用于工廠自動化[1]、醫療服務[2]、農業[3]等領域。為了增強機器人的自動化水平,采用視覺技術與工業機器人抓取技術相融合的方法已經成為工業技術領域的熱點。機器人的難點之一是它們不能正確抓取物體[4]。雖然人類能夠很自然地做到這一點,但對于機器人,該操作較復雜,它想要精確了解物體的形狀和位置,需要基于優秀的視覺系統。視覺系統為機器人提供了直觀、準確、豐富的環境信息,通過對視覺傳感器捕捉到的圖像信息進行處理,機器人可以很容易地實現目標的識別、跟蹤和定位[5],從而引導其操作。目前,機器人已經知道如何執行復雜的任務,但仍缺乏敏捷性和適應移動物體或環境的能力。由此可見,通過構建系統來幫助機器人提高感知技能并識別捕捉物體是主要研究課題。為了與真實物體進行交互,機器人必須能夠準確、快速地定位到目標物體的位置,目標定位是機器人抓取任務中的關鍵環節之一,直接影響著抓取效果和機器人的工作效率。目前的主流方法是利用激光距離傳感器、立體視覺和3D相機[6]來解決。
Markovic等[7]通過計算機視覺傳感器獲取周圍環境物體的形狀、位置、深度圖像等信息,實現了實時更新參數后自動執行。日本電子技術大學的Hasegawa等[8]設計了一種可以解決機器人非常接近物體時其視覺傳感器因遮擋而失效的問題的系統,提高了機器人抓取的準確性和穩定性。Sepulveda等[9]提出了一種識別茄子質心三維位置的抓取決策方法,通過質心三維位置來抓取茄子。Yu等[10]提出了一種用于檢測機器人抓取矩形框架的深度學習算法,并將檢測到的矩形框架內的三維點云映射到抓取參數中。
深度學習具有數據處理高效的優點,近年來越來越受到關注。目前,深度學習技術已經成功應用于多個領域,如圖像分類、自動駕駛汽車、語音識別、行人檢測、人臉識別、癌癥檢測等。在這些領域,深度學習在檢測和分割不同類別對象方面具有較高的效率。由此可見,在機械臂抓取中加入深度學習目標檢測和圖像分割,可以提高圖像目標定位精度[11-13]。
研究中的檢測任務采用YOLOv5算法,YOLO系列算法相較于R-CNN[14]、Faster R-CNN[15]等網絡模型,它在識別精度達標的情況下擁有更快的檢測速度[16],更易實現機械臂的抓取。圖像分割算法采用U-NET方法,它在分割醫學圖像方面具有出色的效果和性能[17]。文中依次串聯YOLO算法和U-NET算法,組成目標定位框架,實現自動檢測、定位。圖像分割能夠消除目標預測框內無關背景的噪音干擾,有效提高目標的定位準確度,通過立體視覺技術得到目標的世界坐標,并引導機械臂抓取。
Delta機器人抓取系統需要完成對目標的快速識別、定位,并引導機械臂去完成抓取任務,其系統結構如圖1所示。此系統主要由2個部分組成:視覺系統,由雙目相機配合上位機完成識別、定位目標物;執行系統,由上位機引導機械臂實現抓取目標的任務。視覺系統上位機采用筆記本電腦,并通過Snap7協議與PLC通信,執行系統采用西門子1200型號PLC控制,主要控制delta機械手上的伺服電機,通過Modbus協議讀取絕對編碼器參數。系統整體框架如圖2所示。

圖1 系統結構

圖2 系統框架
為了準確得到目標物體的位姿信息,首先通過YOLOv5算法對目標區域進行檢測,得到ROI區域,然后將ROI區域輸入串聯的U-Net算法,分割出目標物體及無關背景。結合邊緣檢測算法識別目標的外輪廓,并對目標物體外輪廓進行最小矩形擬合,計算出目標的中心和旋轉角度,最后利用SGBM立體匹配算法計算空間坐標。
在目標物體識別定位過程中,采用多種算法融合的方式進行求解。識別定位算法流程如圖3所示。

圖3 識別定位算法流程
2.1.1 設備和樣品
此次試驗的深度學習訓練設備采用服務器(CPU: Intel 8350C, 2.6 GHz; GPU: RTX3090; RAM: 56G; Pytorch:1.9.0; CUDA: 11.1)。測試圖像處理的上位機為HP筆記本電腦(CPU: i5-7300HQ; GPU: RTX1050ti; RAM: 16 G, 2 400 MHz)。相機采用雙目攝像頭,型號為Pay Cam c4008。目標樣品為普通藥盒。
2.1.2 數據集制作
為了考察不同光線對抓取目標的影響,用于訓練的數據集由CMOS相機在不同光線下模擬實際抓取場景拍攝擺放姿態不同的200張單目標藥盒照片,以及200張多目標隨機擺放照片組成。部分照片如圖4所示,將照片的尺寸修改為480像素×480像素,通過軟件Labelimg進行人工標注。神經網絡模型需要大量的數據集來參與訓練,才能得到理想的模型參數,但實際試驗中采集的樣本照片的數量和多樣性不足,通常需要采用數據增強方法來擴充訓練集的數據量。通過增強數據后,獲得了一個1 500張圖片的數據集,用于訓練模型,以提高檢測的準確性。

圖4 子數據集
2.1.3 算法對比
YOLO(You only look once)系列算法是目前工業上運用非常廣泛的算法,文中采用YOLOv5-6.0版本。最近,還在繼續更新YOLOv5,衍生了YOLOv5-6.0/7.0版本,它具有更高的檢測精度和更好的魯棒性。將YOLOv5、YOLOv7、YOLOv8的小模型算法均按默認配置,使用上述數據集在服務器上訓練100輪,并進行預測,檢測結果見表1。在表1中,Param、Weight size、、分別表示參數量、權重、準確率、召回率;mAP50表示IoU閾值為0.5時的平均準確率,mAP50-95表示不同IoU閾值(0.5~0.95,通常以0.05為步長)下的平均精確率的平均值;Train time、Speed分別表示訓練時間、檢測時間;加粗數值表示各項參數的最優值。
表1 檢測算法對比

Tab.1 Comparison of detection algorithms
從表1可以看出,在達到標準檢測精度的前提下,YOLOv5具有比YOLOv7、YOLOv8更少的參數和更快的檢測度。從同一模型來看,隨著模型參數的增加,其準確率和召回率的提高幅度非常微小。這主要是因其數據集相較于COCO數據集小得多,模型存在大量的冗余參數,導致模型的各項指標下降。由此可見,對于較小的數據集,選用參數量較少的模型,不僅可以提高準確率、降低訓練時間,還在預測速度上具有較大優勢。由此,選用YOLOv5檢測算法,其訓練和推理速度比YOLOv7、v8快得多,且內存占用率更低。YOLOv5在移動設備或資源受限的系統中具有更好的實時性,為了后續能夠在嵌入式移動端設備中部署,所以選擇它來實現機械臂的抓取。
2.1.4 YOLOv5算法
YOLOv5深度學習目標檢測框架能夠在圖像或視頻中快速、準確地檢測和定位多個物體,YOLOv5主要由CSPDarknet53、SPP組成。如圖5所示,將輸入圖片縮放,并進行歸一化等操作,通過卷積神經網絡對圖像進行特征提取,在提取特征后,對不同層次的特征進行融合,以更好地描述目標特征,最后使用卷積神經網絡對目標進行檢測,并輸出檢測結果。
2.1.5 圖像分割
語義分割是一種深度學習算法,它能夠將標簽或類別與圖像中的每個像素相關聯,用于分割不同類別的像素集合。語義分割能夠在無人操作的情況下自動區分目標和背景,提高了定位的準確度。
這里對4種語義分割算法(U-NET、Fast-SCNN、HRNet、DeepLab-v3+)進行了研究。U-NET算法具有結構簡單,易于理解和實現,能夠有效捕捉多尺度特征等優點,但它對于大規模場景和高分辨率圖像的分割性能有限,無法捕捉完整信息。Fast-SCNN是一種用于實時語義分割的輕量級網絡,其網絡結構輕量,計算量和參數量較小,適合實時應用。HRNet算法是一種高分辨率網絡,在各種分割任務中具有較強的表現能力,其復雜的網絡結構需要大量的計算量和參數量,與其他輕型算法相比,在檢測速度方面無競爭力。DeepLab-v3+是一種先進的語義分割網絡,采用空洞卷積和編碼器?解碼器結構,并引入空間金字塔池化模塊來捕捉多尺度信息,具有非常強大的分割性能,在邊緣細節和復雜場景下表現非常突出。同時,它也需要大量的計算量和參數量的支持,推理需要較高的計算資源,無法做到實時檢測。由于抓取任務需要實時檢測,對推理檢測速度也有較高要求,因此排除了HRNet、DeepLab-v3+算法,這里選擇兼顧準確性和檢測速度的U-NET算法。
采用定位方法,首先對左右相機得到的圖像進行矯正,然后傳入YOLOv5中進行目標檢測,得到目標檢測預測框,如圖6所示。然后,提取ROI區域,為后續圖像分割做準備,如圖7所示。將得到的ROI圖片輸入U-NET網絡,進行圖像分割,成功消除了無關背景信息,清晰地分割出感興趣目標,如圖8所示。
在圖像分割后,去除了原始圖像背景的干擾噪點,能夠清晰地分割出目標物體。為了避免圖像分割后部分像素點丟失對目標中心采集產生影響,首先需要采用Canny邊緣檢測算法,計算獲取目標的清晰輪廓信息,再通過OpenCV中的函數對檢測區域進行輪廓檢測。通過對目標輪廓邊界進行最小外界矩形的擬合,得到最小外接矩形,輸出清晰完整的外接矩形框和矩形框的頂點坐標,并將4個點的坐標(0,0)、(1,1)、(2,2)、(3,3)代入式(1),求得旋轉邊角矩形的中心點(c,c),如圖9所示。將計算得到的中心點坐標轉換到初始輸入圖像中,即可顯示其中心點位置,如圖10所示。

圖5 文中采用的YOLOv5算法結構
Fig.5 Structure of YOLOv5 algorithm used

圖6 檢測結果

圖7 ROI區域

圖8 圖像分割結果

圖9 矩形邊緣及中心點效果

圖10 目標中心效果
為了實現從目標平面坐標到世界坐標系的轉換,需要了解相機的成像過程,還需要完成相機標定和手眼標定。實現機械臂抓取過程是將像素坐標系轉換到世界坐標系的過程,是攝像機成像的逆過程。根據相機成像原理,建立單相機像素坐標(,)與世界坐標(w,w,w)的轉換模型,見式(2)。

式中:為相機內參矩陣;為旋轉矩陣;為平移矩陣。
2.2.1 手眼標定
機械臂手眼標定是將相機與機械臂末端執行器進行標定,通過相機來確定機械臂末端執行器的位姿。手眼系統可分為Eye-in-Hand(眼在手上)系統和Eye-to-Hand(眼在手外)系統。因為這里的檢測區域是固定的,所以采用Eye-to-Hand系統,標定如圖11所示。


可知,相機坐標系和機械臂基座坐標系保持不變,即保持不變。同理,機械臂末端坐標系和標定板坐標系保持不變,即保持不變。故可將式(3)變換為式(4)。


推導式(5),可得式(6),通過變形可得式(7)。




2.2.2 相機標定
對雙目相機進行標定,獲得相機對應的內外參數。采用張定友棋盤格標定法標定相機,棋盤格型號為GP200-5。得到相機對應的內外參數,如表2所示。
2.2.3 雙目測距


表2 雙目相機參數

Tab.2 Binocular camera parameter

圖12 雙目立體視覺模型
文中執行系統Delta機器人的結構設計如圖13所示,該系統由靜平臺、主動臂、從動臂、動平臺等組成。將伺服電機固定在靜平臺上,通過電機輸出軸連接主動臂,在主動臂、從動臂與動平臺之間分別通過球形鉸鏈連接。Delta機械臂的基本參數如表3所示。

圖13 Delta機器人的結構
表3 Delta機械臂參數

Tab.3 Delta robot arm parameter
3.2.1 運動學反解
在已知目標藥盒坐標(,,)的情況下,通過運動學反解求解3個主動臂需要轉過的角度1、2、3,使機械臂調整至抓取姿態進行抓取,求解過程見式(10)~(12)。



式中:、、、分別為主動臂長度、從動臂長度、靜平臺半徑、動平臺半徑;(,,)為動平臺相對于靜平臺中心的相對坐標。將式(10)、(11)、(12)中得到的A、B、C(=1, 2, 3)代入式(13),得到伺服電機轉動的角度。

3.2.2 工作空間求解
通過逐點驗算法,獲得機械手末端的空間位置。模擬機械臂的工作空間,計算出機械臂的工作空間位置大約在–400≤≤–200、–200≤≤–200、–200≤≤200,如圖14所示。

圖14 Delta機械臂工作空間
裝置實物設計與實驗環境如圖15所示。為了驗證提出方法的有效性,將目標藥盒放置在傳送帶上進行測試,測試設備為筆記本電腦(CPU: i5-7300HQ; GPU: RTX1050ti-4 G; RAM: 16 G, 2 400 MHz),相機采用雙目攝像頭(型號為PayCam c4008),PLC采用西門子s7-1200。將傳送帶上的目標物體運動至相機檢測抓取區域,在傳送帶兩端的對射光開關檢測到物體時,傳送帶停止,通過相機對其拍照、識別、定位,并引導機械臂進行抓取,整個識別過程只需272.2 ms,如圖16所示。
4.2.1 定位
在傳送帶不同位置放置不同姿態的單目標藥盒進行抓取實驗,對比有圖像分割與無圖像分割的抓取誤差,實驗結果見表4。
由上述實驗結果可知,采用YOLO算法,藥盒方向的定位誤差最大值為3.9 mm,方向的定位誤差最大值為4.3 mm,方向的定位誤差最大值為2.9 mm;加入U-NET后,藥盒方向的定位誤差最大值為2.7 mm,方向的定位誤差最大值為2.9 mm,方向的定位誤差最大值為2.7 mm。由此可見,通過目標檢測算法加入圖像分割,能夠提高藥盒的定位精確度。
4.2.2 抓取結果對比分析
在30 mm/s的傳送帶上,通過有無添加U-NET的2種算法,抓取不同數量目標藥盒的結果如表5所示。

圖15 實驗環境

圖16 識別深度
表4 定位結果

Tab.4 Positioning result
表5 抓取結果

Tab.5 Grasping result
添加U-NET后,在單目標情況下無漏抓,平均單個抓取時間為2.3 s。在視野中有多個目標物時,需要進行多次抓取,引入U-NET能夠有效地提高抓取成功率。
針對傳統機器視覺對多目標及復雜背景下定位、抓取存在的問題,提出了一種深度學習目標檢測與圖像分割相結合的Delta機器人多目標藥盒抓取系統。將YOLOv5與U-NET相結合,能夠自動對目標進行識別和精確定位,相較于傳統目標檢測,加入圖像分割后能夠更加有效地定位到二維圖像目標的位置信息,并通過立體匹配算出目標的深度信息。經實驗驗證,在多目標傳送帶上采用深度學習圖像檢測結合圖像分割的抓取算法能夠快速、有效地分割出多目標藥盒和背景,有效地提高了抓取成功率。
實驗中抓取的理論位置完全通過雙目攝像頭采集的圖像計算得到,在實際應用中實際抓取位置會因機械臂振動、傳送帶轉速等因素而出現偏差。基于目前攝像頭精度不高、算法處理速度較慢等因素,當目標增加、傳送帶速度提升時抓取準確性會下降,后續將進一步對算法進行改進,從而提高其精度和處理速度,使其滿足高速、高效的要求。同時,增加數據集的數量和多樣性,使檢測模型應對不同工作環境時都具有較高的檢測精度。
[1] DOTOLI M, FAY A, MI?KOWICZ M, et al. An Overview of Current Technologies and Emerging Trends in Factory Automation[J]. International Journal of Production Research, 2019, 57(15/16): 5047-5067.
[2] HUANG T Y, GU H R, NELSON B J. Increasingly Intelligent Micromachines[J]. Annual Review of Control, Robotics, and Autonomous Systems, 2022, 5: 279-310.
[3] BOURSIANIS A D, PAPADOPOULOU M S, DIAMANTOULAKIS P, et al. Internet of Things (IoT) and Agricultural Unmanned Aerial Vehicles (UAVs) in Smart Farming: A Comprehensive Review[J]. Internet of Things, 2022, 18: 100187.
[4] DANIELCZUK M, MAHLER J, CORREA C, et al. Linear Push Policies to Increase Grasp Access for Robot Bin Picking[C]// 2018 IEEE 14th International Conference on Automation Science and Engineering (CASE). IEEE, 2018: 1249-1256.
[5] 李慧霞. 室內智能移動機器人規則物體識別與抓取[D]. 北京: 北京交通大學, 2016: 2-6.
LI H X. Rule Object Recognition and Grasping of Indoor Intelligent Mobile Robot[D]. Beijing: Beijing Jiaotong University, 2016: 2-6.
[6] NAM C, LEE S, LEE J, et al. A Software Architecture for Service Robots Manipulating Objects in Human Environments[J]. IEEE Access, 2008, 8: 117900-117920.
[7] MARKOVIC M, DOSEN S, POPOVIC D, et al. Sensor Fusion and Computer Vision for Context-Aware Control of a Multi Degree-of-Freedom Prosthesis[J]. Journal of Neural Engineering, 2015, 12(6): 066022.
[8] HASEGAWA H, SUZUKI Y, MING A G, et al. Robot Hand whose Fingertip Covered with Net-Shape Proximity Sensor-Moving Object Tracking Using Proximity Sensing[J]. Journal of Robotics and Mechatronics, 2011, 23(3): 328-337.
[9] SEPúLVEDA D, FERNáNDEZ R, NAVAS E, et al. Robotic Aubergine Harvesting Using Dual-Arm Manipulation[J]. IEEE Access, 1889, 8: 121889-121904.
[10] YU M C, LI G F, JIANG D, et al. Application of PSO-RBF Neural Network in Gesture Recognition of Continuous Surface EMG Signals[J]. Journal of Intelligent & Fuzzy Systems, 2020, 38(3): 2469-2480.
[11] LIU L, OUYANG W L, WANG X G, et al. Deep Learning for Generic Object Detection: A Survey[J]. International Journal of Computer Vision, 2020, 128(2): 261-318.
[12] ZHAO Z Q, ZHENG P, XU S T, et al. Object Detection with Deep Learning: A Review[J]. IEEE Transactions on Neural Networks and Learning Systems, 2019, 30(11): 3212-3232.
[13] MINAEE S, BOYKOV Y, PORIKLI F, et al. Image Segmentation Using Deep Learning: A Survey[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2022, 44(7): 3523-3542.
[14] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[C]// Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition ACM, 2014: 580–587.
[15] REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[16] YAN B, FAN P, LEI X Y, et al. A Real-Time Apple Targets Detection Method for Picking Robot Based on Improved YOLOv5[J]. Remote Sensing, 2021, 13(9): 1619.
[17] IBTEHAZ N, RAHMAN M S. MultiResUNet: Rethinking the U-Net Architecture for Multimodal Biomedical Image Segmentation[J]. Neural Networks, 2020, 121: 74-87.
Design of Multi-target Medicine Box Grasping System Based on YOLOv5 and U-NET
YUAN Bin, LANG Yujian, CHEN Lingpeng,LI Chen
(School of Mechanical and Energy Engineering, Zhejiang University of Science and Technology, Hangzhou 310023, China)
The work aims to propose a new deep learning grasping recognition and positioning system, in order to solve the problem of poor target positioning accuracy caused by the inaccuracy of multi-target and complex-target background segmentation in traditional machine vision robot grasping system. A hardware system composed of Delta robot arm, PC host computer and binocular camera was built to compare and study the YOLO series algorithms commonly used in industrial deployment. YOLO and U-NET were combined for target detection and segmentation. When the pixel regions belonging to the target and the background target were divided, the edge and center position information were calculated, the three-dimensional position was obtained by stereo vision technology and converted into the world coordinate system, and the robot arm was guided by the PC to complete the grasp. The system combining deep learning target detection and image segmentation had better target positioning accuracy than the algorithm without image segmentation in complex background and multi-target scenes. The target positioning and grasping method combining YOLOv5 and U-NET has high robustness and meets the grasping requirements of parallel robot arms. This method can be applied to other multi-degree-of-freedom robot arms and has good application value.
Delta robot arm; binocular vision; grasping method; YOLOv5; deep learning; U-NET
TP23;TB486+.2
A
1001-3563(2024)09-0141-09
10.19554/j.cnki.1001-3563.2024.09.018
2023-08-08
國家自然科學基金(62103340)