基于 YOLOv8 的血细胞检测系统,提供完整的 Web 界面和 RESTful API,用于自动识别和分类血细胞图像中的白细胞(WBC)、红细胞(RBC)和血小板(Platelets)。
- 高精度检测:基于 YOLOv8 的深度学习模型
- 直观界面:响应式设计,支持桌面和移动设备
- 丰富可视化:
- 标注结果图像显示
- 检测统计图表
- 交互式检测框查看
- 多格式支持:JPG、PNG 图片格式
- 完整 API:易于集成的 RESTful 接口
- 实时反馈:上传进度和检测状态指示
- Python 3.8+
- CUDA 11.7+ (如需 GPU 加速)
- Node.js 16+ (前端开发可选)
-
克隆仓库:
git clone https://github.com/your-repo/blood-cell-detection.git cd blood-cell-detection -
后端设置:
# 创建虚拟环境 python -m venv venv source venv/bin/activate # Linux/MacOS # 或 venv\Scripts\activate (Windows) # 安装依赖 pip install -r requirements.txt
# 启动后端服务
python app.py
访问 `http://localhost:5000` 使用系统
## 📚 使用指南
### 网页界面
1. 点击上传区域或拖放图片文件
2. 系统自动处理并显示检测结果
3. 查看统计数据和详细检测信息
### API 接口
**检测端点**:POST /api/detect
**请求参数**:
- `file`: 图片文件 (支持 PNG, JPG, JPEG)
**成功响应**:
```json
{
"success": true,
"image": "base64编码的标注图像",
"detections": [
{
"label": "WBC",
"confidence": 0.95,
"coordinates": [x1, y1, x2, y2]
}
],
"count": 3
}
健康检查:
GET /api/health
├── app.py # Flask 主应用
├── models/ # 模型文件
│ └── best.pt # YOLOv8 模型
├── static/ # 静态资源
│ ├── css/ # 自定义样式
│ ├── js/ # 自定义脚本
│ └── uploads/ # 上传文件临时存储
├── templates/ # HTML 模板
│ └── index.html # 主页面
├── requirements.txt # Python 依赖
└── README.md # 项目文档
docker build -t blood-cell-detection .
docker run -p 5000:5000 blood-cell-detection-
AWS:
- 使用 EC2 或 ECS 部署
- 配置 ALB 负载均衡
-
Azure:
- 使用 App Service 容器部署
- 配置 Application Gateway
| 指标 | 值 |
|---|---|
| 平均检测时间 (CPU) | 1.2s/图像 |
| 平均检测时间 (GPU) | 0.3s/图像 |
| 模型准确率 (mAP) | 92.4% |
| 最大并发请求 | 16 req/s |
遇到问题?请通过以下方式联系我们:
- GitHub Issues: 提交问题
- 邮箱: support@bloodcell.ai
- Slack: 加入我们的频道
本项目采用 MIT 许可证
