Добавление цветового шума к изображению

#python #opencv #image-processing #deep-learning

#питон #opencv #обработка изображений #глубокое обучение #python

Вопрос:

Я тренирую глубокую нейронную сеть, чтобы улучшить качество изображений. Изображения содержат некоторые специфические типы шума, которые я хочу уменьшить / удалить с помощью модели глубокого обучения. Для этого я использую огромный набор данных похожих четких изображений с высоким разрешением практически без шума, добавляю к изображениям определенные типы шума и обучаю сеть регенерации исходного изображения (пользовательская сеть автоэнкодирования). С одним из нескольких типов шума это пока работает очень хорошо. Не вдаваясь в подробности, добавить этот конкретный тип шума было несложно.

Теперь мне нужно добавить к изображениям другой тип шума, точнее: цветовой шум, как на следующем изображении (внизу справа): ссылка

Как мне искусственно сгенерировать и добавить цветовой шум к изображению в Python? Я могу использовать полный спектр пакетов обработки изображений, PIL, numpy, OpenCV, torchvision…

Ответ №1:

Вам нужно преобразовать изображение в цветовое пространство, такое как HSV или CIE Lab. Затем вы добавляете шум к каналам цветности (a, b в Lab или H, S — HSV). Наконец, преобразуйте обратно в RGB.

Этот этап преобразования цветового пространства является очень распространенным, и большинство наборов инструментов для обработки изображений должны обладать такой функциональностью.

Комментарии:

1. Хорошо, я могу добавить случайный цветовой шум на основе пикселей с помощью этого. Но шум, который я хотел бы добавить (скорее удалить), находится на уровне суперпикселей (как видно на связанном изображении). Пятна довольно большие по сравнению с одним пикселем. Я предполагаю, что это какой-то перлиновый или фрактальный шум, но я до сих пор не смог воспроизвести его подобным образом. Это почему-то похоже на цветовой шум, который исходит от камеры с высоким ISO.

2. @HendrikWiese: Я думаю, что это вызвано сжатием JPEG. Я вижу артефакты сжатия JPEG также в компоненте шума яркости. JPEG уменьшает дискретизацию компонентов цветности изображения, что приводит к появлению подобных пятен, если вы их изолируете. Я бы попытался сохранить в формате JPEG, а затем загрузить обратно. Или вы могли бы попытаться имитировать это, размыв шум, прежде чем добавлять его к компонентам цветности изображения.

3. Хорошо, да, артефакты JPEG, а точнее их удаление, — это то, что я также хочу включить в модель, спасибо. Я посмотрю, поможет ли это.