基于改进 YOLOv10 的自助结算系统 !

2024-08-13 18:04:54 浏览数 (1)

在深度学习技术飞速发展的背景下,计算机视觉在零售自动化领域展现出巨大的潜力。本文提出了一种基于改进的YOLOv10网络的零售新型自助结账系统,旨在提高结账效率和降低人力成本。 作者对YOLOv10模型进行了针对性的优化,通过融入YOLOv8的检测Head结构,显著提升了产品识别的准确性。此外,作者还开发了一种专门针对自助结账场景的后处理算法,以进一步优化系统的应用。 实验结果表明,作者的系统在产品识别准确性和结账速度方面均优于现有方法。 本研究不仅为零售自动化提供了一种新的技术解决方案,而且对于优化深度学习模型以适应现实世界应用提供了宝贵的见解。

1 Introduction

Research Background

受到数字革命的推动,传统零售商店面临着众多转型挑战与机遇。随着消费者需求的多样化以及购物行为的快速演变,传统零售店结账流程的低效率问题日益凸显,常常导致客户体验不佳。尤其是在高峰时段,顾客可能需要长时间等待支付,这负面影响了他们的购物体验,并限制了商店的容量和销售增长潜力。

随着科技的快速发展,人工智能(AI)的浪潮正在深刻转变包括零售在内的众多行业[1, 2]。二位和三位视觉模型被广泛应用于不同场景中[3, 4],而实时跟踪检测技术可应用于有人和无行人体[5, 6]。在人工智能领域,机器学习已成为解决复杂任务和提高效率的强大工具。深度学习和计算机视觉,作为机器学习的两个重要子集,近年来因其在处理和分析视觉数据方面的精确性,即使在困难和偏远的环境中也受到了关注[7, 8]。卷积神经网络(CNNs),作为深度学习的一个里程碑式架构,在计算机视觉任务中表现出色,广泛用于图像分类、目标检测和分割。在零售领域,CNNs可以显著提高产品识别准确性和库存管理,并将客户体验和市场分析提升到新的高度。

在深度学习出现之前,目标检测领域主要依赖传统的手动特征工程技术。而深度学习的进步将目标检测的益处带到了零售和消费者领域[9, 10]。这一时期的解决方案通常遵循一个两阶段过程:特征提取和分类。除了算法在探索数据样本方面的进步[11, 12],图像处理和计算机视觉的技术也被用来手动构建和提取图像中的显著特征,如Haar特征集和尺度不变特征变换(SIFT)[13]。这些设计的特征随后被输入分类器以识别图像中的物体。然而,这种方法的有效性在很大程度上依赖于特征工程的质量,在复杂和多变的图像背景和场景中往往力不从心。随着深度学习的兴起,尤其是CNNs的广泛采用,目标检测发生了显著的飞跃。CNNs凭借其强大的自动特征学习能力,消除了繁琐的手动特征设计的需要[14, 15]。它们可以直接从原始图像数据中学习层次丰富和特征表示,极大地提高了目标检测的准确性和效率。这一阶段出现了几个标志性的目标检测算法,如Faster R-CNN、You Only Look Once(YOLO)和Single Shot MultiBox Detector(SSD),每个算法都有其独特的设计理念和卓越的性能,成为深度学习时代目标检测的标志。

Current Study

确保在商品销售过程中的产品和总价的准确性至关重要。传统的交易过程通常依赖于人工操作,这容易受到主观判断、人为错误和高劳动成本的影响。尽管自动化结账机通过扫描产品条形码提高了效率,但这些系统仍然需要客户逐个扫描商品,并且仍然容易出错。为了进一步降低劳动成本,提高产品识别的准确性和效率,目标检测技术提供了一个有效的解决方案。通过将目标检测技术与自动化结账机相结合,并创建有利于识别的环境,这些新系统可以同时识别和计数多个商品[16]。经过后续处理,这些机器可以提供准确的总价。

