Повсеместное внедрение роботов во многих промышленных и научных сферах требует автоматизации огромного числа когнитивных процессов. Для робототехники все большую актуальность имеет задача компьютерного зрения. Как правило, от робота требуется обнаружить и правильно классифицировать некоторую группу объектов. В подводной среде решение подобных задач осложняется мутной водой, яркими бликами и чрезмерно плохой видимостью в слабоосвещенных местах. Для обнаружения и классификации объектов в подобных условиях используются алгоритмы улучшения качества изображений.
В частности, на снимках, сделанных автономным необитаемым подводным аппаратом, следует избавиться от излишней освещенности и бликов, вызванных источником освещения, установленным на самом аппарате. По углам такого изображения можно заметить слабоосвещенные области, объекты внутри которых тоже необходимо обнаруживать. Более того, из-за несимметричного расположения источника освещения, некоторые достаточно высокие объекты могут отбрасывать тень, которая также может осложнить задачу обнаружения и распознавания объектов. Кроме того, съемка была выполнена в замутненной водной среде. Пример изображения со всеми описанными трудностями приведен на рис. 1.
Рис. 1. Пример подводного снимка, сделанного автономным необитаемым подводным аппаратом
Существует множество методов для улучшения качества изображений, каждый из которых, так или иначе, опирается на определенную функцию оценки качества изображения. Функции оценки качества изображений можно разделить на два вида: объективные и субъективные. Объективные оценки основываются на сравнении с некоторым эталонным или исходным изображением, субъективные же оценки могут опираться лишь на информацию, которая содержится в самом результирующем изображении [5].
При анализе снимков, сделанных автономным необитаемым подводным аппаратом, важны как качество выполняемых операций обнаружения и распознавания, так и высокое быстродействие алгоритмов, выполняющих эти операции. Как правило, аппаратное обеспечение подводных устройств обладает низким энергопотреблением и невысокой вычислительной мощностью, что говорит о том, что обработку изображений необходимо выполнять с минимальными вычислительными затратами. Группа методов улучшения качества изображения, основанная на искусственных нейронных сетях, обладает высоким быстродействием, линейно зависящим от количества пикселей изображения, однако применение таких методов осложняется необходимостью использования некоторого эталонного результирующего изображения для настройки весов синаптических связей. С целью обучения нейронной сети без эталонного изображения можно использовать некоторый эволюционный алгоритм, для которого в качестве оценочной функции можно использовать одну из функций субъективной оценки качества изображения [6].
Таким образом, возникает необходимость в разработке нейроэволюционного алгоритма улучшения качества изображения, который обладал бы высоким быстродействием, а на изображениях, сделанных автономным необитаемым подводным аппаратом, после обработки этим алгоритмом можно было бы четко распознать все изображенные объекты.
Целью исследования является разработка нейроэволюционного алгоритма улучшения качества снимков, сделанных автономным необитаемым подводным аппаратом.
Применение нейроэволюционного подхода для обработки изображений предполагает использование искусственной нейронной сети в качестве реализации некоторой нелинейной функции T:
L′(x, y) = T(f1(I), f2(I), …, fk(I)),
где L′(x, y) – яркость пиксела (x; y); I – исходное изображение; fi(I) – некоторая функция от значений яркостей исходного изображения.
Основной задачей разработки нейроэволюционного алгоритма обработки изображения является подбор самих функций fi(I), оценочной функции, типа эволюционной и параметров нейросетевой составляющих алгоритма.
Предложенный метод улучшения качества изображений
Для нейросетевого улучшения качества изображения в некотором пикселе (x; y) важны характеристики, описывающие пикселы из некоторой его окрестности. Примерами таких характеристик могут являться среднее значение m(x, y) и дисперсия D(x, y) яркостей пикселей этой окрестности. Среднее значение яркости в некоторой окрестности имеет смысл использовать в сравнении со средним значением ‹L› яркостей всех пикселей изображения [2].
В итоге можно выделить три функции f1, f2 и f3, значения которых рационально использовать в качестве значений входного слоя искусственной нейронной сети:
Здесь и далее d обозначает половину нечетного размера окна области, в которой ищутся математическое ожидание и дисперсия; W – ширина изображения; H – высота изображения; x и y – номер строки и столбца обрабатываемого пиксела соответственно.
Количество нейронов входного слоя совпадает с количеством входных значений и равняется трем. Единственным выходным значением является яркость текущего пиксела результирующего изображения, следовательно, выходной слой должен состоять из одного нейрона.
Количество нейронов скрытого слоя было подобрано равным трем эмпирическим путем с целью максимального быстродействия без ущерба для качества обработки изображения.
Структуру полученной искусственной нейронной сети можно представить схематически (рис. 2).
Рис. 2. Предложенная структура искусственной нейронной сети
Для организации обучения нейронной сети можно использовать генетический алгоритм с вещественным типом кодирования. Каждая хромосома при таком кодировании является вещественным числом, задающим вес одной из двенадцати синаптических связей.
Для выполнения скрещивания предлагается использовать арифметический кроссинговер. Особи для скрещивания могут быть выбраны рулеточным способом селекции. В процессе мутации особи с вероятностью pi = 0,1 каждая из хромосом может измениться на некоторую случайную величину в диапазоне от –10 до 10. Количество особей в популяции на момент начала стадии селекции равно 32.
В качестве функции приспособленности было предложено использовать оценку Мунтеану – Роса, получившую широкое применение для улучшения качества изображений с использованием различных эволюционных алгоритмов [1, 7].
Аналитические формулы для вычисления такой оценки имеют вид
где τ – количество символов, расположенных на границах внутри изображения; E – суммарная интенсивность пикселей после применения фильтра Собеля; N – количество пикселей на изображении; H – значение энтропии, основанное на гистограмме яркостей полученного изображения; pi – вероятность появления пиксела с уровнем яркости i на изображении.
Оценка Мунтеану – Роса основана на том свойстве, что для человеческого восприятия большее значение имеет перепад яркости в соседних пикселях, чем значение яркости в каждом пикселе, что позволяет сделать вывод о необходимости максимизации E и η [3, 4].
Результаты и выводы
Для апробации предложенных алгоритмических средств было реализовано консольное приложение для обучения на основе генетического алгоритма и запуска настроенной искусственной нейронной сети.
Для апробации реализованного приложения был использован массив из 40 снимков, сделанных автономным необитаемым подводным аппаратом. Каждый из снимков используемого массива представляет собой файл в формате jpg, имеющий размеры 696 на 520 пикселей.
В ходе подбора оптимальных параметров было выполнено по десять запусков генетического алгоритма для обучения и апробации полученной искусственной нейронной сети на массиве подводных снимков для значений d (половина размера окна окрестности), равных 1, 2, 3, 4, и значений Ce (количество эпох генетического алгоритма), равных 10, 20, 30, 40.
Среднее значение оценки Мунтеану – Роса для десяти запусков генетического алгоритма для каждой пары [Ce, d]
d = 1 |
d = 2 |
d = 3 |
d = 4 |
|
Сe = 10 |
0,00172 |
0,00082 |
0,00089 |
0,00084 |
Сe = 20 |
0,13329 |
0,00171 |
0,00099 |
0,00097 |
Сe = 30 |
0,54745 |
0,01889 |
0,00242 |
0,00102 |
Сe = 40 |
1,34895 |
0,04568 |
0,01422 |
0,00105 |
а
б
в
Рис. 3. Примеры улучшения качества подводных снимков с использованием предложенного алгоритма: а – объект на дне в зоне излишней освещенности; б – объект, отбрасывающий тень; в – светлый объект с нечеткими границами
Как можно видеть из приведенной таблицы, наилучшие результаты достигаются при значении d = 1. Достаточно низкое значение оценочной функции Мунтеану – Роса для значений d > 1 объясняется тем, что приведенного количества эпох обучения недостаточно для качественной настройки весов при выбранной структуре сети.
При d = 1 и Ce > 20 песчаное дно начинает выглядеть излишне зернисто на итоговом изображении, что ухудшает визуальное восприятие. Поэтому в качестве оптимальных параметров были выбраны значения d = 1 и Ce = 20. Примеры результирующих изображений показаны на рис. 3. Для всех снимков используемого массива были получены результирующие изображения, на которых можно четко выделить все объекты на снимке, а области излишних освещенности или затемнения устранены.
Как можно заметить, предложенный алгоритм позволяет выполнить предобработку изображения, после которой дальнейшее обнаружение объектов на этом изображении существенно упрощается. Дополнительным преимуществом этого алгоритма является его высокое быстродействие – время работы линейно зависит от размеров изображения, что позволяет использовать предложенный алгоритм на автономном необитаемом подводном аппарате, вычислительные мощности которого не слишком велики.
Библиографическая ссылка
Хаустов П.А., Спицын В.Г., Максимова Е.И. АЛГОРИТМ УЛУЧШЕНИЯ КАЧЕСТВА ПОДВОДНЫХ СНИМКОВ НА ОСНОВЕ НЕЙРОЭВОЛЮЦИОННОГО ПОДХОДА // Фундаментальные исследования. – 2016. – № 4-2. – С. 328-332;URL: https://fundamental-research.ru/ru/article/view?id=40176 (дата обращения: 17.08.2024).