APP下载

基于YOLO的托盘孔位置识别研究

2023-11-21杜开源姜星宇张志刚

汽车实用技术 2023年21期
关键词:树莓叉车物体

杜开源,刘 淼,姜星宇,汪 辰,叶 晋,张志刚

基于YOLO的托盘孔位置识别研究

杜开源,刘 淼*,姜星宇,汪 辰,叶 晋,张志刚

(上海工程技术大学 机械与汽车工程学院,上海 201620)

在物流领域中,无人驾驶叉车逐渐被广泛应用。无人驾驶叉车需要具备一项非常重要的功能,即可检测到装载货物用的托盘孔的位置,从而使叉车插入托盘来运输货物,其中机器学习算法被广泛用于自动检测物体的位置领域,如孔洞的位置检测。文章介绍了使用YOLO和树莓派开发深度学习识别托盘孔位置的方法,采用YOLOv5模型,通过自建的托盘数据集对模型进行训练,并将算法部署到嵌入式设备中,实现了托盘孔识别。实验结果表明,在满足实时性能的要求下,对托盘孔识别准确率为88%左右,与当前行业主要使用的方法相比,具有低成本高速度的特点。

无人驾驶叉车;机器学习;YOLO;树莓派;叉车托盘

自动驾驶叉车是一种无需司机即可运输货物或零件的设备,其特点为节省人工成本、加快货物流通、有效利用空间等。因此,在工厂、物流领域和配送中心等地方被越来越广泛地使用。使用自动驾驶叉车时需将要移动或提升的物品和设备放置在托盘上,随后使用自动驾驶叉车前面的叉子来提升和移动托盘,能够稳定地提升物体。过去,叉车由专人驾驶,叉子可直接放在托盘孔上来提升物体,大多数情况下,托盘的形状为长方形,故托盘孔很容易被识别,但是要移动的物体也有类似托盘的形状,所以需要找到托盘孔位置的检测方法。

当前公开的国内文献中,与叉车托盘孔识别有关的研究较少,例如赵俊宏用RGB-D相机和激光雷达作为检测传感器,分别实现了单传感器条件下和多传感器融合条件下的托盘姿态估计,但成本较高[1];武文汉用深度相机以及视觉标签实现了不同场景下的托盘检测,但需要外部标签辅助,具有一定的局限性[2]。

检测装载货物的托盘孔的位置和方向,便于插入叉车进行货物搬运,是自动驾驶叉车非常重要的功能。机器学习算法被用于自动检测托盘孔等物体的位置,其中,YOLO(You Only Look Once)算法被广泛使用。本文识别的是托盘孔,并且要在微型计算机树莓派上实现,对识别速度的要求比较高,故使用YOLOv5算法,同时,把计算机上训练的模型移植到树莓派上,最后测试得到实验结果。

1 算法简介

1.1 CNN简介

卷积神经网络(Convolution Neural Networks, CNN)是人工智能研究中深度学习领域流行的算法之一,神经网络模型可直接对图像、视频、文本或声音进行分类。它的特点是在保持图像空间信息的同时,能够有效地识别相邻图像的特征,并能从具有多种滤镜的图像中提取和学习特征。CNN的基本结构由卷积层和全连接层组成。特征的提取是依次通过多个卷积层,逐步提取更高层次的特征。最终的分类结果由全连接层提取的高级特征决定。因为它提取的是适合训练数据的高层次特征,能很好地适应各种变化,因此被应用在图像识别领域,并显示出很高的性能。典型的CNN配置如图1所示。

图1 卷积神经网络配置

图2显示了卷积的操作。对于图像特征提取而言,滤波器首先对输入数据进行迭代,随后计算卷积平方,并使用计算结果来创建特征图。滤波器是在图像中寻找特征的一个常用参数,通常被定义为一个方形矩阵,如(4,4)或(3,3)。在CNN中,所有层的参数,包括滤波器,都要经过训练。在本研究中,托盘孔图像被用来提取特征并使其在YOLO中可被检测到。

图2 卷积操作特征图

池化层将卷积层的输出数据作为输入,用于缩小输出数据的大小或突出某些数据。有三种处理池化层的方法:即最大池化、平均池化和最小池化,它的工作原理为收集方形矩阵特定区域内的最大值或在特定区域内取平均值。

1.2 YOLO算法简介

YOLO物体检测算法被用来识别托盘和检测托盘孔位置,是一种基于CNN的物体检测算法,它使用监督学习算法来预测单一图像中物体的类型和位置,并具有只看整个图像一次就能检测到物体的特点[3]。

MobileNet是TensorFlow开发的一系列基于移动设备优化的计算机视觉模型,旨在考虑移动设备或嵌入式应用程序在受限资源下有较好的精度。这些模型被设计为小型化、低功耗、参数化,以满足设备的资源限制。ShuffleNetV2中提出了一个关键点,即在移动设备的运行速度不仅要考虑FLOPs,还有考虑其他因素,如内存访问成本(memor yaccess cost)和平台特点(platform characterics)。GhostNet将相同颜色特征图通过廉价的线性操作得到另一个相同颜色特征图,即使用更少的参数来生成同等数量的特征图,如图3所示[4]。

