我希望有人能给我指明正确的方向(或者让我知道我是否走在正确的道路上)。
我正在尝试构建一个图像编辑应用程序,它使用计算机视觉来帮助插入虚拟对象-基本上是AR,但受单个单目图像(未校准)的约束。
虚拟对象插入将仅发生在地平面上(例如,考虑地板上的虚拟地毯)。正因为如此(很像AR),我需要将虚拟相机与物理相机对齐,并将渲染的虚拟场景与物理图像合成。
我已经成功地训练了语义分割深度CNN来预测室内场景的地板(它用作掩膜,以便虚拟对象,例如地毯,仅在此区域可见),但我在确定相机属性方面遇到了困难。
我的直觉是,为了构建一个可以合成的虚拟场景,我关心的相机校准属性是相机的高度、间距、滚动和视野(或焦距)。现在,因为这只是为了渲染目的,所以估计值不需要非常精确,只要足够接近,渲染的对象看起来不会失真。
在研究了这个问题后,我遇到了这篇论文Single View Metrology In the Wild -它似乎提供了上面列出的所有校准属性的估计。尽管如此,由于没有可用的训练代码,这可能会花费相当长的时间来处理可能工作或不工作的事情-尽管我愿意调查这是否是唯一的选择。
我是不是遗漏了一个显而易见的方法?我读过一些关于更传统的CV方法(例如消失点)和一些更现代的方法(例如UprightNet)的论文,但它们通常缺少上面列出的必要的相机校准值之一。
发布于 2021-04-29 20:38:44
您可以根据OpenCV docs对摄像头进行校准来获取摄像头参数。你试过吗?
发布于 2021-04-30 15:36:29
呃,“更现代”..。Canoma于1998年发布,部分基于UCB的Paul Devevec早些时候所做的工作。两者都表明,在单个图像上进行逼真的CG插入是可行的,只需很少/很容易的用户输入。
该软件通过让用户用鼠标跟踪几个盒子或圆柱体来校准相机的焦距和姿势,这些盒子或圆柱体与视图中的结构(例如建筑物、塔楼)相匹配。通过一点练习,一个或两个盒子就可以得到一个好的解决方案。
https://stackoverflow.com/questions/67301833
复制相似问题