近年来,YOLO系列迅速发展,在计算成本和检测性能之间取得了有效的平衡。大量研究探讨了YOLO的架构设计、优化目标、数据增强策略等方面。2024年5月23日,系列中推出了一个新的迭代版本YOLOv10。在本次研究中,作者专注于针对零售产品数据集(RPC)对YOLOv10进行有针对性的优化。本研究结构如下:首先,作者使用YOLOv8和YOLOv10创建了MidState-YOLO网络。然后,作者使用双重卷积核(DualConv)修改了传统的C2f模型,以开发,该模块替换了空间金字塔池化层(SPPF)之前的C2f模块。此外,作者还集成了高效多尺度注意力模块,以增强网络准确定位和识别零售产品的能力。最终开发的模型是MidState-YOLO-ED网络。

为了验证改进策略的有效性,作者进行了全面的实验验证,并通过探索不同改进策略对模型识别性能的影响来证实改进算法的有效性。实验结果表明,所提出的改进策略可以在保持参数和计算负载在可管理范围内的同时,显著提高模型的识别准确性。

2 Related Work

Traditional Object Detection Algorithms

在计算机视觉领域,目标检测仍然是吸引研究行人持续关注的核心技术。传统的深度学习方法主要基于CNN。其中,Faster R-CNN、YOLO和SSD是这一领域的三个里程碑式成就,各自以独特的方式推动了技术的发展。

Faster R-CNN在R-CNN系列中代表了重要的改进。它不仅保留了系列在目标检测上的优势,还通过一系列创新显著提高了准确性和速度[17]。通过引入区域建议网络(RPN),它自动提取潜在的目标区域,有效减少了传统滑动窗口方法带来的冗余计算。RPN网络高效利用小批量样本进行训练,结合 Anchor 框和真实边界框匹配策略,快速生成候选区域,彻底消除了耗时且复杂的选择性搜索过程。此外,Faster R-CNN实现了特征共享的思想,允许卷积层在特征提取和区域建议任务中共享,这可以显著提高检测的效率和准确性。

YOLO是一种基于回归的目标检测方法,它简化了目标检测过程。通过一次前向网络传递,它直接预测图像中物体的位置和类别,将检测视为一个回归问题。通过将图像网格化并在每个网格内预测物体的置信度,YOLO实现了快速检测。

SSD融合了Faster R-CNN的高效性和YOLO的简洁性,旨在实现高效准确的目标检测。它采用单次多框检测机制,在一次前向传递中直接输出物体的位置和类别信息,有效消除了滑动窗口带来的计算冗余,显著提高了检测速度。SSD的另一个亮点是其多尺度特征融合策略,灵活处理各种大小的目标,增强了检测的鲁棒性和准确性。在实施过程中,SSD预定义了多组不同尺度和长宽比的候选框,在训练阶段精心调整以覆盖图像中潜在的 target 区域。通过共享CNN提取特征,并在多个特征图上并行检测物体,SSD充分利用了不同 Level 的特征信息。这种设计不仅加快了检测速度,还提高了模型对各种尺度目标的敏感性。此外,SSD采用默认框的概念,旨在进一步优化未明确被候选框覆盖的潜在目标区域的检测。通过训练默认框及其对应的分类器,SSD能够更全面地覆盖图像中的目标,进一步提高检测的全面性和准确性。

Development of the YOLO Series

自从Joseph Redmon及其合作者于2016年首次推出YOLO系列以来,该系列通过将目标检测任务转化为回归问题,在实时目标检测领域取得了显著进展。随着计算机视觉技术的快速发展,YOLO系列不断演进,引入了新技术和方法来解决原始版本中的许多问题,并逐渐提高了检测性能。

YOLOv1在将目标检测任务转化为单一回归问题方面具有开创性。它将输入图像划分为多个网格,并在每个网格内预测边界框和类别信息,实现了快速而准确的目标检测。然而,YOLOv1在检测小目标和重叠目标方面存在局限。YOLOv2为解决这些不足进行了几处改进。它引入了 Anchor 框机制以提高边界框预测的准确性,并采用了新的基础网络Darknet-53来提升特征提取能力。此外,它还采用了多尺度训练策略,增强了模型的泛化能力。这些改进提高了YOLOv2的检测速度和准确性。

YOLOv3进一步扩展了YOLO系列的能力,引入了多尺度特征融合策略,并采用了特征金字塔网络(FPN)设计。这一增强使得YOLOv3能够更好地捕捉图像内的上下文信息,从而提高了检测各种尺寸目标的能力。

