首页 > 解决方案 > 如何处理 YUV422 (YUYV) 图像作为 CNN 的输入?

问题描述

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

我知道对于卷积神经网络,空间性起着重要作用,即过滤器“看到”亮度像素及其相应的色度像素。那么如何解决这个问题呢?或者这根本没有问题?

出于性能原因,我想避免额外的预处理步骤。

标签: machine-learningkerascomputer-visionconv-neural-network

解决方案


在 TensorFlow、PyTorch 等常见框架中实现的卷积神经网络以平面方式存储通道。也就是说,每个通道(R、G、B 或 Y、U、V)都存储在图像中所有像素(宽度 x 高度)的连续区域中。这与通道数据在每个像素内交错的格式形成对比。因此,您需要对二次采样的 UV 通道进行上采样以匹配 Y 通道的大小,然后以与 RGB 数据相同的方式将其输入网络。

其他人发现它工作正常,但没有达到 RGB 的性能。请参阅https://github.com/ducha-aiki/caffenet-benchmark/blob/master/Colorspace.md 和K Sumanth Reddy的图像色彩空间对卷积神经网络性能的影响;乌帕斯纳辛格;普拉卡什·K·乌塔姆。

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


推荐阅读