面向 大麦 / 小麦(单子叶平行脉) 的叶脉性状自动定量 + 胁迫识别工具。 经典图像处理底座 + 可插拔深度学习 + 多维胁迫表型,强调 一键、批量、可复现、诚实可信。
状态:核心可用 — 经典 CV 叶脉量化 + 两条胁迫识别轨 + DL 框架 + 多维 benchmark,46 测试全绿。 唯一关键缺口:真实小麦/大麦透明化脉图(公开数据查证不存在,只能自己成像)。详见
docs/scorecard.md。
git clone https://github.com/Vambrocop/VeinForge
cd VeinForge
pip install -e ".[dev]" # 核心 + 测试
pytest -q # 验证安装(应 46 passed)可选附加(按需):
pip install -e ".[stress]" # 随机森林胁迫分类(scikit-learn)
pip install -e ".[dl]" # 深度学习分割(PyTorch)
pip install -e ".[gui]" # napari 查看器veinforge run ./tiles --pixel-size-um 1.23 --out results输入一批透明化脉网图 → 输出 results/:
results.csv— 每图性状:脉密度、脉宽、脉间距、自由末端、areole、纵/横脉密度、整叶形态…samples_summary.csv— 样本级均值±SD ·qc/*_overlay.png— 质控叠加图 ·params.yaml— 参数快照 ·veinforge.db— SQLite 结果库
切换分割后端:--segmenter classical(默认,不训练)/ --segmenter dl --model models/xxx.pt(训练好的 DL)。
veinforge view ./tiles/example.tifveinforge stress compare results/results.csv --label treatment # 不训练:看哪些脉指标随胁迫显著变化
veinforge stress train results/results.csv --label treatment # 随机森林分类器
veinforge stress predict new.csv --model models/stress_rf.joblibveinforge leafstress train data/leaves # 布局:data/leaves/healthy/*.jpg, data/leaves/stressed/*.jpg …
veinforge leafstress predict leaf.jpg --model models/leaf_clf.joblibpython scripts/make_synth_pretrain.py --style realistic --out data/pretrain_synth # 零数据合成训练集
python scripts/fetch_retinal.py # 视网膜血管预训练料(STARE)
python scripts/train_dl.py --data data/train --val data/val --epochs 50 --out models/unet.pt
# --init <预训练.pt> 迁移微调 · --val <固定holdout> 按最佳 IoU 存模型 · clDice+增强默认开训练好的 .pt 直接插回流水线:veinforge run ... --segmenter dl --model models/unet.pt。
python scripts/benchmark.py # 在留出真值上算 IoU/Dice/速度,vs ImageJ/GrasVIQ 参照pip install -e ".[web]" && streamlit run scripts/webapp.py # 浏览器:拖图→出性状表+质控图→下载 CSV
veinforge correct leaf.tif --out mask.png # napari 画笔修正掩膜,关窗即保存文档(都在 docs/)
| 文档 | 内容 |
|---|---|
| spec · plan | 设计规格 · 实现计划 |
| p2-roadmap | DL 分割 + 胁迫表型路线 |
| benchmark · scorecard | 多维技术对比 · 项目自评(版本追踪) |
| training-plan | GPU/数据到位后怎么优化训练 |
| colab-gpu | 免费云 GPU(Colab/Kaggle)训练配方 |
| retrain | 如何(再次)训练 DL 模型 |
| train_strong_base.ipynb |
Colab 一键:免费 GPU + 全部公共数据 → 强通用脉底座 |
| backlog · ideas · audit-log | 缺口日志 · 点子日志 · 代码审核日志 |
| related-work | 参考工具/数据集 |
- ✅ 经典 CV 叶脉量化、叶脉胁迫表型、整叶 RGB 胁迫分类、DL 框架、benchmark、全套规划/审核文档。
⚠️ 准确度 IoU ≈ 0.52(经典)/ 0.66(DL),受 CPU + 小数据限制;速度/自动化/可复现远超手工(ImageJ)。- 🔴 唯一关键缺口:真实小麦/大麦图——拿到后
train_dl.py --init ... --val ...微调即可。其余胁迫轨也都"能跑,需真实带标签数据才出科学结论"。
改进方向与优先级见 scorecard.md(分维度打分)、training-plan.md、backlog.md。