Математические структуры и моделирование 2018. №2(46). С. 79-85
УДК 004.932 DOI: 10.25513/2222-8772.2018.2.79-85
АЛГОРИТМ ФОРМИРОВАНИЯ ОБУЧАЮЩЕГО МНОЖЕСТВА ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ ДЛЯ СЕГМЕНТАЦИИ ИЗОБРАЖЕНИЯ
С.В. Белим
профессор, д.ф.-м.н., профессор кафедры информационной безопасности,
e-mail: [email protected] С.Б. Ларионов
аспирант кафедры информационной безопасности, e-mail: [email protected]
Омский государственный университет им. Ф.М. Достоевского, Омск, Россия
Аннотация. В статье предложен алгоритм формирования обучающего множества для искусственной нейронной сети в задаче сегментации изображений. Отличительной особенностью является использование только одного сегментируемого изображения. Сегментация выполняется с помощью трёхслойного персептрона. Используется метод выращивания областей. Нейронная сеть используется для принятия решения о принадлежности пикселя к формируемому сегменту. Для формирования обучающего множества используется импульсный шум. Пиксели, изменённые шумом, не принадлежат ни одному сегменту. Проведён компьютерный эксперимент в автоматическом и интерактивном режиме.
Ключевые слова: сегментация изображений, искусственные нейронные сети, импульсный шум.
Введение
Сегментация изображений представляет собой один из вариантов задачи кластеризации множества пикселей по признаку цветовой близости. Следует отметить, что задача сегментации не имеет точного решения и эффективность решения принято оценивать на основе сравнения с результатами, полученными экспертами в ручном режиме. То есть эффективность сегментации не может быть однозначной. Одним из подходов, активно развивающимся в последние годы, является использование искусственных нейронных сетей. Однако данный подход сталкивается с проблемой формирования обучающего множества. Если есть серия аналогичных изображений, например, с медицинской информацией, то проблема решается достаточно просто. Если ставится задача сегментировать одно отдельно взятое изображение, не имеющее аналогов, то традиционные подходы сталкиваются с неразрешимыми трудностями.
Для решения задачи сегментации изображения использовались различные искусственные нейронные сети. Были построены алгоритмы на основе много-
слойного персептрона [1], а также его модификации, использующие перекрёстную энтропию [2], генетические алгоритмы [3,4], выращивание областей [5,6], минимальные отношения различия [7], вейвлет-разложения исходного изображения [8]. Также многослойный персептрон использовался совместно с другими алгоритмами сегментации, например, методом fc-средних [9]. Также был разработан ряд алгоритмов на основе самоорганизующихся карт Кохонена [10-12]. Также как и для многослойного персептрона были предложены алгоритмы, совмещающие карты Кохонена с другими алгоритмами сегментации - гибридным генетическим алгоритмом [13], методом fc-средних [14], выращиванием областей [15].
Все перечисленные выше алгоритмы носят специализированный характер и ориентированы на изображения определённого типа. Такая специализация необходима для формирования обучающего множества. Нейронные сети, обученные на одном типе изображений, не работают для других изображений.
В данной статье предложен алгоритм формирования обучающего множества в задаче сегментации, ориентированный на одно конкретное изображение и не требующий дополнительного набора схожих изображений.
1. Постановка задачи и метод её решения
Алгоритм сегментации изображения будет основываться на методе выращивания областей, который хорошо зарекомендовал себя при использовании графового представления изображения [16,17]. Выращивание сегмента начинается из одной точки, выбранной случайно на необработанной части изображения. В начальный момент времени всё изображение считается необработанным. Все точки, присоединённые к одному из сегментов, считаются обработанной частью изображения. Выращивание сегмента происходит путём присоединения к нему новых точек. Алгоритм осуществляет обход граничных точек уже сформированной части сегмента и попарно обрабатывает их с соседними точками, не входящими в сегмент. Для каждой такой пары принимается решение о присоединении или неприсоединении к сегменту. Присоединяются к сегменту точки по цветовым характеристикам схожие с уже входящими в него точками.
Для каждого сегмента используется уникальная метка, представленная натуральным числом. Необработанная часть изображения маркируется нулевым значением. Таким образом, на каждом этапе работы алгоритма всем точкам изображения сопоставлены некоторые метки. В начальный момент времени все точки имеют нулевую метку. По окончании работы алгоритма всем точкам сопоставлены ненулевые метки.
Для принятия решения о схожести двух точек был использован трёхслойный персептрон. Точки сравнивались по их цветовым координатам в модели RGB. Так как сравнение происходит только для двух точек, то входной слой персептрона имеет шесть нейронов, соответствующих цветовым координатам точек. Выходной слой содержит два нейрона, соответствующих положительному и отрицательному решению о схожести точек. В рамках компьютерного эксперимента было определено, что эффективность работы алгоритма растёт с
увеличением количества нейронов в скрытом слое вплоть до значения 50, после чего остаётся неизменным. Поэтому в дальнейшем использовался трёхслойный персептрон с пятьюдесятью нейронами в скрытом слое.
Будем рассматривать изображение размером N х М пикселей, которое в модели RGB может быть представлено тремя матрицами 1|, ||Gy||, || (i = 1,...,N; j = 1,...,М), соответствующими разным цветовым компонентам. Для пикселя с координатами (i,j) введём обозначение через Vij. Цветовые составляющие пикселя Vij будем рассматривать как его поля данных:
Vij .т = Rij, Vij .g = Gij, Vij .b = Bij.
Для матрицы меток введём обозначение ij (i = 1,...N; j = 1,...,М). Для метки отдельного пикселя также будем использовать представление в виде поля данных: Vij .с = Cij.
Рассмотрим алгоритм выращивания сегмента. Будем считать, что к данному моменту выделено к сегментов. Из множества пикселей с нулевой меткой случайным образом выбираем один, который обозначим Vij. Для данного пикселя изменяем метку Vij .с = к + 1. Далее запускаем рекурсивный алгоритм.
1. Пусть выращиваемый сегмент содержит r пикселей {v\,...,vr}.
2. Перебираем ближайших соседей, имеющих нулевую метку пикселей входящих в сегмент.
3. Формируем входной вектор нейросети из цветовых координат точки сегмента v и её ближайшего соседа v', не принадлежащего сегменту
(v.r, v.g, v.b, v'.r, v'.g, v'.b).
4. Вычисляем выходное значение нейросети. При положительном решении изменяем метку пикселя v': v'.c = к + 1. При отрицательном решении переходим к следующему соседнему пикселю, не входящему в сегмент
5. Алгоритм по формированию сегмента останавливается, если нейросеть принимает отрицательное решение для всех ближайших соседей.
Сегментация изображения завершается, если не остаётся ни одного пикселя с нулевой меткой. Алгоритм будет иметь линейную трудоёмкость, так как осуществляется проход по всем пикселям, каждый из которых имеет не более восьми ближайших соседей.
Эффективность алгоритма существенно зависит от обучения нейронной сети, которое определяется обучающей выборкой. Будем формировать обучающее множество для отдельно взятого изображения — искусственно сгенерированный импульсный шум. Используем генератор псевдослучайной последовательности с равномерным распределением. На основе этого генератора сформируем новые цветовые координаты для р % пикселей исходного изображения. Причём координаты изменяемых пикселей будем выбирать произвольно, а новый цвет так, чтобы он значительно отличался от исходного. Будем считать, что вся палитра содержит m цветов. Если в исходном изображении для изменяемого пикселя с координатами (i,j) одна из цветовых координат имела значение m,ij > га/2, то новый цвет выбираем из интервала [0,га/2). Для случая
т^ ^ га/2 новый цвет выбирается из интервала (га/2,га — 1]. В результате такого выбора можно считать, что изменённый пиксель не может быть объединён в один сегмент с ближайшими соседями. Изменённые пиксели и играют роль обучающей выборки. Как показал компьютерный эксперимент, необходимо выбирать значение р ^ 10 %. Для формирования обучающего множества большего объёма необходимо повторить процедуру формирования импульсного шума на исходном изображении несколько раз. Обучение нейросети выполнялось методом обратного распространения ошибки. Основным недостатком такого подхода к формированию обучающего множества является то, что мы получаем набор только отрицательных решений.
2. Компьютерный эксперимент
В рамках компьютерного эксперимента осуществлялась сегментация цветных изображений с глубиной палитры каждого цвета га = 256. Повреждённые пиксели составляли 10 % и формировались 100 раз. Алгоритм тестировался как в автоматическом, так и в интерактивном режиме. В автоматическом режиме определялись все сегменты изображения. В интерактивном режиме осуществлялся поиск одного сегмента, содержащего точку, определяемую пользователем.
Пример работы алгоритма в автоматическом режиме представлен на рисунке 1, на котором приведены контуры сегментов. На рисунке 2 представлен результат работы алгоритма в интерактивном режиме.
Заключение
Не смотря на имеющиеся недостатки в формировании обучающего множества, предложенный алгоритм позволяет выполнять сегментацию заданного изображения с помощью нейронной сети без привлечения других близких по структуре изображений. Компьютерный эксперимент показал, что предложенный алгоритм наиболее эффективен в случае чётких контуров и сегментов большого размера. Следует отметить, что данное свойство присуще всем алгоритмам сегментации. Однако необходимо отметить устойчивость предложенного нами алгоритма сегментации к импульсным шумам, которые легко определяются обученной нейронной сетью как сегменты размером в один пиксель. В дальнейшем данный подход может быть использован с другими более эффективными нейронными сетями.
Также предложенный алгоритм в силу линейной трудоёмкости обладает хорошим быстродействием. Основное время тратится на формирование обучающего множества и обучение искусственной нейронной сети. Процесс сегментации на уже обученной нейросети выполняется значительно быстрее. Общее время обработки изображения размером 256 х 256 пикселей составляет порядка 40 секунд.
Рис. 1. Примеры автоматической кластеризации изображений
Рис. 2. Пример работы алгоритма в интерактивном режиме на изображении «Самолёт»
Литература
1. Kuntimad G., Ranganath H.S. Perfect image segmentation using pulse coupled neural networks // IEEE Transactions on Neural Networks. 1999. V. 10, No. 3. P. 591-597.
2. Yide M., Qing L. Automated image segmentation using improved PCNN model based on cross-entropy // International Symposium on Intelligent Multimedia, Video and Speech Processing. 2004. P. 20-22.
3. Yide M. Chunliang Q. Study of Automated PCNN System Based on Genetic Algorithm // Journal of system simulation. 2006. V. 18, No. 3. P. 722-724.
4. Xiaodon G., Shide G., Daohen Y. A new approach for image segmentation based on unit-linking PCNN // Proceeding of the first International Conference on Machine Learning and Cybernetics. 2002.
5. Stewart R.D.F., Opper M. Kegion growing with pulse-coupled neural networks: An alternative to seeded region growing // IEEE Transactions on Neural Networks. 2002. V. 13, No. 6. P. 1557-1562.
6. Qing Z., Guanhui Y., Tingling G., Hong Z., Junxiao L. Fabric Defect Segmentation Based on Region Growing PCNN Model //Computer application and software. 2011. V. 28, No. 11. P. 171-175.
7. Ma H.-R., Cheng X.-W. Automatic Image Segmentation with PCNN Algorithm Based on Grayscale Correlation // International Journal of Signal Processing, Image Processing and Pattern Recognition. 2014. V. 7, No. 5. P. 249-258.
8. Привалов М.В., Скобцов Ю.А., Кудряшов А.Г. Применение нейросетевых методов классификации для сегментации компьютерных томограмм // ВЕСТНИК ХНТУ. 2010. № 2(38). С. 103-109.
9. Chandhok C. A Novel Approach to Image Segmentation using Artificial Neural Networks and K-Means Clustering // International Journal of Engineering Research and Applications (IJERA). 2012. V. 2, No. 3. P. 274-279.
10. Xu B., Lin S. Automatic Color Identification in Printed Fabric Images by a Fuzzy Neural Network // Computer Journal of AATICC Review. 2002. V. 2, No. 9. P. 4245.
11. Yao K., Mignotte M., Collet C., Galerne P., Burel G. Unsupervised Segmentation Using a Self Organizing Map and a Noise Model Estimation in Sonar Imagery // Computer Journal of Pattern Recognition Letters. 2000. V. 33, No. 9. P. 1575-1584.
12. Aria E., Saradjian M., Amini J., Lucas C. Generalized Cooccurence Matrix to Classify IRS-1d Images Using Neural Networks // Proceedings of ISPRS Congress. 2004. P. 117-123..
13. Awad M., Chehdi K., Nasri A. Multi Component Image Segmentation Using Genetic Algorithm and Artificial Neural Network // Computer Journal of Geosciences and Remote Sensing Letters. 2007. V. 4, No. 4. P. 571-575.
14. Zhou Z., Wei S., Zhang X., Zhao X. Remote Sensing Image Segmentation Based on Self Organizing Map at Multiple Scale // Proceedings of SPIE Geoinformatics: Remotely Sensed Data and Information. 2007. P. 122-126.
15. Kurnaz M., Dokur Z., Olmez T. Segmentation of Remote Sensing Images by Incremental Neural Network // Computer Journal of Pattern Recognition Letters. 2005. V. 26, No. 8. P. 1096-1104.
16. Белим С.В., Кутлунин П.Е. Выделение контуров на изображениях с помощью алгоритма кластеризации // Компьютерная оптика. 2015. Т. 39, № 1. С. 119-124.
17. Белим С.В., Ларионов С.Б. Алгоритм сегментации изображений, основанный на поиске сообществ на графах // Компьютерная оптика. 2016. Т. 40, № 6. С. 904910.
ALGORITHM OF A LEARNING SET FORMATION FOR IMAGE SEGMENTATION ARTIFICIAL NEURAL NETWORK
S.V. Belim
Dr.Sc. (Phys.-Math.), Professor, e-mail: [email protected] S.B. Larionov
Postgraduate Student, e-mail: [email protected]
Dostoevsky Omsk State University, Omsk, Russia
Abstract. An algorithm for forming a learning set for an artificial neural network in the problem of image segmentation is proposed in the article. A distinctive feature is the use of only one segmented image. Segmentation is performed using a three-layer perceptron. The method of growing areas is used. The neural network is used to decide whether the pixel belongs to the segment being formed. Impulse noise is used to form the learning set. Pixels modified by noise do not belong to any segment. A computer experiment was conducted in an automatic and interactive mode.
Keywords: image segmentation, neural network, impulse noise.
Дата поступления в редакцию: 30.03.2018