惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
GRAHAM CLULEY
V
V2EX
WordPress大学
WordPress大学
博客园 - Franky
Last Week in AI
Last Week in AI
博客园 - 司徒正美
有赞技术团队
有赞技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
V
Visual Studio Blog
C
CERT Recently Published Vulnerability Notes
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
Attack and Defense Labs
Attack and Defense Labs
腾讯CDC
The Hacker News
The Hacker News
Hugging Face - Blog
Hugging Face - Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
J
Java Code Geeks
人人都是产品经理
人人都是产品经理
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
A
Arctic Wolf
量子位
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
News and Events Feed by Topic
雷峰网
雷峰网
博客园_首页
Google Online Security Blog
Google Online Security Blog
Spread Privacy
Spread Privacy
罗磊的独立博客
H
Hacker News: Front Page
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
TaoSecurity Blog
TaoSecurity Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
IT之家
IT之家
The Cloudflare Blog
爱范儿
爱范儿
博客园 - 叶小钗
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell

RealCat

📝笔记:图像匹配挑战赛回顾(CVPR 2023) | RealCat 📝笔记:Stable Diffusion QR-Code | RealCat 📝笔记:Python zip() | RealCat 📝笔记:5秒钟训练NeRF,NVIDIA Instant NeRF 测试 | RealCat 📝笔记:Visualization Localization Revisited(under construction...) | RealCat 📝笔记:使用vlfeat的Matlab接口简单实现BOW以及VLAD | RealCat 📝笔记:一些关于KD-Tree的知识点 | RealCat 📝笔记:简明矩阵求导术之分子布局与分母布局 | RealCat 📝笔记:使用Clockwise/Spiral Rule技巧轻松读懂变量/函数声明 | RealCat 🔨工具:优雅地下载Youtube视频 | RealCat 🔨工具:每日自动获取arXiv论文摘要 | RealCat 🎃资料: 从Eigen向量化谈内存对齐 | RealCat 📝笔记:图像匹配挑战赛总结 (SuperPoint + SuperGlue 缝缝补补还能再战一年) | RealCat 📝笔记:ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM | RealCat 📝笔记:CVPR 2021 | PixLoc: 端到端场景无关视觉定位算法(SuperGlue一作出品) | RealCat 📝笔记:港大MARS实验室 R3LIVE (R2LIVE升级) 鲁棒实时RGB雷达视觉惯导紧耦合状态估计 | RealCat 🔨工具:bash常用命令 | RealCat 📝笔记:VSLAM基础知识导图 | RealCat 📝笔记:Patch-NetVLAD论文阅读 | RealCat 📝笔记:光场相机能否用于SLAM? | RealCat 📝笔记:读写文本常用操作 | RealCat 📝笔记:CVPR 2020 视觉定位挑战赛冠军方案 | RealCat 📝笔记:三维重建系列 COLMAP: Structure-from-Motion Revisited | RealCat 🐈芒果驾到 | RealCat 📝笔记:GMS一种基于运动统计的快速鲁棒特征匹配过滤算法 | RealCat 🌡️秋天到了,还是很热 | RealCat 📝笔记:AdaLAM: Revisiting Handcrafted Outlier Detection 超强外点滤除算法 | RealCat 🔨工具:使用vercel加速Hexo静态博客访问 | RealCat 📝笔记:ORB-SLAM3论文阅读 | RealCat 🔨工具:解决Github挂图及龟速访问 | RealCat 📝笔记:图解卡尔曼滤波 | RealCat 🔨工具:国内加速访问arxiv | RealCat 📝笔记:CVPR2020图像匹配挑战赛,新数据集+新评测方法,SOTA正瑟瑟发抖! | RealCat 📝笔记:SuperGlue:Learning Feature Matching with Graph Neural Networks论文阅读 | RealCat 📝笔记:SLAM常见问题(四):求解ICP,利用SVD分解得到旋转矩阵 | RealCat 📝笔记:SLAM常见问题(五):Singular Value Decomposition(SVD)分解 | RealCat 📝笔记:SLAM常见问题(三):PNP | RealCat 📝笔记:SLAM常见问题(二):重定位Relocalisation | RealCat 📝笔记:SLAM常见问题(一):SearchByBoW | RealCat 📝笔记:2019年浙大CADCG暑假SLAM培训部分课件 | RealCat 🔨工具:Filebrowser:一款轻量级个人网盘 | RealCat 📝笔记:SuperPoint: Self-Supervised Interest Point Detection and Description 自监督深度学习特征点 | RealCat Black Hole | RealCat 🔥Awesome CV Works | RealCat 🔨工具:开启SSR模式 | RealCat 虚实:「未麻的部屋」 | RealCat 笔记:李群与李代数求导 | RealCat 资料:ORB SLAM2 阅读报告 | RealCat 资料:SLAM草稿 | RealCat 资料:Line Segments Detection | RealCat 资料:Eigen与Matlab语句之对应关系 | RealCat 笔记:清华-谷歌人工智能研讨会(Tsinghua-Google AI Symposium) | RealCat Think Different | RealCat Light Field Depth Estimation | RealCat CV Related References | RealCat 立体视觉综述:Stereo Vision Overview | RealCat Lytro的光场AR之路:从巅峰到死亡 | RealCat Stephen Hawking | RealCat 常用的生产力工具 | RealCat 深度学习在深度(视差)估计中的应用(2) | RealCat 深度学习在深度(视差)估计中的应用(1) | RealCat Matlab Deep Learning学习笔记 | RealCat CNN框架(CNN Architectures) | RealCat 理解LSTM网络【译】 | RealCat 降维之PCA主成分分析原理 | RealCat 📝笔记:SIFT和SURF特性提取总结 | RealCat 统计学习方法总结 | RealCat Ubuntu上使用Git以及GitHub | RealCat 机器学习修炼手册 | RealCat 初试HCI光场数据集 | RealCat 实习季到了,大家又浮躁了起来 | RealCat 日本与美国之行 | RealCat Light Field 光场以及MATLAB光场工具包(LightField ToolBox)的使用说明 | RealCat MATLAB:多个不同维度的箱线图画在一起 | RealCat AR形势与应用 | RealCat Hexo+Github+jsDelivr+Vercel建站备忘录 | RealCat Markdown 学习 | RealCat 复试那些事儿 | RealCat
📝笔记:图像匹配挑战赛回顾(CVPR 2022) | RealCat
2022-07-09 · via RealCat

