针孔图像derolling的原理

为什么做图像derolling

  • 图像derolling的工作简单来说就是对图像进行warp去除果冻效应,如下图所示

derolling的过程只考虑相机的旋转的原因如下:

  • 很难使用imu进行准确地测量平移量。加速度计的数据必须积分两次,以获得平移分量。相比之下,陀螺仪测量旋转速度。因此,陀螺仪数据只需要积分一次,就可以获得相机的方向。因此,平移测量的精度明显不如旋转朝向的测量值。

  • 即使我们可以准确地测量平移,这也是不够的,因为不同深度的物体移动不同的数量不同。因此,我们必须依靠双目立体或基于特征的运动恢复结构(SfM)算法来获取深度信息。由于视差和遮挡,为了消除平移而扭曲帧是非常重要的。这些方法是不鲁棒的,而且目前计算成本太高,无法在移动平台上实时运行。

  • 相机抖动和卷帘快门畸变主要来自于旋转。这种情况是因为平移随着深度的增加而迅速衰减,而且物体通常离镜头足够远,因此平移相机抖动在图像中不会产生明显的运动

一般的针孔相机建模

  • 一致相机的内参K,相机坐标系下一点X可以通过内参K投影得到像素坐标x, 同样可以将像素坐标x通过反投影得到归一化的相机坐标系下的一点X。

  • 进一步考虑世界坐标系到相机坐标系的旋转,可以得到如下的公式:

  • 进一步可以已通过已知的IMU的角速度的数据通过积分得到对应的t1时刻到t2时刻的旋转,然后旋转矩阵进行积分就可以得到t0时刻到tn时刻的旋转矩阵。

相机运动

  • 把世界坐标系的原点设定为相机坐标系的原点。相机的运动可以用它在 t 时刻的旋转 R(t) 来描述。因此,对于任何场景中的点 X , t 时刻对应的图像坐标点 x 为
  • 旋转矩阵 R(t)∈SO(3) 是通过相机旋转角 Δθ(t) 来计算的。采用四元数SLERP球面线性插值,为了平滑地插值相机的方向,并避免万向节锁问题。 Δθ(t) 是通过陀螺仪测量的角速度 ω(t) 直接获取的:

derolling过程进行建模

  • 如图所示,描述的是同一个世界坐标系下的一点X在xi和xj两个图像上的投影,其中旋转矩阵是与imu的积分有关,如上描述的从某一时刻到某一个时刻的积分可以表达两个时间点的旋转。

  • 因此两张图像的同一个像素的对应关系如下所示:

  • 由此可以将两张图像的同一个点建立warp关系。由此可知,一张需要derolling的图像,可以根据每一行的曝光时间确定旋转矩阵,然后以第一行为基准作为参考坐标系,将后续所有行的图像根据上面的公式warp到参考坐标系上,从而去消除rolling的影响。如下图所示,最外层的平行四边形是rolling的图像,然后里面的框是derolling的图像,小点表示一个一个像素,可以清晰的看到同一行(即derolling的图像的一行)的小点,对应到rolling图像的多行,所以derolling的主要目的就是求得对应的旋转矩阵后得到warp的矩阵,将像素重组得到有效的derolling的图像。

分块加速

  • 因为对每一行都去计算一个warp矩阵的计算量是非常大,而且在论文中验证也是没有必要,可以将一张待derolling的图像进行分块,然后只要计算每一个小块的warp矩阵即可实现derolling的目的。如下图所示:

参考文献

  • Magerand, Ludovic, and Adrien Bartoli. "A generic rolling shutter camera model and its application to dynamic pose estimation." International symposium on 3D data processing, visualization and transmission. 2010.

  • Karpenko, Alexandre, et al. "Digital video stabilization and rolling shutter correction using gyroscopes." Stanford University Computer Science Tech Report CSTR 3.2011 (2011): 278.

相关推荐
2501_9248773519 分钟前
化工安防误报率↓82%!陌讯多模态融合算法实战解析
大数据·算法·目标跟踪·边缘计算
2501_9247474525 分钟前
强光干扰下误报率↓82%!陌讯多模态算法在睡岗检测的落地优化
人工智能·深度学习·算法·目标检测·计算机视觉
码破苍穹ovo36 分钟前
堆----3.数据流的中位数
java·数据结构·算法·力扣
Aousdu44 分钟前
算法_python_学习记录_01
python·学习·算法
2501_927227441 小时前
密集遮挡场景识别率↑31%!陌讯轻量化部署方案在智慧零售的实战解析
人工智能·算法·目标检测·计算机视觉·目标跟踪·零售
金智维科技官方11 小时前
常见的大模型分类
人工智能·算法·ai·语言模型·数据挖掘
yzzzzzzzzzzzzzzzzz11 小时前
leetcode热题——有效的括号
算法·
崎岖Qiu12 小时前
leetcode1343:大小为K的子数组(定长滑动窗口)
java·算法·leetcode·力扣·滑动窗口
Shun_Tianyou12 小时前
Python Day25 进程与网络编程
开发语言·网络·数据结构·python·算法
Giser探索家13 小时前
什么是2米分辨率卫星影像数据?
大数据·人工智能·数码相机·算法·分类·云计算