图3 Ghost模块

以YOLOv5部署到边缘设备为目的,在YOLOv5网络框架中添加轻量化网络模型,分别为MobileNetV3、ShuffleNetV2和GhostNet。

2 算法训练

2.1 数据集的收集

为了下一步的研究做准备,本文收集的用于识别托盘中心图像数据集的例子使用如图4所示的方式进行采集,即将托盘放在某一位置后,在各个采样点将连接在计算机上的相机拍摄的图像分成若干帧,生成有标记的图像数据集,用于监督学习。采集的图像在整个图像个数中,按照60%的室内和40%的室外的比例收集图像。收集到的数据集的图像总数为1 000张,其中600张室内训练数据和400张室外训练数据,用于训练托盘孔学习器。

图4 数据集收集的采样点

2.2 训练实验

2.2.1 实验平台

利用标签图像在计算机上进行了深度学习,实验硬件环境为英特尔酷睿i7-9750H处理器,英伟达GTX1650显卡,16 G内存;软件环境为Win10系统,Python3.7,所使用的深度学习框架为PyTorch。

2.2.2 训练结果和分析

图5显示了图像标签中用于识别托盘孔位置的对象类别。

图5 用于监督学习托盘的所有对象类的定义

训练图像的标记即将托盘的中心点分类为0类,托盘的正面为1类,托盘孔为2类,通过将托盘的每个部分分为三类进行监督学习,可以在托盘被识别时提取每个物体的类型和位置。

使用Tensorboard对训练好的模型的托盘识别精度进行了性能验证。通过计算平均准确率(mean Average Precision, mAP)和卷积矩阵来评估模型的准确性,这两个指标在物体识别研究中通常用于检查性能[5]。利用训练和测试数据集进行200次迭代时,如图6所示,mAP值约为88%。

图6 训练和测试数据集的mAP值变化曲线

图7 训练的托盘孔检测模型的卷积矩阵

图7显示了使用Tensorboard计算卷积矩阵的结果。训练后的模型显示了准确的预测率,正确预测实际托盘孔的概率为100%,托盘和托盘中心也显示出83%和77%的概率,即正确预测了实际的托盘和托盘中心。

当前,无人叉车行业主要使用RGB-D照相机和激光雷达进行托盘识别,其传感器大且昂贵,点云数据处理时间较长。本研究使用低成本传感器,达到相同的准确率。

3 树莓派的实验

本文使用树莓派4B开发板进行研究,其可以安装操作系统,具有计算机的一些基本功能,可以看作一台微型计算机。同时,选择SCI摄像头Raspberry Pi Camera Module v2,此摄像头具有五百万像素索尼IMX219传感器,视频拍摄质量高[6]。

在Windows10环境下使用PyTorch深度学习框架实现算法的改进与训练,获得训练好的模型权重后,将算法与模型权重部署到树莓派上[7]。如果想要在树莓派嵌入式平台上运行此模型,需要通过代码将pb模型文件转换为tflite文件[8]。使用模型移植后的tflite模型文件,对托盘孔位置进行检测。实验结果表明,YOLO算法模型在嵌入式平台部署成功。

然后,将上述收集的数据集,既1 000张托盘图像在树莓派中进行托盘孔检测,得出每个模型处理1 000张图像所需时间,并计算出每秒处理图像的平均张数。

如表1所示,在工作站上,MobileNetV3的时间最短为74.51 s,ShuffleNetV2的时间最长为83.62 s,时间相差为9.11 s,在树莓派上,Shuffle NetV2的时间最长为2 239.26 s,MobileNetV3的时间最短为636.37 s,两者结果差异较大。这表明在树莓派平台中,ShuffleNetV2这种复杂的网络并不适用,而GhostNet这种轻量模型更为适用。

表1 各个模型在工作站和树莓派上的运行速度

4 结论

本文通过将YOLOv5算法与基于Raspberry Pi设计的摄像头检测叉车托盘孔位置。在电脑端得到托盘孔位置的训练模型,精度达到88%,然后将算法移植到树莓派上,可以检测出托盘孔位置,为下一步的相关研究做好基础准备。

[1] 赵俊宏.仓储智能叉车托盘识别与拾取系统研究[D].广州:华南农业大学,2018.

[2] 武文汉.基于视觉的仓储托盘检测方法研究[D].上海:上海交通大学,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] 李学宾.基于树莓派的实时目标检测[D].武汉:华中科技大学,2019.

[7] 王少韩,刘淼.基于YOLOv5和树莓派的火灾识别研究[J].农业装备与车辆工程,2022,60(8):115-118.

[8] 高东英.基于树莓派4B的实时目标检测[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。

上海工程技术大学校级大学生创新项目(cx2201012)。

猜你喜欢

树莓叉车物体
永恒力叉车(上海)有限公
叉车加装推拉器属具的探讨
深刻理解物体的平衡
基于树莓派的骑行智能头盔设计
我们是怎样看到物体的
基于树莓派的远程家居控制系统的设计
基于TRIZ与可拓学的半自动手推叉车设计
小贴士
响应面法优化红树莓酒发酵工艺
为什么同一物体在世界各地重量不一样?