我是图像处理和计算机视觉领域的新手。最近我正在尝试使用运动检测来检测视频中的人物。
我正在使用这个 dataset这是它的Technical Report .
好吧,我正在尝试使用背景减法来检测人类。我假设第一帧作为背景并从背景中减去其他帧,然后我对减去的图像设置阈值以将其二值化。只有当背景和前景具有完全不同的颜色强度值时,它才能正常工作。
但是有些地方前景(移动的人)和背景(那个地方的椅子)颜色相同,所以减法值变得非常小,并且没有正确检测到人,结果将其分为上半部分和下半部分。如下所示
也如Technical Report中所述第 5 页,视频高度压缩和其他段错误。这使得很难检测到前景人物。
我正在尝试在线查找解决方案,但可用的研究论文过于简洁,以至于我无法理解其中的含义。
非常感谢任何帮助。
编辑 1
正如 npinti 在评论中建议我尝试凸包,所以我尝试在下面的 blob 图像上做
它首先将图像分成小的连接的 Blob ,然后将它们连接起来,如下图所示
这是腿部
这是左手
和其他 3 张小图片。但我的问题是将这些全身部位连接起来,使其成为一个完整的团 block 。
引用
- E。 Auvinet、C. Rougier、J.Meunier、A. St-Arnaud、J. Rousseau、 “多个摄像头坠落数据集”,技术报告 1350,DIRO - 蒙特利尔大学,2010 年 7 月。
最佳答案
一旦你有了 body 部位的 Blob ,就得到它们的边界框并合并彼此接触或足够接近的框。
要合并盒子,只需创建一个完全包含其他盒子的盒子:minX=min(minX of all other boxes), maxX=max(maxX of all other boxes) ...
关于algorithm - 基于运动的人体检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21425246/