笔者跟踪这项比赛较长时间,去年和前年已经写过两篇 2021, 2020, 主页, 比赛地址

其实,本来去年的比赛就要放在Kaggle上进行的,但是由于疫情以及数据准备较为耗时,于是这个决定就被推迟到了今年。

今年比赛共有3846人参与,共计642个队伍,其中128个用户是他们首次参与比赛(Top20中占有18个新用户),这些参与者来自60个国家,另外共有14170次提交记录。

通过下图可以看出:超过25倍的参与者以及150倍的提交记录:

Fun fact: 冠军方案在deadline前48小时才完成。

不同之处

相比往年的比赛,今年的不同之处具体表现在如下几个方面:

  • 参赛者需要提交 notebooks 离线处理比赛用的数据
  • 参赛者无法查看测试集:很难作弊
  • 允许算法快速迭代

除此之外,还有几点差异:

  1. 砍掉了multiview track(多视图匹配赛道),仅专注在stereo track。这么做的原因有很多,最主要的是“技术问题”,即很难在有限合理的时间内运行以及评价匹配性能。
  2. 新的数据集以及评价标准。往年的真值位姿的平移量没有尺度,仅能够评价旋转的精度;而今年的平移量拥有了尺度信息,这使得可以同时评价位姿旋转量与平移量。此外,今年使用了来自Google的非公开数据集(网上是搜不到滴)。
  3. 时间限制。总计算时长被限制在9小时(计算平台:Kaggle GPU virtual instance)以内,不能超时!这让参赛者要思考,什么算法能用什么算法不能用。一个简单的例子:使用语义分割mask对提升指标可能是有帮助的,但是需要的算力太大,那就不能使用!

Top solutions

与以往不同,今年几乎所有排名靠前的队伍都使用了相似的流程,虽然实现细节不同,但是核心思想是相似的…

最终排名第二的方案(hkchkc)采用了不同的方案,该方案并没有使用任何前/后处理,并且在比赛过程中该算法曾经“霸占”Top1很长一段时间。

如下所示为一个通用的特征匹配流程(被诸多参赛者使用):

  1. 第一步使用 off-the-shelf 模型获得初始匹配。这些模型包括 LoFTR1, SuperGlue2, QuadTree Attention LoFTR3。一些队伍还使用了尺度增强算法(多尺度特征匹配)。
  2. 下一步就是估计两张图的共视区域,一个常用的方法是用 K-means 或者 DBSCAN (top1方案) 对匹配进行聚类,然后找到图像上共视区域的 bbox (bounding box),这个 bbox 里包含数量最多的匹配对,这样做可能得到多个潜在的共视区域。紧接着,使用每个共视区域的匹配计算基础矩阵。另外一种不需要聚类的思路是利用 MAGSAC++ 在低阈值条件下迭代几轮排除一些错误匹配,然后也可以得到 bbox。
  3. 裁剪出每个 bbox 区域,随后将其resize到一个预设的图像尺寸。紧接着,使用匹配算法对这些 “zoomed-in” 过的图像进行再次匹配。得到新的匹配之后,将这些匹配对投影到原始的图像上,这些投影后的匹配和最原始的图像匹配进行串联组织起来。注意,“zoomed-in” 后的匹配是为了增加匹配,而不是替换原来的匹配。
  4. (可选) 这一步使用非极大值抑制过滤过于集中的匹配对。非极大值抑制 包括 ANMS4 或者基于半径的NMS算法。
  5. 使用OpenCV MAGSAC++ 求解基础矩阵。

