基于运动的人体检测

时间:2014-01-29 07:59:22

标签: algorithm opencv image-processing computer-vision artificial-intelligence

我是图像处理和计算机视觉领域的新手。最近我试图使用运动检测来检测视频中的人。

我正在使用此dataset,此处为Technical Report

我正在尝试使用背景减法方法检测人类。我假设第一帧作为背景并从背景中减去其他帧然后我阈值减去图像以将其二值化。只有当背景和前景具有完全不同的颜色强度值时,它才能正常工作。

但是前景(移动人类)和背景(那个地方的椅子)是相同颜色的地方,因此减法值变得非常小,人类没有被正确检测到,结果将其分成上半部分和下半部分。如下所示 Splitted Image

同样如Technical Report第5页中所述,视频受到高度压缩和其他分段错误。这使得难以检测前景人类。

我正在尝试在线查找解决方案,但可用的研究论文非常简洁,我无法理解它。

任何帮助都会非常感激。

编辑1

正如npinti建议我在评论中尝试凸包,所以我试着在下面的blob图像上做这个

enter image description here

它首先将图像分成单独的小连接斑点然后连接它们,如下图所示

这是腿部

leg part

这是左手

Left Hand

另外3张小图片。但我的问题是连接这些整个身体部位,使其成为一个完整的斑点。

参考

  1. 电子。 Auvinet,C。Rougier,J.Meunier,A。St-Arnaud,J。Rousseau, “多个摄像头掉落数据集”,技术报告1350,DIRO - 蒙特利尔大学,2010年7月。

1 个答案:

答案 0 :(得分:0)

一旦你获得了身体部位的斑点,就可以获得它们的边界框并合并相互接触的框,或者足够接近的框。

要合并框,只需创建一个完全包含其他框的框:minX = min(所有其他框的minX),maxX = max(所有其他框的maxX)...