YOLOv4和YOLOv5在前代的基础上进行了进一步的优化和改进,在模型架构、特征提取和损失函数方面都有显著提升,大幅提高了目标检测的准确性和速度[18, 19, 20]。

YOLOv8是由Ultralytics在YOLOv5之后开发的下一代YOLO系列,基于前代模型的成功经验[21]。它具有更高效的基础网络和检测Head设计,融入了新的卷积块和激活函数,以提升特征提取和边界框预测的准确性。此外,YOLOv8提供了更便捷的安装和操作方式,使用户能够更容易在各种硬件平台上部署和使用。

作为YOLO系列最新的成员,YOLOv10在端到端和实时性方面取得了划时代的进展。它引入了一种无需非极大值抑制(NMS)的训练策略,利用双标签分配机制消除了传统由NMS引起的推理延迟。

YOLOv8 and YOLOv10 Network Structures and Their Differences

YOLOv8的网络架构主要包括三个主要部分:Backbone( Backbone 网)、Neck( Neck )和Head( Head )。YOLOv8采用增强型CSPDarknet作为其 Backbone 网,该网络基于CSP设计进行优化,以更好地平衡计算复杂度和特征表达性。具体来说,CSPDarknet在每个阶段将特征图分成两部分:一部分通过Dense Block(密集块)进行深度处理,另一部分直接与Dense Block的输出进行拼接。这种设计不仅减少了计算成本,还增强了梯度流和特征复用,从而提高了模型的总体性能。YOLOv8还引入了先进的激活函数SiLU(Swish),替代了传统的Leaky ReLU。SiLU在保持非线性特性的同时,促进了更好的梯度流动,帮助模型在训练过程中更快地收敛并提高准确度。

网络的Neck部分使用路径聚合网络(PANet),它基于特征金字塔网络(FPN)增加了额外的自下而上的路径,以进一步强化特征层之间的信息流与融合。PANet的设计包括自下而上的特征提取路径、自上而下的语义特征传播路径以及额外的自下而上的特征增强路径。在每一级,来自不同路径的特征通过逐元素加法或拼接进行融合,从而提高了网络检测不同尺度目标的能力。

与传统的YOLO模型不同,YOLOv8采用 Anchor-Free 点(Anchor-Free)的点检测Head,简化了模型架构并减少了计算开销。 Anchor-Free 点方法直接预测物体的中心点及其属性(如大小、方向等),避免了预定义 Anchor 框的限制和复杂性。这种改变不仅加快了推理速度,还提高了模型检测小而密集物体能力,特别适合边缘计算场景。

YOLOv8还融入了C2f(具有两种融合类型的跨阶段部分卷积)构建块,通过增强特征提取和融合能力,进一步提高了模型的检测精度[22]。C2f构建块结合了CSP设计的优点,并在特征融合方面进行创新,使模型能够更好地捕捉细粒度细节和复杂模式。

YOLOv10的网络结构大体上与YOLOv8相似,但在 Backbone 网、Neck结构、Head设计以及创新的无需最大抑制(NMS)训练策略方面进行了增强。YOLOv10在训练过程中采用了双标签分配策略,结合了一对多和一对一的分配。一对多分配提高了召回率,而一对一确保了精确度。这种组合在训练和推理之间保持了连贯性,无需在推理过程中进行NMS。移除NMS步骤显著减少了推理时间,简化了推理过程,这对于实时应用和边缘设备至关重要。

YOLOv10优化了模型架构的各个组成部分,以最小化计算开销同时提高性能。为了提高效率,YOLOv10采用深度可分离卷积来降低分类 Head 的计算成本,并提出了空间-通道解耦下采样以实现更高效的下采样。YOLOv10还在更深层级的紧凑倒置块(CIB)中使用大核深度卷积来扩大感受野并增强特征提取能力,融入了部分自注意力(PSA)模块以在极小开销下提高全局表征学习,从而提升检测精度。这些改进使得YOLOv10在实时性能和准确度方面具有优势。

Loss Functions

在YOLOv8中,使用了解耦头将分类和检测Head分离。分类分支采用二元交叉熵(BCE)损失,其公式如下:

