СПИСОК ЛИТЕРАТУРЫ
1. Munteanu C., Rosa A. Gray-Scale Image Enhancement as an Automatic Process Driven by Evolution // IEEE Transactions on Systems, Man, and Cybernetics. - 2004. - V. 34. - P. 1292-1298.
2. Батищев Д.И., Исаев С.А. Оптимизация многоэкстремальных функций с помощью генетических алгоритмов // Высокие технологии в технике, медицине и образовании: Межвуз. сб. научных трудов. - Воронеж, 1997. - С. 4-17.
3. http://matlab.exponenta.ru/imageprocess/book2/index.php
4. Воробьев В.И., Грибунин В.Г. Теория и практика вейвлет-пре-образования. - СПб.: Изд-во ВУС, 1999. - 204 с.
5. http://www.cee.hw.ac.uk/hipr/html/sobel.html
6. Белоусов А.А., Спицын В.Г. Применение генетических алгоритмов для повышения качества полутоновых изображений // Молодежь и современные информационные технологии: Сб. статей IV Всеросс. научно-практ. конф. студентов, аспирантов и молодых ученых. - Томск, 2006. - С. 83-85.
7. http://www.cse.msu.edu/~cbowen/docs/yuvtorgb.html
УДК 681.327.1:681.5
ПРИМЕНЕНИЕ ЭВОЛЮЦИОНИРУЮЩЕЙ НЕЙРОННОЙ СЕТИ ДЛЯ УЛУЧШЕНИЯ КАЧЕСТВА ИЗОБРАЖЕНИЙ
А.В. Чернявский, В.Г. Спицын
Томский политехнический университет E-mail: [email protected]
Представлен нейроэволюционный метод улучшения цветных и черно-белых изображений, основанный на локально-адаптивном подходе к обработке изображений. Для улучшения изображения нейронная сеть настраивается при помощи генетического алгоритма с использованием обобщенного критерия оценки качества изображения, опирающегося на уровень контрастности обрабатываемого изображения. Приведены примеры использования метода.
1. Введение
Актуальность задачи улучшения качества изображения обусловлена необходимостью ее решения для обработки данных, получаемых в приборах и устройствах медицинской диагностики, обнаружения мин, распознавания движущихся объектов, дефектоскопии и др. Однако для данной задачи отсутствует объективный общепринятый критерий качества изображения в силу субъективности человеческого восприятия, а также в связи со сложностью анализа его информативности. В большинстве случаев требуется адаптация алгоритма обработки или его параметров под конкретное изображения [1]. Хорошими адаптивными свойствами обладают искусственные нейронные сети (ИНС) [2].
Одним из способов решения задачи повышения качества изображения является улучшение его за счет изменения яркости пикселей. Замечено, что яркостная компонента играет одну из ключевых ролей в восприятии изображения [3], напрямую влияя на его контраст, уровень информативности и визуальное качество. Причинами плохого контраста могут быть низкое качество фотоприемников, аппаратуры, неудовлетворительные условия съемки и др.
Одним из преимуществ использования ИНС является их способность к обучению, которая может реализовываться в виде изменения внутренних свойств ИНС для выполнения требуемых функций. Здесь важную роль играет то, каким образом оценивается качество обучаемой сети. В «классиче-
ском» варианте при ее обучении используют обучающие данные, как правило, представленные в виде множества пар векторов (X, У), где X, У— вектора входных и выходных данных, соответственно. Для оценки качества ИНС используют среднеквадратичную ошибку выхода, пропорциональную отклонению действительных выходных сигналов нейросети от требуемых. Однако, при улучшении качества изображений, появляется трудность определения эталонного изображения для точной оценки эффективности работы ИНС.
Одним из возможных решений данной проблемы является использование неточных оценок ИНС, отражающих качественные, внешние особенности ее функционирования. Например, время поддержания стабильного состояния объекта управления для задачи нейроуправления [4], процент выигранных игр для задачи поиска игровых стратегий [5], качество изображения для задачи обработки изображений [6] и т. д. Такие оценки более естественны и «интуитивны», однако, как следствие, они не могут быть использованы градиентными алгоритмами обучения для подстройки весов связей. Поэтому «подходящий» обучающий алгоритм должен изменять веса связей ИНС, не имея информации о точном значении величины ошибки для каждого выхода этой ИНС.
При использовании неточных оценок работы ИНС, очень трудно (если вообще возможно) создать формализованный метод ее обучения, поэтому выбор нужного, с точки зрения поставленной задачи, набора весов связей ИНС является переборной
задачей. Пространство поиска даже для ИНС с простейшей структурой имеет, теоретически, бесконечно большое количество точек и охватывает все множество действительных чисел. И хотя, практически, оно ограничено точностью представления в ПЭВМ чисел с плавающей запятой, его размер не позволяет решить задачу «в лоб», последовательным перебором, либо случайным поиском.
Эволюционные алгоритмы хорошо зарекомендовали себя для решения подобных оптимизационных задач. Отличительной особенностью этих алгоритмов является способность быстро находить субоптимальные области в пространстве поиска. Подход к настройке и обучению ИНС с применением эволюционных алгоритмов называется ней-роэволюционным [4]. Необходимо отметить, что нейроэволюционные алгоритмы, помимо задач с неточной оценкой ИНС, способны также решать задачи с «точной» оценкой работы ИНС, в которых ошибка функционирования определяется как среднеквадратичная ошибка выхода ИНС [7].
В данной работе предлагается использование генетического алгоритма [8] для настройки и обучения ИНС при решении задачи улучшения качества монохромных и цветных изображений. Данный подход к обучению ИНС позволяет оценивать успешность функционирования ИНС «целиком», путем определения качества обработанного изображения, без последующего определения значения ошибки выхода ИНС. В основе предлагаемого способа лежит применение разработанного нейро-эволюционного алгоритма ЖуА [9] для реализации локально-адаптивного подхода к обработке яркости пикселей. Для улучшения отдельного изображения нейронная сеть настраивается при помощи генетического алгоритма в соответствии с обобщенным критерием оценки качества изображения, опирающегося на уровень контраста обрабатываемого изображения.
2. Нейроэволюционный алгоритм NEvA-2
ИНС обучается с использованием ЖуА-2 - алгоритма обучения нейронной сети, который при помощи генетического алгоритма осуществляет подбор структуры сети и настройку весов связей. Алгоритм ЖуА-2 является модификацией алгоритма №уА, описанного в [7]. Основное отличие алгоритмов заключается в том, что в №уА-2 используется 19-разрядное кодирование весов связей, полностью адаптивный оператор мутации, а также реализована адаптивная стратегия изменения размера популяции. В разработанном алгоритме рассматривается популяция эволюционирующих нейронных сетей. В генотипе каждой особи закодирована информация о связях сети и их весах.
Особи для скрещивания выбираются с помощью селекции усечением. Ошибка родительских особей не должна превышать среднюю ошибку в популяции, при этом количество выбранных осо-
бей для скрещивания не может быть больше половины размера популяции. Реализованные генетические операторы скрещивания и мутации учитывают структуру нейронных сетей, соответствующих родительским особям и особям-потомкам.
В начальной популяции все особи представляют сети без скрытых нейронов. При этом все входные нейроны соединены со всеми выходными нейронами. Используются нейроны с сигмоидной функцией активации.
В алгоритме реализована адаптивная «+/-» стратегия изменения размера популяции на основе результатов исследования [9]. Величина изменения размера популяции непостоянна и определяется с использованием последовательности Фибоначчи.
3. Метод улучшения качества изображений
Основная идея предлагаемого метода заключается в изменении яркости пикселей исходного изображения для повышения его контраста. При этом изображение обрабатывается попиксельно. Предлагаемый метод является модификацией предложенного в [10] метода, однако в данной работе мы представляем подход с полной адаптацией ИНС к обрабатываемому изображению.
Предположим, что существует некоторая функция Т, которая осуществляет преобразование характеристик каждого пикселя изображения таким образом, что обработанное изображение оптимально с точки зрения выбранного критерия. Тогда задачу нейросетевого улучшения качества изображений можно сформулировать как задачу аппроксимации неизвестной гипотетической функции Т. Задача осложняется тем, что неизвестны вид и свойства функции Т, а также отсутствием общепринятого критерия оценки качества изображений.
Для определенности будем считать, что изменение яркости Ь пикселя производится на основе информации о статистических характеристиках распределениях яркости в окрестности радиуса г данного пикселя, а также с использованием информации о величине средней яркости Ьач исходного изображения. Подходы, аналогичные описанному, показали свою эффективность для эволюционного [9] и теоретико-эвристического [11] методов улучшения качества изображений.
Таким образом, изменение яркости пикселя можно представить в общем виде следующим преобразованием:
Г(х, у) = Т(Ь(х, у), I , Я?у)
(1)
где Ь(х,у), Ь'(х,у) - текущее и новое значение яркости пикселя, соответственно, Е.[х,у) описывается выражением:
п(х,у) _ 1К1
= 1ОБ
Ь( х, у)
Ь(х, у) ® ¥ (х, у,с)
где обозначает операцию свертки, а Цх,у,с) функция фильтра, позволяющая выделить определенную пространственную информацию из окрестности обрабатываемого пикселя, с - стандартное отклонение фильтра, которое отвечает за количество пространственной информации, содержащееся в Я. В данной работе рассматривается гауссовский фильтр, определяемый из:
f _ a ■ b - ¡л 256 - exp(H) f _ a ■ b + 192 '
256
H _ log/,.,
(2)
F(x, y, c) _ Ke c ,
где К - константа, определяемая из условия \\F(x,y,c)dxdy=1 [11].
При обработке цветного изображения предварительно вычисляются значения яркости пикселей, а затем проводится обработка полученного монохромного изображения. Восстановление информации о цвете осуществляется следующим образом:
* Чх, y) _ wR(x, y), G S(x, y) _ wG (x, y), 5 ,(x, y) _ wB (x, y),
где тройки (R*(x,y), G(x,y), ff(x,y)) и (R(x,y), G(x,y), B(x,y)) представляют соответственно вектора обработанных и исходных цветовых компонент пикселя (x,y). Основная идея описанного варианта восстановления цветовой информации заключается в сохранении соотношений между цветовыми компонентами каждого пикселя на исходном изображении. Это позволяет уменьшить время обработки: сложные вычисления производятся только один раз для каждого пикселя, а не трижды, как в случае с отдельной обработкой каждой цветовой компоненты. Также это позволяет сохранить точность цвета и избежать проблемы цветового сдвига (co/or shift) которая может проявиться в появлении неестественных цветов и ухудшении визуального восприятия изображений, в случае с отдельной обработкой каждой цветовой компоненты [12]. ИНС, аппроксимирующая преобразование (1), имеет 3 входа и один выход.
Оценка обработанных изображений производится с учетом числа пикселей на границах между областями с различными значениями яркости и количества уровней градации яркости, присутствующих на изображении.
Чем больше пикселей будет на границах областей различной яркости, тем более контрастным будет изображение. Что избежать возможного при попытке максимизации контрастности «вырождения» изображения в бинарное вводится второй фактор, учитывающий количество уровней градации яркости.
Качество обработанного изображения f характеризуется величиной, вычисляемой по следующим формулам:
где a и Ь - соответственно ширина и высота изображения в пикселях, /л - число пикселей на границах между областями с различными значениями яркости, 1! - доля пикселей обработанного изображения с г-м уровнем яркости. Первое слагаемое в формуле (2) необходимо для максимизации количества «граничных» пикселей, а второе - для повышения количества уровней градаций яркости. Целью эволюционного обучения ИНС является минимизация функции /, значение которой для г-й особи будем считать ошибкой сети, соответствующей этой особи.
В предыдущей работе [10] и при обучении и при работе алгоритма использовался один и тот же параметр стандартного отклонения гауссового фильтра. По данным [13], при использовании подобного фильтра для улучшения изображений оптимальным значением стандартного отклонения гауссово-го фильтра является значение из интервала 50—120. Уже при с=80 было очень сложно подобрать обучающее изображение, для того, чтобы получить удовлетворительное улучшение качества. Со значением параметра с=10 метод демонстрировал значительное улучшение качества мелких деталей и общего восприятия изображения. Однако при с=10 на обработанных изображениях в окрестности резких граней (резкое изменение яркости пикселей) появлялся хорошо заметный ореол [13], что значительно ухудшет общее восприятие изображения, несмотря на увеличение количества видимых деталей изображения.
В предыдущей работе [10] для ускорения работы был использована окрестность пикселя г=50 как при обучении, так и при обработке изображения. Обучающие изображения и обрабатываемые изображения подбирали произвольным образом: не было строгого соответствия между изображением для обучения и обрабатываемым изображением. Было замечено, что нейросеть, обученная на одних обучающих изображениях демонстрировала лучшие результаты для одних изображений, в то время как для других изображений демонстрировала лучшие результаты нейросеть, обученная на других обучающих данных. Несмотря на то, что удалось подобрать тестовые изображения и параметры алгоритма при которых нейросеть демонстрировала удовлетворительное улучшение для широкого класса входных изображений, нейросеть обученная для узкого класса изображений давала визуально лучшие результаты. Исходя из этого, для получения хороших результатов, была необходима адаптация ИНС под конкретное обрабатываемое изображение.
Дальнейшие эксперименты показали, что ИНС показывает очень хорошие результаты в том случае
i _i
2 , 2 X + y
если она обучается на изображении которое она должна улучшать. Также в данном случае было возможно использование параметра стандартного отклонения фильтра с=80, что уменьшило эффект «ореола», хотя не устранило его полностью. Однако, данный подход был очень вычислительно емким: полный цикл обучение + обработка изображения 500x500 пикселей длился примерно 15 мин на компьютере с процессором Athlon 2000+. Такое время, затрачиваемое на полный цикл, достигалось, в основном, за счет большой вычислительной емкости стадии обучения.
Для ускорения стадии обучения были сделаны упрощения:
1. Обучение осуществляется на масштабированном входном изображении. Для изображения 500x500 пикселей было использовано 20 % масштабирование, таким образом, ИНС обучалась на изображении 100x100. Для обучения желательно использовать масштабированных изображений размерами не менее 50x50, чтобы сохранить соответствие ИНС входному изображению. Также лучше использовать масштабных коэффициентов с целым числом в знаменателе, таких как: 1/2, 1/3, 1/4, 1/5, 1/6 и т. д.
2. Rl для масштабированного изображения вычисляется с с масштабированным с аналогичным коэффициентом (с=13 для 20 % масштабирования).
3. Rl вычисляется для окружности меньшего радиуса (f=10 для 20 % масштабирования).
После внесения вышеперечисленных изменений, метод улучшения изображений продолжал демонстрировать хорошие результаты и имел удовлетворительную вычислительную емкость: полный цикл обучение+обработка изображения 500x500 пикселей длился примерно 30 с на компьютере на базе процессора Athlon 2000+.
График обработки изображения с использованием предложенного метода нейроэволюционного улучшения изображений приведен на рис. 1.
4. Результаты
Для экспериментальной проверки предложенного метода были использованы следующие параметры:
• детектор края Собеля [1];
• максимальное время эволюции - 25 поколений;
• критерий остановки обучения - /<1,5.
Предложенный метод показал применимость
для улучшения широкого спектра изображений: медицинской радиографии, сильно задымленных, подводных (рис. 2, а, б), затуманенных изображений (рис. 2, в, г), фотографий сделанных ночью, любительских снимков, содержащих сильно затененные области (рис. 2, д, е), снимков поверхности Земли, полученных со спутника.
Тестовые изображения были взяты из [14, 15].
ИНС, полученные в результате нейроэволюционного обучения, были простыми: 0-3 скрытых нейрона и 3-10 связей. Пример ИНС, обученной на изображении представленном на рис. 3, а (масштабированное с коэффициентом 1/5 изображение с рис. 2, а), приведен на рис. 3, б. Эта ИНС имеет 1 скрытый нейрон и 6 связей и представляет собой одну из часто получаемых структур ИНС.
Необходимо заметить, что сеть, обученная для улучшения определенного изображения, может быть успешно применена для улучшения других изображений с близким распределением яркости и детальностью. Пример такого приложения приведен на рис. 3. Здесь ИНС (рис. 3, б), обученная на изображении (рис. 3, а) и настроенная для улучшения конкретного изображения (рис. 2, а), показала неплохие результаты на другом изображении с близким распределением яркости (рис. 3, в).
1.Масштабирование входного изображения
(t < 1с)
Масшт-ое. изобр.
2.Нейроэволюционное
обучение
(t ~ 15с)
ИНС
Входное изображение
3. Обработка
входного изображения (t ~ 15с)
Обработанное изображение
Рис. 1. График обработки изображения с использованием метода нейроэволюционного улучшения изображений. Время вычислений t приведено для компьютера на базе процессора Athlon 2000+
^В НЦ ■ и« 1
Рис. 2. Примеры применения метода для улучшения: а), б) подводных; б), в) затуманенных изображений; д), е) любительских фотографий с сильно затененными областями; а), в), д) исходные изображения; б), г), е) полученные изображения
Заключение
Представлен новый метод улучшения качества изображений с использованием эволюционирующей нейронной сети, адаптирующейся к обрабатываемому изображению. Несколько упрощений были сделаны для увеличения скорости адаптации. Нейронная сеть, обученная для улучшения опреде-
ленного изображения, может быть применена для обработки других изображений с близким распределением яркости и детальностью. Результаты экспериментов показали применимость предложенного метода для улучшения изображений различных классов.
Работа поддержана грантом РФФИ № 06-08-00840.
Рис. 3.
Рис. 3. Пример применения ИНС для улучшения изображения с близким распределением яркости и детальностью: а) обучающее изображение; б) полученная структура нейронной сети; в) исходное изображение; (г) изображение после обработки ИНС
СПИСОК ЛИТЕРАТУРЫ
1. Гонсалес Р., Вудс Р. Цифровая обработка изображений. - М.: Техносфера, 2002. - 1072 с.
2. Осовский С. Нейронные сети для обработки информации. -М.: Финансы и статистика, 2002. - 344 с.
3. Lindley C. Practical image processing in C. - N.J.: John Wiley and Sons, 1991. - 574 p.
4. Stanley K.O., Miikkulainen R. Evolving Neural Networks through Augmenting Topologies // Evolutionary Computation. - 2002. -№ 10. - P. 99-127.
5. Lubberts A., Miikkulainen R. Co-Evolving a Go-Playing Neural Network // Genetic and Evolutionary Computation Conference: Proceedings of Coevolution Turning Adaptive Algorithms upon Themselves, Birds-of-a-Feather Workshop. - San Francisco, 2001. -P. 14-19.
6. Munteanu C., Rosa A. Gray-Scale Image Enhancement as an Automatic Process Driven by Evolution // IEEE Transactions on Systems, Man, and Cybernetics - Part B: Cybernetics. - 2004. - V. 34. - P. 1292-1298.
7. Цой Ю.Р., Спицын В.Г. Применение нейроэволюционного подхода для решения задач классификации и аппроксимации // Нейроинформатика и ее приложения: Матер. XIII Всеросс. семин. - Красноярск, 2005. - С. 123-124.
8. Holland J.H. Adaptation in Natural and Artificial Systems. - Michigan: The University of Michigan Press, 1975. - 211 p.
9. Цой Ю.Р., Спицын В.Г., Чернявский А.В. Нейроэволюционное улучшение качества изображений // Нейроинформатика -2006: Труды VIII Всеросс. научно-техн. конф. - М., 2006. - T. 1. - C. 181-189.
10. Чернявский А.В., Цой Ю.Р., Спицын В.Г. Нейроэволюционное улучшение качества изображений // Современная техника и технологии: Труды XII Междунар. научно-практ. конф. молодых ученых. - Томск, 2006. - Т. 2. - С. 213-215.
11. Rahman Z., Jobson D. J., Woodell G.A. Retinex Processing for Automatic Image Enhancement // Journal of Electronic Imaging. -2004. - № 1. - P. 100-110.
12. Funt B., Barnard K., Brockington M. e. a. Luminance-based multi-scale Retinex // AIC'97: Proc. of Conf. - Kyoto, 1997. - V. 1. -P. 330-333.
13. Jobson D.J., Rahman Z., Woodell G.A. A Multi-Scale Retinex For Bridging the Gap Between Color Images and the Human Observation of Scenes // IEEE Transactions on Image Processing: Special Issue on Color Processing. - 1997. - № 7. - P. 965-976.
14. http://imageprocessingbook.com
15. http://dragon.larc.nasa.gov