Skip to content

camera calibration

yubo105139 edited this page Dec 5, 2024 · 1 revision

[[TOC]]

Aligning the camera images(图像对齐)

在阅读论文MM_DistillNet这篇论文时遇到了一个比较有意思的点,就是如何将红外摄像头拍摄的图像(thermal images)和RGB摄像头拍摄的图像(RGB images)做一个对齐。这种对齐工作在准备成对图像数据集时有着至关重要的作用,只有做到了图像对齐,论文中教师网络预测出的labels才能被拿来使用。通常这种对齐工作都是基于标定板来实现的,如下图所示,但作者认为此类方式在鲁棒性上不足,故使用了一种target-less校准方式,接下来介绍论文是如何实现的对齐。该对齐方式来自另一篇论文(HeatNet: Bridging the Day-Night Domain Gap in Semantic Segmentation with Thermal Images)中的有关数据集制作部分。

核心思想

首先作者将这种RGB图跟红外图之间的对齐问题看做是一个misalignment minimization problem,通过优化使得这个misalignment loss取到最小值,来让图像对齐。作者注意到RGB图跟红外图的共有目标的边界(edges)很容易被观察到,因此如果让这些边界的距离尽可能缩小的话,就能实现两种图的对齐。优化目标E(misalignment loss)如下公式所示:

公式中的下三角表示图像的梯度(包含了目标的边界信息),S表示从红外图像坐标到RGB坐标的仿射变化,F表示坐标的变化公式(即从RGB图像坐标映射到红外图坐标的过程)。S(IT, F)这个过程论文中的解释不是很清楚只说用到了STN,但是结合之前对STN的研究,个人推测该过程主要想表达的意思应该就是对输出图像(RGB坐标系下的图)中的坐标做遍历,求每个点对应的输入图像(红外图)采样点

坐标转换过程

下面的公式展示了如何求出RGB坐标(pRGB)对应的红外坐标即热度图坐标(pT):

可以看到这里作者有个小错误,公式的左边其实应该是pT, 公式中γ(p | K, D) = D(p)K-1h(p)表示的是从二维RGB图像坐标到三维RGB相机坐标的一个变换过程,D表示RGB图对应的深度。有关如何通过RGB图来获取对应的深度图,MM_DistillNet和HeatNet其实用了两种不同的网络,前者用的是论文Ga-net: Guided aggregation net for end-to-end stereo matching中的网络,后者用的是论文 Pyramid stereo matching network中的网络,两种方式都是基于深度学习CNN来实现的。KRGB表示RGB相机内参,已经配置好的。TRGB-->T表示RGB相机坐标系(三维)到红外相机坐标系(三维)的一个变化过程,通常是以坐标系原点平移+坐标轴旋转操作来实现的,KT表示红外相机的内参,这两组参数需要通过学习来获取。相机内参K的作用是实现从相机坐标系转为图像坐标系(三维点到二维点的转换),有关这一过程以及相机坐标系变换的介绍可以参考:https://blog.csdn.net/honyniu/article/details/51004397。

然而作者认为直接对E去做最小化,由于RGB和红外图中目标边界的位置,会导致梯度消失从而阻止快速收敛。因此又用高斯核对梯度图的差值做了一次卷积。而且又对仿射变换后的图(即S(IT, F))做了畸变操作,得到了如下最终的loss计算公式:

公式中G(σ)表示高斯核,均值为0,标准差σ=3。U表示畸变操作,畸变参数v =[k1, k2, p1, p2]代表了径向畸变和切向畸变。关于畸变操作也可参考上面的链接。

结果对比

下图是作者用这种target-less校准方式和circleboard-based校准方式做的一个对比:

结论

论文中采用的这种learning-based的图像对齐方法相较于传统的基于校准板来校正的方式,过程很复杂,但由于target-less特性,能轻易用于在线场景下,且鲁棒性较好。但必须保证训练阶段时用图像对和推理阶段的输入图像都是在同一台设备下获取的,因为红外摄像头与RGB摄像头的距离、角度、摆放位置等稍有变动,都会导致坐标系变换参数和红外相机内参的变动,也就是说需要重新学习RGB坐标到红外坐标的变换了。

Clone this wiki locally