视频帧分析技术是一种通过提取视频帧并对其进行推理分析的方法。在进行视频分析时,通常需要关注几个关键点,包括帧偏移、时间偏移、模型ID、剪辑和凝视等。这些参数共同决定了视频帧分析的准确性和效率。
帧偏移(frame_offsets)是指从视频流中提取用于推理分析的帧编号。例如,如果输入视频的帧率为每秒24帧,而设定的推理帧率(infer_fps)为每秒4帧,那么被选中用于推理的帧索引(frame_offsets)将是[0, 6, 12, 18, 24, 30, ...]。通常,选择的推理帧率应为视频帧率的因数,以保证帧的准确提取。如果视频帧率不是推理帧率的整数倍,那么帧偏移将是一个近似值。选择适用于应用的最小推理帧率,因为更高的值会导致更高的成本和更慢的结果。如果推理帧率大于视频帧率,系统将不会返回输出。
时间偏移(time_offsets)列表指示视频播放时帧发生的时间。每个时间条目以秒为单位,并四舍五入到4位小数。其余列表包含推理数据。列表中的每个元素可以是一个字典,或者在该特定帧未被模型成功推理的情况下,其值为None。
对象检测模型的推理输出示例如下:
{
"time": 0.06994929000006778,
"image": {
"width": 480,
"height": 360
},
"predictions": [
{
"x": 360.0,
"y": 114.0,
"width": 36.0,
"height": 104.0,
"confidence": 0.6243005394935608,
"class": "zebra",
"class_id": 1
}
]
}
在上述示例中,"time"字段表示推理计算时间,通常可以忽略。"image"字段显示输入的尺寸。"predictions"列表包含每个预测类别的信息。
凝视检测模型的推理输出示例如下:
{
predictions: [
{
face: {
x: 236,
y: 208,
width: 94,
height: 94,
confidence: 0.9232424,
class: "face",
class_confidence: null,
class_id: 0,
tracker_id: null
},
landmarks: [
{
x: 207,
y: 183
},
... (6 landmarks)
]
"yaw": 0.82342350129345,
"pitch": 0.23152452412
}
],
"time": 0.025234234,
"time_face_det": null,
"time_gaze_det": null
}
在这个示例中,"time"字段表示推理计算时间。"face"字段显示面部的尺寸和位置。"landmarks"数组包含面部特征点的坐标。"yaw"和"pitch"字段分别表示头部的偏航和俯仰角度。
分类和实例分割功能即将推出,敬请期待。