如何在多个摄像头中跟踪人物?

问题描述 投票:1回答:1

这是一个设置:一个相当大的房间,天花板上安装了4个鱼眼摄像头。没有盲点。每个摄像机覆盖范围与另一个覆盖范围重叠。

我们的想法是跟踪这些摄像机的人。到目前为止,一个blob提取算法到位,它将人们检测为blob。这是一个相当不错的工作算法,可以很好地检测个人。我正在使用OpenCV API来完成所有这些工作。

跟踪人们的意思是 - 说,摄像机1识别两个人,比如人A和人B.现在,当这两个人从摄像机1的覆盖范围移动到cam1和cam2的覆盖范围的重叠区域并进入只有cam2覆盖的区域,cam2应该能够将它们识别为同一个人A和B cam1将它们识别为。

这就是我以为我会做的事情 - 1)相机以15fps渲染图像,我认为帧的尺寸是1920x1920。

2)在每个摄像机中单独识别斑点并为每个斑点提供唯一标签。

3)现在关于重叠 - 计算一个仿射变换矩阵,它将一个摄像机帧上的像素映射到另一个摄像机的帧上 - 这不需要对每个帧进行 - 这可以在整个过程开始之前完成,作为预处理步。因此,实时地,每当我检测到重叠区域中的斑点时,我所要做的就是将变换矩阵应用于cam1中的像素,并查看cam2中是否存在相应的斑点并为它们提供相同的标签。

所以,问题:

1)这个系统会给我一个糟糕的工作系统,可以很好地跟踪人们吗?

2)那么,对于仿射变换,我是否必须将鱼眼转换为直线图像? (我的回答是肯定的,但我不太确定)请随意指出可能的错误以及为什么某些事情可能在我描述的过程中不起作用。欢迎另外的建议! TIA

opencv computer-vision
1个回答
0
投票

1- blob提取不足以跟踪特定对象,对于人们的情况我建议HoG - 或者至少在blob提取之前进行背景减法,因为所有相机都有场景。

2- opencv <= 2.4.9使用针孔模型进行立体视觉。因此,在使用opencv方法进行任何校准之前,您的鱼眼图像必须首先是converted to直线图像。您也可以尝试使用other approaches进行自我校准

3.0.0版本将支持fisheye model。它处于alpha阶段,你仍然可以下载并尝试一下。

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