2d 中的对象相交

问题描述

图片(1)

img(1)

图片(2)

img(2) from top view

我有 2 张图片 image(1) 和 image(2)

图像(1):我将相机放在某个固定的地方并拍摄了这张图像。我有框坐标(xmin,ymin,xmax,ymax),由红色边界框显示。我还有一些感兴趣的区域(ROI),由蓝色框显示

图像(2):从顶部我捕捉到了这张图像。在这里,我也只是绘制了由红色边界框显示的框坐标(xmin,ymin,xmax,ymax)。还绘制了兴趣区域(ROI),用蓝色框表示。

在图像(1)中,我们可以看到红框和蓝框之间的一些交集。但这个交集并不是真正的交集。因为当我们从顶视图看图像时,我们可以看到它们之间没有交集,如我在图像(2)中所示。

所以对于图像(1)我有红色矩形坐标(xmin,ymin,xmax,ymax)。这个红色矩形包含对象。在那个红色矩形中,我没有关于对象位置/方向和对象可见角点的信息。 (因为从物体检测器我只得到这个红色矩形)。另外,我有蓝框(ROI)坐标。有什么方法可以借助相机校准(或任何其他计算机视觉方法)找到这 2 个框(红色矩形和蓝色 ROI)在图像(1)中没有真正相交?

解决方法

看看附加的图像。你可能需要放大。提醒仍然有镜头失真,我只是用手画线,所以不是很准确,但希望足以得到这个想法。

enter image description here

校准场景后,您将知道蓝色矩形所在的地平面以及对象位于该地平面上。我只是用了纸的正方形和方向,但坐标轴可以是任意的。

您可以计算物体边界框方向的消失点,即深绿色线与橙色线相交(z 方向消失点)和青色线相交(y 方向消失点)。橙色和深绿色的线在现实中是平行的。

现在从地平面上方的 3D 对象边界框的左上角点(点 C),您可以直接绘制到 y 方向消失点(左侧浅绿色线)的线,对于边界框的右上角点(点 D)(右侧浅绿色线)。浅绿色和深绿色线的交点是物体撞击地面的点(粉红色和深绿色和浅绿色线的交点)。如果其中一些点或其相交点与您的 ROI 相交,则该对象确实与地平面上的该区域相交。

您将需要一种方法来确定 3D 边界框的 2D 图像点,这本身就是一个难题。如果您知道对象的 CAD 模型或 3D 模型,并且拥有相机的内在函数,则可以在文献中找到一些形状拟合模型,例如来自 MVTec / Halcon 公司的模型,他们的软件中也有实现。但是,如果您能够根据场景和相机确定 3D 中的 3D 对象点,那么您甚至不需要消失点;)