如何使用Matlab检测弯曲的人
How to detect a bending person using Matlab
我在使用计算机视觉系统工具箱 (Matlab) 时遇到问题
vision.PeopleDetector
检测人体弯曲的系统对象。由于此工具仅检测直立的人,因此当弯曲姿势不直立时会失败。
我确实尝试使用 regionprops
来处理弯曲图形的分段轮廓,但由于我使用高斯混合模型进行分段,结果也很糟糕。
有没有人对检测弯腰的人有好的建议?非常感谢。
澄清一下,您是在处理视频吗?你的相机是固定的吗?在那种情况下,您应该能够使用 vision.ForegroundDetector
来检测任何移动的东西,然后使用 regionprops
到 select 正确大小的斑点。如果 regionprops
对您不起作用,您可能想尝试使用形态学(imclose
和 imopen
)来缩小小间隙并滤除噪音。
此外,如果您正在处理视频,则可以使用 vision.KalmanFilter
来跟踪人员。那么你就不必在每一帧中检测每个人。如果一个人弯下腰,当他直起身子时,你仍然可以恢复轨道。
另一种可能性是尝试使用vision.CascadeObjectDetector
进行上半身检测。如果将图像旋转90度,应该可以检测到弯腰人的上半身。
另一种可能性是使用 trainCascadeObjectDetector
函数训练您自己的 "bending person detector"。
我在使用计算机视觉系统工具箱 (Matlab) 时遇到问题
vision.PeopleDetector
检测人体弯曲的系统对象。由于此工具仅检测直立的人,因此当弯曲姿势不直立时会失败。
我确实尝试使用 regionprops
来处理弯曲图形的分段轮廓,但由于我使用高斯混合模型进行分段,结果也很糟糕。
有没有人对检测弯腰的人有好的建议?非常感谢。
澄清一下,您是在处理视频吗?你的相机是固定的吗?在那种情况下,您应该能够使用 vision.ForegroundDetector
来检测任何移动的东西,然后使用 regionprops
到 select 正确大小的斑点。如果 regionprops
对您不起作用,您可能想尝试使用形态学(imclose
和 imopen
)来缩小小间隙并滤除噪音。
此外,如果您正在处理视频,则可以使用 vision.KalmanFilter
来跟踪人员。那么你就不必在每一帧中检测每个人。如果一个人弯下腰,当他直起身子时,你仍然可以恢复轨道。
另一种可能性是尝试使用vision.CascadeObjectDetector
进行上半身检测。如果将图像旋转90度,应该可以检测到弯腰人的上半身。
另一种可能性是使用 trainCascadeObjectDetector
函数训练您自己的 "bending person detector"。