基于改进的YOLO v5s目标实时检测方法

2024-01-05 05:21李乐阳张维忠
关键词:实时性损失卷积

李乐阳, 张维忠

(青岛大学a.计算机科学技术学院, 山东 青岛 266071; b. 威海创新研究院, 山东 威海 264200)

近年来,电商平台带动了快递行业的高速发展,传统的包裹分离逐渐从人力分拣过渡到使用智能算法自动化处理,不仅提高了物流效率,还减少了人力资源的需求,降低了成本。在包裹分离领域,德国西门子公司设计了单件分离系统[1],该系统由包裹检测模块和传送带控制模块组成,采用基于视觉的包裹检测方法,计算包裹在传送带上的位置,通过启动传送带进行分离,可方便地应用于自动化包裹分拣生产线上,但实时性较差,不能满足实际应用的需求。杨赛[2]参照西门子系统,利用RGB-D相机,使用连通区域标记法对深度图像进行包裹分割,此方法效率较高,但错误分割的概率较大;海康威视开发了基于RGB-D相机与深度学习技术的包裹单件分离设备,将包裹定位分割算法整合到相机内部,完成包裹定位与分割的计算过程,但存在单个相机成本较高、分离不理想的情况。随着深度学习的发展,目标检测模型性能不断提高,包裹分离相关技术拥有更高的准确性和实时性。K.HE等人[3-4]提出两阶段目标检测算法,准确性较高但是需要大量的计算资源;J.REDMON等人[5-7]及A.BOCHKOVSKIY等人[8-9]提出单阶段目标检测算法;H.LAW等人[10-11]提出的无锚点检测方法,实时性较好但是准确性相对较低;N.CARION等人[12]提出基于Transformer[13]的检测算法,引入注意力机制来提高检测准确率,但训练难度大,推理速度慢,不能同时兼顾实时性和准确性方面。基于此,本文利用某邮区中心局收集的包裹数据,自建数据集,提出基于YOLO v5s算法改进的包裹检测模型,将RepVGG模块融入特征提取网络,降低网络参数的计算量,将损失函数CIOU优化为SIOU,使其具有更高的实时性和准确率,可检测各类形状的包裹并给出位置信息,适应不同场景变化。

1 基于改进的YOLO v5s包裹检测算法

YOLO v5采用新的架构CSPNet[14],该架构采用了一种新的跨阶段局部连接方式,减少了计算量和内存使用,从而加速模型的训练和推理过程。其次,YOLO v5引入了PANet[15]特征融合技术,有效地融合了不同尺度的特征图,31该技术可自适应地选择不同尺度的特征图,并将它们融合成统一的特征表示,提高了模型对小目标的检测能力。因此,YOLO v5具有更高的检测精度和更快的检测速度,适应于多种目标检测领域。

YOLO v5根据CSP模块参数量配置,分为5个版本,区别在于网络规模和参数量的差异。考虑到网络规模、训练时长及准确率等因素,本文选择了轻量级的YOLO v5s进行改进。通过调整了特征提取网络的3×3卷积结构,引入RepVGG(Re-param VGG)[16]模块,将CIOU[17]替换为SIOU[18],提高包裹检测的准确性和稳定性。改进的YOLO v5s网络结构如图1所示。

图1 改进的YOLO v5s网络结构

1.1 特征提取网络的改进

RepVGG重参数化思想是通过使用简单、可重复的卷积构建网络,本文将RepVGG模块融合到YOLO v5s骨干网络,替换原有的3×3卷积,RepVGG结构如图2所示。训练时,RepVGG使用多分支模型,增加模型的表征能力,图2(a)是进行下采样(stride=2)时的结构,其中并行了一个卷积核大小为3×3的主分支和一个卷积核大小为1×1的shortcut分支,在推理时转化为单路模型,即图2(b),从而以更高的速度进行推理,同时节省内存。RepVGG具有可分离的卷积结构,它可以轻松部署到移动设备等资源受限的环境,适应性更广。

图2 RepVGG结构

1.2 损失函数改进

通常目标检测网络的Loss由分类损失、置信度损失和定位损失3部分组成。本文目标检测仅为包裹,为单目标检测,并无类别损失,检测任务的Loss由包裹框损失和置信度损失组成。

第1部分为包裹框损失,记为Lossobj,损失函数为二元交叉熵(binary cross entropy,BCE),计算公式为

Lossobj=-(zlog(sigmoid(x))+(1-z)log(sigmoid(1-x)))

(1)

其中,x为网络的预测值,使用Sigmoid函数将实数x映射到0到1之间的范围,反应当前类别概率;z为真实的标注信息,取值为0或1。

第2部分为反应边界框准确度的损失,记为Lossbox。由于需要对包裹位置进行准确定位,预测框要尽可能贴合真实边界,本文使用的边界框损失函数为SIOU,它引入真实框和预测框之间的向量角度,有助于提高包裹检测的准确性和稳定性,且计算速度较快。SIOU具体包含4部分,主要包括

1) 角度损失(angle cost),角度损失示意图如图3所示。其式为

(2)

图3 角度损失示意图

2) 距离损失(distance cost),距离损失示意图如图4所示。

距离损失表示为

(3)

3) 形状损失(shape cost)定义为

(4)

4) IOU损失表示为

(5)

综上所述,SIOU损失函数公式为

(6)

2 实验与结果分析

2.1 实验运行环境与数据集

本文网络训练环境为Windows操作系统,Intel UGD Graphics 750、64GB内存,显卡为Tesla V100-PCIE显存16GB,深度学习部分使用PyTorch框架。

为了快速检测和定位快递包裹,需要构建数据集。本文通过在某邮局中心局拍摄采集的方式构建数据集,自建数据集如图5所示。数据集共有10 000张左右图像,其中70%作为训练集,15%作为验证集,15%作为测试集。为了降低误检率,在测试集中加入了部分负样本,利用标注工具make-sense手工标注目标。

2.2 实验过程

为了使训练模型具有最优检测效果,参考YOLO v5官方推荐权重参数及具体实验,进行适当调整后,模型训练参数如表1所示。

表1 模型训练参数

2.3 实验结果分析

在自建数据集上对改进的YOLO v5s的进行实验分析,不同方法的准确率与召回率如表2所示,其中,方法1为将骨干网络部分的3×3卷积调整为RepVGG模块,方法2是在方法1的基础上将CIOU替换为SIOU。由表2实验结果可知,与方法2相比,改进的YOLO v5s的准确率提高5.1%,召回率提高6.0%。

表2 不同方法的准确率与召回率

根据训练日志绘制的模型边界框损失函数值变化曲线,损失值变化过程如图6所示。由图6可以看出,在进行到100次左右,改进前后的YOLO v5s算法的损失值函数整体趋于平稳,模型收敛。改进后的YOLO v5s损失函数值低于原模型,稳定在0.016 7左右,最低值达0.016 2。

完成模型训练后,将YOLO v3、Faster-RCNN、YOLO v5s作为对比模型,在测试集上采用准确率Precision、召回率Recall及每秒浮点运算数FPS作为评定指标进行综合测试。其中准确率和召回率计算公式为

(7)

(8)

其中,TP是被正确检测的正例,表示预测有包裹,实际有包裹;TN是被正确检测的反例,表示预测无包裹,实际无包裹;FN为被错误检测的反例,表示预测无包裹,实际有包裹;FP是被错误检测的正例,表示预测有包裹,实际无包裹。对比试验结果如表3所示,包裹检测示意图如图7所示。

表3 对比试验结果

图7 包裹检测示意图

由表3可以看出,Faster-RCNN由于采用2个阶段的检测流程,需要进行候选区域的生成、再分类和边界框回归等一系列计算,虽然准确率和召回率略高于YOLO v3,但是其推理速度较慢,综合性能均低于YOLO v5s及改进的YOLO v5s算法。与YOLO v3和YOLO v5s相比,改进的YOLO v5s算法准确率分别提高了7.9%和5.1%,召回率分别提高了6.4%和6.0%。在检测速度方面,改进的YOLO v5s算法比Faster-RCNN快了8.8倍,比YOLO v3快2.9倍,比YOLO v5s快1.6倍。因此,改进的YOLO v5s算法表现较优越,在较高的检测速度下,准确率较高。改进的YOLO v5s算法能够更好更快的完成包裹检测及定位的任务,可适应工业快递传送流水线上对包裹分拣的需求,为制定包裹分离策略起到重要支撑作用。

3 结束语

本文从包裹单件分离的实际问题出发,分析了目前各种包裹单件分离技术的优缺点,提出了使用目标检测模型YOLO v5s算法进行包裹的识别检测,并进行改进。该算法在特征提取网络融合RepVGG模块,能够在保持网络性能的同时减少参数量;通过使用损失函数SIOU,提高了算法的准确度和稳定性。通过比较,改进的模型具有较高的准确率和较快的检测速度,能够满足当前包裹检测任务的准确性和实时性需求。该算法可用于零售业及仓储管理等领域,优化仓储管理、包裹分拣和交付流程,也可推广至对目标检测算法有高效准确要求的领域,如安全监控、智能机器人自动化等。下一步将完善数据集,进一步优化特征提取网络,提升网络在更加复杂的场景下的检测准确率,并且将算法使用TensorRT框架进行优化加快推理速度,以便部署在嵌入式开发板上。

猜你喜欢
实时性损失卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
胖胖损失了多少元
基于规则实时性的端云动态分配方法研究
从滤波器理解卷积
玉米抽穗前倒伏怎么办?怎么减少损失?
基于傅里叶域卷积表示的目标跟踪算法
基于虚拟局域网的智能变电站通信网络实时性仿真
航空电子AFDX与AVB传输实时性抗干扰对比
一般自由碰撞的最大动能损失
损失