拓冰建站拓冰建站
首页 / 资讯中心 / 正文

快速提升检索性能的5个技巧:University1652-Baseline的GeM池化、fp16/bf16与随机擦除实战

快速提升检索性能的5个技巧University1652-Baseline的GeM池化、fp16/bf16与随机擦除实战【免费下载链接】University1652-BaselineACM Multimedia2020 University-1652: A Multi-view Multi-source Benchmark for Drone-based Geo-localization :helicopter: annotates 1652 buildings in 72 universities around the world.项目地址: https://gitcode.com/gh_mirrors/un/University1652-BaselineUniversity1652-Baseline 是 ACM Multimedia 2020 论文University-1652的官方基线代码库面向无人机跨视角地理定位与跨视角图像检索任务给定一张无人机航拍图在卫星图中找到同一栋建筑覆盖全球 72 所大学的 1652 栋建筑。想在检索准确率上快速提分本文总结 5 个开箱即用的实战技巧GeM 可学习池化、fp16/bf16 混合精度训练、随机擦除数据增强、stride1 高分辨率输入、GNN 重排后处理全部通过命令行参数即可开启新手也能直接上手。技巧1GeM池化——一个参数提升特征表达力传统 CNN 用平均池化avg或最大池化max把特征图压缩成一个向量前者会稀释显著特征后者只保留最响应的少数区域。GeMGeneralized Mean池化则引入一个可学习的指数参数 p让网络自己学会介于平均和最大之间的池化强度特征向量更贴合检索任务的需求。实现位置model.py中的GeM类p 初始值为 3随训练自动调整开启方式训练和测试时都加上--pool gem池化方式参数特点平均池化--pool avg默认稳定但会弱化显著特征最大池化--pool max只关注最强激活易忽略细节平均最大拼接--pool avgmax特征维度翻倍GeM 池化--pool gemp 可学习综合效果最佳GeM 同时支持 ResNet502048 维和 VGG16512 维两种骨干网络只需在训练命令后追加--pool gem即可无需修改任何代码。技巧2fp16 / bf16 混合精度——显存立省50%跨视角地理定位常需要 256×256 甚至更高分辨率输入GPU 显存往往是瓶颈。项目已用PyTorch 原生 AMP自动混合精度替代了旧版 apex 依赖一行参数即可开启--fp16使用 float16配合torch.cuda.amp.GradScaler做损失缩放防止小梯度下溢见train.py中autocast与scaler部分--bf16使用 bfloat16动态范围与 float32 相同数值更稳定、不易溢出在 Ampere 及更新架构的 GPU如 A100、RTX 30/40 系上速度收益更明显两种模式都能节省约 50% 显存从而可以加大 batchsize 或输入分辨率。推理同样受益test.py与evaluate_gpu.py也都支持--fp16/--bf16参数特征提取阶段全量跑图库图像时提速明显。技巧3随机擦除——免费的数据增强无人机图与卫星图之间存在巨大视角差异模型容易过拟合局部纹理。随机擦除Random Erasing在训练时以一定概率随机涂掉图像中的一块矩形区域迫使网络依赖更全局、更鲁棒的特征——这对跨视角图像检索尤其有效。实现位置random_erasing.py擦除面积比例 0.02~0.4宽高比在 1/3~3 之间随机开启方式--erasing_p 0.5擦除概率默认 0 表示关闭在train.py的数据预处理流水线中设置erasing_p 0后会自动把RandomErasing追加到转换链末尾。建议从0.3~0.5开始尝试这是零成本提升泛化能力的手段。技巧4stride1 256×256 输入——保留空间细节地理定位的本质是空间细节匹配屋顶轮廓、操场、道路走向默认stride2会把最后一层卷积的步长设为 2特征图进一步缩小空间信息丢失严重。--stride 1将 ResNet 最后一层layer4首个卷积步长改为 1特征图分辨率翻倍细节保留更充分--h 256 --w 256输入分辨率 256×256配合stride 1是官方推荐组合代价是计算量上升——这正是需要配合技巧2 的混合精度来抵消显存和速度开销的原因两者组合使用效果最好。技巧5GNN Re-Ranking——实时重排冲刺 Top-1前面四个技巧作用于训练阶段最后一个技巧在推理后处理阶段发力GPU-Re-Ranking/目录提供了一个基于图神经网络GNN的重排模块利用查询图像与候选图像之间的两两相似度图结构做实时重排序进一步把目标建筑顶到 Top-1且完全基于 CUDA 扩展实现速度接近实时。入口脚本GPU-Re-Ranking/evaluate_rerank_gpu.pyCUDA 扩展邻接矩阵构建GPU-Re-Ranking/extension/adjacency_matrix/与 GNN 传播GPU-Re-Ranking/extension/propagation/编译方式见GPU-Re-Ranking/README.md一键组合完整训练命令实战把 5 个技巧组合起来一条命令即可完成训练--extra --views 3 --share表示使用街景视图、共享三视图骨干权重python train.py --name gem_fp16_erasing \ --extra --views 3 --droprate 0.75 --share \ --stride 1 --h 256 --w 256 \ --pool gem --fp16 --erasing_p 0.5 python test.py --name gem_fp16_erasing --pool gem 小贴士--pool、--h、--w等关键参数会被自动记录到model/对应实验目录下的opts.yaml中测试时注意保持与训练一致。训练完还可以用demo.py --query_index 0可视化 Top-10 检索结果总结5个技巧速查表#技巧参数/位置收益1GeM 可学习池化--pool gemmodel.py特征表达更强检索更准2fp16 / bf16 混合精度--fp16/--bf16显存省约 50%可加大 batch3随机擦除增强--erasing_p 0.5random_erasing.py提升跨视角泛化能力4stride1 高分辨率--stride 1 --h 256 --w 256保留空间细节定位更精细5GNN 重排后处理GPU-Re-Ranking/实时重排冲刺 Top-1这 5 个技巧覆盖了特征池化 → 训练效率 → 数据增强 → 输入分辨率 → 后处理重排的完整链路按需叠加即可显著提升 University-1652 上的跨视角图像检索性能。【免费下载链接】University1652-BaselineACM Multimedia2020 University-1652: A Multi-view Multi-source Benchmark for Drone-based Geo-localization :helicopter: annotates 1652 buildings in 72 universities around the world.项目地址: https://gitcode.com/gh_mirrors/un/University1652-Baseline创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门