【问题标题】:Compute road plane normal with an embedded camera使用嵌入式相机计算道路平面法线
【发布时间】:2018-06-27 18:03:27
【问题描述】:

我正在为车辆应用开发一些计算机视觉算法。 我遇到了问题,我们将不胜感激。

假设我们在车辆上安装了一个校准过的摄像头,它可以捕捉到车辆前方道路的画面: Initial frame

我们应用第一个过滤器以仅保留道路标记并返回二值图像: Filtered image

一旦道路车道被分开,我们可以用线性表达式来近似车道并检测消失点: Objective

但我要恢复的是图像中的法线 n 方程,而没有任何关于旋转矩阵和平移向量的先验知识。不过,我假设 L1、L2 和 L3 位于同一平面上。

在 3D 空间中,问题非常简单。在 2D 图像平面中,由于相机投影变换不会保持角度属性更复杂。我无法找到计算法线方程的方法。

你知道如何计算法线吗?

谢谢, 下午

【问题讨论】:

    标签: camera computer-vision vision


    【解决方案1】:

    不行,您至少需要两个独立的消失点(即,消失点代表两条不同平行线铅笔在无穷远处的点的图像)。

    如果你有它们,答案很简单:用齐次坐标表示所述消失点的图像位置。然后它们的叉积等于(按比例缩放)铅笔定义的 3D 平面的法线向量,在相机坐标中分解。

    【讨论】:

      【解决方案2】:

      正如其他人所说,您的信息不充分。如果您的数据来自视频,获取道路地平面的常用方法是拍摄两个或更多图像,计算相关的单应性矩阵,然后将单应性矩阵分解为表面法线和相对相机运动。您可以使用 OpenCV 的 decomposeHomographyMatmethod 进行分解。您可以通过使用 OpenCV 的 findHomography 方法关联四个或更多点对应来计算单应性。如果很难确定这些对应关系,也可以通过点和线对应关系paper 的组合来确定,但这在 OpenCV 中没有实现。

      【讨论】:

        【解决方案3】:

        您提供的示例中没有足够的信息。

        如果您想知道“哪条路向上”,您可以做的一件事是检测地平线上的线。如果 K 是校准矩阵,则 K^Tl 将为您提供相对于相机的 3D 平面法线。 (将图像中的直线 l 通过投影中心反向投影到平面 E 的一般方程为 E=P^Tl,具有 3x4 投影矩阵 P)

        一个更好的选择可能是建立一个单应性来纠正接地平面。但是,要做到这一点,您至少需要四个具有已知坐标的非共线点 - 或四条线,其中三条线不得平行。

        【讨论】:

          猜你喜欢
          • 2011-02-14
          • 2013-11-17
          • 1970-01-01
          • 1970-01-01
          • 2023-01-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多