Научная статья на тему 'РАЗРАБОТКА ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ УЛУЧШЕНИЯ КАЧЕСТВА ИЗОБРАЖЕНИЙ НА МОБИЛЬНОЙ ПЛАТФОРМЕ ANDROID'

РАЗРАБОТКА ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ УЛУЧШЕНИЯ КАЧЕСТВА ИЗОБРАЖЕНИЙ НА МОБИЛЬНОЙ ПЛАТФОРМЕ ANDROID Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
90
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ / НЕЙРОННЫЕ СЕТИ / КАЧЕСТВО ГРАФИЧЕСКИХ ИЗОБРАЖЕНИЙ / МОБИЛЬНЫЕ ПРИЛОЖЕНИЯ / ANDROID

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Майоров Руслан Станиславович, Бождай Александр Сергеевич

Рассматриваются вопросы проектирования программной системы для улучшения качества изображений для мобильных устройств под управлением ОС Android. Произведен анализ существующих подходов для улучшения фотоснимков. Представлены основные критерии качества графических изображений. Рассмотрены архитектуры нейронных сетей, применяемых для обработки изображений. Выполнена оценка эффективности разработанного приложения.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Майоров Руслан Станиславович, Бождай Александр Сергеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «РАЗРАБОТКА ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ УЛУЧШЕНИЯ КАЧЕСТВА ИЗОБРАЖЕНИЙ НА МОБИЛЬНОЙ ПЛАТФОРМЕ ANDROID»

УДК 004.032.26

РАЗРАБОТКА ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ УЛУЧШЕНИЯ КАЧЕСТВА ИЗОБРАЖЕНИЙ НА МОБИЛЬНОЙ ПЛАТФОРМЕ ANDROID

Р. С. Майоров1, А. С. Бождай2

1 2Пензенский государственный университет, Пенза, Россия

1maiorov.rus01@gmail.com 2bozhday@yandex.ru

Аннотация. Рассматриваются вопросы проектирования программной системы для улучшения качества изображений для мобильных устройств под управлением ОС Android. Произведен анализ существующих подходов для улучшения фотоснимков. Представлены основные критерии качества графических изображений. Рассмотрены архитектуры нейронных сетей, применяемых для обработки изображений. Выполнена оценка эффективности разработанного приложения.

Ключевые слова: проектирование программного обеспечения, нейронные сети, качество графических изображений, мобильные приложения, Android

Для цитирования: Майоров Р. С., Бождай А. С. Разработка интеллектуальной системы улучшения качества изображений на мобильной платформе Android // Вестник Пензенского государственного университета. 2023. № 2. С. 127-134.

Введение

Развитие современных мобильных устройств (смартфонов, планшетов) подразумевает постоянное совершенствование таких характеристик, как стоимость, компактность, энергопотребление. В бюджетных моделях зачастую эти параметры улучшаются за счет снижения производительности графической подсистемы и качества камеры. Возникает актуальная задача разработки приложений, которые бы позволили улучшить качество получаемых фотографий уже после момента съемки. Одним из наиболее перспективных направлений работы с графикой на сегодняшний день являются искусственный интеллект и нейронные сети. Существует большое количество готовых обученных нейросете-вых моделей, которые умеют самостоятельно выделять значимые признаки графического изображения и улучшать заданные параметры их качества. Многие из таких моделей являются свободно распространяемыми и имеют открытый программный интерфейс (API) для внедрения своего функционала в пользовательские программы. В статье рассмотрены вопросы проектирования такого нейросетевого мобильного приложения по улучшению качества фотоснимков для устройств, работающих под управлением операционной системы Android.

Способы улучшения снимков

Существует множество способов улучшения качества изображений. Самым распространенным и универсальным является метод ручного редактирования с помощью гра-

© Майоров Р. С., Бождай А. С., 2023

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

Также широко применяются методы обработки с использованием программных фильтров, которые могут устранять шумы и другие дефекты на изображении. Их недостатком является то, что они сложны в настройке и не всегда способны сохранить детали и естественность изображения. Примерами таких приложений могут быть Snapseed, Adobe Photoshop, Adobe Lightroom, PicArt и др. Кроме того, существуют специализированные приложения для улучшения определенных параметров изображений, например, для улучшения резкости или уменьшения шума на фотографиях. Некоторые производители камер также предоставляют свои собственные приложения для улучшения качества снимков, которые могут быть загружены на смартфоны и планшеты.

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

Невозможно говорить об улучшении качества изображений без определения критериев этого качества. Будем понимать под критериями качества изображения специальные метрики, используемые для оценки качества работы системы, метода или алгоритма. В контексте обработки изображений критерии качества используются для оценки снимка до и после его обработки. Таким образом можно сравнивать различные методы обработки и выбирать наиболее эффективный подход. Критерии качества изображений могут включать в себя такие параметры, как резкость, контрастность, яркость, насыщенность цветов, шум, разрешение, цветовая гамма и др. Каждый из этих параметров может быть измерен определенным способом и использован для оценки качества обработки фото.

Очевидно, что для различных задач обработки могут использоваться разные критерии качества. Например, для задачи распознавания лиц на изображении критерием качества может быть точность распознавания, а для задачи восстановления поврежденных изображений - сохранение деталей и минимизация искажений. Ниже перечислены некоторые из наиболее распространенных критериев качества, используемых в разработке:

1. Пиковое отношение сигнала к шуму (PSNR) - это один из наиболее распространенных критериев качества, используемых для оценки уровня шума в изображении. PSNR вычисляется путем сравнения оригинального изображения с улучшенным изображением и измерения разницы между ними.

2. Structural Similarity Index (SSIM) - это критерий качества, который используется для измерения структурного сходства между оригинальным и улучшенным изображением. Он учитывает не только яркость и контрастность, но и текстуру и форму объектов на изображении.

3. Visual Information Fidelity (VIF) - это критерий качества, который измеряет количество информации, передаваемой изображением. Он учитывает как основные характеристики изображения, так и восприятие человеком, что делает его более точным при оценке качества изображения.

4. Perceptual Index (PI) - это критерий качества изображения, основанный на оценке визуального восприятия изображения человеком. Он учитывает не только физические характеристики изображения, но и способность человека воспринимать и оценивать его.

В данной работе было принято решение использовать следующие критерии качества: пиковое отношение сигнала к шуму (PSNR) и Perceptual Index (PI). Одним из главных достоинств PSNR являются его математическая точность и простота измерения, что

делает его удобным инструментом для сравнения качества изображений. Этот критерий также устойчив к изменениям масштаба и поворотам изображений, что делает его более универсальным для различных задач. С другой стороны, PI обычно считается более «человеческим» критерием, так как учитывает не только математические параметры изображения, но и человеческое восприятие его качества. Это позволяет получать более точные результаты при оценке качества изображений, особенно в случаях, когда PSNR может не справиться, например, с оценкой качества в условиях шума или искажений.

Структура системы

Взаимосвязь основных элементов интерфейса разрабатываемого приложения представлена на схеме (рис. 1).

Главный экран

Экран загрузки изображения

Экран улучшения качества изображения

Обработка изображения нейронной сетью

Экран вывода результата

Рис. 1. Взаимосвязь элементов интерфейса системы улучшения качества изображений

на мобильной платформе Android

На данной схеме представлены следующие компоненты:

1. Главный экран - основной элемент интерфейса приложения, предоставляющий пользователю доступ к основным функциям системы.

2. Экран загрузки изображения - данный элемент интерфейса позволяет пользователю выбрать изображение из галереи своего устройства или сделать новое фото с помощью камеры. Также на этом экране можно выбрать размер изображения для оптимальной обработки нейронной сетью.

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

4. Обработка изображения нейронной сетью - на этом этапе происходит обработка с помощью нейронной сети, которая улучшает качество фото. Пользователь будет видеть прогресс обработки.

5. Экран вывода результата - на этом экране пользователь может увидеть улучшенное изображение и сохранить его на свое устройство.

Также в приложении можно предусмотреть различные настройки, такие как выбор модели нейронной сети, выбор формата сохранения изображения и т.д.

Описание блока нейросети

