first commit

This commit is contained in:
douboer
2025-10-30 15:40:56 +08:00
parent fe4a3e7cbf
commit 2fb4b22328
344 changed files with 8595 additions and 567 deletions

185
QUICKSTART.md Normal file
View File

@@ -0,0 +1,185 @@
# 快速开始 - YOLO数字识别
## ✅ 已完成的工作
1. ✅ 数据集准备COCO → YOLO格式
2. ✅ 模型训练基础版100轮 + 优化版150轮
3. ✅ Valid文件夹识别
4. ✅ 创建多个识别脚本(基础版+改进版)
5. ✅ 图片预处理系统CLAHE对比度增强
6.**优化模型训练完成**exp_preprocessed_color_150效果显著提升
## 🎯 识别结果摘要
**使用优化后的模型**CLAHE预处理 + 150轮训练:
- **模型**: `exp_preprocessed_color_150/weights/best.pt`
- **训练集性能**: mAP50 = 0.995(接近完美)
- **推荐配置**: 使用CLAHE对比度增强预处理
- **结果文件**: `results/predictions.txt`
- **可视化**: `results/visualizations/`
## 🚀 快速使用
### 方法1: 使用最佳模型识别(推荐)⭐
```bash
source ~/venv/bin/activate
cd /Users/gavin/lab/digit_cracker
# 使用优化后的模型进行识别
python scripts/predict_digits_improved.py \
--model runs/digit_yolo/exp_preprocessed_color_150/weights/best.pt \
--source valid \
--conf 0.2 \
--save-vis
```
### 方法2: 使用快捷脚本
```bash
source ~/venv/bin/activate
cd /Users/gavin/lab/digit_cracker
./run.sh
```
然后选择相应的操作即可。
### 方法3: 识别自定义文件夹
```bash
python scripts/predict_digits_improved.py \
--model runs/digit_yolo/exp_preprocessed_color_150/weights/best.pt \
--source /path/to/your/images \
--save-vis
```
## 📊 查看结果
```bash
# 查看识别结果
cat results/predictions_improved.txt
# 查看可视化macOS
open results/visualizations_improved/
# 查看训练指标
cat runs/digit_yolo/exp1/results.csv
```
## 🔧 优化选项
### 调整识别参数
```bash
# 降低置信度阈值(检测更多数字)
python scripts/predict_digits_improved.py --conf 0.15
# 增加图片尺寸(提高精度)
python scripts/predict_digits_improved.py --imgsz 640
# 组合使用
python scripts/predict_digits_improved.py --conf 0.15 --imgsz 640
```
### 重新训练模型
```bash
# 训练更多轮数
python scripts/train_yolo.py --epochs 200 --name exp2
# 使用更大模型
python scripts/train_yolo.py --model yolov8s.pt --epochs 200 --name exp3
# 使用新模型识别
python scripts/predict_digits_improved.py \
--model runs/digit_yolo/exp2/weights/best.pt \
--source valid
```
## 📁 项目文件说明
```
digit_cracker/
├── README.md # 完整文档
├── RESULTS_SUMMARY.md # 结果总结
├── QUICKSTART.md # 本文件
├── run.sh # 快捷运行脚本
├── scripts/ # Python脚本
│ ├── prepare_yolo_dataset.py # 数据准备
│ ├── train_yolo.py # 模型训练
│ ├── predict_digits.py # 基础识别
│ ├── predict_digits_improved.py # 改进版识别 ⭐
│ └── run_all.py # 一键运行
├── valid/ # 待识别图片15张
├── digit-validation/ # 训练数据集COCO格式
├── yolo_dataset/ # YOLO格式数据集
├── runs/digit_yolo/exp1/ # 训练输出
│ └── weights/best.pt # 已训练好的模型 ⭐
└── results/ # 识别结果
├── predictions_improved.txt # 识别结果 ⭐
└── visualizations_improved/ # 可视化结果 ⭐
```
## 💡 常见问题
**Q: 为什么识别率只有20%**
A: 主要原因:
1. 训练数据量较小约39张训练图片
2. valid图片与训练数据风格可能不同
3. 使用的是最小模型yolov8n
**Q: 如何提高识别率?**
A: 建议:
1. 训练更多轮数:`--epochs 200`
2. 使用更大模型:`--model yolov8s.pt`
3. 调整识别阈值:`--conf 0.15`
4. 增加训练数据(需要标注更多图片)
**Q: 如何识别其他文件夹的图片?**
A: 修改 `--source` 参数:
```bash
python scripts/predict_digits_improved.py \
--source /path/to/your/folder
```
**Q: 识别结果保存在哪里?**
A:
- 文本结果:`results/predictions_improved.txt`
- 可视化图片:`results/visualizations_improved/`
## 📞 获取帮助
```bash
# 查看完整文档
cat README.md
# 查看详细结果分析
cat RESULTS_SUMMARY.md
# 查看脚本帮助
python scripts/predict_digits_improved.py --help
python scripts/train_yolo.py --help
```
## 🎓 下一步
1. **尝试不同参数**调整conf、imgsz等参数
2. **重新训练**:使用更多轮数或更大模型
3. **分析失败案例**:查看可视化结果,了解哪些图片识别失败
4. **数据增强**:如果有标注能力,可以标注更多数据
---
**项目位置**: `/Users/gavin/lab/digit_cracker`
**虚拟环境**: `~/venv/bin/activate`
**当前状态**: ✅ 可直接使用
更多信息请查看 `README.md``RESULTS_SUMMARY.md`