微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从单个图像估计相机高度、方向和视野

如何解决从单个图像估计相机高度、方向和视野

我希望有人能够为我指明正确的方向(或者让我知道我是否走在正确的道路上)。

我正在尝试构建一个图像编辑应用程序,该应用程序使用计算机视觉来协助插入虚拟对象 - 基本上是 AR,但具有单个单眼图像(未校准)的约束。

虚拟对象插入只会发生在地平面上(例如,想象一下地板上的虚拟地毯)。因此(很像 AR),我需要将虚拟摄像机与物理摄像机对齐,并将渲染的虚拟场景与物理图像合成。

我已经成功地训练了语义分割深度 CNN 来预测室内场景的地板(用作掩码,因此虚拟对象,例如地毯,仅在该区域可见),但我遇到了难以确定相机属性

我的直觉是,为了构建一个可以合成的虚拟场景,我关心的相机校准属性是相机的高度、俯仰、滚动和视野(或焦距)。现在因为这只是为了渲染目的,估计值不需要非常准确,只要足够接近渲染对象看起来不会失真。

在研究了这个问题后,我发现了这篇论文 Single View Metrology In the Wild - 它似乎提供了对上面列出的所有校准属性的估计。话虽如此,在没有可用的培训代码的情况下,这可能最终会花费很长时间来处理可能有效也可能无效的事情——尽管我愿意调查这是否是唯一的选择。

在这里错过了一个明显的方法吗?我读过一些关于更传统的 CV 方法(例如消失点)和一些更现代的方法(例如 UprightNet)的论文,但它们通常缺少上面列出的必要相机校准值之一。

解决方法

您可以根据OpenCV docs进行校准来获取相机参数。你试过了吗?

,

嗯,“更现代”... Canoma 于 1998 年 IIRC 发布,部分基于之前由 UCB 的 Paul Devevec 完成的工作。两者都表明,只需很少/简单的用户输入即可在单个图像上插入逼真的 CG。

该软件通过让用户用鼠标跟踪与视野中的结构(例如建筑物、塔楼)匹配的几个框或圆柱体来校准相机的焦距和姿势。稍加练习,一两个盒子就可以得到一个好的解决方案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。