Существуют различные архитектуры нейронных сетей, которые используются для обработки изображений, такие как Convolutional Neural Networks (CNN), Generative Adversarial Networks (GAN), и Autoencoder Networks (AN):

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

2. GAN - это состязательная нейронная сеть, которая используется для генерации новых изображений, которые выглядят похожими на обучающие данные. Она состоит из двух нейронных сетей: генератора и дискриминатора. Генератор создает последовательность новых изображений, а дискриминатор оценивает, насколько они соответствуют обучающим данным. GAN может быть использован для создания фотореалистичных изображений, но может иметь проблемы с созданием деталей в некоторых областях снимка.

3. AN - это нейронная сеть, которая используется для генерации новых изображений, но работает несколько иначе, чем GAN. Она состоит из кодировщика, который преобразует фото в компактное представление, и декодировщика, который преобразует это представление обратно в картинку. AN может использоваться для задач сжатия, улучшения качества и реконструкции изображений.

Таким образом, различия между этими тремя типами нейронных сетей заключаются в их архитектурах и целях. CNN используется для классификации и детекции объектов, GAN используется для создания новых изображений, а AN используется для изучения внутреннего представления изображений и их сжатия. Существует множество нейронных сетей, которые используются для улучшения качества снимков, например, SRGAN, EDSR, RCAN и многие другие. Каждая из этих моделей имеет свои преимущества и недостатки, но выбор в работе пал на Real-ESRGAN, которая имеет ряд преимуществ перед другими моделями (рис. 2).

Input

Рис. 2. Схема нейросетевой модели Real-ESRGAN

Real-ESRGAN является улучшенной версией ESRGAN, которая была разработана в 2019 г. с использованием модифицированных архитектур и функций потерь для улуч-

шения качества изображения [1]. Данная модель обучалась на наборе данных DIV2K, содержащем более 800 примеров, и может использоваться для увеличения разрешения фото, удаления шума и улучшения качества изображения.

Одно из основных отличий Real-ESRGAN от ESRGAN - это использование новой архитектуры Residual-in-Residual Dense Block (RRDB) [2] вместо Residual Dense Block (RDB). RRDB имеет более высокую производительность и более мощные возможности улучшения изображений, чем RDB. Кроме того, Real-ESRGAN использует новый метод перекрестной энтропии (cross-entropy loss) для обучения, который учитывает различные характеристики изображений, такие как контрастность и яркость. Эта нейронная сеть использует субпиксельную свертку (sub-pixel convolution) для увеличения размера фото без использования интерполяции в традиционном смысле. Этот метод выполняет свертку с фотографией, нарезанной на мелкие части, и затем объединяет эти части в более крупные блоки, что позволяет сохранить детали и текстуру изображения при увеличении его размера. В совокупности эти особенности позволяют модели достичь более высокого качества обработки, чем методы, использующие интерполяцию.

Но наиболее значимым преимуществом Real-ESRGAN является возможность увеличения масштаба в 4-16 раз без значительной потери качества. Это достигается благодаря использованию модуля внимания и резидуальных блоков, которые помогают сохранить детали и текстуры. Кроме того, Real-ESRGAN показывает хорошие результаты в увеличении качества фотографий с низким разрешением и поврежденных изображений. Модель может использоваться для восстановления деталей, что делает ее полезной для многих задач, включая восстановление старых фотографий и видео.

Для интеграции модели Real-ESRGAN в Android приложение была использована библиотека TensorFlow Lite. TensorFlow Lite - это кроссплатформенная библиотека машинного обучения, разработанная компанией Google, которая позволяет запускать модели машинного обучения на различных устройствах, включая мобильные устройства и встраиваемые системы.

Произведено сравнение работы ESRGAN [3] (потомок Real-ESRGAN) с другими алгоритмами обработки изображения (рис. 3).

102061 from BSD 100 RCAN EnhanceNet SRGAN ESRGAN(ours)

(PSNR / Percpetual Index) (26.86/4.43) (24.73/2.06) (25.28/1.93) (24.83/1.96)

Рис. 3. Результаты сравнения работы модели ЕЗКОЛЫ с аналогами [3]

