AIY视觉套件-CameraInference会始终获取最新/当前帧吗?

时间:2018-06-28 06:57:29

标签: google-aiy

如果我的模型花费80毫秒来处理每个帧(12.5帧/秒),但是相机以30帧/秒的速度运行,那么CameraInference如何处理下一个要处理的帧?

是否在处理之前就获取当前帧?还是从帧缓冲区中拉出更早的帧?

代码示例:

with PiCamera() as camera:
    camera.sensor_mode = 4
    camera.resolution = (1640, 1232)
    camera.framerate = 30
    camera.start_preview()

    with CameraInference(my_model.model()) as inference:
        for i, result in enumerate(inference.run()):
            if i == args.num_frames:
                break
            print('frame: {}, dur: {}, result: {}'.format(i, result.duration_ms, result.tensors['y'].data[0]))

    camera.stop_preview()

1 个答案:

答案 0 :(得分:0)

在当前帧上运行推理时,Vision Bonnet上的推理管道会丢弃帧。您总是会从Python API中获得最新的推断结果。当然,如果inference_fps > camera_fps,那么就不会掉线。