【CVPR 2025】MaDCoW广角照片任意物体的畸变校正论文笔记
【CVPR 2025】MaDCoW广角照片任意物体的畸变校正论文笔记
- 背景
- 创新点
- 方法
- 实验效果
- 限制
论文地址: 《MaDCoW: Marginal Distortion Correction for Wide-Angle Photography with Arbitrary Objects》
B站视频地址: https://www.bilibili.com/video/BV1SSW4zTEVK/
背景
承接上一篇CVPR 2022的文章,对于广角镜头中的人像畸变矫正Task,Adobe团队在今年CVPR 2025提出了新的方法,该方法可以对任意物体进行畸变校正,简称MaDCoW。
用户可以标记图像中的一些区域,比如一座建筑或一个人物,该方法会针对这些区域进行投影优化,从而消除这些区域的畸变。
从上图可以看出,无论是带人物的广角照片还是不带人物纯建筑风景的广角照片,MaDCoW效果都要优于目前最好的方法。
我觉得这篇文章最惊艳的点在于可以对任意物体进行矫正,而非仅仅只是人脸部分。
创新点
具体来说,这篇论文有三点创新:
1.支持区域选择:用户可以根据喜好,标记出图像中需要修正畸变的区域,这些可以是建筑物、人物或任何其他物体。
2.局部透视模型:对于每个感兴趣区域(ROI),MaDCoW会对该区域应用局部的线性透视投影,将物体重新对齐到视角的中心。通过这种方式,MaDCoW让每个区域中的物体看起来都像是出现在视角中心一样,没有边缘畸变。
3.全局优化:当对用户标记的局部区域优化完成后,MaDCoW会对整个图像进行优化,使得这些区域能够平滑地结合在一起,同时保留直线并最大化共形性。
方法
1.参数化
大体的矫正流程是将用户的输入图像按照一定的间隔等分成一个个网格,每个网格的顶点坐标定义为v(i,j),要求解每个顶点在经过映射函数f矫正后的目标坐标u(i,j)。
如上图所示,所以本质上是求解映射函数f。
作者采用stereographic projection投影方法来初始化网格顶点坐标。这种初始化的好处是边缘的物体不会有太大的畸变,缺点是直线会弯曲。
2.单个区域畸变修正
如上图所示,在普通线性透视下,边缘物体会被拉伸变形。
如果把主点 (principal point) 移到 ROI 的中心,那么 ROI 就会看起来自然(如右图所示)。
因此论文引入了Direct View Condition (DVC)概念:一个物体看起来自然,当且仅当它像位于投影中心时那样成像。
那么如何将用户标注的ROI中的物体,位于投影中心。
先将顶点v进行线性投影,再经过旋转、缩放、平移。
也就是说,我们允许通过改变相机的朝向,来把物体“移到中心”,并且允许在平面上做旋转/放缩/平移来微调物体的外观,使它既无畸变又能与背景更好匹配。
Ec函数
接下来作者讨论了共形函数Ec。其中V是ROI中边界点的集合,这些顶点位于ROI和非ROI的交界处。
上面的公式看起来有些抽象,可以理解为该函数项限制相邻顶点的水平与竖直变化方向互相垂直,并且缩放比例一致。(如果不垂直或缩放比例不一致,则可能存在被斜着拉伸的情况,边界过渡存在不自然伪项。)
当Ec很小时,说明边界处的局部变换几乎只是“旋转 + 均匀缩放”,过渡较自然。
那么为什么仅对边界处进行限制?
因为ROI 内部通过线性投影 P(v) 已经“摆正”,边界处需要“自然过渡”,防止撕裂或突变。
3.图像Warp算法
那么如何让所有 ROI 都尽量服从自己的局部投影,同时保持整张图平滑、线条笔直、局部形变共形呢?
Etotal函数
总函数如下所示,包含El(直线约束项),Ec(上一节提到的共形函数),Es(平滑约束项),Edvc(保证每个ROI区部区域满足线性投影)。
Edvc函数
其中Edvc定义如下所示,会拉着 ROI 内的点“靠近”它自己的局部无畸变投影结果。这样每个物体都能保持不畸变。
El函数
El函数的表达如下所示,该项惩罚所有中间点偏离这条直线的“垂直距离平方”。
如果所有中间点都落在首尾两点形成的直线上,那么El为0。如果El>0,说明线弯了。
所以El项保证了用户标注的“直线”在最终图像上还是直的(如建筑物边缘、地平线等)。
Es函数
Es函数表达如下,把这四个分量放在一起并取二范数平方,就是在检测并惩罚局部的高频曲率变化(二阶变化)。
所以 Es的作用是把网格“平整”下来,避免出现突然的拐角、折痕或局部剧烈非线性扭曲。
实验效果
作者在实验部分,跟当前最好的方法进行了比较。相比于左侧Carroll的方法,右侧论文中的MaDCow方法有更好的效果。
作者提出的方法不仅支持直线标注还支持ROI标注。
对于建筑物而言,Carroll提出的方法直线标注的损失项并不保留建筑物的整体形状,因为该项损失与其他损失项竞争。相比之下,作者的方法保留了建筑物的整体形状和方向。
对于人体部分,以前的方法通过对人脸部分进行分割来纠正失真 [6, 26],但是身体其余部分仍然失真。可以从上图的第三行看出。论文中的MaDCoW方法不仅纠正了远处和右侧的人的失真,同时保持他们的姿势直立。
对于任意物体,作者提出的方法同样有更好的效果。例如汽车这张图片。作者的方法可以让轮子得到校正。
限制
1.需要用户去手动标注失真区域,不够自动化。
2.当纠正的区域比较密集时,可能会产生不希望的伪影。
3.当圈定的校正区域较大时,例如一个大建筑跨越整幅图片,将产生边缘失真。
4.耗时久,一张图像耗时大概2分钟。
总的来说,这篇工作很不错,方法很创新。但是问题就是不能自动化并且耗时很久。这也是后续CVPR 2026该方向可以努力优化的地方。