Из тестов видно [4], что ESRGAN способен генерировать более детальные структуры в зданиях, тогда как другие методы либо не могут произвести достаточно деталей (SRGAN) либо добавляют нежелательные текстуры (EnhanceNet). В сравнениях были использованы ранее рассмотренные критерии качества, такие как пиковое отношение сиг-

нала к шуму (PSNR) и Perceptual Index (PI). Результаты еще одного сравнительного эксперимента представлены на рис. 4.

Рис. 4. Результаты сравнения работы Кеа1-Е8КДЛМ с аналогами [4]

Результаты показывают, что Кеа1-ЕБКОЛК превзошел своего предшественника ЕБКОЛ^ что делает эту нейронную сеть лучшей в своем классе.

Тестирование производительности системы

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

Тесты upscale x2

40

90 140

Seconds

Рис. 5. Результат тестирования производительности системы

Тестирование проводилось на мобильном устройстве (смартфоне) под управлением операционной системы Android 13, оснащенном процессором Qualcomm Snapdragon BBS с объемом оперативной памяти S Gb.

Результаты тестирования показали, что система, основанная на нейронной сети Real-ESRGAN, работает эффективно на мобильных устройствах с достаточно мощными процессорами. Также выяснилось, что использование оптимизированной версии модели Real-ESRGAN, предназначенной для работы на мобильных устройствах, значительно ускоряет обработку изображений и уменьшает использование ресурсов устройства [5-7].

Таким образом, можем заключить, что разработанная интеллектуальная система на базе нейронных сетей, использующая модель Real-ESRGAN, показывает хорошую производительность на мобильных устройствах с достаточно мощными процессорами, что делает ее полезной для широкого круга пользователей мобильных устройств.

Заключение

В ходе работы рассмотрены основные архитектуры нейронных сетей для обработки изображений. Произведены сравнительный анализ и выбор архитектуры в качестве основы для нейросетевого блока разрабатываемого приложения. Рассмотрены вопросы разработки интеллектуальной системы улучшения качества изображений на мобильной платформе Android, которая включает в себя модель Real-ESRGAN и технологию TensorFlow Lite для интеграции с мобильным приложением. Проведена оценка производительности разработанной системы.

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

Перспективы дальнейшего развития проекта могут быть связаны с исследованием новых архитектур нейронных сетей для улучшения качества изображений. Кроме того, имеется потенциал для увеличения скорости обработки графических изображений и оптимизации использования ресурсов устройств (особенно бюджетного сегмента). Другим направлением могут быть расширение функционала системы, добавление возможности обработки видео и других типов медиафайлов.

Список литературы

1. GitHub Real-ESRGAN. URL: https://github.com/xinntao/Real-ESRGAN (дата обращения: 10.04.2023).

2. Xintao Wang, Liangbin Xie, Chao Dong, Ying Shan. Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data. URL: https://arxiv.org/pdf/2107.10B33.pdf (дата обращения: 10.04.2023).

3. GitHub ESRGAN. URL: https://github.com/xinntao/ESRGAN (дата обращения: 19.03.2023).

4. Ledig C., Theis L., Huszar F. [et al.]. Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network. URL: https://arxiv.org/pdf/1609.04B02.pdf (дата обращения: 19.03.2023).

б. Шилдт Г. Java. Руководство для начинающих. Современные методы создания, компиляции и выполнения программ на Java. M. : Диалектика-Вильямс, 201B. 816 с.

6. Нильсен М. Нейронные сети и глубокое обучение. URL: http:// neuralnetworksanddeeplearning.com (дата обращения: 14.03.2023).

7. Generative Adversarial Networks (GANs) in 50 lines of code (PyTorch). URL: https://medium.com (дата обращения: 14.03.2023).

Информация об авторах Майоров Руслан Станиславович, студент, Пензенский государственный университет

Бождай Александр Сергеевич, доктор технических наук, профессор, профессор кафедры «Системы автоматизированного проектирования», Пензенский государственный университет

Авторы заявляют об отсутствии конфликта интересов.

i Надоели баннеры? Вы всегда можете отключить рекламу.