使用嵌入式摄像机计算道路平面法线

问题描述 投票:0回答:3

我正在为车辆应用开发一些计算机视觉算法。我面临一个问题,一些帮助将不胜感激。

假设我们有一个校准的摄像头连接到车辆上,该车辆可以捕捉车辆前方的车架:Initial frame

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

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

但是我想要恢复的是在没有旋转矩阵和平移向量的任何先验知识的情况下进入图像的正常n的等式。不过,我假设L1,L2和L3位于同一平面上。

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

你对我如何计算法线有任何想法吗?

谢谢,Pm

camera computer-vision vision
3个回答
0
投票

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

如果你有它们,答案是微不足道的:用齐次坐标表示所述消失点的图像位置。然后,他们的叉积与所述铅笔定义的3D平面的法向矢量相等(达到比例),在相机坐标中分解。


0
投票

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


0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.