首页 > 解决方案 > 是否有对图像进行归一化的 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

标签: pythonimage-processinggstreamernormalizationpython-gstreamer

解决方案


当我们对图像使用归一化进行神经网络推理时,我们通常会:

${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} ! .... 

推荐阅读