我正在开展一些机器学习项目,在那里我用卡尔曼滤波器跟踪器跟踪了人们。我想计算视频中每个人的时间。
我尝试使用以下逻辑: 假设此人出现在5帧中且视频FPS为15,那么我们可以说该人在视频中是(5 * 15)75秒。
注意: - 我假设&硬编码代码中的FPS值。我没有找到任何方法来获取FPS,因为我正在传递视频帧以进行跟踪。
但问题是如果我对FPS值进行硬编码,那么每当FPS发生变化时(我不知道何时发生变化),我必须更改代码,否则会产生错误的结果。
答案 0 :(得分:0)
我的建议是计算处理每个捕获帧的时间,并保持累加器计算每个检测到的人的屏幕时间。对于此类项目,帧速率取决于您的处理量。
答案 1 :(得分:0)
您不需要对fps进行硬编码,实际上您不需要fps。我相信您的追踪器会为每个检测到的人分配唯一的ID。有了ID后,您就可以开始计算该ID的秒数了。该人离开框架后,跟踪器ID将丢失,您可以停止计时器,因此您将拥有该框架所花费的总时间。
看看下面的代码:https://github.com/mailrocketsystems/AIComputerVision/blob/master/dwell_time_calculation.py
还有可能是该视频的解释内容:https://www.youtube.com/watch?v=qn26XSinYfg