The Ultimate AI Culling Tool for Bird Photographers. 告别“数毛”虑,让 AI 帮你从数千张连拍中挑出最锐利的瞬间。
(下载说明:进入页面后,在 Assets 列表下找到并下载 BirdPhotoSorter_v2.2_Windows.zip 即可。)
Bird Photo AI Sorter 是专为生态摄影师打造的智能化后期初筛工具。针对鸟类摄影中“高速连拍、景深极浅、背景杂乱”的痛点,它利用计算机视觉与机器学习技术,实现像素级的锐度分析与自动化分类。
🚀 v2.2 架构大重构 (Milestone):
彻底重写了底层架构,移除了庞大且兼容性受限的 PyTorch,全面拥抱 ONNX Runtime (DirectML) 与 YOLOv11。同时,我们将特征提取引擎精简至全新的“黄金 9 维特征”,并引入了专业的可视化 GUI 和极致的多核并发优化。现在的它,不仅更准、更快,而且真正做到了开箱即用。
- 告别 PyTorch:去除了高达数 GB 的深度学习环境依赖,模型全面转换为 .onnx 格式。
- DirectML 支持:不再局限于 NVIDIA 显卡,完美支持 Windows 环境下的 NVIDIA / AMD / Intel 核显 硬件加速。
- 智能线程管控:突破“GPU 摸鱼,CPU 堵死”的并发瓶颈,在纯 CPU 模式下自动解除线程锁,实现真正的物理满血并发(16核CPU即可达到惊人的吞吐量)。
移除了抗干扰能力差的色彩、偏度等冗余维度,专注于核心物理指标:
- 微反差杀手锏 (Micro-Contrast):引入拉普拉斯/索贝尔频段比值,专攻 Soft(微虚)与 Perfect(极锐)的极限区分。
- 高斯差分 (DoG) 与 抗噪比代理 (SNR_Proxy):极大地提升了对超高 ISO 噪点图的抗干扰能力,防止噪点被误判为“锐利细节”。
- 采用最新的 yolo11m-seg (Medium) 实例分割模型,提取鸟类轮廓更精准、计算开销更低。
- 先粗搜,后精算:YOLO 在 640x640 下快速找鸟,OpenCV 物理引擎在反向映射的 1600x1600 超清原图切片上进行“数毛级”特征提取。通过“极速小掩码反向剪裁算法”,将内存消耗降低了 98%。
- 告别繁琐的命令行,提供了支持中英双语的现代化图形界面。
- 提供一键式操作日志、实时进度条及处理统计。
- 极简选项设计,支持 Auto(优先 GPU) 与 CPU(满核渲染) 模式一键切换。
- 通过精细化虚拟环境管理与 PyInstaller 极致瘦身,将原本动辄几个 G 的 AI 软件打包为了仅约 400MB 的独立文件夹。
- 摄影师无需安装任何 Python 环境,双击 .exe 即可起飞。
软件提供两种物理/逻辑操作模式,完美融入现代后期管线:
- 📂 模式 1: 物理移动 (Move Files) 自动在当前目录下建立 Trash / Soft / Perfect 子文件夹,并将照片直接移入。适合快速清理硬盘空间。
- 🏷️ 模式 2: 无损标注 (Generate XMP - 推荐!) 照片物理位置不变,AI 会在同级目录下生成同名 .xmp 文件。导入 Lightroom / Capture One 后自动呈现星级与颜色标签:
- 🟢 绿色 (5星) = Perfect (极品实焦)
- 🔴 红色 (3星) = Soft (缩图可用)
- 🟣 紫色 (1星) = Trash (建议删除)
- 在 Releases 页面下载最新的 BirdPhotoSorter_v6.zip。
- 解压到电脑任意位置。
- 确保 yolo11m-seg.onnx 和 best_bird_model_final.pkl 存在于程序根目录。
- 双击 BirdPhotoSorter.exe 运行。
- 选择包含照片(支持 RAW / JPG)的文件夹,点击开始处理即可。
本项目包含一套完整的人机闭环(Human-in-the-loop)工具链,方便你针对自己的镜头设备训练专属 AI。
python -m venv env
env\Scripts\activate
# 安装核心极其精简的依赖,避免臃肿
pip install numpy opencv-python onnxruntime-directml scikit-learn rawpy joblib pandas tqdm
- 第一步:建立基准 (data_labler_v2_multibirds.py) 支持“新图标记”与“纠错”双模式。配合 HUD 视窗,快速对鸟类进行 1/2/3 评级,并自动生成 labels_multi.csv。支持单张照片多只鸟的独立检测与打分!
- 第二步:特征提炼与训练 (train_classifier_locked.py) 利用提取出的 9 维特征训练随机森林分类器。脚本自带独立验证集考核,将自动打印出精确率、召回率、特征重要性排榜,并输出分歧误差报告 error_analysis_gpu.csv。
- 第三步:闭环微调 拿着生成的误差报告,再次运行 data_labler_v2_multibirds.py 选择模式 [2],专门复盘 AI 的误判,让人类和 AI 达成审美共识。
在干净的虚拟环境中执行以下命令(剔除了多余巨无霸库),将软件压缩至极致:
pyinstaller -D -w --name "BirdPhotoSorter" --exclude-module torch --exclude-module torchvision --exclude-module pandas --exclude-module matplotlib --exclude-module PyQt5 --exclude-module IPython --exclude-module notebook gui_main.py
基于 v6.x 架构在主流硬件上的实测数据:
| 硬件环境 | 引擎模式 | 平均吞吐速度 (张/秒) | 性能评价 |
|---|---|---|---|
| Intel i7 (12核) + 纯 CPU | 纯 CPU 解锁满载 | ~ 8 - 12 fps | 非常优秀,内存零拷贝极速解码 |
| RTX 4060 / 5060 Laptop | DirectML 加速 | ~ 15 - 25 fps | 极致性能,受限于 SSD 读取速度 |
- 模型准确度考核 (Validation Set):
- 总体 Accuracy: 72% ~ 80% (基于严苛的微虚界定)
- 特征杀手锏: Micro_Contrast 与 DoG 占据了超过 35% 的决策权重。
- 对于彻底跑焦的 Trash,精度高达 86%+。
本项目旨在利用边缘计算技术,将摄影师从繁重的后期海选中解放出来。
- 如果你有更好的特征提取数学公式,欢迎提交 Pull Request!
- 发现 Bug 或性能瓶颈,欢迎在 GitHub 提交 Issue。
“把挑选废片的时间,留给大自然。”