杜開源,劉 淼,姜星宇,汪 辰,葉 晉,張志剛
基于YOLO的托盤孔位置識別研究
杜開源,劉 淼*,姜星宇,汪 辰,葉 晉,張志剛
(上海工程技術(shù)大學(xué) 機械與汽車工程學(xué)院,上海 201620)
在物流領(lǐng)域中,無人駕駛叉車逐漸被廣泛應(yīng)用。無人駕駛叉車需要具備一項非常重要的功能,即可檢測到裝載貨物用的托盤孔的位置,從而使叉車插入托盤來運輸貨物,其中機器學(xué)習(xí)算法被廣泛用于自動檢測物體的位置領(lǐng)域,如孔洞的位置檢測。文章介紹了使用YOLO和樹莓派開發(fā)深度學(xué)習(xí)識別托盤孔位置的方法,采用YOLOv5模型,通過自建的托盤數(shù)據(jù)集對模型進行訓(xùn)練,并將算法部署到嵌入式設(shè)備中,實現(xiàn)了托盤孔識別。實驗結(jié)果表明,在滿足實時性能的要求下,對托盤孔識別準(zhǔn)確率為88%左右,與當(dāng)前行業(yè)主要使用的方法相比,具有低成本高速度的特點。
無人駕駛叉車;機器學(xué)習(xí);YOLO;樹莓派;叉車托盤
自動駕駛叉車是一種無需司機即可運輸貨物或零件的設(shè)備,其特點為節(jié)省人工成本、加快貨物流通、有效利用空間等。因此,在工廠、物流領(lǐng)域和配送中心等地方被越來越廣泛地使用。使用自動駕駛叉車時需將要移動或提升的物品和設(shè)備放置在托盤上,隨后使用自動駕駛叉車前面的叉子來提升和移動托盤,能夠穩(wěn)定地提升物體。過去,叉車由專人駕駛,叉子可直接放在托盤孔上來提升物體,大多數(shù)情況下,托盤的形狀為長方形,故托盤孔很容易被識別,但是要移動的物體也有類似托盤的形狀,所以需要找到托盤孔位置的檢測方法。
當(dāng)前公開的國內(nèi)文獻中,與叉車托盤孔識別有關(guān)的研究較少,例如趙俊宏用RGB-D相機和激光雷達作為檢測傳感器,分別實現(xiàn)了單傳感器條件下和多傳感器融合條件下的托盤姿態(tài)估計,但成本較高[1];武文漢用深度相機以及視覺標(biāo)簽實現(xiàn)了不同場景下的托盤檢測,但需要外部標(biāo)簽輔助,具有一定的局限性[2]。
檢測裝載貨物的托盤孔的位置和方向,便于插入叉車進行貨物搬運,是自動駕駛叉車非常重要的功能。機器學(xué)習(xí)算法被用于自動檢測托盤孔等物體的位置,其中,YOLO(You Only Look Once)算法被廣泛使用。本文識別的是托盤孔,并且要在微型計算機樹莓派上實現(xiàn),對識別速度的要求比較高,故使用YOLOv5算法,同時,把計算機上訓(xùn)練的模型移植到樹莓派上,最后測試得到實驗結(jié)果。
卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Networks, CNN)是人工智能研究中深度學(xué)習(xí)領(lǐng)域流行的算法之一,神經(jīng)網(wǎng)絡(luò)模型可直接對圖像、視頻、文本或聲音進行分類。它的特點是在保持圖像空間信息的同時,能夠有效地識別相鄰圖像的特征,并能從具有多種濾鏡的圖像中提取和學(xué)習(xí)特征。CNN的基本結(jié)構(gòu)由卷積層和全連接層組成。特征的提取是依次通過多個卷積層,逐步提取更高層次的特征。最終的分類結(jié)果由全連接層提取的高級特征決定。因為它提取的是適合訓(xùn)練數(shù)據(jù)的高層次特征,能很好地適應(yīng)各種變化,因此被應(yīng)用在圖像識別領(lǐng)域,并顯示出很高的性能。典型的CNN配置如圖1所示。
圖1 卷積神經(jīng)網(wǎng)絡(luò)配置
圖2顯示了卷積的操作。對于圖像特征提取而言,濾波器首先對輸入數(shù)據(jù)進行迭代,隨后計算卷積平方,并使用計算結(jié)果來創(chuàng)建特征圖。濾波器是在圖像中尋找特征的一個常用參數(shù),通常被定義為一個方形矩陣,如(4,4)或(3,3)。在CNN中,所有層的參數(shù),包括濾波器,都要經(jīng)過訓(xùn)練。在本研究中,托盤孔圖像被用來提取特征并使其在YOLO中可被檢測到。
圖2 卷積操作特征圖
池化層將卷積層的輸出數(shù)據(jù)作為輸入,用于縮小輸出數(shù)據(jù)的大小或突出某些數(shù)據(jù)。有三種處理池化層的方法:即最大池化、平均池化和最小池化,它的工作原理為收集方形矩陣特定區(qū)域內(nèi)的最大值或在特定區(qū)域內(nèi)取平均值。
YOLO物體檢測算法被用來識別托盤和檢測托盤孔位置,是一種基于CNN的物體檢測算法,它使用監(jiān)督學(xué)習(xí)算法來預(yù)測單一圖像中物體的類型和位置,并具有只看整個圖像一次就能檢測到物體的特點[3]。
MobileNet是TensorFlow開發(fā)的一系列基于移動設(shè)備優(yōu)化的計算機視覺模型,旨在考慮移動設(shè)備或嵌入式應(yīng)用程序在受限資源下有較好的精度。這些模型被設(shè)計為小型化、低功耗、參數(shù)化,以滿足設(shè)備的資源限制。ShuffleNetV2中提出了一個關(guān)鍵點,即在移動設(shè)備的運行速度不僅要考慮FLOPs,還有考慮其他因素,如內(nèi)存訪問成本(memor yaccess cost)和平臺特點(platform characterics)。GhostNet將相同顏色特征圖通過廉價的線性操作得到另一個相同顏色特征圖,即使用更少的參數(shù)來生成同等數(shù)量的特征圖,如圖3所示[4]。
圖3 Ghost模塊
以YOLOv5部署到邊緣設(shè)備為目的,在YOLOv5網(wǎng)絡(luò)框架中添加輕量化網(wǎng)絡(luò)模型,分別為MobileNetV3、ShuffleNetV2和GhostNet。
為了下一步的研究做準(zhǔn)備,本文收集的用于識別托盤中心圖像數(shù)據(jù)集的例子使用如圖4所示的方式進行采集,即將托盤放在某一位置后,在各個采樣點將連接在計算機上的相機拍攝的圖像分成若干幀,生成有標(biāo)記的圖像數(shù)據(jù)集,用于監(jiān)督學(xué)習(xí)。采集的圖像在整個圖像個數(shù)中,按照60%的室內(nèi)和40%的室外的比例收集圖像。收集到的數(shù)據(jù)集的圖像總數(shù)為1 000張,其中600張室內(nèi)訓(xùn)練數(shù)據(jù)和400張室外訓(xùn)練數(shù)據(jù),用于訓(xùn)練托盤孔學(xué)習(xí)器。
圖4 數(shù)據(jù)集收集的采樣點
2.2.1 實驗平臺
利用標(biāo)簽圖像在計算機上進行了深度學(xué)習(xí),實驗硬件環(huán)境為英特爾酷睿i7-9750H處理器,英偉達GTX1650顯卡,16 G內(nèi)存;軟件環(huán)境為Win10系統(tǒng),Python3.7,所使用的深度學(xué)習(xí)框架為PyTorch。
2.2.2 訓(xùn)練結(jié)果和分析
圖5顯示了圖像標(biāo)簽中用于識別托盤孔位置的對象類別。
圖5 用于監(jiān)督學(xué)習(xí)托盤的所有對象類的定義
訓(xùn)練圖像的標(biāo)記即將托盤的中心點分類為0類,托盤的正面為1類,托盤孔為2類,通過將托盤的每個部分分為三類進行監(jiān)督學(xué)習(xí),可以在托盤被識別時提取每個物體的類型和位置。
使用Tensorboard對訓(xùn)練好的模型的托盤識別精度進行了性能驗證。通過計算平均準(zhǔn)確率(mean Average Precision, mAP)和卷積矩陣來評估模型的準(zhǔn)確性,這兩個指標(biāo)在物體識別研究中通常用于檢查性能[5]。利用訓(xùn)練和測試數(shù)據(jù)集進行200次迭代時,如圖6所示,mAP值約為88%。
圖6 訓(xùn)練和測試數(shù)據(jù)集的mAP值變化曲線
圖7 訓(xùn)練的托盤孔檢測模型的卷積矩陣
圖7顯示了使用Tensorboard計算卷積矩陣的結(jié)果。訓(xùn)練后的模型顯示了準(zhǔn)確的預(yù)測率,正確預(yù)測實際托盤孔的概率為100%,托盤和托盤中心也顯示出83%和77%的概率,即正確預(yù)測了實際的托盤和托盤中心。
當(dāng)前,無人叉車行業(yè)主要使用RGB-D照相機和激光雷達進行托盤識別,其傳感器大且昂貴,點云數(shù)據(jù)處理時間較長。本研究使用低成本傳感器,達到相同的準(zhǔn)確率。
本文使用樹莓派4B開發(fā)板進行研究,其可以安裝操作系統(tǒng),具有計算機的一些基本功能,可以看作一臺微型計算機。同時,選擇SCI攝像頭Raspberry Pi Camera Module v2,此攝像頭具有五百萬像素索尼IMX219傳感器,視頻拍攝質(zhì)量高[6]。
在Windows10環(huán)境下使用PyTorch深度學(xué)習(xí)框架實現(xiàn)算法的改進與訓(xùn)練,獲得訓(xùn)練好的模型權(quán)重后,將算法與模型權(quán)重部署到樹莓派上[7]。如果想要在樹莓派嵌入式平臺上運行此模型,需要通過代碼將pb模型文件轉(zhuǎn)換為tflite文件[8]。使用模型移植后的tflite模型文件,對托盤孔位置進行檢測。實驗結(jié)果表明,YOLO算法模型在嵌入式平臺部署成功。
然后,將上述收集的數(shù)據(jù)集,既1 000張托盤圖像在樹莓派中進行托盤孔檢測,得出每個模型處理1 000張圖像所需時間,并計算出每秒處理圖像的平均張數(shù)。
如表1所示,在工作站上,MobileNetV3的時間最短為74.51 s,ShuffleNetV2的時間最長為83.62 s,時間相差為9.11 s,在樹莓派上,Shuffle NetV2的時間最長為2 239.26 s,MobileNetV3的時間最短為636.37 s,兩者結(jié)果差異較大。這表明在樹莓派平臺中,ShuffleNetV2這種復(fù)雜的網(wǎng)絡(luò)并不適用,而GhostNet這種輕量模型更為適用。
表1 各個模型在工作站和樹莓派上的運行速度
本文通過將YOLOv5算法與基于Raspberry Pi設(shè)計的攝像頭檢測叉車托盤孔位置。在電腦端得到托盤孔位置的訓(xùn)練模型,精度達到88%,然后將算法移植到樹莓派上,可以檢測出托盤孔位置,為下一步的相關(guān)研究做好基礎(chǔ)準(zhǔn)備。
[1] 趙俊宏.倉儲智能叉車托盤識別與拾取系統(tǒng)研究[D].廣州:華南農(nóng)業(yè)大學(xué),2018.
[2] 武文漢.基于視覺的倉儲托盤檢測方法研究[D].上海:上海交通大學(xué),2018.
[3] 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.
[4] LIU W,ANGUELOV D,ERHAN D,et al.SSD:Single Shot Multibox Detector[C]//Proceedings of the European Conference on Computer Vision.Berlin:Springer,2016: 21-37.
[5] CHEN S,LIU Y,GAO X,et al.Mobile FaceNets: Effici- ent CNNs for Accurate Real-time Face Verification on Mobile Devices[J].ArXiv,2018:1804.07573.
[6] 李學(xué)賓.基于樹莓派的實時目標(biāo)檢測[D].武漢:華中科技大學(xué),2019.
[7] 王少韓,劉淼.基于YOLOv5和樹莓派的火災(zāi)識別研究[J].農(nóng)業(yè)裝備與車輛工程,2022,60(8):115-118.
[8] 高東英.基于樹莓派4B的實時目標(biāo)檢測[J].無線電, 2021(7):37-40.
A Study on the Detection of Pallet Hole Location Using YOLO
DU Kaiyuan, LIU Miao*, JIANG Xingyu, WANG Chen, YE Jin, ZHANG Zhigang
( School of Mechanical and Automotive Engineering,Shanghai University of Engineering Science, Shanghai 201620, China )
In the logistics industry, while unmanned forklifts is gradually being applied. A very important feature of unmanned forklifts is the ability to detect the position of the pallet holes used for loading, so that the forklift can insert the pallets to transport the cargo. Machine learning algorithms are widely used to automatically detect the position of an object, such as the location of a hole. This paper describes the development of a deep learning approach to identifying the position of pallet holes using YOLO and Raspberry Pi. The model uses the YOLOv5 model, and the model is trained with a self-built pallet dataset, and the algorithm is deployed into an embedded device to achieve pallet hole recognition. The experimental results show that the recognition accuracy of pallet hole is around 88% while meeting the real-time performance requirements, which is low cost and high speed compared to the main methods currently used in the industry.
Unmanned forklift; Machine learning; YOLO; Raspberry Pi; Forklift pallet
TP312
A
1671-7988(2023)21-17-04
10.16638/j.cnki.1671-7988.2023.021.004
杜開源(2001-),男,研究方向為汽車電子,E-mail:862723635@qq.com。
劉淼(1978-),男,博士,講師,研究方向為汽車電子,E-mail:liumiao@sues.edu.cn。
上海工程技術(shù)大學(xué)校級大學(xué)生創(chuàng)新項目(cx2201012)。