细粒度鸟类图像检索系统-VisionSearch-FG
项目描述 细粒度鸟类图像检索系统
VisionSearch-FG 是一个面向细粒度图像检索的实验项目,以 CUB-200-2011 鸟类数据集(200 个类别、约 1.2 万张图)为研究对象,完整实现了”分类特征提取 → embedding 检索 → 表征与检索优化”的研究链路。项目以 PyTorch 为核心,通过 ResNet-18、Swin-Tiny、ConvNeXt V2 等骨干网络的对比实验,系统验证了冻结探针、部分/全量微调、监督对比学习、度量学习(ArcFace)、前景裁剪与部件对齐等方法对细粒度检索精度(Recall@K、mAP)的影响,最终模型在测试集上达到 Recall@1 88.30%、mAP 83.59%。
项目功能
项目包含数据处理与固定划分、模型训练(分类、对比学习、度量学习)、embedding 提取与评估、FAISS 精确/近似检索、检索后处理(多视角平均、查询扩展)、Grad-CAM 与注意力可解释性分析、embedding 降维与归一化对照实验,以及检索定性报告生成等模块;另附一个基于标准库的 Web 演示页面,可在浏览器中选择鸟类图片并实时查看 Top-10 相似检索结果。
运行环境
Windows 环境,Python 3.11,PyTorch 2.x CPU 版(亦支持 CUDA),依赖通过 requirements.txt 安装;数据需将 CUB-200-2011 解压至 data/raw/ 目录,预训练权重由 torchvision/timm 自动下载。当前在纯 CPU 上可完整运行训练与评估:ResNet-18 全量微调约 6 分钟/epoch,Swin-Tiny 约 25 分钟/epoch,检索评估为秒级。
项目技术
技术栈为 PyTorch + torchvision + timm(模型)、NumPy + FAISS-cpu(向量检索)、scikit-learn(PCA 等分析)、Pillow/torchvision transforms(图像预处理)、grad-cam(可视化);工程上采用 YAML 配置驱动实验、固定随机种子(seed=42)、train/val/test 三划分协议(validation 选模型、official test 仅最终评估一次),Web 演示部分仅使用 Python 标准库 http.server,零额外前端依赖。
以上系统源码经过技术整理与调试,确保能正常运行


