当前位置: 首页 > news >正文

Yolov8实现瓶盖正反面检测

一、模型介绍

  • 模型基于 yolov8n
  • 数据集采用SKU-110k,这数据集太大了十几个 G,所以只训练了 10 轮左右就拿来微调了
  •  基于原木数据微调:训练 200 轮的效果

10SKU-110k + 20 轮原木+ 200 轮瓶盖正反面 微调模型下载地址https://wwxd.lanzouu.com/iREN21gey34d
密码:d8x3

下载完把模型格式修改为 pt

二、模型测试

  • 废话不多说上代码:
import cv2
from ultralytics import YOLO# 加载模型
model = YOLO('best_bottle.pt')  # 预训练的 YOLOv8n 模型image_url = '123.webp'
# 在图片列表上运行批量推理
results = model([image_url])  # 返回 Results 对象列表image = cv2.imread(image_url)  # 替换成实际图像路径# 获取类别映射
class_mapping = {0: "BACK", 1: "FRONT"}# 处理结果列表
for result in results:boxes = result.boxes  # 边界框输出的 Boxes 对象labels = boxes.clsboxes_np = boxes.xyxy.numpy()for box, label in zip(boxes_np, labels):x1, y1, x2, y2 = map(int, box)class_index = label.item()class_label = class_mapping.get(class_index, "Unknown")# 设置颜色color = (0, 255, 0) if class_label == "BACK" else (0, 0, 255)# 在图像上绘制边界框image = cv2.rectangle(image, (x1, y1), (x2, y2), color, 2)# 在图像上绘制分类标签label_text = f"{class_label}"label_size, _ = cv2.getTextSize(label_text, cv2.FONT_HERSHEY_SIMPLEX, 0.5, 1)label_position = (x1 + int((x2 - x1) / 2), y1 + int((y2 - y1) / 2))cv2.putText(image, label_text, label_position, cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 1, cv2.LINE_AA)# 创建窗口并展示图像
cv2.namedWindow('Bounding Boxes', cv2.WINDOW_NORMAL)
cv2.imshow('Bounding Boxes', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

三、模型效果

四、实时推理

相关文章:

Yolov8实现瓶盖正反面检测

一、模型介绍 模型基于 yolov8n数据集采用SKU-110k,这数据集太大了十几个 G,所以只训练了 10 轮左右就拿来微调了 基于原木数据微调:训练 200 轮的效果 10 轮SKU-110k 20 轮原木 200 轮瓶盖正反面 微调模型下载地址https://wwxd.lanzouu.co…...

GAN:WGAN前作

WGAN前作:有原则的方法来训练GANs 论文:https://arxiv.org/abs/1701.04862 发表:ICLR 2017 本文是wgan三部曲的第一部。文中并没有引入新的算法,而是标是朝着完全理解生成对抗网络的训练动态过程迈进理论性的一步。 文中基本是…...

数据库应用:MongoDB 文档与索引管理

目录 一、理论 1.MongoDB文档管理 2.MongoDB索引管理 二、实验 1.MongoDB文档管理 2.MongoDB索引管理(索引添加与删除) 3.MongoDB索引管理(全文索引) 4.MongoDB索引管理(多列索引) 5.MongoDB索引管…...

Python批处理PDF文件,PDF附件轻松批量提取

PDF附件是指在PDF文档中嵌入的其他文件,如图像、表格、音频、视频或其他文档。这些附件可以与PDF文档一起存储、传输和共享,为文档提供了更丰富的内容和更多的功能。通过添加附件,我们可以将相关文件和信息捆绑在一起,使其更易于管…...

Python可迭代对象排序:深入排序算法与定制排序

更多Python学习内容:ipengtao.com 排序在计算机科学中是一项基础而关键的操作,而Python提供了强大的排序工具来满足不同场景下的排序需求。本文将深入探讨Python中对可迭代对象进行排序的方法,涵盖基础排序算法、sorted函数的应用、以及定制排…...

基于matlab的图像去噪算法设计与实现

摘 要 随着我们生活水平的提高,科技产品飞速更新换代,在信息传输中,图像传输所占的比重越来越大。但自然噪声会在图像传输时干扰其传输过程,甚至会使图片不能表达其原来的意义。去噪处理就是为了去除图像中的噪声,从而…...

NFTScan 正式上线 Starknet NFTScan 浏览器和 NFT API 数据服务

2023 年 11 月 30 号,NFTScan 团队正式对外发布了 Starknet NFTScan 浏览器,将为 Starknet 生态的 NFT 开发者和用户提供简洁高效的 NFT 数据搜索查询服务。NFTScan 作为全球领先的 NFT 数据基础设施服务商,Starknet 是继 Bitcoin、Ethereum、…...

2023年亚太杯APMCM数学建模大赛A题水果采摘机器人的图像识别

2023年亚太杯APMCM数学建模大赛 A题 水果采摘机器人的图像识别 原题再现 中国是世界上最大的苹果生产国,年产量约3500万吨。同时,中国也是世界上最大的苹果出口国,世界上每两个苹果中就有一个是中国出口的,世界上超过六分之一的…...

mysql which is not in SELECT list; this is incompatible with DISTINCT解决方案

mysql报错Expression #1 of ORDER BY clause is not in SELECT list, references column ‘xxx’ which is not in SELECT list; this is incompatible with DISTINCT解决方案: 这是在 mysql5.7 版本,DISTINCT 与 order by 在一起用时则会报3065错误。因…...

linux /proc 文件系统

/proc系统是一个伪文件系统,它只存在内存当中,而不占用外存空间,以文件系统的方式为内核与进程提供通信的接口。 /proc目录下有很多以数字命名的目录,每个数字代表进程号PID它们是进程目录。系统中当前运行的每一个进程在/proc下都…...

java开发之个微群聊自动添加好友

请求URL: http://域名/addRoomMemberFriend 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明wId是String登录实例标识chatRoom…...

Git .gitignore 忽略文件不生效解决方法

.gitignore 匹配规则 *.sample    # 忽略所有 .sample 结尾的文件 !lib.sample    # 但 lib.sample 除外 /TODO    # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO build/    # 忽略 build/ 目录下的所有文件 doc/*.txt    # 会…...

【Java】16. HashMap

16. HashMap public static String find3(String key) {Map<String, String> map Map.of("bright", "小明","white", "小白","black", "小黑");return map.get(key); }Map.of 用来创建不可变的 Map&#…...

KMP基础架构

前言 Kotlin可以用来开发全栈, 我们所熟悉的各个端几乎都支持(除了鸿蒙) 而我们要开发好KMP项目需要一个好的基础架构,这样不仅代码更清晰,而且能共享更多的代码 正文 我们可以先将KMP分为前端和服务端 它们两端也能共享一些代码,比如接口声明,bean类,基础工具类等 前端和…...

递归实现选择排序.

思路: 1.定位数组中的最大元素或最小元素 2.将其与第一个元素交换位置 3.接着将剩余未排序的元素中的最大值或最小值与第二个元素交换位置 4.以此类推,直到排序完成 示例: [ 8, 5, 1, 9, 3 ] //原始数组 [ 1, 5, 8, 9, 3 ] //3与8交换 [ 1, 3, 8, 9, 5 ] //3与5交换 [ 1,…...

Node.js【文件系统模块、路径模块 、连接 MySQL、nodemon、操作 MySQL】(三)-全面详解(学习总结---从入门到深化)

目录 Node.js 文件系统模块&#xff08;二&#xff09; Node.js 文件系统模块&#xff08;三&#xff09; Node.js 文件系统模块&#xff08;四&#xff09; Node.js 路径模块 Node.js 连接 MySQL Node.js nodemon Node.js 操作 MySQL Node.js 应用 Node.js 文件系统模块…...

公司的销售经理面临哪些压力和挑战?

公司的销售经理面临哪些压力和挑战&#xff1f; 作为公司的销售经理&#xff0c;通常会面临以下挑战和压力&#xff1a; 1. 销售目标难以达成。销售经理需要承担销售目标&#xff0c;这通常是一项艰巨的任务。他们需要制定销售策略&#xff0c;与客户建立联系&#xff0c;并确保…...

【Linux系统编程】如何创建进程(什么是fork函数?进程创建的原理是什么?)

目录 一、前言 二、 进程创建的初次了解&#xff08;创建进程的原理&#xff09; 三、什么是fork函数&#xff1f; &#x1f4a6;初识fork函数 &#x1f4a6;fork函数的四个为什么&#xff1f; ⭐为什么fork()要给子进程返回0&#xff0c;给父进程返回子进程pid&#xff…...

【opencv】计算机视觉基础知识

目录 前言 1、什么是计算机视觉 2、图片处理基础操作 2.1 图片处理&#xff1a;读入图像 2.2 图片处理&#xff1a;显示图像 2.3 图片处理&#xff1a;图像保存 3、图像处理入门基础 3.1 图像成像原理介绍 3.2 图像分类 3.2.1 二值图像 3.2.2灰度图像 3.2.3彩色图像…...

Node——Node.js简介

Node.js是一个基于Chrome V8引擎的JavaScript运行时环境&#xff0c;它能够让JavaScript脚本运行在服务端&#xff0c;这使得JavaScript成为与PHP、Python等服务端语言平起平坐的脚本语言。 1、认识Node.js Node.js是当今网站开发中非常流行的一种技术&#xff0c;它以简单易…...

当相机位姿已知:利用COLMAP从稀疏到稠密重建的实战指南

1. 环境准备与数据格式转换 在开始COLMAP重建之前&#xff0c;我们需要确保环境配置正确&#xff0c;并完成相机位姿数据的格式转换。COLMAP支持Windows、Linux和macOS系统&#xff0c;但为了获得最佳性能&#xff0c;建议使用配备NVIDIA显卡的机器&#xff0c;并安装CUDA加速版…...

AutoSAR从入门到精通:构建标准化汽车软件架构的完整指南

1. 为什么汽车软件需要AutoSAR&#xff1f; 十年前我刚入行汽车电子时&#xff0c;每个OEM厂商的ECU软件都是独立开发的"黑盒子"。同一款车窗控制功能&#xff0c;在德系、日系、美系车型上要用完全不同的代码实现。更痛苦的是&#xff0c;当需要升级ADAS功能时&…...

Ostrakon-VL零售AI降本方案:替代人工巡检,单店年省8万元

Ostrakon-VL零售AI降本方案&#xff1a;替代人工巡检&#xff0c;单店年省8万元 1. 零售巡检的痛点与AI解决方案 在传统零售运营中&#xff0c;门店巡检是一项耗时耗力的日常工作。店长或督导人员需要每天检查&#xff1a; 商品陈列是否整齐货架缺货情况价签是否正确店铺环境…...

Ostrakon-VL 模型推理加速实战:使用 .accelerate 库优化扫描速度

Ostrakon-VL 模型推理加速实战&#xff1a;使用 .accelerate 库优化扫描速度 1. 效果惊艳的开场 最近在测试Ostrakon-VL模型时&#xff0c;我发现了一个令人惊喜的事实&#xff1a;通过.accelerate库的几项简单优化&#xff0c;模型推理速度可以提升3倍以上&#xff0c;同时显…...

UI-TARS-desktop环境部署:Ubuntu+Docker下免配置运行Qwen3-4B多模态Agent

UI-TARS-desktop环境部署&#xff1a;UbuntuDocker下免配置运行Qwen3-4B多模态Agent 想体验一个能看懂屏幕、操作软件、帮你处理日常任务的多模态AI助手吗&#xff1f;今天&#xff0c;我们就来手把手教你&#xff0c;如何在Ubuntu系统上&#xff0c;通过Docker一键部署UI-TAR…...

华为OD面试官最爱问的10个Python八股文,我这样答拿到了Offer

华为OD Python面试实战指南&#xff1a;10个高频问题的深度解析与应答策略 面试开场&#xff1a;如何用技术叙事打动面试官 去年冬天&#xff0c;我坐在华为OD的会议室里&#xff0c;手指不自觉地敲击着桌面。面试官推了推眼镜&#xff0c;抛出了第一个Python问题。那一刻我突然…...

sinx/x在0到无穷积分的条件收敛性分析与证明

1. 从物理现象到数学问题&#xff1a;为什么研究sinx/x的积分&#xff1f; 我第一次接触sinx/x的积分是在信号处理课程中&#xff0c;这个看似简单的函数在傅里叶变换和频谱分析中扮演着关键角色。工程师们用它来描述理想低通滤波器的频率响应&#xff0c;物理学家则在衍射现象…...

告别照相馆!AI头像生成器教你免费制作高质量职业头像

告别照相馆&#xff01;AI头像生成器教你免费制作高质量职业头像 1. 为什么选择AI生成职业头像&#xff1f; 在当今数字化求职环境中&#xff0c;一张专业的头像照片已经成为简历不可或缺的部分。传统照相馆拍摄存在三个主要痛点&#xff1a; 成本高昂&#xff1a;专业摄影工…...

Redis 单线程真的是单线程吗?源码角度全面解析

Redis 是单线程的——这句话流传太广了&#xff0c;以至于很多人真的以为 Redis 就一个线程在跑。但实际上&#xff0c;如果你 ps -ef 或者 top 看一眼正在运行的 Redis 进程&#xff0c;会发现线程数不止一个。 到底怎么回事&#xff1f;这篇文章从源码角度把这个问题彻底说清…...

AI报告文档审核赋能人才培养:IACheck打造环境检测人机协同审核虚拟仿真新体系

在环境检测行业持续走向精细化与规范化的过程中&#xff0c;报告审核能力逐渐成为影响整体质量的重要因素。然而&#xff0c;与检测设备和分析技术不断升级相比&#xff0c;审核人员的培养却长期依赖经验积累与“师带徒”模式&#xff0c;这种方式虽然能够传递实践经验&#xf…...