其中 "w" 表示权重;"y" 表示标签,"x" 表示模型生成的预测值[21]。对于回归分支,它结合了分布Focal Loss(DFL)和CIoU损失的使用。DFL函数旨在强调围绕目标 "y" 的概率值的扩展。其方程如下:

CIoU损失通过考虑预测边界框与实际边界框之间的宽高比,在DIoU损失中引入了一个影响因子。相应的方程如下:

其中IoU衡量预测边界框与真实边界框之间的重叠;"d" 是预测边界框中心与真实边界框中心之间的欧氏距离,"c" 是包含预测边界框和真实边界框的最小包围盒的对角线长度。此外,"v" 表示量化宽高比一致性的参数,由以下方程定义:

其中 "w" 表示边界框的宽度;"h" 表示边界框的高度;"gt" 指示 GT 值,"p" 表示预测值[23]。

3 The Improved MidState-YOLO-ED Network

作者提出了一种改进的MidState-YOLO-ED网络,旨在解决现有目标检测算法在处理小目标和密集目标时的局限性。通过对原始MidState-YOLO-ED架构的深入分析,作者实施了几个关键的结构性改进,以提高检测的准确性和效率。

这些改进包括但不限于调整了网络中层状态(mid-state)的特征提取能力,以及优化了目标边框(bounding box)的预测机制。此外,作者还引入了一种新的增强型数据预处理技术,以进一步增强模型对复杂场景的理解能力。

通过对这些改进的详细阐述,本节将展示作者的方法如何在保持实时性能的同时,显著提升小目标和密集目标检测的性能。

Integration of YOLOv8 and YOLOv10

YOLOv10与其前身相比最显著的特点之一是取消了非最大抑制(NMS),通过引入一致的双重分配策略来实现。这一策略包括两次调用YOLOv8的损失函数计算方法,将结果相加并返回。这种方法旨在解决后处理中预测冗余的问题,更接近于RT-DETR模型的端到端方向。遗憾的是,这一改动导致在实际应用中许多数据集的准确度下降。为了避免精度损失,YOLOv10的预测头被恢复为YOLOv8[24]中的设计。

为了显著减少计算冗余并实现更高效的架构,YOLOv10采用了轻量级分类头、空间-通道解耦下采样(SCDown)以及基于排序的块设计(C2fUIB)。SCDown首先通过点卷积调整通道维度,然后使用深度卷积进行空间下采样以减少参数数量。然而,实验中下采样过程会损失一些信息,尽管这降低了延迟,但不能保证性能的提升。

由于本研究中将对YOLOv10的两个核心组件的修改恢复到YOLOv8状态,并将两者版本整合,当前的模型被命名为MidState-YOLO。此外,模型巧妙地集成了EMA注意力和C2f-Dual卷积设计,最终将最终模型命名为MidState-YOLO-ED网络。

Integration of EMA Attention

为了进一步提高MidState-YOLO网络的表征能力,并建立长短期依赖关系,作者将高效多尺度注意力(EMA)机制整合到Neck网络中。EMA是一种在计算机视觉任务中使用的并行注意力机制,旨在提升模型性能和处理速度。与传统的卷积神经网络(CNN)不同,EMA采用并行结构来处理输入数据。这种并行卷积使得在处理大规模数据时模型的训练速度更快,并通过在不同尺度上并行处理特征来提高准确性。在图x中,分组的表示为“g”,“X Avg Pool”表示一维水平全局池化,“Y Avg Pool”则表示一维垂直全局池化。平均池化操作的公式如下,其中Xc(i,j)表示位置(i,j)的元素:

EMA的输入首先被分组并 Reshape ,将通道维度的部分重新分配到批量维度。随后,通道维度进一步细分为多个子特征,以保留每个通道中的关键信息并优化空间语义特征的分布[25]。

这种结构包含两个主要的并行分支:一个分支执行一维全局池化操作以编码全局信息,而另一个分支通过3x3卷积进行特征提取。这两个分支的输出特征通过sigmoid函数和归一化过程进行调制,然后通过跨维度交互模块合并,以捕捉像素级的成对关系。最终,经过sigmoid调制后的输出特征图被用来增强或削弱原始输入特征,从而实现更精细和有效的特征表征。因此,EMA不仅编码通道间的信息以调整各个通道的重要性,还在这些通道中保留了精确的空间结构细节。

