返回列表

30th place solution

556. Image Matching Challenge 2023 | image-matching-challenge-2023

开始: 2023-04-11 结束: 2023-06-12 计算机视觉 数据算法赛

第30名解决方案

祝贺大家共同经历了这场比赛的旅程,同时感谢主办方再次将图像匹配挑战赛带到Kaggle平台。

我将对本次挑战的解决方案作简要介绍。

整体架构

我参与本次比赛的时间非常有限,且仅从IMC 2022中获得少量经验。因此这很可能是我首次完整实践3D重建流程。

我严格遵循主办方提供的流程框架,将其划分为三个模块:

  • 全局描述符
  • 局部描述符(匹配)
  • 重建

我的主要工作集中在分别提升各模块的效率。

全局描述符

我认为在地标数据集上充分训练的模型,能提供优于ImageNet预训练骨干网络的描述符。

因此我使用了为Google地标识别2021比赛训练的模型,将其连接形成全局描述符:

EfficientNetV2-M \
EfficientNetV2-L  \
.                  |-->[concat]--> [fc 2048]
ResNeSt-200       /  
ResNeSt-269      /

局部描述符

今年比赛要求参赛者在严格的时间限制内完成匹配任务。

我仅关注基于检测器(两阶段)的方法,因为认为可以在特征点检测环节节省时间(例如匹配(image_i, image_j)(image_i, image_k)时,半稠密和稠密方法需要两次"提取"image_i)。阅读其他顶尖队伍方案后,我发现这可能是错误决策,遗漏了大量优秀匹配模型😭。以下是我尝试过的方法:

检测器:SuperPoint、SuperPoint + FeatureBooster、KeyNetAffNetHardNet、DISK、SiLK、ALIKE
匹配器:SuperGlue、GlueStick、SGMNet、AdaLAM

检测器方面,SuperPoint表现最优。
匹配器方面,SuperGlue在精度和效率上表现最佳。GlueStick效果良好但速度较慢,SGMNet速度快但精度较低。我融合了各方法的预测关键点与匹配结果并去重。

重建

我认为此环节提升空间有限,因此仅微调colmap参数以寻找优于默认配置的组合。调整参数包括:

max_num_trials
ba_global_images_freq
ba_global_max_num_iterations
ba_global_points_freq
ba_local_max_num_iterations
init_num_trials
max_num_models
min_model_size

通过更轻量的参数组合,在保持精度的同时节省了些许时间。

总结思考

我的解决方案相对简单,但仍助力获得银牌:D。

更重要的是,比赛中获得的知识才是最宝贵的收获。

感谢阅读,祝Kaggle愉快!

同比赛其他方案