Информатика, вычислительная техника и инженерное образование. – 2014. − № 3 (18) УДК 004.932:004.023 Е.П. Волков РЕАЛИЗАЦИЯ МНОГОАГЕНТНОГО ПОДХОДА ПРИ ПОСТРОЕНИИ ТЕКСТУРНОГО СЕГМЕНТАТОРА ИЗОБРАЖЕНИЙ* Целью исследования является создание модели многоагентного текстурного сегментатора с универсальными самостоятельными агентами-работниками, взаимодействующими со средой и с другими агентами, с минимальными зависимостями между агентами и с учётом удобства дальнейшего распараллеливания и масштабирования алгоритма при реализации на компьютере. В первом разделе описывается общая постановка задачи, во второй даётся описание агента системы, его функций и обязанностей. В третьем разделе представлен алгоритм функционирования многоагентного текстурного сегментатора с универсальными самостоятельными агентами, в четвёртом разделе проиллюстрированы некоторые шаги работы алгоритма на тестовых изображениях. В заключении представлены выводы и план дальнейших исследований. Ключевые слова: многоагентная система, сегментатор изображений,текстура. E.P. Volkov MULTI-AGENT APPROACH IMPLEMENTATION IN IMAGE TEXTURE SEGMENTER CONSTRUCTION The aim of this study is to develop a model of agent segmenter texture with universal autonomous agents interaction with the environment and with other agents, with minimal dependencies between agents and for convenient further parallelization and scaling algorithm when implemented on a computer. The first section describes the general formulation of the problem, the second is a description of the agent system, its functions and duties. The third section presents an algorithm functioning multi-agent texture segmenter with universal autonomous agents, in the fourth section illustrates some of the steps of the algorithm to test images. Finally, conclusions and plan further research. Keywords: multi-agent system, segmenter image, texture. Введение. В современных системах обработки изображений широко распространена пиксельная обработка изображений. Однако данный подход часто даёт некорректные результаты на широком классе задач, поэтому возникает необходимость в более эффективных, более интеллектуальных методах анализа изображений. Чем больше интеллекта требуется вложить в метод обработки, тем больше должны быть площади фрагментов изображений, подвергаемых единовременному структурному анализу. Текстурный анализ является самой широкой интерпретацией структурного анализа. Текстурный анализ является вычислительно дорогостоящей задачей, требующей распараллеливания. Известные решения текстурной сегментации, как правило, пользуются либо предварительной кластеризацией при помощи прочего признака [1−3], либо используют высоко требовательную к вычислительным ресурсам «текстурную свёртку», вычисляя текстурные характеристики для каждой точки с Работа выполнена при финансовой поддержке РФФИ (проект № 13-07-00204) * 1 Информатика, вычислительная техника и инженерное образование. – 2014. − № 3 (18) фиксированным набором соседей [3, 4]. Предлагаемый подход исключает вышеуказанные недостатки. Многоагентная система – это система, образованная несколькими взаимодействующими интеллектуальными агентами. Многоагентные системы могут быть использованы для решения таких проблем, которые сложно или невозможно решить с помощью одного агента или монолитной системы. Многоагентные системы хорошо поддаются распараллеливанию и масштабированию. Большой обзор различный методов сегментации, основанных на многоагентном подходе, был представлен в [5]. Многие исследователи используют многоагентные системы для текстурной сегментации, наделяя различных агентов различными ролями (разведчик, работник, надзиратель и т.п.). В [6] использовали для текстурной многоагентной сегментации медицинских изображений следующие типы агентов: агенты предобработки и постобработки, агенты-планировщики, оценщики, ученики и управляющие агенты. Подобный подход использовался также в [7−9]. Целью исследования является создание модели многоагентного текстурного сегментатора с универсальными самостоятельными агентамиработниками, взаимодействующими со средой и с другими агентами, с минимальными зависимостями между агентами и с учётом удобства дальнейшего распараллеливания и масштабирования алгоритма при реализации на ЭВМ. В первом разделе описывается общая постановка задачи, во второй даётся описание агента системы, его функций и обязанностей. В третьем разделе представлен алгоритм функционирования многоагентного текстурного сегментатора с универсальными самостоятельными агентами,в четвёртомразделе проиллюстрированы некоторые шаги работы алгоритма на тестовых изображениях. В заключении представлены выводы и план дальнейших исследований. 1. Постановка задачи. В рамках данного исследования решалась задача построения многоагентного текстурного сегментатора. Сегментатору в результате необходимо создать карту границ объектов-областей (карту объектов-областей), разделённых по текстурному признаку с использованием многоагентного подхода. Целевая функция – максимизировать изменение текстурных свойств объектаобласти при изменении области покрытия (границ) объекта при максимизации площади объекта-области. 2. Описание агента. Агентом системы является программная единица, за которой закреплена некоторая собственная область карты сегментации. Карта сегментации изначально пуста, и её размеры совпадают с размерами изображения. После инициализации перед агентом стоит задача максимизировать площадь собственной области на карте сегментации. Агент обладает следующими функциями: • вычисление собственных текстурных характеристик (определяются на базе собственной области); • объявление претензий на граничную область (максимальный размер области, на которую претендует агент, определяется константой, текущий размер при отсутствии конфликтных ситуаций меньше максимального на стохастическую малую величину). Ситуация, в которой претендуемая область или её часть принадлежит другому агенту, называется конфликтной; • вычисление потенциальных текстурных характеристик (определяются либо на базе объединения собственной и претендуемой области, если претензия 2 Информатика, вычислительная техника и инженерное образование. – 2014. − № 3 (18) исходит от самого агента, либо на базе вычитания собственной и претендуемой области, если претензия исходит от другого агента); • вычисление величины изменения текстурных свойств в результате потенциального присоединения (отсоединения) претендуемой области; • присоединение претендуемой области к собственной при отсутствии конфликтной ситуации или при выигрыше в конфликте; • отказ от претендуемой области при проигрыше в конфликте или при превышении порога величиной потенциального изменения текстурных характеристик; • самоликвидация в случае, если собственная площадь меньше минимального порога. 3. Описание алгоритма. В предлагаемом алгоритме можно выделить следующие шаги: • инициализация популяции и старт работы агентов • мониторинг активности агентов • создание карты сегментов по результатам жизнедеятельности агентов. Рассмотрим каждый из шагов в отдельности. 3.1. Инициализация популяции агентов. В произвольных местах с некоторым ограничением (отдалённость от краёв и от уже зарождённых особей) создаются особи (объекты области) примерно равной площади. После зарождения стартовой популяции необходимый критерий целевой функции не достигнут. Агенты имеют не максимально возможную площадь собственных областей, поскольку суммарно не охватывают всё изображение. 3.2. Мониторинг активности агентов. В движении в сторону достижения целевой функции на начальных итерациях высоким приоритетом обладает необходимое условие максимизации площади объекта-области. То есть на начальных итерациях развития популяции агентам позволяется захватывать большие участки незанятого пространства и выставлять высокий допустимый порог для изменения текстурных свойств. Агенты присоединяют большие области, несмотря на возможные большие абсолютные перепады текстурных свойств. По мере увеличения относительной площади, суммарно занимаемой объектамиобластями, акцент или приоритет в развитии целевой функции смещается в сторону максимизации изменения текстурных свойств объекта-области при изменении области покрытия (границ) объекта. Агенты присоединяют всё меньшие фрагменты, находящиеся вокруг собственных областей. Абсолютное изменение текстурных свойств сильнее влияет на момент останова роста области объекта в текущем направлении. 3.3. Создание карты сегментов. После максимизации площадей собственных областей агентов, выжившие агенты маркируются и в соответствии со своими идентификаторами наносят на результирующую карту сегментов собственные области. 4. Пример работы алгоритма. В соответствии с вышеизложенной моделью был создан программный комплекс текстурной сегментации. Благодаря слабой зависимости клиентов друг от друга, программная реализация каждого агента заключается в отдельной нити общего потока программы. Взаимодействие агентов происходит через совместную рабочую карту собственных областей агентов и запросы-ответы величины потенциального изменения текстурных характеристик. Главная нить программы порождает и запускает работу агентов и следит за заполнением совместной карты собственных областей агентов. При прекращении 3 Информатика, вычислительная техника и инженерное образование. – 2014. − № 3 (18) изменений в совместной карте главная нить принимает решение о прекращении процедуры сегментации. Пример работы алгоритма приведён на рис. 1. Рис. 1. Результат работы алгоритма многоагентной сегментации на основе текстурных характеристик Заключение. В результате исследования была создана модель многоагентного текстурного сегментатора с низкой зависимостью между агентамии её программная реализация с возможностью распараллеливания вычислений, как между агентами, так и между внутренними задачами агента. Система в итоге состоит не только из унифицированных агентов-исполнителей, но также присутствует нить агент-супервизор, инициализирующий и завершающий обработку каждого изображения, однако роль супервизора сведена к минимуму. В отличие от большинства исследований [7−9], агенты полученной системы унифицированы без ущерба для производительности и удобства проектирования и реализации. Подобные результаты были получены в [10] для выделения различных сегментов на медицинских снимках с заранее определённым количеством различных текстур. В [11] функция хранения знаний о текстурах передана агентусупервизору и существует возможность наращивать собственную область агента только к ближайшим 4-м соседям имеющихся в подчинении пикселов. В дальнейших исследованиях планируется продолжить развитие данной модели с целью улучшения вычислительного функционала инкрементного и декрементного определения текстурных характеристик, межкадрового анализа изменения текстурного сегмента, нейросетевого определения оптимальных коэффициентов относительной значимости текстурных характеристик для заданного типа целевой обстановки. Для достижения этих целей перспективным выглядит использование методов вычислительного интеллекта [12] иалгоритмов эволюционных вычислений [13, 14]. БИБЛИОГРАФИЧЕСКИЙ СПИСОК 4 Информатика, вычислительная техника и инженерное образование. – 2014. − № 3 (18) 1. Петров В.О., Камаев В.А., Поройский С.В. Алгоритм текстурной сегментации растровых изображений при решении прикладных задач медико-биологического анализа // Современные проблемы науки и образования № 6, 2009. 2. Полякова М., Крылов В., Волкова Н. Текстурная сегментация изображений зон износа режущих инструментов амплитудно-детекторным методом // International Journalof Computing. – 2009. − Т. 8. − Вып. 3. − С. 22-31. 3. Чочиа П.А. Пирамидальный алгоритм сегментации изображений // Информационные процессы. – 2010. − Т. 10. − № 1. − С. 23-35. 4. Патана Е.И. Статистический анализ и кластеризация основных текстурных функционалов // Известия ЮФУ. Технические науки. – 2008. – Прил. к № 4. – С. 192198. 5. Pooja Mishra et al. Agent based Image Segmentation Methods: A Review// International Journal of Computer Technology and Applications, Vol 2 (3), pp. 704-708. 6. Mahsa Chitsaz and Woo Chaw Seng. Medical Image Segmentation using a Multi-Agent System Approach.// The International Arab Journal of Information Technology, 2013, Vol. 10, No. 3. 7. Germond L.A Cooperative Framework for Segmentation of MRI Brain Scan // Artificial Intelligence in Medicine, 2000, vol. 20, № 1, pp. 77-93. 8. Duchesnay E. An Agent-Based Implementation of Irregular Pyramid for Distributed Image Segmentation // Proceedings of the 8th International Conference on Emerging Technologies and Factory, France, 2001, pp. 409-415. 9. Baskaran R., Deivamani M., Kannan A. A Multi Agent Approach for Texture Based Classification and Retrieval (MATBCR) using Binary Decision Tree // International Journal of Computing & Information Sciences, 2004, vol. 2, № 1, рр. 318-323. 10. Liang J., Mao D., Cheng M. Multi-agent based evolutional algorithm in medicine image segmentation. ISSN 1548-7709, China, 2009. 11. Boucher A., Doisy A., Al. A Society of Goal-Oriented Agents for the Analysis of Living Cells. 14 (1-2), 183-196, 1998. 12. Родзин С.И. Вычислительный интеллект: немонотонные логики и графическое представление знаний // Программные продукты и системы. − 2002. − № 1. − C. 20-22. 13. Курейчик В.М., Родзин С.И. Эволюционные вычисления: генетическое и эволюционное программирование // Новости искусственного интеллекта. − 2003. − № 5. C. 13-19. 14. Родзин С.И. Мягкие параллельные вычисления // Новости искусственного интеллекта. − 2005. − № 4. − C. 53-58. Статью рекомендовал к опубликованию д.т.н., профессор Я.Е. Ромм. Волков Егор Петрович Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет». E-mail: [email protected]. 347928, г. Таганрог, пер. Некрасовский, 44. Тел.: 88634371673. Кафедра МОП ЭВМ, аспирант. Volkov Egor Petrovich Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”. E-mail: [email protected]. 44, Nekrasovskiy, Taganrog, 347928, Russia. Phone: 88634371673. The department of software engineering, postgraduate. 5