#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, а точнее их удаление, — это то, что я также хочу включить в модель, спасибо. Я посмотрю, поможет ли это.