Как обработать изображение YUV422 (YUYV) как ввод CNN? - PullRequest
0 голосов
/ 24 марта 2019

Я хочу передать изображение, которое хранится в формате YUV422 (YUYV), в CNN.YUV422 означает, что два пикселя представлены четырьмя байтами, в основном два пикселя разделяют цветность, но имеют отдельные яркости.

Я понимаю, что для сверточных нейронных сетей пространственная роль играет важную роль, то есть фильтры «видят»пиксели яркости вместе с соответствующими им пикселями цветности.Так как же подойти к этой проблеме?Или это вообще не проблема?

Я хочу избежать дополнительного этапа предварительной обработки по соображениям производительности.

1 Ответ

0 голосов
/ 31 марта 2019

Сверточные нейронные сети, реализованные в общих средах, таких как TensorFlow, PyTorch и т. Д., Сохраняют каналы в плоском виде.То есть каждый канал (R, G, B или Y, U, V) хранится в непрерывной области со всеми пикселями в изображении (ширина х высота).Это в отличие от формата, в котором данные канала чередуются внутри каждого пикселя.Таким образом, вам нужно будет увеличить частоту дискретизации ультрафиолетовых каналов, чтобы они соответствовали размеру канала Y, а затем передать их в сеть так же, как данные RGB.

Другие считают, что он работает нормально, но недостижение производительности RGB.См. https://github.com/ducha-aiki/caffenet-benchmark/blob/master/Colorspace.md и Влияние цветового пространства изображения на производительность сверточных нейронных сетей . Автор K Sumanth Reddy;Упасна сингх;Prakash K Uttam.

Маловероятно, что преобразование YUV в RGB станет узким местом.Преимущество RGB в том, что можно использовать много превосходных моделей с предварительной подготовкой (трансферное обучение).

...