使用多个校准相机唯一识别场景中的对象
Uniquely identify objects in a scene using multiple calibrated cameras
我有一个 多个摄像机 都指向同一个场景的设置。所有相机都校准到相同的世界坐标系(即:我知道所有相机相对于世界坐标系原点的位置)。
在来自摄像机的每张图像中,我将检测场景中的对象(分割)。我的目标是计算场景中的所有对象,我不想计算一个对象两次,因为它会出现在多个图像中。这意味着如果我在图像A中检测到一个物体并且在图像B中检测到一个物体,那么我应该能够确认这是否是同一个物体。应该是可以的使用校准后的相机获得的 3D 信息来执行此操作。我在想以下几点:
体素雕刻。我用检测到的物体从所有图像中创建轮廓。我应用体素雕刻,然后计算我拥有的簇状体素的唯一数量。这将是场景中唯一对象的数量?
我还考虑过例如取物体的中心然后从它投射光线到 3D 世界,这是针对每个相机然后检测线是否相互交叉(来自不同的相机)。但这很容易出错,因为每个图像中的对象 size/shape 可能略有不同,并且中心可能会关闭。此外,相机的位置并非 100% 准确,这将导致光线关闭。
解决这个问题的好方法是什么?
你是否只知道“对象”,而不知道类别或身份,除了边界框或掩码之外没有其他图像信息?那就不可能了。
考虑彻底简化,因为我现在不想画视锥体
黑盒子是实物。左轴和底轴是它们的投影。给定这些投影,深灰色框也将是框的有效假设。
你无法分辨盒子的真实位置。
如果您有东西 来消除不同对象检测的歧义,那么是的,这是可能的。
其中一个非常 fine-detail 的变体是块匹配以获得视差图(立体视觉)。这是“运动结构”的特例。
如果你的“物体”有纹理,你愿意计算点云,那你就可以。
我有一个 多个摄像机 都指向同一个场景的设置。所有相机都校准到相同的世界坐标系(即:我知道所有相机相对于世界坐标系原点的位置)。 在来自摄像机的每张图像中,我将检测场景中的对象(分割)。我的目标是计算场景中的所有对象,我不想计算一个对象两次,因为它会出现在多个图像中。这意味着如果我在图像A中检测到一个物体并且在图像B中检测到一个物体,那么我应该能够确认这是否是同一个物体。应该是可以的使用校准后的相机获得的 3D 信息来执行此操作。我在想以下几点:
体素雕刻。我用检测到的物体从所有图像中创建轮廓。我应用体素雕刻,然后计算我拥有的簇状体素的唯一数量。这将是场景中唯一对象的数量?
我还考虑过例如取物体的中心然后从它投射光线到 3D 世界,这是针对每个相机然后检测线是否相互交叉(来自不同的相机)。但这很容易出错,因为每个图像中的对象 size/shape 可能略有不同,并且中心可能会关闭。此外,相机的位置并非 100% 准确,这将导致光线关闭。
解决这个问题的好方法是什么?
你是否只知道“对象”,而不知道类别或身份,除了边界框或掩码之外没有其他图像信息?那就不可能了。
考虑彻底简化,因为我现在不想画视锥体
黑盒子是实物。左轴和底轴是它们的投影。给定这些投影,深灰色框也将是框的有效假设。
你无法分辨盒子的真实位置。
如果您有东西 来消除不同对象检测的歧义,那么是的,这是可能的。
其中一个非常 fine-detail 的变体是块匹配以获得视差图(立体视觉)。这是“运动结构”的特例。
如果你的“物体”有纹理,你愿意计算点云,那你就可以。