无人售货机、无人零售店场景下,计算机视觉算法:YOLOv8实现方案

本文介绍了如何使用YOLOv8算法在计算机视觉领域训练商品识别模型,包括数据集下载、安装依赖库、训练步骤和初步测试。作者提到通过30次epoch训练,模型能识别大部分商品,但需优化参数和数据增强以提升精度。
摘要由CSDN通过智能技术生成

目录

前言

实验环境

一、数据集下载

二、使用步骤

1.安装依赖库

2.训练模型

3.测试模型

总结

引用文章


前言

随着人工智能技术的快速发展,催生了无人售货机、无人零售店等新型零售模式,利用计算机视觉算法和RFID电子标签,完成扫码开门、商品识别、自助结账等一系列流程,大大简化了购物流程,提高了顾客线下购物体验;文章中我们重点研究计算机视觉部分,利用公开数据集+开源算法YOLOv8,训练商品识别模型,模拟线下无人零售场景。


实验环境

仅供参考:矩池云GPU服务器(NVIDIA GeForce RTX 2080 Ti)

Python 3.10,Pytorch 2.1.1

省钱小技巧:先将数据集上传至矩池云网盘,再租用矩池云服务器,服务器内可直接读取网盘数据,省去数据集上传服务器时间。


一、数据集下载

文章中使用的数据集为kaggle公开数据集,原版是coco格式,我自己处理了一下,转成yolo格式并修复了部分损坏的图片,已上传至百度网盘(25.88G大小)请先下载:百度网盘链接点击下载

train训练集示例:

val验证集示例:


二、使用步骤

1.安装依赖库

安装yolov8(用自己电脑的建议先创建虚拟环境)

pip install ultralytics

2.训练模型

下载的数据集名为coco8.zip,里面包含yolov8预训练模型,运行即可:

unzip /mnt/coco8.zip -d /home # 解压缩(仅供参考)
cd /home/coco8/models # 进入项目目录(仅供参考)
python train.py # 训练

train.py文件预览:

# 参数详细注释:https://docs.ultralytics.com/modes/train/#key-features-of-train-mode
from ultralytics import YOLO

# Load a model
model = YOLO('yolov8s.pt')  # load a pretrained model (recommended for training)

# Train the model
results = model.train(
	data='../datasets/coco8.yaml', # 数据集配置文件
	epochs=30, # 训练次数
	imgsz=640, # 图像大小
	device=0, # 使用GPU(如果用CPU训练 device=cpu) 
	batch=-1, # 批次(-1=根据GPU自动调整)
	lr0=0.01, # 初始学习率
	lrf=0.0001, # 结束学习率
	cache=True, # 内存训练(内存不高的设为False用磁盘训练)

	# 数据增强
	mixup=0.5, # 合成图片
	copy_paste=0.5, # 混合图片
	bgr=0.5, # 通道颜色
	flipud=0.5, # 上下反转
	perspective=0.0005, # 随机透视变换
)

训练过程预览:

3.测试模型

mode为训练后模型路径,source为测试图片路径:

yolo predict model=runs/detect/train/weights/best.pt source='../datasets/images/val/20180930-16-45-00-2711.jpg'

测试图片预览:


总结

通过测试可以看出,模型已经可以识别大部分商品,虽然只有30次epoch训练,但耗时仍旧高达20个小时,调试成本比较昂贵,并且单纯提高epoch已很难提升精度,需要尝试调参、数据增强;想深度研究的可以看看Ray Tune自动调节超参。


引用文章

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值