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

时间:2018-01-18 15:45:09

标签: camera computer-vision vision

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

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

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

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

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

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

你对我如何计算正常情况有任何了解吗?

谢谢, PM

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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