python - 是否有对图像进行归一化的 GStreamer 过滤器?
问题描述
我正在尝试创建一个GStreamer
可以进行图像处理的管道。具体来说,我正在做机器学习网络使用的图像预处理。因此,该管道将在将其馈送到神经网络之前执行所有必要的预处理步骤。
现在,我正试图弄清楚是否有任何GStreamer
插件可以简单地进行规范化。
GStreamer 确实允许程序员为应用程序创建自定义插件。这是这个问题的一个解决方案,但我想知道是否有任何预先存在的解决方案。
任何事情都可能有帮助!!!先感谢您。
我查看了GStreamers
他们网站上的插件列表,但有很多,有些描述不清楚,对我来说,它们做什么或如何使用它们。
此页面是GStreamers
其网站上提供的插件列表。
这个插件听起来很有希望,但并不是我想要的。
如果有人好奇,这是我想为我的 GStreamer 管道复制的规范化方法。
def preprocess(img_data):
mean_vec = np.array([0.485, 0.456, 0.406])
stddev_vec = np.array([0.229, 0.224, 0.225])
norm_img_data = np.zeros(img_data.shape).astype('float32')
for i in range(img_data.shape[0]):
# for each pixel in each channel, divide the value by 255 to get value between [0, 1] and then normalize
norm_img_data[i,:,:] = (img_data[i,:,:]/255 - mean_vec[i]) / stddev_vec[i]
return norm_img_data
解决方案
当我们对图像使用归一化进行神经网络推理时,我们通常会:
${some video/x-raw stream} ! tensor_converter ! tensor_transform mode=arithmetic option=typecast:float32,add:-127.5,div:127.6 ! tensor_filter ${whatever neural network mode you want} ! ....
- 用于神经网络处理的 GStreamer 插件: https ://github.com/nnsuite/nnstreamer
- 示例代码: https ://github.com/nnsuite/nnstreamer-example
- 像这样进行规范化的代码:https ://github.com/nnsuite/nnstreamer-example/blob/master/android/example_app/nnstreamer-multi/jni/nnstreamer-ex.cpp
- 此“示例应用程序”的二进制文件:https: //play.google.com/store/apps/details?id=org.freedesktop.gstreamer.nnstreamer&hl=en
推荐阅读
- python - 如何在 scikit Learn (Python) 中优化我的随机森林模型
- c# - Unity 无法识别 Unity 中的状态变化
- python - 从字典列表中获取数据
- scala - `sbt dist` 静默退出而不产生二进制文件
- python - 将每个 seaborn 图形附加到 for 循环内的 PDF
- python - ipywidgets interactive_output 不返回 pandas DataFrame
- flutter - 根据条件是否导致颤动在屏幕之间导航
- laravel - 为什么 laravel 在发送邮件时需要认证?
- r - R 错误(下标)逻辑下标太长
- postgresql - 如何在 postgresql 中计算派生的年龄属性?