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

【第五章:计算机视觉-计算机视觉在医学领域中应用】1.生物细胞检测实战-(3)基于YOLO的细胞检测实战:数据读取、模型搭建、训练与测试

第五章:计算机视觉-计算机视觉在医学领域中应用

第一部分:生物细胞检测实战

第三节:基于YOLO的细胞检测实战:数据读取、模型搭建、训练与测试


一、项目背景

在医学影像分析中,生物细胞检测是一个极具挑战性的任务。显微镜图像中的细胞往往具有以下特征:

  • 形态差异显著(圆形、椭圆、不规则形)

  • 边界模糊、重叠严重

  • 光照和染色条件复杂

传统的图像分割或阈值法难以准确检测出每个细胞的位置与类别,因此我们采用深度学习中的YOLO目标检测算法,实现自动化细胞检测。

本节将基于 YOLOv8 架构,完成从数据准备 → 模型搭建 → 训练 → 测试 → 可视化的完整流程。


二、项目整体流程

本项目完整流程如下图所示:

显微镜图像 → 数据标注(Labelme/CVAT) → COCO格式数据集  ↓
数据加载(DataLoader) → YOLOv8模型构建 → 模型训练(Train)  ↓
模型测试(Test) → 性能评估(mAP, Precision, Recall) → 可视化(Detection Result)

三、数据集准备

1. 数据来源

我们使用公开的 Cell Detection Dataset (CBB) 或自定义采集的显微镜图像作为训练集。
数据格式如下:

cell_dataset/├── images/│   ├── train/│   ├── val/│   └── test/├── labels/│   ├── train/│   ├── val/│   └── test/└── data.yaml
2. 标注格式

YOLO数据标签采用TXT格式,每一行代表一个细胞目标:

<class_id> <x_center> <y_center> <width> <height>

所有坐标均为相对坐标(范围0~1)。
例如:

0 0.523 0.612 0.075 0.084
0 0.712 0.455 0.068 0.090
3. 数据配置文件(data.yaml)
train: ./cell_dataset/images/train
val: ./cell_dataset/images/val
test: ./cell_dataset/images/testnc: 1
names: ['cell']

四、环境搭建

1. 安装依赖
pip install ultralytics
pip install opencv-python matplotlib
2. 检查GPU环境
import torch
print("CUDA Available:", torch.cuda.is_available())

输出为 True 则说明可使用GPU加速训练。


五、数据读取模块搭建

YOLO框架自带了数据加载模块(torch.utils.data.Dataset 封装),我们也可以手动验证加载情况。

from ultralytics import YOLO
import cv2
import matplotlib.pyplot as plt# 载入数据样本查看
img_path = 'cell_dataset/images/train/sample1.jpg'
img = cv2.imread(img_path)[:, :, ::-1]
plt.imshow(img)
plt.title("Sample Cell Image")
plt.show()

这一步的目的是确认图片路径和标注是否正确加载。


六、模型搭建

YOLOv8 提供了多个模型版本(n/s/m/l/x),我们在实验中选择轻量化版本:

from ultralytics import YOLO# 加载预训练模型
model = YOLO('yolov8n.pt')# 修改检测头类别数量
model.model[-1].nc = 1   # 仅检测cell类

七、模型训练

1. 启动训练
yolo task=detect mode=train model=yolov8n.pt data=cell_dataset/data.yaml epochs=100 imgsz=640 batch=16

主要参数解释:

  • task=detect:目标检测任务

  • epochs=100:训练轮数

  • imgsz=640:输入图像尺寸

  • batch=16:每批训练样本数量

2. 训练过程输出

训练过程中会输出如下指标:

指标含义
box_loss边界框定位误差
cls_loss分类误差
dfl_loss边界框分布损失
mAP50IoU=0.5下的平均精度
mAP50-95不同IoU下的平均精度

可视化的 loss / mAP 曲线如下所示:

