Типовыми задачами синтеза изображений являются улучшение качества последовательности исходных изображений и конструирование нового изображения из выделенных элементов [1]. Известны постановки задач, в которых требуется создание правдоподобных, но в реальности несуществующих изображений из псевдослучайного шума [2]. Следует выделить синтез изображений, выполняемый путем применения методов масштабирования, относящихся к группе суперразрешений (Super resolution), как по серии изображений [3], так и с применением искусственных нейронных сетей (ИНС) [4] при наличии единственного изображения. Тем не менее задача улучшения качества изображений продолжает оставаться актуальной.
Целью настоящего исследования является разработка метода синтеза изображений из набора снимков дистанционного зондирования Земли (ДЗЗ) путем нейросетевой оценки и отбора фрагментов изображений с максимальным качеством.
Материалы и методы исследования
Повышение качества изображений ДЗЗ является актуальной задачей, решение которой в настоящей работе достигается путем поиска и интеграции лучших фрагментов модельных изображений [5], полученных разными методами интерполяции. При синтезе изображений из фрагментов могут возникнуть проблемы из-за несовпадения масштабов, яркости, наклонов и сдвига изображений. Такая ситуация возникает, например, при построении панорам из группы снимков или построении HDR-фотографий (High Dynamic Range). Существуют программы для решения этой задачи, в том числе свободно распространяемые. Так, программа «Enblend-enfuse» предназначена для «сшивания» отдельных перекрывающихся изображений формата PNG и TIFF по маске с применением многомерного сплайна Берта – Адельсона, а программа «Enblend» делает переход между склеиваемыми изображениями незаметным, выбирая изменяемую по ширине границу перехода и смешивая изображения с учетом контраста [6]. Ряд программ и библиотек с открытым кодом для оценки качества изображений, находящихся в свободном доступе, представлен в таблице.
Для поиска лучших перекрывающихся областей в группе снимков предлагается использовать «тепловые карты» оценок качества изображений, вычисляя маски для последующего синтеза. Выбрана следующая структура двухслойной ИНС: первый слой – 130 нейронов, второй слой – четыре нейрона для оценки качества (плохое, среднее, хорошее, отличное).
Качество синтеза можно улучшать путем увеличения количества классов и размера обучающей выборки разработанной ИНС, построенной на основе работ [7, 8] и системы «NetBeans», снабженной текстовым и графическим пользовательскими интерфейсами. Для планирования и иллюстрации расположения и взаимодействий классов в программе применялся унифицированный язык разметки «UML 2.0» [9]. UML-диаграмма разработанных компонентов представлена на рис. 1.
За разметку снимков стандартными методами оценки качества (методом среднего квадратичного отклонения, СКО) отвечает компонент «PrepareLearnData». Набор изображений в формате PNG и файл pairs.json служат для передачи данных между компонентами программного комплекса. Компонент «ZoomQualityA» необходим для работы ИНС и оценки качества изображений. Компоненты «gui.MainWindow» и «QualityImageMapDrawing» используются для отладки и работы с обучающей выборкой.
Библиотеки и программы для оценки качества изображений
Название, web-сайт |
Методы |
Примечание |
«Image Quality Assessment (IQA)», www.sourceforge.net/p/iqa/wiki/Home |
MS-SSIM, SIMM, MSE, PSNR |
анализ изображений и видео |
«Image Quality Assessment (IQA)», www.github.com/dresa/photo-quality |
stddev, linear regression, RandomForest |
исследование качества изображения, нет API |
«deepIQA», www.github.com/dmaniry/deepIQA |
Deep CNN (15-слойные сверточные сети) |
исследование сверточных сетей, часть кода не опубликована |
«A no reference image quality assessment CNN», www.github.com/Adnan1011/NR-IQA-CNN |
Deep CNN |
исследование сверточных сетей |
«No-Reference Quality Assessment of Contrast-Distorted Images using Contrast Enhancement», www.github.com/mtobeiyf/CEIQ |
контраст (Contrast-Distorted), SSIM |
использует корреляцию контраста с SSIM |
Рис. 1. Диаграмма компонентов ПО
Рис. 2. Синтез изображений с разметкой, произведенной ИНС
Возможности синтеза демонстрируются на примере создания двух вариантов одного изображения с внесенными искажениями и последующей их интеграции. Процесс разметки качества нейронной сетью и результат синтеза представлены на рис. 2.
На рис. 2 показаны
1. А – два исходных изображения с разными искаженными областями.
2. Б – оценки качества исходных изображений в виде тепловой карты.
3. В – преобразованные изображения с удаленными худшими фрагментами.
4. Г – синтезированное изображение из элементов В, содержащее лучшие элементы из исходных.
Результаты исследования и их обсуждение
Обучающая выборка для ИНС состояла из пяти изображений размером 2419*1613 пикселей, полученных с сайта ГК РОСКОСМОС [10]. Результаты объективной оценки качества изображения были сохранены в текстовом файле формата Json.
На следующем этапе на основе json-файла и изображения строились входные и выходные вектора, пригодные для обучения сети. Было получено 226500 обучающих векторов, которые занимали 477 Мб памяти (в формате 64-битных чисел с плавающей точкой).
Проведено несколько экспериментов обучения ИНС с разной нормой обучения (0,1; 0,2 и 0,7) и разным количеством слоев (3, 4, 5). Обучающая выборка состояла из фрагментов изображений (окно 16*16) в оттенках серого. После настройки весов нейронных сетей были построены гистограммы весовых коэффициентов. Сеть обучалась на протяжении 15 эпох, на каждой эпохе уменьшалась ошибка. Лучшим оказался трехслойный персептрон, полученный на 15 эпохе, со средним квадратическим отклонением, равным 0,168. Программе потребовалось 3 ГБ оперативной памяти, а для сохранения настроек сети в файл – 1,2 МБ. Обучение велось в течение 7 ч на компьютере с процессором AMD FX(tm)-4170, 4 ГГц.
С помощью разработанной программы получено множество обучающих выборок и эталонных оценок качества методом СКО. Программа «Neuroph Studio» была использована для ручной проверки статистических данных и характеристик нейронных сетей.
На рис. 3 показано распределение весов для обученной на 15 эпохах трехслойной сети.
Для проверки работы нейронной сети оценивались изображения как из обучающей выборки, так и не присутствующие в ней. Оценки были представлены тепловыми картами участков размером 16×16 с хорошим и плохим качеством. Темным местам на картах соответствует большее СКО. Результаты работы ИНС, а также СКО, полученные на изображениях из обучающей выборки, представлены на рис. 4.
На рис. 4 введены следующие обозначения:
А, Б – оценки качества исходного изображения с помощью ИНС;
В, Г – исходные снимки: В – вулкана, Г – прибрежного города;
Д – тепловая карта СКО изображения В, интерполированного билинейным методом;
Е – тепловая карта СКО изображения Г, интерполированного линейным методом;
Ж – тепловая карта оценок ИНС изображения В, интерполированного билинейным методом;
З – тепловая карта оценок ИНС изображения Г, интерполированного линейным методом.
Как показали эксперименты, ИНС высоко оценивает качество исходных изображений, не содержащих искажения. Было выбрано три файла серии изображений, с неравномерно распределенными дефектами интерполяций нескольких видов. После синтеза было проведено измерение качества СКО использованной серии изображений и синтезированного изображения (средняя оценка на все изображение). СКО искусственно искаженных изображений составило: 0,0129, 0,0148, 0,0214; СКО синтезированного изображения составило: 0,0092; СКО синтезированного изображения с применением «Enblend-enfuse» для обработки масок составило: 0,0083.
Рис. 3. Гистограмма весов ИНС, обученной в течение 15 эпох
Рис. 4. Оценка качества изображений с применением ИНС и СКО
Разработанная программа может проводить синтез изображения по серии изображений с разными дефектами качества и одинаковыми пространственными координатами (требуются несмещенные изображения). Программа оценивает качество каждого снимка, создает «тепловые карты» качества на каждое изображение. Далее выбираются участки с максимальным либо равным качеством между всеми изображениями из серии, остальные участки размечаются к удалению. На основе разметки создается маска, которая может быть представлена в двух видах: либо альфа-каналом (помечаются худшие фрагменты на исходных изображениях как прозрачные участки, используется PNG-формат), либо отмечаются черным цветом в черно-белой маске. В дальнейшем полученные маски можно объединять посредством сторонних программ, например «Enblend-enfuse», либо использовать встроенную в разработанную программу функцию синтеза изображений по альфа-каналу (применяются прозрачные маски).
Заключение
Разработаны метод и программное обеспечение для синтеза изображения по отобранным фрагментам серии снимков. Программа спроектирована с учетом возможности замены применяемых библиотек машинного обучения, что позволяет, при необходимости использования специальных аппаратных средств, заменить библиотеку на новую версию с поддержкой распределенных вычислений.
Работа выполнена при финансовой поддержке Программы фундаментальных исследований Президиума РАН «Перспективные физико-химические технологии специального назначения» (проект «Разработка и исследование методов и технологии высокопроизводительного сжатия целевой информации, передаваемой по каналам космической связи в интересах национальной безопасности Российской Федерации») и при финансовой поддержке РФФИ в рамках научных проектов № 18-29-03011 мк и № 17-29-07003 офи_м.