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

【五分钟学会】YOLO11 自定义数据集从训练到部署

数据集地址

数据集包含 360 张红血细胞图像及其注释文件,分为训练集与验证集。训练文件夹包含 300 张带有注释的图像。测试和验证文件夹都包含 60 张带有注释的图像。我们对原始数据集进行了一些修改以准备此 CBC 数据集,并将数据集分成三部分。在360张涂片图像中,首先使用300张带注释的血细胞图像作为训练集,然后将其余60张带有注释的图像用作测试集。CBC数据集地址如下:

https://github.com/MahmudulAlam/Complete-Blood-Cell-Count-Dataset

模型训练

准备好数据集以后,直接按下面的命令行运行即可:

yolo train model=yolo11n.pt data=cbc_dataset.yaml epochs=25 imgsz=640 batch=4

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模型导出与测试

yolo export model=cbc_11.pt format=onnx
yolo predict model=cbc_11.pt source=./cbc

在这里插入图片描述
在这里插入图片描述

部署推理

转成ONNX格式文件以后,基于OpenVINO-Python部署推理,相关代码如下

frame = cv.imread(os.path.join("D:/cbc_analysis/data/", f))
bgr = format_yolov8(frame)
img_h, img_w, img_c = bgr.shape
​
start = time.time()
image = cv.dnn.blobFromImage(bgr, 1 / 255.0, (640, 640), swapRB=True, crop=False)
​
res = compiled_model([image])[output_layer] # 1x84x8400
rows = np.squeeze(res, 0).T
class_ids = []
confidences = []
boxes = []
x_factor = img_w / 640
y_factor = img_h / 640
​
​
for r in range(rows.shape[0]):
row = rows[r]
classes_scores = row[4:]
_, _, _, max_indx = cv.minMaxLoc(classes_scores)
class_id = max_indx[1]
if (classes_scores[class_id] > .25):
confidences.append(classes_scores[class_id])
class_ids.append(class_id)
x, y, w, h = row[0].item(), row[1].item(), row[2].item(), row[3].item()
left = int((x - 0.5 * w) * x_factor)
top = int((y - 0.5 * h) * y_factor)
width = int(w * x_factor)
height = int(h * y_factor)
box = np.array([left, top, width, height])
boxes.append(box)
​
indexes = cv.dnn.NMSBoxes(boxes, confidences, 0.25, 0.45)
for index in indexes:
box = boxes[index]
color = colors[int(class_ids[index]) % len(colors)]
rr = int((box[2] + box[3])/4)
cv.circle(frame, (box[0]+int(box[2]/2), box[1]+int(box[3]/2)), rr-4, color, 2)
cv.putText(frame, class_list[class_ids[index]], (box[0] + int(box[2] / 2), box[1] + int(box[3] / 2)),cv.FONT_HERSHEY_SIMPLEX, .5, (0, 0, 0))
cv.putText(frame, "gloomyfish@2024", (20, 45), cv.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
​
cv.imshow("YOLO11+OpenVINO2024 RBC(Red Blood Cell) Count", frame)
cv.imwrite("D:/rbc_result.jpg", frame)
cv.waitKey(0)

在这里插入图片描述
在这里插入图片描述

总结

其实YOLO11 只是 YOLOv8的套娃版本,只要掌握YOLOv8,真的只需要五分钟就可以全面掌握YOLO11各种模型从训练到部署。玩转YOLOv8的分类、对象检测、实例分割、姿态评估、OBB检测、目标跟踪 六大模块

相关文章:

【五分钟学会】YOLO11 自定义数据集从训练到部署

数据集地址 数据集包含 360 张红血细胞图像及其注释文件,分为训练集与验证集。训练文件夹包含 300 张带有注释的图像。测试和验证文件夹都包含 60 张带有注释的图像。我们对原始数据集进行了一些修改以准备此 CBC 数据集,并将数据集分成三部分。在360张…...

Redis学习(十二)连接数不足报错及分析修复:ERR max number of clients reached.

目录 一、问题介绍二、问题分析2.1 redis-cli 登录2.2 info clients 查看连接数情况2.3 client list 查看具体连接情况2.4 分析连接空闲时长2.5 client list 根据客户端IP统计连接数 三、问题结论和解决3.1 问题结论:3.2 解决方案①:优化程序3.3 解决方案…...

八股文面试题总结(包含主流的面试经典题)

Java基础 1、JDK和JRE的区别是什么** JDK是Java开发工具包,JRE是Java运行时环境,二者的区别在于 JRE是Java程序运行所必须的,它包含jvm和一些Java的基础类库 JDK是Java程序开发所必须的,它包含JRE和一些开发工具 总结一下就是…...

一分钟掌握 Java22 新特性

1. 增强的模式匹配(Pattern Matching for Switch) Java 22 扩展了模式匹配的功能,允许在 switch 语句中使用模式匹配,从而使代码更加简洁和易读。 示例代码: public class PatternMatchingSwitchDemo {public stati…...

西安凭借入驻企业展示科技“硬”实力的数字媒体产业园

在古城西安的怀抱中,一座以科技“硬”实力为核心竞争力的数字媒体产业园——西安国际数字影像产业园,正以其独特的魅力和无限的潜力,吸引着全球的目光。这里,不仅是数字创意的孵化场,更是科技创新的策源地。 西安国际数…...

【网络安全】利用XSS、OAuth配置错误实现token窃取及账户接管 (ATO)

未经许可,不得转载。 文章目录 正文正文 目标:target.com 在子域sub1.target.com上,我发现了一个XSS漏洞。由于针对该子域的漏洞悬赏较低,我希望通过此漏洞将攻击升级至app.target.com,因为该子域的悬赏更高。 分析认证机制后,我发现: sub1.target.com:使用基于Cook…...

浙江所有省级医院体检报告查询上线浙里办!

在医院完成体检后不知道什么时候出报告 体检报告出来后又要跑一次医院去拿报告 历年体检报告没保管好 往年体检报告找不到了 ………… ​编辑 为解决这些问题,浙江省卫生健康委结合“两卡融合、一网通办”工作的推进,不断丰富电子健康医保卡的功能&#…...

支付宝支付Java+uniapp支付宝小程序

JS: request.post(/vip/pay, {//这是自己写的java支付接口id: this.vipInfo.id,payWay: alipay-mini}).then((res) > {let success (res2) > {//前端的支付成功回调函数this.$refs.popup.close();// 支付成功刷新当前页面setTimeout(() > {this.doGetVipI…...

Linux-磁盘优化的几个思路

优化前先看看性能指标 I/O 基准测试 fio(Flexible I/O Tester)正是最常用的文件系统和磁盘 I/O 性能基准测试工具。这类工具非常用,了解即可 应用程序优化 应用程序处于整个 I/O 栈的最上端,它可以通过系统调用,来调…...

【第三版 系统集成项目管理工程师】第15章 组织保障

持续更新。。。。。。。。。。。。。。。 【第三版】第十五章 组织保障 15.1信息和文档管理15.1.1 信息和文档1.信息系统信息-P5462.信息系统文档-P546 15.1.2 信息(文档)管理规则和方法1.信息(文档)编制规范-P5472.信息(文档)定级保护-P5483.信息(文档)配置管理-P549练习 15.…...

从编程视角看生命、爱、自由、生活的排列顺序

从编程视角看生命、爱、自由、生活的排列顺序 离开大学校园,踏入大厂成为一名算法工程师后,我常以编程思维看待生活中的事物。在思考生命、爱、自由和生活的排列顺序时,发现从编程角度分析这些概念会有独特见解。 一、生命——程序的核心代…...

Lumerical——属性编辑窗口的详解

一、几何选项卡(Geometry tab) 通过几何选项卡中的选项可以设定物件的位置和大小。 二、材料选项卡(Material tab) ① 材料(MATERIAL): 在该字段可以设置成材料数据库中包含的任何材料。数据库也有可能包含一些新材料,也可以对已经包含的材料进行编辑。如果选…...

08实战篇:972应用题(2024)思路解析

在本节中,你将学习到: 2024年972应用题的基本解题思路如何应对陌生的社会/学术热点问题,避免初见杀题目一:阐述搜索引擎的工作基本原理 关键词:搜索引擎、基本原理题型:基础概念题这是一道混在应用题中的简答题。根据《信息检索》一书中的P37内容回答即可(同时对应P45—…...

解决应用程序启动失败问题:由于找不到d3dx9_43.dll文件,如何快速有效地恢复和修复缺失的DLL组件

由于找不到d3dx9_43.dll,许多用户在启动某些游戏或者图形相关软件时遇到了棘手的问题。这个小小的DLL文件,虽然看似不起眼,却在众多基于DirectX 9技术构建的应用程序中扮演着至关重要的角色。对于游戏爱好者来说,当满心欢喜地准备…...

Ubuntu——双系统Ubuntu22.04系统安装和基础配置

文章目录 一、Ubuntu22.04双系统安装双系统安装和卸载 二、基础配置更新软件源搜狗输入法TimeShift上网 三、AI配置CondaCUDA12.6Pytorch2.3.0-cu121 四、额外配置Samba局域网文件共享系统 一、Ubuntu22.04双系统安装 双系统安装和卸载 双系统卸载安装Ubuntu双系统windows系统…...

stm32定时器中断和外部中断

一,中断系统的介绍 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行 中…...

LeetCode 每日一题 2024/9/30-2024/10/6

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 9/30 1845. 座位预约管理系统10/1 983. 最低票价10/2 1870. 准时到达的列车最小时速10/3 1928. 规定时间内到达终点的最小花费10/4 1227. 飞机座位分配概率10/5 2187. 完成…...

Redis篇(最佳实践)(持续更新迭代)

介绍一:键值设计 一、优雅的key结构 Redis 的 Key 虽然可以自定义,但最好遵循下面的几个最佳实践约定: 遵循基本格式:[业务名称]:[数据名]:[id]长度不超过 44 字节不包含特殊字符 例如: 我们的登录业务&#xff0…...

详细介绍pandas 在python中的用法

Pandas 是 Python 中非常流行的数据分析和处理库,特别适用于处理结构化数据。它构建在 NumPy 之上,提供了更高级的功能,例如数据清理、整理、筛选和统计分析。Pandas 的核心数据结构是 Series 和 DataFrame,分别用于处理一维数据和…...

八字命理测算系统开发-源码搭建

八字命理测算系统的开发是一个结合了传统命理学与现代科技的项目,旨在为用户提供基于个人出生年、月、日、时等信息的个性化命理分析和预测。以下是开发此类系统时需要考虑的关键步骤和技术要点: 一、前期准备 1.确定需求和目标用户 与客户或团队讨论&am…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

【AI学习】三、AI算法中的向量

在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

【网络安全】开源系统getshell漏洞挖掘

审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...

flow_controllers

关键点: 流控制器类型: 同步(Sync):发布操作会阻塞,直到数据被确认发送。异步(Async):发布操作非阻塞,数据发送由后台线程处理。纯同步(PureSync…...