📊 训练曲线图(Loss 与 mAP 变化)
(可使用 matplotlib 绘制或查看 YOLO 输出目录中的 results.png

from PIL import Image
img = Image.open('runs/detect/train/results.png')
img.show()

八、模型测试与推理

训练完成后,可使用以下命令进行推理测试:

yolo task=detect mode=predict model=runs/detect/train/weights/best.pt source=cell_dataset/images/test/

执行后,检测结果将保存在:

runs/detect/predict/

我们可以可视化测试结果:

from IPython.display import Image
Image(filename='runs/detect/predict/sample1.jpg', width=600)

九、模型性能评估

YOLO框架自动计算各项指标(Precision、Recall、mAP)。
在医学细胞检测中,一般重点关注:

  • Precision(查准率):检测出的目标中有多少是真实细胞;

  • Recall(召回率):实际存在的细胞中有多少被检测出;

  • mAP(平均精度):综合衡量模型检测性能。

示例结果如下:

指标数值
Precision0.96
Recall0.91
mAP@0.50.94
mAP@0.5:0.950.87

十、模型部署与应用

在医学场景中,部署环节尤为重要。YOLOv8 模型可以导出为多种格式,适配不同硬件平台:

yolo export model=best.pt format=onnx
yolo export model=best.pt format=engine  # TensorRT

部署示例(ONNX Runtime推理):

import onnxruntime as ort
import cv2
import numpy as npsession = ort.InferenceSession("best.onnx")
img = cv2.imread("test_cell.jpg")
# 预处理与推理略

十一、小结

通过本节的实战,我们完成了:

  1. 医学细胞检测任务的数据集准备;

  2. 使用YOLOv8模型进行训练与推理;

  3. 评估了模型在细胞检测中的性能;

  4. 实现了可部署的推理模型。

YOLO凭借高效的结构与实时性,为自动化细胞分析提供了强大工具,极大提升了病理分析和生物实验的效率。

http://www.dtcms.com/a/490642.html

相关文章:

  • 【MFC实用技巧】对话框“边框”属性四大选项:None、Thin、Resizing、对话框外框,到底怎么选?
  • 网站备案 备注关联性天津网站建设内容
  • 所有网站收录入口济南市住监局官网
  • frida android quickstart
  • 作为测试工程师,我们该如何应用 AI?
  • 【Flutter】Flutter项目整体架构
  • 电子电气架构 --- 未来汽车软件架构
  • 怎么优化网站关键词辽宁省住房建设厅网站科技中心
  • 电力自动化新突破:Modbus如何变身Profinet?智能仪表连接的终极解决方案
  • cGVHD患者的血常规指标 生化指标 动态监测
  • 重庆网站建设师网站顶部布局
  • 【算法与数据结构】二叉树后序遍历非递归算法:保姆级教程(附具体实例+可运行代码)
  • AI-调查研究-105-具身智能 机器人学习数据采集:从示范视频到状态-动作对的流程解析
  • 基于 PyQt5 的多算法视频关键帧提取工具
  • 企业手机网站建设有wordpress download 插件
  • 【EE初阶 - 网络原理】应用层协议(上)
  • 2025国际集成电路展览会暨研讨会有那些新技术与亮点值得关注?
  • 【图片处理】✈️HTML转图片字体异常处理
  • Visual Studio 命令和属性的常用宏定义(macros for MSBuild commands and properties)
  • Android 中 gravity 与 layout_gravity 的深度解析:从概念到实践
  • 免费的招标网站有哪些wordpress编辑器上传图片
  • Spring初始
  • VB.Net循序渐进(第二版)
  • AI预判等离子体「暴走」,MIT等基于机器学习实现小样本下的等离子体动力学高精度预测
  • 网站链接推广工具网站提现功能怎么做
  • list的迭代器
  • 学会网站制作要多久网站建设最重要的是什么
  • 基于遗传算法优化BP神经网络(GA-BP)的数据时序预测
  • Mamba革命:图像增强的下一站,从CNN与Transformer到状态空间模型的跨
  • 利用Enterprise Architect的需求管理工具实现项目全程可追溯性