第六届智慧城市比赛--全景图定位

一、比赛任务简要介绍

任务要求:

基于全景图像的室内外定位,即利用全景图像中特征点的位置关系来确定全景相机拍摄的坐标。
简单说就是每个场景他都给一组图片(用Insta360 Pro2相机拍摄的六个鱼眼图片和对应的合成全景图),图片如下:


给定了标定的相机内参以及训练集的绝对坐标,如下(图片名称,x,y,z):

任务要求:

对同一个场景下测试集的图片进行定位

二、比赛进程回顾

整体回顾就是各种方法的baseline大作战
目前战况如下:

第一阶段 -- 深度学习直接回归坐标

前期就感觉深度学习肯定好,因为大家都在搞这个,然后调研了不少方法,比较有代表性的就是posenet--《PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization》
这个方法就是直接用深度学习去预测相机的坐标,网络里在卷积层后面加上了LSTM,把一组图片给他输入,网络就能学习到一个场景下的一些信息去预测相机位置。
不过这方法尝试几次基本无解,原论文backbone是VGG能跑到30分吧,即便是跑ResNet34和50的backbone也就能提高一两个点。但是当时第一已经快40分了。
最后又研究下,最新的CVPR19论文《Understanding the Limitations of CNN-based Absolute Camera Pose Regression》直接就说了,那些用CNN回归相机位姿的方法其实最后都退化成图像检索了,整个网络就是在从学到的图像库中检索一个最相似的图片返回给你。
所以放弃深度学习了。

第二阶段 -- 传统三维重建

初期OpenMVG + 默认参数

开始考虑了好多方法,因为毕竟有很多框架嘛,但是还是选择了openMVG,主要是他有 球形相机模型。这个模型可以让你直接将全景图放进去重建,不需要进行什么去畸变切成透视图的操作。
然后有了显著提升:


感觉还不错,直接比CNN高了十几点!
当时我发现问题就是,我为了追求高精度用的自己合成的高清照片,但是我同学用的他们给的相机自身合成的小分辨率图片得到的结果竟然比我好三个点。
我越想越不对劲,然后检查一下他们给的小分辨率图片的Exif信息,发现有的竟然有GPS坐标!感觉貌似找到了原因。。。
就这样我用OpenMVG到了50点。

中期OpenMVG + 各种特征点 + 调参

SIFT、AKAZE、LFNET、D2NET、ContextDesc都尝试过。
总结说吧,都是半斤八两,深度特征点很多情况更差,也就ContextDesc有时候能高那么一两个点。
我放几张图就能感受到:
首先是LFNET,一张图片提取一万个特征点来匹配:

matchResult-lfnet-kpt10000.jpg

简直惨不忍睹,可能是训练集问题吧,这个网络的描述点泛化能力不咋地。
然后是D2Net:
matchResult-d2net.jpg

简直是随机匹配666
比较好的是ContextDesc:

好太多了,但是这个描述点计算起来超级慢,超级消耗资源。
最后放上最传统的SIFT吧:
sift.png

虽然不知道正确匹配的结果,但是看起来就觉得sift果然是经典。

现在COLMAP + 调参

直接锤爆OpenMVG,参数都不用调整,直接auto跑起来就是65分!baseline太高了,而且大家都发现这个东西了。感觉随时都可能被顶下来。
做法:
COLMAP没球形相机模型,所以我只好crop出来的透视相机来跑重建,原图如下:


PIC_20190522_100349.jpg

Crop后的小图片:


image.png

问题挺多的,总结下吧:

  1. 由于是切割的图片,会导致重建出来的属于同一地点的相机有偏移。
    image.png

    在这种情况下,直接求平均值肯定不是最好的解决方案。我查阅很多COLMAP的文档和Issue,关于相机间的的相对位姿是可以做到硬约束的,我也实现了这个脚本。但是目前看来这个硬约束就是在重建的结果基础上再做一次全局的BA,提升非常有限,甚至会导致结果变差(很简单,就是在之前重建的基础上有同属于一个位置的不同相机被SfM当作不在一个地点,而且这个差距还比较大,这时候强行给一个约束就会将别的很好的相机拉过去强行满足这个条件,自然结果不会好,毕竟tracks什么都还是之前计算的。)
  2. 有的场景表现的还不如OpenMVG
    主要是全景图问题,这个Colmap用的是crop后的图片,在纹理比较少的地方就会丢失相机,而全景图先天具有特点就是视野非常大,即便是某处没纹理但是其他地方也有纹理,这就对重建非常有利。
  3. 最重要是怎么调参来提高精度
    感觉重建的结果不一定跟图片的分辨路呈正相关结果。有时候小的图片反而更好。
    图片大时候提取特征点数目也要变多,但是不是越多越好,就我实验一张图三十万的特征点跟一万特征点很多时候不是变好的。
    match严格那么精度有所提高但是相机会丢失,宽松了精度就下来了。
    reconstruction时候怎么才能不让他初始化距离为1,因为这样转换误差比较大。
    大场景global肯定比incremental好,但是colmap其实没有这个选项,只能通过调节局部BA和全局BA频率来降低累积的误差。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容