Skip to content

peter-erer/colony-counter-ml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

View Project Presentation

Colony-Counter: 基于计算机视觉的自动化菌落计数研究

本项目针对生物、医学及食品安全领域的菌落计数痛点,开发了一套基于深度学习的目标检测系统。本项目对比了基于 CNN 的 YOLOv11 与基于 Transformer 的 RT-DETR 模型,实现了高精度、客观标准化的自动计数。

1. 项目背景与目标

  • 痛点:传统人工目视计数耗时耗力、主观误差大且不可重复。
  • 目标:利用计算机视觉技术实现高通量、高精度的自动化计数。
  • 数据集:基于 AGAR Dataset,选取了 1900 张有菌样本和 200 张无菌样本进行训练与验证。

2. 算法与方法

数据预处理

  • 自动化脚本:编写 data_prepare.py,实现 AGAR JSON 标签向 YOLO 格式(归一化坐标)的无损转换。
  • 坐标转换公式$$x_{center} = \frac{x_{tl} + w/2}{Img_Width}, \quad y_{center} = \frac{y_{tl} + h/2}{Img_Height}$$
  • 数据增强:采用 Mosaic 增强(提高小目标敏感度)和 HSV 颜色空间调整。

模型选择

  • YOLOv11n:代表经典的 CNN 架构,兼顾精度与推理速度。
  • RT-DETR:引入 Transformer 的全局建模能力,优化密集场景下的重叠菌落识别。
  • OpenCV:传统图像处理,体现深度学习的优势。

实验设计

  • 5-Fold 交叉验证:将 2100 张样本分为 5 组,确保模型评估的严谨性和泛化能力。
  • 硬件支持:利用 NVIDIA GeForce RTX 4060 GPU 进行训练优化。

3. 结果展示

核心指标对比

模型 mAP@0.5 MAE (平均计数误差) 训练速度
RT-DETR 0.9634 3.22 慢 (15s/epoch)
YOLOv11n 0.9024 7.57 快 (5s/epoch)

菌种特异性分析

菌种 实际总数 AI 计数 表现分析
大肠杆菌 (E.coli) 2085 2207 背景噪声干扰较多
枯草芽孢杆菌 (B.subtilis) 666 714 表现稳定,漏报极低
白色念珠菌 (C.albicans) 1897 1034 漏报率约 50%,颜色淡导致不敏感

4. 讨论与总结

  • 优势:RT-DETR 在密集小目标场景下表现出极强的稳定性,MAE 远低于 YOLO。
  • 局限性:对特征不明显的菌种(如白色念珠菌)及培养皿边缘的误报仍有改进空间。
  • 未来方向:计划引入更精细的图像预处理算法(如直方图均衡化)以增强浅色菌落特征。

5. 项目文件说明

  • core/data_prepare.py: 坐标转换与数据预处理脚本。
  • core/train.py: 模型训练逻辑。
  • results/: 存放混淆矩阵、F1 曲线及检测对比图。
  • representation/: 包含本项目详细的 汇报 PDF

本项目为《模式识别与机器学习》课程大作业成果。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages