【源码&教程】YOLOv7:硬币币值真伪检测系统

本文探讨了硬币自动分类技术在实际应用中的挑战,特别是硬币表面的多样性。介绍了YOLOv7算法在硬币真伪检测中的应用,包括网络结构、算法优化和系统整合过程,以及相关的图片和视频教程资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.研究背景

硬币自动分类技术在多种系统和设备中都起到了关键作用,例如:自动投币系统、自动售票系统等等。由于硬币各种旋转角度和输入模式的广泛变化,硬币分类是人工智能及计算机视觉领域中一个极其困难的过程。硬币光面区域的存在是硬币输入模式广泛变化的原因,主要包括两种:镜面反射及光面区域磨损划伤。硬币表面质量参差不齐,对于表面质量较好的硬币,硬币光面区域存在镜面反射,使得拍摄的硬币图像具有不同的视觉特征,呈现多样性;其次,随着硬币的流通使用,硬币光面区域会产生划痕甚至变得模糊不清。

2.图片演示

4.png

6.png

3.视频演示

基于YOLOv7的硬币真伪检测系统(源码&教程)_哔哩哔哩_bilibili

4.人民币硬币&假币数据集

2.png

3.png

5.YOLOv7算法

我们先整体来看下 YOLOV7,首先对输入的图片 resize 为 640x640 大小,输入到 backbone 网络中,然后经 head 层网络输出三层不同 size 大小的 feature map,经过 Rep 和 conv输出预测结果,这里以 coco 为例子,输出为 80 个类别,然后每个输出(x ,y, w, h, o) 即坐标位置和前后背景,3 是指的 anchor 数量,因此每一层的输出为 (80+5)x3 = 255再乘上 feature map 的大小就是最终的输出了。

网络结构

image.png

6.算法优化

backbone

image.png

总共有 50 层, 我在上图用黑色数字把关键层数标示出来了。
首先是经过 4 层卷积层,如下图,CBS 主要是 Conv + BN + SiLU 构成,我在图中用不同的颜色表示不同的 size 和 stride, 如 (3, 2) 表示卷积核大小为 3 ,步长为 2。 在 config 中的配置如图。

REP模块

REP模块分为两个,一个是train,也就是训练,一个deploy,也就是推理。
训练模块,它有三个分支。
最上面的分支是3x3的卷积,用于特征提取。
中间的分支是1x1的卷积,用于平滑特征。
最后分支是一个Identity,不做卷积操作,直接移过来。
最后把它们相加在一起。
推理模块,包含一个3x3的卷积,stride(步长为1)。是由训练模块重参数化转换而来。
在训练模块中,因为第一层是一个3x3的卷积,第二层是一个1x1的卷积,最后层是一个Identity。
在模型从参数化的时候,需要把1x1的卷积啊,转换成3x3的卷积,把Identity也转换成3x3的卷积,然后进行一个矩阵的一个加法,也就是一个矩阵融合过程。
然后最后将它的权重进行相加,就得到了一个3x3的卷积,也就是说,这三个分支就融合成了一条线,里面只有一个3x3的卷积。
它们的权重是三个分支的叠加结果,矩阵,也是三个分支的叠加结果。

image.png

7.系统整合

下图源码&环境部署视频教程&数据集&自定义UI界面
1.png
参考博客《基于YOLOv7的硬币真伪检测系统(源码&教程)》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

群马视觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值