带标注的寄生虫8种类型数据集,识别率83.2%, 2110张图,支持yolo,coco json,voc xml,文末有模型训练代码
·
本数据集包含8种常见寄生虫的显微图像,共计2110张带标注图片,识别准确率达83.2%。数据集支持YOLO系列(v7-v12、v26)、COCO JSON和PASCAL VOC XML格式,可直接用于目标检测模型的训练与评估。文末附有完整的YOLO模型训练代码。
模型训练指标参数:

模型训练图:

数据集拆分
总图数:2110 张图数
训练集
1484 张图
验证集
411 张图
测试集
215 张图
预处理
自动定向:应用
调整大小:拉伸到640x640
增强
无
数据集标签:
[‘Ascaris Lumbricoides’, ‘Trichuris Trichiura’, ‘Ancylostoma Spp’, ‘Enterobius Vermicularis’, ‘Taenia Sp’, ‘Schistosoma’, ‘Hymenolepis’, ‘Fasciola Hepatica’]
寄生虫中文译名对照表
| 标签 | 标准中文译名 |
|---|---|
| Ascaris Lumbricoides | 人蛔虫 |
| Trichuris Trichiura | 毛首鞭形线虫(鞭虫) |
| Ancylostoma Spp | 钩虫属(多种钩虫) |
| Enterobius Vermicularis | 蠕形住肠线虫(蛲虫) |
| Taenia Sp | 带绦虫属(某一种带绦虫) |
| Schistosoma | 裂体吸虫属(血吸虫属) |
| Hymenolepis | 膜壳绦虫属 |
| Fasciola Hepatica | 肝片形吸虫 |
数据集图片和标注信息示例:






数据集应用场景
本数据集适用于以下多个研究和应用领域:
1. 医学教育与培训
- 寄生虫学教学:为医学学生和研究人员提供标准化的寄生虫识别训练材料
- 实验室诊断辅助:帮助开发自动化的寄生虫卵检测系统,提高显微镜检查效率
2. 公共卫生监测
- 流行病学研究:用于分析特定地区寄生虫感染情况,支持公共卫生决策
- 水质监测:检测水源中的寄生虫污染,保障饮用水安全
3. 人工智能研究
- 目标检测算法验证:作为医学图像领域的标准测试集,评估不同检测算法的性能
- 小样本学习:研究在有限标注数据下的模型泛化能力
- 数据增强研究:探索针对医学图像的有效增强策略
4. 临床辅助诊断
- 自动化筛查系统:集成到医疗设备中,实现寄生虫感染的快速初筛
- 远程医疗:支持基层医疗机构通过图像上传进行远程寄生虫鉴定
5. 农业与兽医应用
- 动物寄生虫检测:适用于畜牧业中的动物健康监测
- 食品安全:检测食品中的寄生虫污染,保障食品安全
数据集下载
数据集提供多种格式支持,满足不同框架需求:
- YOLO格式:支持YOLOv7、YOLOv8、YOLOv9、YOLOv11、YOLOv12、YOLOv26
- COCO格式:标准JSON标注文件
- PASCAL VOC格式:XML标注文件
下载链接:寄生虫8种类型数据集
YOLO模型训练
下载数据集并解压后,将训练脚本复制到数据集目录。本仓库提供了完整的YOLO训练代码:YOLOProject训练仓库。
以YOLOv8为例,执行以下命令开始训练:
python train_yolov8.py
训练过程可视化:
模糊图片在模型训练中的优势分析
该数据集中包含了如果包含了一些模糊图片,这并非数据缺陷,而是一种精心设计的数据增强策略,能为模型训练带来以下显著优势:
- 提升模型鲁棒性:现实场景中,可能发生在运动模糊,对焦不准或光线不足的情况下。在训练集中引入模糊样本,可以迫使模型学习更本质的特征,而不是过度依赖清晰的边缘或纹理细节,从而提升模型在复杂、非理想成像条件下的识别能力。
- 模拟真实世界噪声:监控摄像头、手机等设备在低光照或快速移动时极易产生模糊。包含此类图片的数据集能让模型提前“见识”并适应这种噪声,减少在实际部署时因图像质量下降而导致的性能骤降。
- 防止模型过拟合:如果训练集全是高清、摆拍的完美图片,模型容易记住这些特定场景下的“干净”特征,而对新的、稍有模糊的图片泛化能力差。模糊图片作为一种有效的正则化手段,可以增加数据分布的多样性,防止模型过拟合到有限的清晰样本上。
总结:因此,数据集中包含的模糊图片,与你看到的“水平翻转”、“剪切形变”、“随机遮挡”等增强操作一样,都是为了构建一个更接近真实世界复杂分布的数据环境,从而训练出更健壮、更泛化、更实用的模型。
模型验证测试情况:
验证测试代码:
#需要安装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()
更多推荐




所有评论(0)