带标注的带标注的医用采血管分类和标签识别数据集,识别率80.7%,5524张图,支持yolo,coco json,voc xml,文末有模型训练代码

医用采血管分类与标签识别数据集

本数据集包含5524张带标注的医用采血管图像,涵盖6个关键类别,识别准确率达80.7%。数据集支持YOLO系列(v7-v12)、COCO JSON和PASCAL VOC XML格式,适用于医疗图像识别、自动化分拣系统开发等场景。文末提供完整的YOLO模型训练代码。

数据集获取

下载方式

本数据集可通过以下方式获取:

  1. CSDN官方下载(推荐)

  2. 备用下载渠道

    如果下载链接失效,可在主页联系作者微信 gao_ke104或者下方留言获取

文件结构

下载解压后,您将获得以下目录结构:

复制代码
Medical-Tube-Dataset/
├── images/                    # 所有5524张原始图像
│   ├── train/                # 训练集图像(3824张)
│   ├── val/                  # 验证集图像(1120张)
│   └── test/                 # 测试集图像(580张)
├── labels/                   # YOLO格式标注文件
├── annotations/              # COCO JSON和VOC XML标注文件
├── dataset.yaml              # YOLO配置文件
└── README.md                 # 数据集说明文档

使用说明

  • 学术研究:请注明数据来源,遵守CC BY-NC 4.0协议
  • 商业应用:如需商业授权,请联系作者获取许可
  • 问题反馈:如发现数据问题或有改进建议,欢迎在GitHub提交Issue

模型训练指标参数:

模型训练图:

数据集拆分与预处理

数据分布

  • 总图数:5524张
  • 训练集:3824张(约69%)
  • 验证集:1120张(约20%)
  • 测试集:580张(约11%)

预处理流程

  1. 自动定向:自动校正图像方向,确保采血管处于标准位置
  2. 尺寸调整:统一拉伸至640×640像素,保持长宽比

数据增强策略

每个训练样本生成3个扩增样本,增强方式包括:

  • 翻转:水平翻转、垂直翻转
  • 旋转:顺时针90°、逆时针90°、180°倒置

应用场景:这种拆分策略特别适合医疗场景下的模型开发,训练集充足确保模型学习能力,验证集和测试集比例合理,能有效评估模型在真实医疗环境中的泛化性能。

数据集标签说明

标签类别

数据集包含6个标签类别:

  • purple_cap:紫帽采血管(EDTA抗凝管,用于血常规检测)
  • blue_cap:蓝帽采血管(枸橼酸钠抗凝管,用于凝血四项检测)
  • yellow_cap:黄帽采血管(含分离胶+促凝剂,用于常规生化、血清检测)
  • label:标签/标本条码标签(采血管外壁的患者信息条码)
  • good:合格状态(标本状态合格、管盖识别正常)
  • not_ok:不合格/异常状态(标本量不足、标签缺失、管盖识别错误、溶血等)

应用价值

该标签体系设计考虑了实际医疗工作流程:

  1. 采血管类型识别:自动识别不同颜色的采血管,对应不同的检测项目
  2. 标签完整性检查:确保患者信息条码完整可读
  3. 标本质量评估:判断采血管是否满足检测要求
  4. 自动化分拣:为医院检验科、第三方检测机构提供自动化分拣基础

数据集图片和标注信息示例:

YOLO模型训练指南

环境准备

  1. 下载数据集并解压到项目文件夹
  2. 获取训练脚本(可从相关资源库获取)
  3. 安装必要的依赖包

训练步骤

以YOLOv8为例:

bash 复制代码
# 安装ultralytics
pip install ultralytics

# 运行训练脚本
python train_yolov8.py

训练效果

应用场景

  • 医院检验科:自动识别和分拣采血管,减少人工错误
  • 第三方检测机构:提高标本处理效率和准确性
  • 医疗设备厂商:开发集成AI功能的智能检验设备
  • 科研机构:研究医疗图像识别算法,推动AI在医疗领域的应用

模糊图片在模型训练中的优势分析

该数据集中包含了如果包含了一些模糊图片,这并非数据缺陷,而是一种精心设计的数据增强策略,能为模型训练带来以下显著优势:

  1. 提升模型鲁棒性:现实场景中,可能发生在运动模糊,对焦不准或光线不足的情况下。在训练集中引入模糊样本,可以迫使模型学习更本质的特征,而不是过度依赖清晰的边缘或纹理细节,从而提升模型在复杂、非理想成像条件下的识别能力。
  2. 模拟真实世界噪声:监控摄像头、手机等设备在低光照或快速移动时极易产生模糊。包含此类图片的数据集能让模型提前"见识"并适应这种噪声,减少在实际部署时因图像质量下降而导致的性能骤降。
  3. 防止模型过拟合 :如果训练集全是高清、摆拍的完美图片,模型容易记住这些特定场景下的"干净"特征,而对新的、稍有模糊的图片泛化能力差。模糊图片作为一种有效的正则化手段,可以增加数据分布的多样性,防止模型过拟合到有限的清晰样本上。
    总结 :因此,数据集中包含的模糊图片,与你看到的"水平翻转"、"剪切形变"、"随机遮挡"等增强操作一样,都是为了构建一个更接近真实世界复杂分布的数据环境,从而训练出更健壮、更泛化、更实用的模型。

