【五分钟学会】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 字节不包含特殊字符 例如: 我们的登录业务࿰…...
详细介绍pandas 在python中的用法
Pandas 是 Python 中非常流行的数据分析和处理库,特别适用于处理结构化数据。它构建在 NumPy 之上,提供了更高级的功能,例如数据清理、整理、筛选和统计分析。Pandas 的核心数据结构是 Series 和 DataFrame,分别用于处理一维数据和…...
八字命理测算系统开发-源码搭建
八字命理测算系统的开发是一个结合了传统命理学与现代科技的项目,旨在为用户提供基于个人出生年、月、日、时等信息的个性化命理分析和预测。以下是开发此类系统时需要考虑的关键步骤和技术要点: 一、前期准备 1.确定需求和目标用户 与客户或团队讨论&am…...
L-SHADE算法实战:如何用线性种群缩减提升优化性能(附Python代码)
L-SHADE算法实战:如何用线性种群缩减提升优化性能(附Python代码) 在优化算法的世界里,差分进化(Differential Evolution, DE)一直以其简单高效著称。但传统DE算法在面对高维复杂问题时,常常陷入…...
手机号码智能定位:3大核心功能解决企业用户的地理信息获取难题
手机号码智能定位:3大核心功能解决企业用户的地理信息获取难题 【免费下载链接】location-to-phone-number This a project to search a location of a specified phone number, and locate the map to the phone number location. 项目地址: https://gitcode.com…...
从SEED-Labs实验到实战:手把手教你编写无零字节的x86 Shellcode(附完整代码)
从SEED-Labs实验到实战:手把手教你编写无零字节的x86 Shellcode(附完整代码) 当你第一次看到"Shellcode"这个词时,可能会联想到某种神秘的编程黑魔法。实际上,它是安全研究中最具实用价值的技能之一——一段…...
关于统好 AI可持续发展三大趋势
问:如何理解统好 AI 的可持续发展趋势?答:统好 AI 的可持续发展,核心是技术、业务与运营长期适配,不追求短期迭代,而是围绕企业全生命周期需求构建稳定演进路径。绵阳统好软件有限公司以一体化底座为基础&a…...
森利威尔SL3041B替换LM5018 100V降压3.3V5V12V恒压芯片
在工业、汽车及电池供电的电子系统中,高压降压转换器的选择往往需要在性能、可靠性与成本之间取得平衡。传统上,LM5018等进口芯片凭借其高输入电压范围和稳定的性能占据一定市场,但随着国内半导体技术的成熟,国产替代方案已具备与…...
5步搞定Jimeng LoRA测试台:Streamlit界面,LoRA版本智能排序
5步搞定Jimeng LoRA测试台:Streamlit界面,LoRA版本智能排序 1. 项目概述:轻量级LoRA测试系统 Jimeng LoRA测试台是一款专为模型开发者设计的轻量化文本生成图像系统。它基于Z-Image-Turbo文生图底座,实现了动态多版本LoRA热切换…...
TDEngine-OSS-3.3.7.5开源版高可用部署实战(单节点快速入门与三副本集群搭建详解)
1. TDEngine开源版入门:为什么选择它? 如果你正在寻找一个高性能、开源的时序数据库,TDEngine绝对值得考虑。这个由涛思数据推出的产品,专门为物联网、工业互联网等场景设计,能够轻松处理海量时间序列数据。我最近在实…...
手把手教你用PassFab for Office 8.5.1找回遗忘的Word/Excel密码(保姆级图文教程)
办公文档密码遗忘急救指南:PassFab for Office全流程实战解析 你是否经历过这样的场景:周一早晨准备修改季度报表时,突然发现去年设置的Excel密码怎么试都不对;或是毕业论文答辩前夜,重要参考文献的Word文档因密码错误…...
DLSS Swapper完全指南:5步实现游戏性能自由切换
DLSS Swapper完全指南:5步实现游戏性能自由切换 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 你是否曾因游戏更新后DLSS版本不兼容导致帧率下降而烦恼?是否想要尝试新版本DLSS功能却发现手动替…...
技术解析 | 【ECCV2022】MuLUT:多级查找表协同优化在图像超分中的高效实践
1. MuLUT技术背景与核心价值 图像超分辨率(Super-Resolution)技术一直是计算机视觉领域的热门研究方向,简单来说就是让低分辨率图像变清晰的过程。传统基于卷积神经网络(CNN)的方法虽然效果不错,但计算量大…...
