本文作者:田飞鹏,冯伟*,张乾,王小伟,孙济洲,Vincenzo Loia,刘志强
本文Active Camera Relocalization from a Single Reference Image without Hand-Eye Calibration发表在CVPR 2016和IEEE Trans. on Pattern Analysis and Machine Intelligence 2019 (Vol. 41, No. 12, pp. 2791-2806)。该成果支撑下的“真实赋存环境下文物本体微变监测关键技术与应用”获得天津市技术发明二等奖,并在以敦煌莫高窟和故宫为代表的十多个世界文化遗产地推广应用。
图1 ACR过程和重定位设备
01 引言和简述
相机位姿的配准和重定位(Relocalization)是计算机视觉和机器人研究的一个基本问题,如运动恢复结构(Structure-from-motion,SfM)、及时定位与地图构建(SLAM)、自动驾驶与导航等。然而,此类应用中主要关注被动地相机位姿估计,也就是根据单张或一组图像作为输入,重点解决如何估计自身的位姿状态,而非主动地、动态地调整位姿以到达特定目标。
除了上述我们所熟知的应用问题和场景,在特定领域如文物保护领域,却存在不一样的需求,其目标是获取不同时间下精细一致的场景感知,以有效捕获文物本身逐渐缓慢发生的变化。如果没有深入具体场景实际工作,或许会认为此问题并不困难,比如考虑通过固定相机位置以实现长期定点监测来解决,或者是采集数据后通过算法后处理的方式对不同时刻的采集图像进行矫正配准,实现图像的对齐,并在此基础上完成变化检测算法。
然而实际场景的挑战使得这些做法并不能有效解决问题,具体来说,这些挑战包含:一、高精度的监测要求。文物本体发生的变化往往都是极其缓慢且微小的变化,很难被直接察觉和感知,因此需要高精度的监测手段才能实现对此类细微变化的有效监测。现有的重摄影方法精度不足,而通过算法矫正会使得微小变化发生扭曲变形,从而使得变化检测结果失真。二、野外环境的适应性。实施监测的设备和算法往往受适应户外环境、搬运导致的经常组装拆卸等因素制约,现有的基于高精度机器人视觉伺服(Visual Servoing)方法难以满足环境的适应性并保持高精度,而定点监测的方案也因为环境变化、大量监测点等因素变得不可行。三是长期间隔的多次监测需求。长期的多次监测往往需要一种有效且满足高精度的重定位方法来保证监测目标的高度一致性,从而发现可能发生的微小变化。
图2 敦煌莫高窟351窟3号监测点2015到2016年发生的微小变化
为了应对上述困难,不同于被动地相机位姿估计,本文提出了一种主动式相机重定位(Active Camera Relocalization, ACR)方法,以单张RGB图像作为参考(目标)图像,通过将相机位姿的不断动态调整,主动地将相机恢复到物理真实的目标姿态上,以获取和参考图像一致的图像数据。表述的学术些,本文提出了一种空间尺度和手眼标定未知条件下的6D相机位姿精准重定位方法。
这里的空间尺度未知和手眼标定未知分别具体指什么含义呢?
首先来说空间尺度未知,这个相对容易理解,单目相机拍摄图像中目标的实际物理大小是丧失的,同样是1.8米高的一个人,可以在图像中显得很大,也可以只占很小如蚂蚁般的一块区域,因此其图像像素对应的实际尺度空间是未知的。而想要把相机物理真实地恢复到目标位姿上,必然要知道实际运动对应的空间尺度和大小,所以如何在空间尺度未知情况下完成重定位就成为了一个必须要解决的难题。
再来说手眼标定未知,由于相机自身并不具备运动能力,必须放置在运动平台上,由运动平台携带相机实现六自由度运动。这里的运动平台即“手”,而相机代表“眼”。由于“手”和“眼”分别属于两个并不能实现重合的坐标系,这就会带来一个问题,即如果相机(“眼”)感知到必须运动A才能到达目标,而要实现该运动目标,运动平台(“手”)必须实现一个并不相同的运动B才能到达。A和B之间满足关系AX=XB,其中X即为我们所关注的手眼标定参数。你可能会问,既然知道了手眼关系的公式,我们把X提前标定出来不就可以了?然而这种想法在真实场景下却有点“too young too simple”。正如前文所说,由于设备和算法往往受适应户外环境、搬运导致的经常组装拆卸等因素制约,使得每次拆卸组装后的X都是不一样的,而非固定不变的。这就限制了依赖精密标定的高精度机器人设备的使用,也对我们的算法提出了一个更高的要求:当手眼标定参数X未知且不断变化的条件下仍能完成精准的重定位。
接下来的问题是,如何设计算法来解决这两个的问题呢?
我们的想法是,既然空间尺度未知,那我们就先假定一个大概的空间尺度S=S0,并通过不断的迭代来修正该尺度S,使其逐渐收敛并逼近目标。对于手眼标定参数X未知且不断变化的问题,那就干脆假设X为单位阵I,依靠不断迭代逼近的过程来逐步降低直至消除X的对目标收敛的影响。
事实上,我们最终的算法流程(下图5)就是一个进行旋转和平移的交替迭代运动,其中平移的物理运动量与不断条件折半收敛的空间尺度S相关。本文通过严格的数学推导证明了当手眼标定参数X的旋转角小于45度(轴角表示下)时算法在理论上的收敛性。在实验部分,本文通过大量的虚拟和真实场景实验充分验证算法的鲁棒性、精确度、收敛性和收敛速率,并对实验中参数X的影响进行了有效分析。相关平台和成果已成功应用到敦煌莫高窟、北京故宫、颐和园等文物遗产地的常态监测上,为文物的预防性保护提供了坚实可靠的技术手段,受到了业界专家的充分肯定和高度评价。下面我们从偏学术分析的角度对问题的定义、具体算法和理论分析进行阐述。
02 问题定义
本文以
表示相机或者运动平台的6D位姿,同时以
表示用于将相机或平台从当前位姿转移到参考(目标)位姿所采取的物理运动,并采用下标A和B以区分相机(手)和运动平台(眼)的坐标系统。
图3 ACR过程及手眼关系示意图
如图3所示,ACR问题旨在计算并实际执行平台运动MB, 使得相机从初始位姿
运动到参考位姿处
。考虑到手眼系统存在相对关系
,ACR问题可以形式化表示为:
其中,
表示F范数。通常情况下,我们以参考坐标系
作为世界坐标系,即
。理想情况下,我们可以通过两步法解决上述问题。首先,通过位姿估计方法来估算相机的初始位姿
以得到相机运动
。其次,计算得到平台运动
并执行该运动。然而,该方法存在下述两个挑战:
C1:对于参考图像和当前图像的相对位姿
的估计中,现有基于RGB图像的相对位姿估计方法(如五点法)只能得到相对旋转
和相对平移的方向
,因此,仍然需要估计平移的尺度
。
C2:手眼标定的复杂性决定了在经常组装拆卸情况下进行现场标定不具有实际可操作性,故ACR需要实现手眼标定参数X未知情况下的相机精准重定位。
为了解决C1和C2,本文提出了一种更加切实可行的ACR方法,通过多步迭代策略驱使当前相机逼近参考相机位姿。如图1所示,平台的运动
由一系列实际执行的运动组成:
其中,i表示第i次迭代,
表示第i次平台的实际运动。
03 方法
3.1 顺序重定位方法
本文通过采用TA折半逼近策略,并假设X=I来分别解决上述面临的两个挑战C1和C2, 也就是平移向量TA尺度未知和手眼标定参数X未知问题。其中,TA折半逼近策略详见定义1。基于该折半逼近策略和X=I的假设,本文提出一种两阶段的顺序重定位方法:首先,通过旋转迭代策略逐步将相机的旋转方向恢复至目标状态,即将相对旋转量
逐步恢复至单位矩阵I。其次,在恢复相对旋转量的基础上,通过TA折半逼近策略将
恢复至0。该顺序迭代策略的收敛性可以根据定理1-3(参看下文)得到严格的数学证明。
定义1 (TA折半逼近策略) TA折半逼近策略通过条件折半的方式来更新猜测平移步长Si, 以逐步逼近平移尺度
。具体来说,策略在迭代的每一步根据内积
来衡量
和
平移方向差异,如果
,则表明Si-1超出了
的实际长度,因此对Si进行折半
, 否则保持
。然后根据当前平移步长Si以及从五点法得到的平移方向
来得到猜测相机平移
,并根据
来迭代调整相机当前位姿。重复此过程直至
,其中
为最小步长。
3.2 重定位收敛性分析
上述次序重定位方法可以通过定理1-3以及引理1-2来进行严格的数学证明,其中,定理1证明了当手眼关系X中旋转角度(即RX采用轴角表示法的角度)
时RA的收敛性;基于引理1-2,定理2证明了
时TA的收敛性;定理3总结定理1和2,对相机重定位收敛性进行证明。在此只给出相关定理和阐释,详细证明过程请参考引文[1]。
定理1 (RA的收敛性)当
时,采用顺序重定位方法中的迭代过程可以保证
且
,故
。其中,
和
分别为相机旋转
和手眼旋转RX的角度。
引理1 (条件收敛性)当相机旋转量RA收敛至I, 采用顺序重定位迭代策略,若折半条件
发生,必有
。因此,如果折半条件无限次发生,
收敛至0,则
收敛至0。
引理2 (折半条件无限次发生)当相机旋转量RA收敛至I,采用顺序重定位策略,若
,折半条件
必发生无限次,Si单调递减至0, 即
。
定理2 (tA的收敛性)当相机旋转量RA收敛至I,采用顺序重定位策略,若
,折半条件
必发生无限次,则
收敛至0,
。
定理3 (重定位收敛性)若
,随着ACR过程迭代,运动平台的实际运动量
趋向于单位阵,且当前相机位姿
趋向于参考相机位姿,即
且
。
图4 ACR过程收敛性分析图
图4给出了三种不同条件下(
、
和
)重定位的RA、TA和运行轨迹的收敛性分析。可以看出,当
时,RA和TA均能收敛;当
时,RA收敛但TA发散(周期震荡);当
时,RA和TA均发散。图4进一步验证了
是相机位姿收敛的临界条件。
3.3 协同交替重定位方法
虽然上述顺序重定位方法可以得到严格的理论收敛性证明,由于如下两方面原因,其实际运行中算法收敛性和定位精度并不理想。其一,在3D坐标系中,特定轴的旋转和平移对在2D平面上引起的偏移存在一定的歧义性,如俯仰旋转和高度平移、摇摆旋转和左右平移都能在2D平面上引起相似的像素偏移。这种歧义性导致当平移比较大时单纯估计旋转会带来比较大的误差,使得顺序重定位中第一阶段旋转重定位无法实现很好的收敛性和精度,进而影响整体的重定位精度和收敛性。其二,顺序重定位对于运动平台的旋转和平移精度及独立性要求很高,平移和旋转之间不能互相影响。而实际运动平台中旋转和平移会产生互相干扰。由于这种干扰的存在,分两阶段独立地进行旋转和平移调整的方式会降低最终重定位的精度和收敛速度。
图5 相机主动重定位方法流程图
为了克服上述问题,我们进一步提出了协同交替相机重定位方法。该方法采取和顺序重定位相同的假设(X=I)及TA折半逼近策略。与之不同,其在相机重定位过程中迭代的每一步,交替协同进行旋转和平移,而非先完成旋转再进行平移。图5为协同重定位方法流程图,算法2给出了其重定位算法过程。进一步的实验部分充分验证了该协同重定位方法在精度和收敛速度上的提升。
该协同重定位方法的收敛性能通过上述定理得以证明。由于重定位过程收敛性证明中平移不会对旋转产生影响,可以考虑将协同重定位方法看成与次序重定位方法类似两阶段过程。在第一阶段,不考虑平移的影响,利用定理1证明旋转RA的收敛性。在第二阶段,当旋转RA收敛至I后, 利用定理2证明TA的收敛性。从而证明了协同重定位方法的收敛性。
04 实验
实验部分主要从算法的收敛性和精度两方面进行分析。文章提出了一种用于衡量图像精确重定位误差的指标AFD(average feature-point displacement)和可视化方式FDF图,并对比了手动重定位(Manual-CR)、单应矩阵法重定位(Homography-CR)[3]以及计算重摄影方法(CRP)[7]。
4.1 重定位收敛性评估
I. 收敛性测试
通过仿真所有的相机、平移台、手眼关系等参数和ACR过程,该实验以100次ACR测试来验证当时重定位算法的收敛性,图6展示了100次测试中RA和TA平均收敛过程, 值得注意的是,100次ACR测试中旋转和平移均严格收敛。
图6 重定位中RA和TA平均收敛过程
II. 收敛速率测试
针对顺序重定位方法和协同交替重定位方法,该实验在5个真实场景中共进行了100次重定位测试,其中每种方法在每个场景中进行10次测试。为了保证实验的公平性,同一场景中每次测试的初始条件如相机位姿、参考图像等完全相同。图7(a)对比了5个场景中次序重定位方法(蓝线)和协同重定位方法(红线)的收敛速率(均值和方差)。从图7(a)中可以看出,协同重定位方法在平均收敛率上大约为顺序重定位方法的1.6倍。同时,由于很好地消除了旋转和平移的相互影响,协同重定位方法有效降低了收敛速率的波动性,提升了稳定性。
图7 次序重定位(蓝)和协同重定位(红)的收敛率和精度对比
4.2 重定位精度评估
I. 基于AFD的重定位精度评估
如图7(b)所示,采用和图7(a)中同样的100次重定位测试,我们以AFD作为指标对比了两种重定位方法的定位精度。显然,协同重定位方法(红线)取得了远高于顺序重定位方法(蓝线)的定位精度(14.9倍)。结合前文收敛速度的实验,可以充分证明协同重定位方法在收敛性和精度两方面性能上远高于顺序重定位方法。进一步地,图8在室外场景下对比了Homography-CR[3]、CRP[7]和本文提出的ACR方法在精度上的差异。从AFD和FDF图上可以看出,ACR达到了最高的定位精度。
图8 Homography-CR、CRP与ACR重定位精度对比
II. 重定位物理精度评估
物理定位精度最能真实而直接反映实际的精确重定位效果。然而,参考相机的真实物理位姿在现实中难以获取。为精准度量物理重定位精度,本文针对特定场景,通过建立稠密的AFD和物理位姿偏移一一对应关系作为衡量尺度, 利用AFD值来量化物理定位精度。如图9,我们在2个平面场景和2个非平面场景中对比了Manual-CR, Homography-CR和ACR三种方法的物理重定位精度。从结果中可以看出,采用本文提出的ACR方法可以达到0.1mm平移误差和0.01°的旋转误差,远高于Manual-CR和Homography-CR的定位精度。
图9 不同方法物理重定位精度对比
05 真实场景应用
本文方法已被用于实验室团队自主研发的六自由度机器人平台上,实现了开放复杂环境下的相机位姿高精度重定位。基于此项成果,实验室在获取高质量观测数据的同时,突破性地解决了高值场景的精确监测与微小变化分析问题。图10-12分别展示了ACR的三个真实场景应用。图10选取了四组借助工业相机和单反相机采集的2014年到2016年的监测结果,展示了ACR在敦煌莫高窟壁画的精确检测和微小变化分析中的应用,有效解决了场景在发生极其缓慢变化的情况下文物本体病害检测的难题。图11展示了ACR在壁画修复评估中的应用。即当文物保护专家对壁画进行修复后,通过ACR技术将相机重定位至修复前的监测姿态,从而精准评估壁画修复工作对壁画本体所带来的影响。图12展示了ACR在建筑文物结构变形监测中的应用。由于木质建筑文物随着时代变迁,其结构会逐渐产生变形。通过ACR技术及早发现此类建筑结构变形,对于文物预防性保护有着重大的意义。
图10 ACR在敦煌莫高窟壁画微小变化检测中的应用
图11 ACR在文物修复评估中的应用
图12 ACR在建筑文物结构变形监测中的应用
06 总结
在本文中,我们在对主动式相机精准重定位方法所面临的具体问题和挑战进行分析的基础上,提出了无需手眼标定的6D相机姿态重定位方法,并严格证明了当手眼标定参数X的旋转角时,该迭代算法在理论上的严格收敛性。我们相信该证明对于一些其他涉及手眼标定问题的迭代算法收敛性证明上会有所启发。实验部分不仅充分验证算法的鲁棒性、精确度、收敛性和收敛速率,也展示了在多个遗产地真实场景下,该算法和平台在多种监测任务类型上的广泛应用。
相关论文:
(1) Fei-Peng Tian, Wei Feng*, Qian Zhang, Xiaowei Wang, Ji-Zhou Sun, VincenzoLoia, Zhi-Qiang Liu. Active Camera Relocalization from a Single Reference Image without Hand-Eye Calibration. IEEE TPAMI, 2019, 41(12) : 2791-2806.
(2) Wei Feng, Fei-Peng Tian, Qian Zhang, JizhouSun. 6d dynamic camera relocalization from a single reference image. In CVPR, 2016.
(3) Wei Feng, Fei-Peng Tian, Qian Zhang, Nan Zhang, Liang Wan, Jizhou Sun. Fine-grained change detection of misaligned scenes with varied illuminations. In ICCV, 2015.
(4) Yi-BoShi, Fei-Peng Tian, Dongxu Miao, Wei Feng. Fast and reliable computational rephotography on mobile device. In ICME, 2018.
(5) DongxuMiao, Fei-Peng Tian, Wei Feng. Active camera relocalization with RGBD camera from a single 2D image. In ICASSP, 2018.
(6) QianZhang, Wei Feng, Liang Wan, Fei-Peng Tian, Ping Tan. Active Recurrence of Lighting Condition for Fine-Grained Change Detection. In IJCAI, 2018.
(7) Bae, Soonmin, AseemAgarwala, and Frédo Durand. Computational rephotography. ACM TOG 29.3 (2010): 24.
✄-------------------------------
ViL(Visual Intelligence Lab)是天津大学智能与计算学部视觉智能实验室,致力于计算机视觉、模式识别和机器学习、医学影像处理等相关领域的研发工作。
本实验室也是“文物本体表面监测与分析研究”国家文物局重点科研基地核心技术团队,是国内首个聚焦文物本体表面状态精密监测和分析问题、从事相关理论方法研究与应用推广的团队。