Lightweight Dual Convolution C2f-Dual Design

在YOLOv8和YOLOv10中,C2f模块融合了低层和高层特征图,有助于捕获梯度信息流。然而,随着卷积神经网络层数的增加,特征图中的语义信息往往逐渐被提取和聚合,导致深层特征图中出现冗余。此外,由于卷积层的权重共享机制,卷积核参数在不同位置的依赖特征中共享,进一步加剧了深层特征图的冗余。由许多复杂卷积组成的瓶 Neck 显著增加了参数大小和计算复杂性。

为了解决这个问题,采用DualConv改进的C2f-Dual卷积设计显著降低了计算成本和参数数量,同时提高了精度。这种改进包括用C2f-Dual模块替换空间金字塔池化(SPPF)之前的C2f模块,如图1所示。这种适配不仅简化了网络结构,还通过确保关键的空间和语义特征被高效处理和整合,优化了性能。

DualConv旨在通过结合3×3和1×1卷积核来处理相同的输入特征图通道,构建轻量级的深度神经网络,优化信息处理和特征提取。在DualConv中,3×3卷积核用于从特征图中提取空间特征,捕获更多空间信息,而1×1卷积核则整合这些特征并减少模型的参数。每组卷积核独立处理输入通道的一部分,之后将输出合并,便于不同特征图通道间信息的有效流动和整合。

此外,DualConv还采用分组卷积技术来高效地排列卷积滤波器。在分组卷积中,输入和输出特征图被划分为多个组,每个组的卷积滤波器只处理相应输入特征图的一部分。这种排列允许组内不同的卷积核并行处理同一组输入通道,优化信息流和特征提取效率,同时保持网络的表示能力。

因此,用DualBottleneck替换C2f中的瓶颈结构,丰富了梯度流表示,增强了特征提取能力,并减少了网络学习中的误报和误检多样性。这使得它更适合零售商品目标检测场景。

4 Experimental Results and Analysis

在本节中,作者将展示实验的结果,并对这些结果进行分析。作者旨在通过这些实验验证作者提出的方法的有效性,并与其他现有技术进行比较。以下是作者实验的主要发现和观察结果。

Experimental Setup and Parameters

Dataset

本研究使用了RPC数据集的一部分进行训练和验证。RPC数据集由Megvii科技南京研究院开发,是目前最大的产品识别数据集。它包含多达200个不同的产品类别,总计83,000张图像,真实模拟零售环境,并在真实性方面超过了现有数据集。此外,它有效地捕捉了自动结账(ACO)问题中固有的细粒度特征。

本研究的概念方法可能与收集RPC数据集的研究行人[26]的方法有所不同。当顾客进入商店并将他们希望购买的商品放在结账台上时,理想的ACO系统应该能够自动识别每个产品,并且一次性准确生成购物清单,如图2所示。因此,ACO本质上是一个旨在识别并计数任意产品组合中每个商品的系统。由于大量产品类别的不断更新,为了避免穷尽所有可能的组合,RPC数据集采用了一种可行的解决方案:在特定环境中收集单一产品类型的图像,并在实际结算中重复使用。

本研究认为,在自动结账(ACO)任务上有多个重要的性能评估指标。为了确保准确性和性能,用于训练ACO识别系统的图像应反映实际零售结账环境,这确实可以简化并稳定。此外,初始模型无需穷尽所有产品组合即可执行ACO任务;相反,创建随机的产品组合就足够了。

因此,本研究仅使用了RPC数据集图像中的结账配置。作者将30,000张结账配置图像随机划分为训练集、验证集和测试集,比例分别为8:1:1。这种方法旨在提供一个既真实又可控的数据集,反映实际ACO系统的操作,同时在训练场景中保持可管理的复杂性和多样性。

Evaluation Metrics

本文采用了精确度(P)、召回率(R)、平均平均精度(mAP)、参数数量(Params)和浮点运算数(FLOPs)作为评估指标,设置了0.5的IoU阈值。mAP@0.5指的是当IoU设置为0.5时的平均平均精度,而mAP@0.5:0.95表示当IoU从0.5变化到0.95,步长为0.05时的平均平均精度。浮点运算数表示算法的复杂度。

