繁体   English   中英

如何提高具有高 fps 视频的 FER 处理(分析)速度?

[英]How to increase the speed of FER processing ( analyze ) for videos having high fps?

我正在使用一个大约有 30000 帧的视频,试图使用下面的 FER 代码进行情感识别

整个过程仅仅为了分析视频就需要 10-15 小时?

有没有办法加快处理时间或任何其他算法来检测面部情绪?

这是代码:

from fer import Video
from fer import FER
import os
import sys
import pandas as pd

location_videofile = "/Users/Akash/Desktop/videoplayback.mp4"
input_video = Video(location_videofile)

processing_data = input_video.analyze(face_detector, display=False, frequency=5)

也尝试在分析函数中添加频率参数,但没有用,因为处理时间几乎相同,我假设它影响输出而不是分析函数

通过以下回答,我将为您提供几种解决方案,这些解决方案可能适用于您的特定视频,也可能不适用于您的特定视频。

  • FER 代码依赖于 tensorflow 和 opencv 来处理数据。 假设通过 pip 默认安装这些包,tensorflow 已经在 gpu 上运行(您可能需要仔细检查),而 opencv 不是。 opencv 的一些功能可以在 gpu 上运行,它们可能是 FER 正在使用的功能:在这种情况下,您可能希望构建支持 GPU 的 opencv 包(您可以在此处查看)。
  • 另一种解决方案是在将视频提供给 FER 之前自行对视频的视频帧进行下采样。
  • 对视频的每一帧进行下采样,以减少每一帧中的像素数。 如果您负担得起,这可能会大大加快速度(即面部占据了大部分屏幕并且帧像素的数量相对较高)
  • 多重处理。 您可以将视频拆分为几个可以使用多个 python 进程进行分析的迷你视频。 在我看来,这是在不损失准确性的情况下处理速度问题的最便宜和更可靠的方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM