使用yolov5检测商店烟柜香烟摆放的整齐程度


前言

提示:这里可以添加本文要记录的大概内容:

有一个有意思的问题:大多数商店都出售香烟,各种香烟摆放在烟柜上,我们用眼睛能够很容易判断出香烟摆放的整不整齐,但是计算机该如何判断摆放的整齐与否?
烟柜的香烟


提示:以下是本篇文章正文内容,下面案例可供参考

一、利用FLD直线检测算法(最终放弃传统图像处理)

首先利用LSD算法找出目标图片里所有的直线,再筛选出长度符合的直线(主要是去除烟盒上复杂的图案,只留下烟盒大概的轮廓)。
处理后的图片
由于烟盒颜色,样式太过复杂,所得到的图片不能完整显示所有烟盒的轮廓,并且价格标签也会影响对烟盒轮廓的判断,想了很多办法但都没有太大作用,所以最终舍弃了这种办法。

二、使用目标检测(yolov5)算法计算整齐度

1.模型的训练

首先我从各种软件和浏览器上找到了大概20张拍的比较规范的烟柜图片,标记出了图片里摆放整齐的所有烟盒,训练后的模型基本可以检测出图片里所有规范的烟盒。

模型检测的烟盒:
检测的烟盒

在这里插入图片描述

2.在detect.py文件中将62行附近的save_txt打开,如图所示。这样就可以得到烟盒的坐标信息。

在这里插入图片描述

3.处理得到的.txt坐标文件

这里我在test.py文件中处理得到的坐标并计算整齐程度。

file = open('runs/detect/exp24/labels/p6.txt')
cig = 0.0
left_x = 10000
left_y = 10000
right_x = 0
right_y = 0
average = 0
count = 0
row1 = 0
row2 = 0
up = 0
arr = []
arr2 = [1, 1, 1, 1, 1, 1, 1, 1
### 使用YOLOv8实现检测与识别 #### 准备工作 为了使用YOLOv8进行检测,需要准备一系列的基础环境和数据集。确保安装了Python以及必要的库如PyTorch等。下载并配置好YOLOv8的源码仓库。 #### 数据收集与标注 对于特定场景下的物品检测任务来说,高质量的数据至关重要。已经从不同渠道获取到了大约20张拍摄质量较高的商店照片,并完成了这些图片内所有摆放整齐盒位置的手动标注[^1]。这一步骤为后续模型训练提供了基础素材支持。 #### 模型选择与改进 考虑到YOLO系列算法的发展历程及其特点,在YOLOv5的基础上进一步优化得到的YOLOv8版本不仅继承了前代的优点——比如高效的单阶段目标检测机制、采用空间金字塔池化层(SPP)增强特征表达能力等特性;而且可能引入了一些新的技术革新以提升整体性能表现[^2]。因此建议优先尝试官方推荐的最佳实践方案来进行初步实验验证。 #### 训练过程概述 利用上述整理好的带标签样本集作为输入,调整超参数设置后启动YOLOv8框架自带工具链中的train脚本来执行本地或云端GPU集群上的分布式训练作业。期间需密切关注损失函数变化趋势图及其他评估指标反馈情况以便及时作出相应策略调整直至获得满意的收敛效果为止。 #### 测试部署环节 当经过充分迭代调优后的最终版权重文件准备好以后就可以将其加载到推理引擎当中去处理实际应用场景里的新采集来的待测影像资料了。按照操作指南提示依次点击界面上的相关控件完成视频流停止重置动作从而触发UI组件更新事件清除之前残留的各项记录项然后再重新选取要分析的对象资源路径即可开始新一轮的任务流程。 ```python from ultralytics import YOLO model = YOLO('yolov8n.pt') # 加载预训练的小规模YOLOv8网络结构实例 results = model.train(data='path/to/custom_dataset.yaml', epochs=100, imgsz=640) # 开始针对自定义数据集开展监督式学习模式下的一百轮次周期性拟合运算活动 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值