精确度是指模型预测为阳性的样本实际上是阳性样本的概率,召回率是指实际为阳性的样本被模型预测为阳性的概率。这两个指标是评估模型性能的两个重要指标。

在上述公式中,TP(真正例)是指被模型正确识别为阳性的正样本;FP(假正例)是指被错误识别为阳性的负样本;FN(假负例)是指被错误识别为阴性的正样本。

mAP表示所有目标检测类别的平均精度的平均值。AP是在不同召回水平下的精度值的平均值。### 对比实验与结果

实验结果主要组织了训练算法的性能参数,根据这些结果解释每种算法的优势和不足,并分析实验数据和实际检测效果。所有实验均在相同的配置设置下进行,训练后,测试了各算法生成的权重文件。对比实验中使用的算法包括SSD(单次多框检测器)、Faster-RCNN(具有CNN特征的区域快速检测)、YOLOv8-n和YOLOv10-n。实验结果如表2所示。

实验结果表明,与SSD和Faster-RCNN算法相比,YOLO系列算法及本研究引入的改进在检测性能上表现更优。此外,由于Faster-RCNN是一个两阶段算法,其适用性受到其复杂性和检测所需延长时间的制约,这使得其整体性能劣于YOLO系列。

不同算法的对比结果表明,MidState-YOLO-ED算法在参数数量和浮点运算方面表现卓越,仅有3,288,096个参数和9.6 GFLOPs。这充分证明了改进算法在轻量化设计方面的出色性能。该算法可以快速、准确地处理图像数据,适用于需要快速响应的场景。它也更适合在资源受限的环境如移动设备和嵌入式系统中运行,满足实时性要求[27]。

此外,MidState-YOLO-ED算法的关键指标如召回率和mAP均高于基准算法,为高效快速的目标检测提供了新的选择。

Ablation Study

为了研究三种改进方案的效果,作者在不改变软件和硬件环境的前提下,使用YOLOv8-n和YOLOv10-n作为 Baseline 网络进行了消融研究。这些实验在实验数据集上进行,唯一改变的参数是将训练周期减少至25次。如表3所示,融合了YOLOv8和YOLOv10模块的MidState-YOLO网络,相比于YOLOv10-n原始 Baseline 网络,在mAP上提高了23.2个百分点。这表明,结合两个模型可以充分利用各自的优势,同时避免一些不足,从而提升模型性能。在MidState-YOLO网络中使用轻量级双重卷积C2f_Dual模块显著减少了参数数量,并且所有性能指标均有所提升。原因在于减少了深层特征图中的冗余信息,并在网络学习过程中减少了假阳性和假阴性的出现。包含EMA模块使得mAP@0.5提升至84.4%,增加了4.2%。这表明EMA模块有效地捕捉全局信息,学习更丰富的语义特征,使网络模型更加关注零售产品目标的整体上下文,从而提升模型性能。

最终改进的模型MidState-YOLO-ED在所有评估指标上相对于YOLOv8-n都有所提升,精确度和召回率分别提高了2.3和1.6个百分点,mAP达到了89%。此外,参数数量和浮点运算数量显著减少。

Visualization of Results

在训练最终的改进模型MidState-YOLO-ED 30个周期后,预测结果展示在图3中。结果表明,本文提出的算法在保持轻量级框架的同时,实现了卓越的检测性能。

5 Conclusion

在本文中,作者展示了一种采用改进的YOLOv10网络的增强型自助结账系统。该系统通过提升结账效率和降低劳动力成本,大幅促进了零售自动化的进步。

作者对YOLOv10模型的调整,结合了YOLOv8的特征和新的后处理算法,显著提高了产品识别的准确度,实验结果显示,该系统相较于现有系统的性能具有明显优势。

本研究对于库存控制和客户服务等领域更广泛的应用将产生积极影响。作者的研究表明,人工智能技术将在提升消费者体验和运营效率方面发挥至关重要的作用。

参考

[1].Enhanced Self-Checkout System for Retail Based on Improved YOLOv10.

0 人点赞