【问题标题】:Live 360° Panorama Image Stitching implementation实时 360° 全景图像拼接实现
【发布时间】:2020-10-28 12:23:08
【问题描述】:

我计划实现一个实时 360° 全景拼接器,具有 6 个相同型号的摄像头。

我遇到了来自 OpenCV 的stitching_detailed.cpp 实现。问题是使用我想要的参数将 2 张图像拼接在一起大约需要 1 秒,这相当慢。

因为我的应用程序应该实时运行。我需要能够在大约 100 毫秒内将 6 张图像拼接在一起才能“可接受”。输出分辨率应在 0.2 兆像素左右。因此,我开始在 C++ 中进行自己的实现,几乎基于在stitchig_detailed 上所做的工作。我的目标是尽可能多地使用 OpenCV 上的 CUDA 函数(其中一些甚至没有实现stitching_detailed)。

我一直在仔细研究之前算法所基于的拼接管道,如Images stitching by OpenCV和论文Automatic Panoramic Image Stitching using Invariant Features中所述。

由于拼接管道过于笼统,为了简化和加快速度,我做了几个假设,我想得到一些反馈以了解它们是否有效:

  • 我将提供给算法的所有图像肯定是全景图像的一部分。所以我不需要额外检查。

  • 6 个摄像头的位置和方向都是固定的。因此,我事先知道相机需要拼接到全景照片中的顺序。因此,我可以避免尝试匹配来自不连续相机的图像。

  • 因为摄像机将保持静止。执行注册步骤以仅获取一次相机方向矩阵 R 是有效的(作为一种初始化)。之后,我只能为后续帧执行合成块。 (再次假设相机保持完全静止)。

我还有以下问题...

  • 我确实可以在应用之前校准相机并获得每个固有相机参数矩阵 K 及其各自的失真参数。我可以将 K 插入拼接管道中,从而避免在注册步骤中计算 K 吗?

  • 相机校准还能带来什么其他东西(如果有的话)?失真校正?

  • 如果我之前关于只执行合成块的假设是正确的......我还能取出它的某些部分吗?我的猜测是,也许接缝查找器应该只运行一次(在算法的初始化中)。

  • 我的申请案例是否需要曝光补偿? (因为相机实际上是相同的)。

任何线索将不胜感激,谢谢!

【问题讨论】:

    标签: camera-calibration image-stitching 360-panorama opencv-stitching


    【解决方案1】:

    您可以做的第一件事是校准您的相机以减少您的进步时间,这样您就不需要处理图像来查找基于特征的单应矩阵。事先找到它们,使它们成为常数矩阵

    【讨论】:

    • 谢谢,实际上这就是我到目前为止所做的。现在我正在处理重影问题,因为我的相机彼此相对分开。因此,我违反了平面单应性模型的主要假设之一。
    • 我看到你的另一篇帖子询问加快寻找接缝的过程。你解决了那个问题吗?我确实使用 Boykov 在 CPU 中的 GraphCut 算法上的实现重新实现了它,但我一直在绞尽脑汁在 CUDA 上实现它,但它仍然不起作用。你有什么想法吗??
    • 不,不幸的是我仍在 CPU 上运行它。为了加快速度,我暂时使用了 Voronoi Seam Finder,虽然接缝的质量当然无法比拟。希望OpenCV早日正式实现CUDA版本。
    • 不是真的,因为我搜索了谷歌,发现实际上有一个名为 cv::cuda::graphcut() 的函数来解决我们的问题,但它被删除了,因为它与高于 CUDA 的版本不兼容8.0。我在论文 CudaCuts:Fast graphcut on GPU 及其项目页面上的link 中找到了 CUDA 中的 graphCut 实现,但仅适用于图像分割。我一直在绞尽脑汁将其切换到图像纹理合成。您可以采用它,如果您发现有用的东西,请告诉我
    • 我们需要做的就是将图形构造从图像分割问题更改为图像纹理合成,因为这两种情况的核心算法(最大流/最小切割算法)是相同的。我成功地将它应用到 CPU(Boykov 的实现)上,但是当我对 Vibhav Vineet 的 CUDA 实现使用相同的图形构造时,结果令人失望。也许你能找到一些东西并帮助我们俩
    猜你喜欢
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 2013-12-09
    相关资源
    最近更新 更多