更为具体的,此处列举Top1/Top2方案。

Top1 思路

完全基于开源匹配器 (LoFTR1, SuperGlue2, DKM5) 组合达到该名次,不可思议!取得该名次另外一个关键原因在于,该方案使用了多尺度图像裁剪后进行匹配的 “2-stage” 策略。

具体的步骤如下: 1. 图像初始匹配: LoFTR1 提取图像特征,分辨率840;Superpoint+SuperGlue2 提取多尺度图像特征,分辨率 840, 1024, 1280;紧接着将这两种匹配器得到的匹配进行串联;这是本方案的第1阶段匹配; 2. 使用 DBSCAN 对匹配进行聚类,可以获得最佳的80-90%的匹配对;紧接着得到一个对应区域的 bbox,将这个区域裁剪出来,作者将这种方式称为 mkpt_crop。mkpt_crop 可以有效地过滤外点以及提取共视区域; 3. 使用 LoFTR1, SuperGlue2, DKM5 重新对共视区域进行再次匹配,这是本方案的第二阶段匹配; 4. 将上述两个阶段的匹配对串联起来,使用 MAGSAC 解算基础矩阵。

Top2 思路

几个关键点:

  1. 仅仅使用单一模型(Baseline)就可以获得0.838(public)/0.833(private)精度;这个模型与 LoFTR1 结构类似,同样是基于transformer直接进行图像匹配,没有特征点。不过作者提到,现阶段论文还在盲审,目前不能公开太多信息;
  2. 使用其他匹配器(Baseline + QuadTree3 + LoFTR1 + SuperGlue2)进一步增强精度;
  3. 使用归一化位置编码;
  4. 没有使用前/后处理;

有用的tricks

  1. 交换图像匹配顺序可提升 LoFTR-like 匹配器的精度
  2. 对 LoFTR-like 匹配器的位置编码归一化有效 (top2方案)
  3. 使用不同的 resize 图像的方法差异不大
  4. 使用 ECO-TR 对坐标进行优化有效 (未开源)
  5. 使用局部描述子+非学习的匹配器增加匹配数量并不奏效,如 DISK6 , ALIKE7 等;
  6. 语义分割掩码(天空/人)也不奏效; Refinement by ECO-TR

总结

  1. “2-stage” 的方式对于图像匹配任务相当有效:首先找到共视区域,接着缩放进行匹配;
  2. 最好首先解决 “recall” 问题,即尽可能多的找到匹配,这个过程可以使用不同的匹配器;要相信现代的 RANSACs 可以使用较少的内点恢复位姿;
  3. LoFTR1 对输入图像大小非常敏感,这一点值得后续继续研究。
  1. LoFTR: Detector-Free Local Feature Matching with Transformers, CVPR 2021, code: https://github.com/zju3dv/LoFTR, pdf: https://arxiv.org/abs/2104.00680 ↩ ↩234567

  2. SuperGlue: Learning Feature Matching with Graph Neural Networks, CVPR 2020, code: https://github.com/magicleap/SuperGluePretrainedNetwork, pdf: https://arxiv.org/abs/1911.11763 ↩ ↩2345

  3. QuadTree Attention for Vision Transformers, ICLR 2022, code: https://github.com/Tangshitao/QuadTreeAttention, pdf: https://arxiv.org/abs/2201.02767 ↩ ↩2

  4. ANMS, Efficient adaptive non-maximal suppression algorithms for homogeneous spatial keypoint distribution, code: https://github.com/BAILOOL/ANMS-Codes, pdf: https://www.researchgate.net/publication/323388062\_Efficient\_adaptive\_non-maximal\_suppression\_algorithms\_for\_homogeneous\_spatial\_keypoint\_distribution

  5. DKM, Deep Kernelized Dense Geometric Matching, arxiv 2022, code: https://github.com/Parskatt/DKM, pdf: https://arxiv.org/abs/2202.00667 ↩ ↩2

  6. DISK: Learning local features with policy gradient, NeurIPS 2020, code: https://github.com/cvlab-epfl/disk, pdf: https://arxiv.org/abs/2006.13566

  7. ALIKE: Accurate and Lightweight Keypoint Detection and Descriptor Extraction, Transactions on Multimedia 2022, code: https://github.com/Shiaoming/ALIKE, pdf: https://arxiv.org/abs/2112.02906