我正在开发一个人工智能项目,涉及对大约 30 分钟的视频进行对象检测和动作识别。
我的管道如下:
模型很快,但作物实际写入磁盘的速度很慢。当然,使用 SSD 会加快速度,但我确信 ffmpeg 会大大加快速度。
农作物面临的一些挑战:
我提取作物的过程很简单,在 for 循环中使用
cv2.imwrite(output_crop_path, crop)
。
我已经尝试使用
sndcommand
和 filter_complex
进行了实验。我尝试了这个 https://stackoverflow.com/a/67508233/4447761 但它输出的图像在作物下方带有黑色,并且图像在 x 轴上缠绕。
请勿存储图片。
仅存储边界框的序列。
然后,无论您想对堆积如山的单个图像做什么,都可以解码视频并读取盒子的序列,然后像这样即时地从中取出作物。
我建议使用 PyAV 进行视频阅读。它可靠地为您提供演示时间戳。您甚至不需要它们,但是将它们放在文件中对于调试非常有帮助。
也许您想使用
pandas
来写入和读取这样的文件。 CSV 是一种流行的格式。