模型验证测试情况:

验证测试代码:

python 复制代码
#需要安装pip install ultralytics
from ultralytics import YOLO
import cv2

# ===================== 1. 加载YOLO模型 =====================
# 自动下载预训练模型(yolov8n最轻量快速),也可换 yolov8s/m/l/x
model = YOLO("best.pt")
# ===================== 2. 推理配置 =====================
image_path = "326_jpg.rf.8ad64cc0668df32c4e5f59b50e899e9c.jpg"  # 你的图片路径
save_result = True       # 是否保存标注后的图
# ===================== 3. 执行推理 =====================
results = model.predict(
    source=image_path,
    conf=0.01,          # 置信度阈值(低于该值忽略)
    save=False,         # 关闭默认保存,自定义保存
    verbose=False       # 关闭冗余日志
)

# ===================== 4. 解析结果:目标区域 + 标注信息 =====================
print("="*50)
print("YOLO 推理结果(目标区域 + 标注信息)")
print("="*50)

# 获取图片(用于绘制框)
img = cv2.imread(image_path)

# 遍历所有检测目标
for idx, result in enumerate(results):
    boxes = result.boxes  # 所有检测框
    
    for box in boxes:
        # ========== 提取目标区域(坐标) ==========
        # xyxy: 左上角x, 左上角y, 右下角x, 右下角y
        x1, y1, x2, y2 = box.xyxy[0].cpu().numpy()
        # 宽高
        w = x2 - x1
        h = y2 - y1
        
        # ========== 提取标注信息 ==========
        cls_id = int(box.cls[0])          # 类别ID
        cls_name = model.names[cls_id]    # 类别名称
        conf = float(box.conf[0])         # 置信度
        
        # ========== 打印信息 ==========
        print(f"目标 {idx+1}:")
        print(f"  标注类别:{cls_name}")
        print(f"  置信度:{conf:.2f}")
        print(f"  目标区域坐标:")
        print(f"    左上角 ({x1:.1f}, {y1:.1f})")
        print(f"    右下角 ({x2:.1f}, {y2:.1f})")
        print(f"    宽×高:{w:.1f} × {h:.1f}")
        print("-"*30)
        
        # ========== 在图片上绘制检测框 ==========
        cv2.rectangle(img, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)
        cv2.putText(img, f"{cls_name} {conf:.2f}", 
                    (int(x1), int(y1)-10), 
                    cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)

# ===================== 5. 保存/显示结果 =====================
if save_result:
    cv2.imwrite("yolo_result.jpg", img)
    print("✅ 标注图片已保存为:yolo_result.jpg")

# 显示图片(可选)
cv2.imshow("YOLO Result", img)
#cv2.waitKey(0)
#cv2.destroyAllWindows()
相关推荐
HyperAI超神经1 小时前
数据集汇总丨英伟达开源Nemotron系列数据集,超10T tokens+40M 条后训练样本,覆盖数学推理/代码生成/多语言对话
人工智能·大模型·数据集·nvidia·预训练·代码生成·监督微调
西柚研究生1234562 小时前
论文分析10:基于改进YOLOv8模型的雨雾天气目标识别算法
yolo
前网易架构师-高司机1 天前
带标注的山体滑坡塌方数据集数据集,识别率78.1%,974张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·自然灾害·山体滑坡
guo_xiao_xiao_1 天前
YOLOv11马匹皮肤病目标检测数据集
人工智能·yolo·目标检测
明月醉窗台1 天前
C++ tensorrt部署时打包需要的依赖库
yolo·nvidia
前网易架构师-高司机2 天前
带标注的SDD-SAR遥感船舶识别数据集,识别率92.9%,7000张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·json·数据集·遥感·sar·船舶·sdd
一见已难忘3 天前
4类红外热成像目标检测数据集(轿车/行人/货车/摩托车)| 4300张YOLO红外夜视检测数据集 适用于自动驾驶、智能安防与红外目标检测研究
yolo·目标检测·自动驾驶
会飞锦鲤3 天前
基于YOLOv10的瓜果成熟度智能检测系统
人工智能·python·深度学习·yolo·flask
朱永博3 天前
Cpp使用Tensorrt10.8推理Yolo26
yolo