|
|
Интерполяция цвета (дебайер) на CUDA
Цветные видеокамеры обычно устроены так, что на поверхности матрицы нанесена решётка из светофильтров, поэтому каждый пиксел регистрирует свет только определённого цвета (зелёного, красного или синего). Такая решётка называется байеровским шаблоном или просто байером (по имени создателя). Поэтому в каждом пикселе изображения есть точная информация только об одной цветовой компоненте, а значения остальных цветовых компонент можно восстановить с помощью информации о значениях других цветовых компонент в соседних пикселах.
Если цветовая гамма на изображении меняется непрерывно, то даже простые алгоритмы типа усреднения по соседним пикселам дают неплохой результат. Однако, если есть резкая граница с изменением цвета, то проявляются различные артефакты в виде ложных цветов, лесенки, размытия. Для устранения таких артефактов используют разнообразные и довольно сложные модели, описывающие поведение цветов и взаимосвязи их компонент на естественных изображениях.
Основные алгоритмы, используемые для восстановления цвета
- простейшее усреднение по соседним пикселам (билинейная интерполяция, AN3)
- фильтры для окрестностей 5×5, 7×7 и более
- учёт локальных изменений цветовых разностей G-R и G-B
- учёт локальных вертикальных и горизонтальных градиентов
- учёт шума и его влияния на восстановление цвета
- адаптивные методы для улучшения локальных оценок
Поскольку задача восстановления цвета после байеровского паттерна является локальной, то её можно эффективно распараллелить и оптимизировать для создания программного обеспечения на основе технологии CUDA. Такое решение позволит существенно поднять скорость цветовой интерполяции и даст возможность в онлайне обрабатывать большие потоки данных, например, от цветных скоростных видеокамер или от камер с очень большим разрешением. Библиотека Фаствидео СДК является высокопроизводительным решением на базе видеокарт NVIDIA для интерполяции данных от байеровскоих матриц и имеет несколько алгоритмов для решения этой задачи.
Что может дебайер на видеокарте
Основной результат: для 12/16-битного байеровского изображения с разрешением 1920×1080, загруженного в оперативную память компьютера, программа Fast Debayer восстанавливает цвет за 0,2 мс на видеокарте NVIDIA GeForce GTX 1080, что соответствует производительности более 10 ГПикс/с в секунду или частоте более 5000 кадров в секунду при разрешении Full HD.
Программа Fast Debayer распространяется бесплатно и её можно скачать по ссылке, приведенной ниже. Данная версия работает в Windows-10/11 (64-бит) с видеокартами NVIDIA. Для корректной работы желательно установить последние драйверы NVIDIA.
Fast Debayer on CUDA
|
|

|
Fast Debayer on CUDA
Размер архива: 48.6 MB
Издатель: Fastvideo
ОС: Windows-10 (64-bit)
Лицензия: Time-limited Demo
Видеокарты NVIDIA Pascal, Volta, Turing, Ampere, Ada
|
Возможности дебайера на CUDA
- Поддерживаются все основные байеровские паттерны (RGGB, BGGR, GBRG, GRBG)
- Алгоритм создания байеровских изображений (CFA) из 24-битных файлов формата PPM
- Входной формат байеровских изображений – PGM, 8/10/12/14/16 бит на пиксел
- На выходе программа создаёт 24/48-битные изображения формата PPM
- Минимальное разрешение 128×128
- Максимальное разрешение до 12000×12000
- Производительность программы (в измерения учитываются только вычисления, изображения формата 4K, 16 бит на канал, на видеокарте NVIDIA GeForce RTX 4090:
- Алгоритм HQLI (High Quality Linear Interpolation) - до 68 ГПикс/с, среднее значение PSNR = 36 дБ для набора изображений Kodak
- Алгоритм DFPD (Directional Filtering and a Posteriori Decision) - до 47 ГПикс/с, среднее значение PSNR = 39 дБ для набора изображений Kodak
- Алгоритм MG (Multiple Gradients) - до 18 ГПикс/с, среднее значение PSNR = 40,5 дБ для набора изображений Kodak
- Оценка результатов цветовой интерполяции по метрикам MSE и PSNR
- Измерения времени выполнения и производительности каждого алгоритма
- Консольное приложение для Windows-10/11, Linux, L4T
Таким образом, показана возможность восстановления цвета с высокой производительностью и отличным качеством на графических картах NVIDIA по технологии CUDA. Производительность видеокарты GeForce RTX 4090 для цветовой интерполяции значительно выше, чем возможности самых последних CPU. Полученные данные говорят о том, что есть возможность использовать более сложные алгоритмы для быстрого и качественного восстановления цвета и обработки изображений на видеокартах.
|