如何处理YUV422(YUYV)图像作为CNN的输入?

时间:2019-03-24 20:07:41

标签: machine-learning keras computer-vision conv-neural-network

我想将以YUV422(YUYV)格式存储的图像馈入CNN。 YUV422表示两个像素由四个字节表示,基本上两个像素共享色度,但具有单独的亮度。

我了解到,对于卷积神经网络而言,空间性起着重要作用,即滤镜可以“看到”亮度像素及其相应的色度像素。那么如何解决这个问题呢?还是根本没有问题?

出于性能考虑,我想避免执行额外的预处理步骤。

1 个答案:

答案 0 :(得分:0)

在通用框架(如TensorFlow,PyTorch等)中实现的卷积神经网络以平面方式存储通道。即,每个通道(R,G,B或Y,U,V)存储在一个连续区域中,图像中的所有像素均为(宽x高)。这与通道数据在每个像素内交错的格式相反。因此,您需要对欠采样的UV通道进行升采样以匹配Y通道的大小,然后以与RGB数据相同的方式将其馈送到网络。

其他人发现它可以正常工作,但不能达到RGB的性能。参见https://github.com/ducha-aiki/caffenet-benchmark/blob/master/Colorspace.mdEffect of image colourspace on performance of convolution neural networks,作者:K Sumanth Reddy; Upasna Singh; Prakash K Uttam。

YUV到RGB的转换不太可能成为瓶颈。 RGB具有明显的优势,即可以重用许多出色的预训练模型(转移学习)。