基于PP-ShiTu 的快递轻薄件识别系统设计

2023-12-08 12:31吴蓬勃张金燕王拓张静
电子制作 2023年22期
关键词:面单条码图像识别

吴蓬勃,张金燕,王拓,张静

(1.石家庄邮电职业技术学院,河北省高校快递智能技术与装备应用技术研发中心,河北石家庄,050021;2.河北工程技术学院,河北石家庄,050091)

0 引言

近年来,作为现代流通体系重要组成部分的邮政快递业正向着数字化、智能化方向快速发展。随着交叉带分拣、摆轮分拣、AGV 分拣等技术的不断成熟,快递包裹的分拣效率逐步提高;但是,快递包裹中占比10%以上的超轻、超薄异形件[1~2]仍然需要人工分拣,分拣效率一直无法提高。

经分析发现:传统分拣机主要依靠包裹自身重力脱离分拣机托盘,进而落入指定格口实现分拣;但是轻薄件无法通过重力掉落并且易吸附在分拣机托盘上,从而导致轻薄件无法上机分拣。

本文基于飞浆PP-ShiTu 图像识别系统,设计了轻薄件智能识别系统,结合机械臂抓取和AGV 搬运等设备,可实现快递轻薄件的智能分拣,从而降低作业人员劳动强度、提高分拣效率。

1 系统总体设计

系统架构图如图1 所示,系统主要包括:NVIDIA AGX嵌入式平台(以下简称:AGX 平台)、机械臂、3D 相机、路由器和AGV 分拣机器人。AGX 平台通过网络分别连接3D相机和机械臂;3D 相机对轻薄件进行三维图像采集;AGX平台对采集的图像进行物体识别和定位,并将轻薄件三维位置信息发送给机械臂;机械臂抓取轻薄件,首先扫描底部条码并放置到AGV 托盘上,如果底部扫描到条码,则AGV 开始进行分拣作业,如果底部未扫描到条码,则进行顶部条码扫描,如果扫描到条码,则AGV 开始分拣作业,如果两次都未扫描到条码,则AGV 将轻薄件倒入拒识格口,由人工进行分拣。

图1 系统架构图[3]

本系统主要包括:轻薄件识别、图像坐标到机械臂坐标的转换两个部分,本文重点对第一部分进行介绍,第二部分请参考文献[3]。

2 模型选择与训练

■2.1 模型选择

快递轻薄件在运输中会出现脏污、翻滚、相互挤压变形等情况,各异的形态会导致一些轻薄件的识别率下降,需要再次采集数据并进行模型训练和更新;模型训练和更新耗时越短,对生产作业的影响越小。

因此,本系统选用了可快速进行模型更新的PPShiTuV2(PP-ShiTu 的第2 个版本)实时轻量级图像识别系统对轻薄件进行识别。PP-ShiTuV2 基于百度飞浆图像识别开发套件PaddleClas,主要包括:主体检测、特征提取和向量检索三个部分,如图2 所示。系统主要思路为:主体检测部分基于PicoDet 模型将图像前、背景分离,提取物体的ROI 图像;特征提取基于PP-LCNetV2 模型提取物体图像特征;向量检索部分基于Faiss 算法,在已知图像特征库(即:通过对训练集图片提取特征而构建的特征库)中进行快速检索,查找出与物体图像特征最相似的特征,获取该特征所对应的分类,从而实现物体识别。

图2 PP-ShiTuV2 框架[4]

采用PP-ShiTuV2 进行轻薄件识别的好处在于:仅需要训练一套模型,在生产中如出现未识别的轻薄件,只需采集少量代表性图片,放入底库图片(一般为训练集图片)gallery 中并进行特征提取,生成底库图片特征库即可。

■2.2 轻薄件数据采集与处理

本系统共采集了1533 张轻薄件图像用于模型训练,如图3 所示,其中包括:单个轻薄件(正、反面)、多个轻薄件无序堆叠两种形式。为了在识别轻薄件的同时也可以判断其正反面(有面单的为正面),缩短后续读码时间,在进行图像分类时,将轻薄件正反面分开。根据材质,轻薄件共分为6 类:envelop(信封袋,面单在上)、envelopN(信封袋,面单在下)、paperBag(纸箱,面单在上)、paperBagN(纸箱,面单在下)、plasticBag(塑料袋,面单在上)和plasticBagN(塑料袋,面单在下)共计6 个类别。

图3 轻薄件数据集

由于PP-ShiTuV2 系统的主体检测模型PicoDet 已在大量公开数据集上进行了训练,具备一定的目标检测能力,所以不再进行模型训练。本系统中重点对特征提取部分进行模型训练,即对主体检测模型输出的物体图像进行分类。图像分类模型的输入需为单个物体的图像,所以需要对轻薄件数据集中的图片依据标注文件进行分割,图片分割效果如图4所示。

图4 分割后的图像

■2.3 模型训练

本部分主要对特征提取模型PP-LCNetV2 进行训练。PPLCNetV 模型基于飞浆图像识别与分类工具集PaddleClas 进行训练,首先,需要修改模型配置文件GeneralRecognitionV2_PPLCNetV2_base.yaml(位于ppcls/configs),设置:预训练模型位置、训练设备(cpu 或gpu)、推理文件保存路径、图像数据集路径等参数;然后,运行tools 目录下的train.py文件开启模型训练,设置训练批次batch_size=16,初始学习率learning_rate=0.06,当训练批次epoch=100 时,损失率loss 达到一个相对稳定的数值1.85,图5 展示了模型训练中损失率的变化曲线;最后,通过tools 目录下的eval.py 进行模型评估,均值平均精度mAP 达到了0.97246(如图6 所示),表明模型在数据集中有非常好的表现,可进一步在实际场景应用[5]。

图5 模型训练中损失率的变化曲线

图6 模型评估

■2.4 向量检索

基于训练好的特征提取模型,对所有底库(一般为训练集)图片进行特征提取,构建底库图片特征库。待识别物体通过特征提取后,可得到相应的特征向量,将该特征向量在底库图片特征库中进行快速检索(基于Faiss 算法),找到最相似特征,获取其对应的分类标识,即可实现物体识别。向量检索工作原理,如图7 所示。

图7 向量检索工作原理

对底库图片建立特征索引库的具体步骤为:修改配置文件inference_general.yaml(位于deploy/configs),设置:主体检测模型、图像分类模型以及数据集文件的路径;通过运行build_gallery.py(位于deploy/python)建立特征索引库。

3 系统测试

将模型部署到AGX 平台上,进行图像识别测试。测试效果如图8、图9 所示。图8 展示了对信封和纸箱材质轻薄件的识别效果,图9 展示了对塑料材质轻薄件的识别效果。

图8 轻薄件识别测试1

图9 轻薄件识别测试2

4 总结与展望

本文面向快递业轻薄件分拣场景,设计了一套基于视觉的机械臂分拣系统。选取PP-ShiTu 轻量级图像实时识别系统进行轻薄件的识别,构建了轻薄件图像数据集,对图像特征提取模型PP-LCNetV2 进行了训练,并建立了图像特征索引库,最终实现了轻薄件的图像识别。将轻薄件中心像素坐标通过坐标变换,可转换为机械臂坐标系坐标,结合3D 相机测距,可实现视觉引导机械臂抓取轻薄件,结合条码读取和AGV 分拣机器人,最终可实现轻薄件的智能分拣。

猜你喜欢
面单条码图像识别
面单革命
热线互动
浅析影响商品条码质量的主要因素
日杂商品条码质量现状研究
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
“隐私面单”体现快递行业的进步
隐私面单能否保护个人信息