ПРИМЕНЕНИЕ ИСКУССТВЕННОЙ ИММУННОЙ СИСТЕМЫ ДЛЯ РАСПОЗНАВАНИЯ ЗРИТЕЛЬНЫХ ОБРАЗОВ
РМ. Михерский
1 Крымский федеральный университет имени В.И. Вернадского, Симферополь, Россия
Аннотация
Рассмотрена возможность применения искусственных иммунных систем для распознавания зрительных образов. Разработан и программно реализован новый алгоритм искусственной иммунной системы, позволяющей с помощью Web-камеры в режиме реального времени распознавать такие образы. Экспериментально показано, что данная система может быть успешно применена для распознавания как лиц людей, так и любых других объектов. Обсужден вопрос о применении искусственной иммунной системы в высокопроизводительных системах параллельных вычислений. К преимуществам разработанной искусственной иммунной системы можно отнести высокую скорость обучения системы новым образам, а также возможность обучения системы новому образу в любой момент её работы. Эти преимущества открывают возможность создания систем искусственного интеллекта, обучающихся в режиме реального времени.
Ключевые слова: искусственная иммунная система, распознавание зрительных образов, параллельные вычисления, искусственный интеллект.
Цитирование: Михерский, Р.М. Применение искусственной иммунной системы для распознавания зрительных образов / Р.М. Михерский // Компьютерная оптика. - 2018. -Т. 42, № 1. - С. 113-117. - DOI: 10.18287/2412-6179-2018-42-1-113-117.
Введение
В настоящее время в распознавании изображений наилучшие результаты показывают свёрточные нейронные сети. Вероятность правильного распознавания образа этими сетями в среднем на 10-15 % выше, чем с помощью других методов.
Однако свёрточные нейронные сети имеют и ряд недостатков. Пожалуй, самым существенным из них является большое время обучения сети. Так, согласно [1] это время может составлять десятки часов. Поэтому стоит проблема разработки новых математических алгоритмов, имеющих вероятность распознавания образов, сравнимую со свёрточными нейронными сетями, но обладающих меньшим временем обучения. Одним из них является алгоритм искусственной иммунной системы.
В настоящее время искусственные иммунные системы успешно применяются для адаптивного контроля [2], обработки неструктурированных данных [3], компьютерной безопасности [4], выявления аномалий в данных [5], решения задач оптимизации [6, 7] и классификации [8], машинного обучения [9, 10], сжатия информации [11].
Целью данной работы явилась разработка искусственной иммунной системы, способной в режиме реального времени производить распознавание зрительных образов с использованием Web-камеры.
Алгоритм искусственной иммунной системы, используемой для распознавания образов
Для реализации представленной выше цели был предложен алгоритм искусственной иммунной системы.
Начнём рассмотрение данного алгоритма с введения основных понятий. Предположим, что на вход этой системы подаются последовательности вещественных чисел, называемые «антигенами». Антигены
являются результатом обработки изображений исследуемых объектов, полученных с Web-камеры.
Антигены взаимодействуют с «антителами». Антитела представляют собой объекты, состоящие из последовательности вещественных чисел и названия образа, которому эта последовательность соответствует.
Длина последовательности чисел каждого из антигенов совпадает с длиной последовательности чисел антител. Будем называть каждое из вещественных чисел, входящих в последовательность вещественных чисел антигена или антитела, геном. Задачей системы является определение, к какому классу относится данный антиген. Для этого на начальном этапе систему необходимо обучить. Алгоритм обучения можно представить в виде последовательности шагов:
Шаг 1. Пользователь в имеющееся текстовое поле вносит название объекта, зрительному образу которого необходимо обучить систему. Затем он производит выбор элемента графического интерфейса «Начать обучение».
Шаг 2. В программной системе создаётся группа антител. Будем условно называть её «Study». Каждое из антител этой группы получает название объекта, зрительному образу которого необходимо обучить систему. На начальном этапе гены каждого из антител представляют собой набор случайных чисел. Всего в группу Study включено 10000 антител.
Шаг 3. Изображение размера 320x240, полученное с помощью Web-камеры, преобразуется в генный набор антигена. Для минимизации вычислительных затрат предложен метод преобразования изображения, основанный на модели работы глаза человека.
В этой модели при удалении от центра изображения его чёткость уменьшается. Так, в центральной части изображения (квадрат, содержащий 256 пикселей) каждая составляющая цвета пикселя записывается в отдельный ген.
По мере удаления от центра изображения гены представляют собой средние значения составляющих цвета сначала по 4, потом по 16, 64 и 256 пикселям. В результате изображение представляется в виде антигена с 2976 генами (по 992 гена на каждый цветовой канал RGB).
Далее для уменьшения влияния уровня освещённости на качество распознавания образа каждый из генов нормируется на среднее значение интенсивности соответствующего цвета по всему изображению.
Шаг 4. Из группы Study случайным образом выбирается антитело. Последовательность генов этого антитела поэлементно сравнивается с последовательностью генов антигена, полученного на шаге 3.
Обобщённой мерой, характеризующей близость генного набора антигенов и антител, для искусственных иммунных систем, основанных на бинарном коде, чаще всего является расстояние Хэмминга.
Вероятность взаимодействия обычно зависит от этого расстояния: чем оно меньше, тем выше вероятность взаимодействия. В данной работе гены являются вещественными числами, поэтому была предложена другая формула расчёта вероятности p взаимодействия:
Р =
«1
(1)
где п1 - число генов антитела, которые имеют отличие от соответствующих генов антигена меньшее, чем наперед заданная точность (в реализованной программной системе эта точность была выбрана в 5 %), п - число генов антитела.
В частности, если все гены антигена и антитела совпадают, вероятность взаимодействия р = 1. Если же совпадают не все гены, то р < 1.
Шаг 5. В случае, если между антигеном и антителом происходит взаимодействие, данный экземпляр антигена уничтожается, а антитела размножаются. В рассматриваемой системе коэффициент размножения антител равнялся 2. Также происходит уничтожение одного из антител, отобранного по следующему правилу: уничтожаемое антитело ранее сравнивалось с антигеном, но с ним не провзаимодействовало, при этом вероятность р взаимодействия этого антитела с антигеном являлась наименьшей среди всех непро-взаимодействоваших антител.
Таким образом, общее число антител в группе остаётся неизменным (в реализованной программной системе число антител для каждого класса антигенов равнялось 10000).
Шаг 6. В случае, если взаимодействие не происходит, производится изменение всех генов антитела по формуле:
(2)
h = l0i -(h0i - ) s,
где ¡1 - значение 1-го гена антитела после изменения, ¡0г - значение г-го гена антитела до изменения, VI -значение г-го гена антигена, s - константа, значение которой меньше единицы (в реализованной программной системе s = 0,02).
Шаг 7. Последовательность шагов 4 -6 повторяется 400 раз.
Шаг 8. Последовательность шагов 3 -7 повторяется до тех пор, пока не произойдёт 50000 актов рождения - уничтожения антител.
Шаг 9. Антитела из группы Study добавляются в другую группу. Будем условно называть её «Memory». Группа Study при этом уничтожается. На этом процесс обучения закачивается.
В случае необходимости обучения системы другим зрительным образам шаги 1 -9 повторяются.
Распознавание образа объекта производится следующим образом:
Шаг 10. Объект помещается пользователем в центр поля зрения Web-камеры, и производится выбор элемента графического интерфейса «Распознать».
Шаг 11. Из группы Memory случайным образом отбирается 10000 антител, относящихся к различным классам распознаваемых объектов. Созданную таким образом группу назовем «Work».
Шаг 12. Подсчитывается число антител к£, входящих в группу Work и относящихся к различным классам, где q - номер соответствующего класса.
Шаг 13. Последовательность шагов 3 -7 повторяется до тех пор, пока не произойдёт 10000 актов рождения - уничтожения антител. При этом вместо группы Study используется группа Work.
Шаг 14. Повторно подсчитывается число антител к1, входящих в группу Work и относящихся к различным классам.
Шаг 15. Для каждого класса находится отношение кЦ к0 . Если классов меньше трёх или только одно из
отношений кЦк0 больше единицы, то считается, что
распознавание образа произошло успешно и самое большое из этих соотношений соответствует классу распознаваемого объекта. В противоположном случае последовательность шагов 11 -15 повторяется, при этом в группу Work отбираются антитела только тех классов, для которых кЦк0 >1.
Экспериментальные результаты
На основании представленного выше алгоритма была разработана компьютерная программа. Для реализации этой программы использовался язык программирования C# и интегрированная среда разработки Visual Studio 2015. При тестировании работы данной программной системы был использован ноутбук Dell Inspiron 5520 (процессор Intel Core i5-3210M CPU 2.50GHz, ёмкость жесткого диска 1 ТБ, объём оперативной памяти 6 ГБ) и Web-камера SVEN IC-300. Для проверки работоспособности системы была использована база изображений лиц людей Georgia Tech Face Database [12]. Эта база была разработана в Центре обработки сигналов и изображений Технологического университета Джорджии (США) в 1999 году. Для проведения эксперимента были выбраны фотографии 7 человек. Каждый из этих людей представлен серией из 15
n
фронтальных изображений. При проведении съёмки варьировалось расстояние до фотографируемого человека, условия освещения, фоновые сцены. Глубина цвета изображений 24 бита на пиксель в формате JPEG. Размеры всех изображений - 640 х 480 пикселей. Десять изображений каждого из людей использовались для обучения системы (изображения с номерами 1 - 7 и 13 -15). А пять других изображений для проверки работоспособности системы (изображения с номерами 8 -12). В связи с тем, что обработка изображений, представленных в графическом формате, в системе не предусмотрена, эксперимент проводился следующим образом. На экран первого компьютера выводилось изображение человека. Далее это изображение фиксировалось с помощью Web-камеры и обрабатывалось на другом компьютере искусственной иммунной системой.
Эксперимент показал, что обучение системы новому образу можно производить в любой момент работы этой системы. Время обучения системы одному образу независимо от того, скольким образам система была обучена до этого, остаётся приблизительно одинаковым. Его среднее значение составило 583,5 с.
В табл. 1 приведена зависимость процента правильно распознанных изображений ш\/тх100% от количества образов k, записанных в систему, где m -число предъявляемых системе для идентификации изображений лиц людей, m1 - число правильно идентифицированных системой изображений.
Табл. 1. Число людей, изображения лиц которых предъявлялись для распознавания системе, и процент правильно распознанных изображений
k m m! /тх100 %
2 10 100 %
3 15 100 %
4 20 100 %
5 25 96 %
6 30 90 %
7 35 85,7 %
Как видно из этой таблицы, если число образов людей, записанных в систему, меньше или равняется четырём, то ошибок в распознавании образа системой не допускается. По мере дальнейшего увеличения числа записанных в систему образов происходит рост ошибочно распознанных изображений.
Представляет интерес сравнение полученных результатов с результатами других авторов. Так, описанная в работе [13] реализация искусственной иммунной системы позволяет (в разных экспериментах и при различных параметрах) правильно распознавать от 77,55 % до 99,78 % изображений лиц, предъявляемых этой системе для идентификации. Эти результаты достаточно хорошо согласуются с результатами, полученными в данной работе и представленными в приведённой выше таблице.
На рис. 1 представлена зависимость среднего времени г распознавания образа от числа образов к, записанных в систему.
Как видно из этого рисунка, время распознавания образа для системы, обученной распознаванию двух
или трёх образов, составляет менее 6 секунд. Для системы, обученной распознавать четыре образа, это время резко возрастает. Данное обстоятельство определяется шагом 15 представленного выше алгоритма, согласно которому если число классов больше трёх и хотя бы два отношения кЦк0 >1, то шаги 11-15 алгоритма повторяются.
2 3 4 5 6 7 к
Рис. 1. Среднее время распознавания образа в зависимости от числа образов, записанных в систему
Дальнейшее увеличение числа распознаваемых образов мало влияет на время распознавания.
Следует отметить, что представленная в данной работе система может применяться не только для распознавания лиц, но и любых других зрительных образов.
На рис. 2 приведён результат распознавания изображений детских игрушек.
йЩ Искусственная иммунная
Рис. 2. Пример использования системы для распознавания изображений детских игрушек
Для зрительного образа игрушки «Медведь» коэффициент размножения антител составил 5,205, что значительно больше, чем для образов других игрушек. Таким образом, распознавание образа было проведено успешно.
Заключение
Как видно из представленных выше результатов эксперимента, времена обучения системы и распознавания образа слишком большие для большинства практических задач, в которых может быть использована искусственная иммунная система. Ситуация, однако, кардинально меняется, если использовать для реализации искусственной иммунной системы высокопроизводительную систему параллельных вычислений. Так как взаимодействие определённых антитела и антигена не зависит от взаимодействия других антител и антигенов, то эти взаимодействия легко можно организовать в виде отдельных параллельных потоков.
Проведём приближённую оценку роста производительности при использовании технологии массивно-многопоточного программирования CUDA. Согласно [14] процессор Intel Core i5-3210M CPU 2.50GHz имеет производительность 40 гигафлопс. В соответствии с экспериментом, проведённым с помощью инструмента «Diagnostic Tools», входящего в состав интегрированной среды Visual Studio, на работу данной программной реализации в среднем тратилось 25 % вычислительных ресурсов центрального процессора. Соответственно, вычислительные затраты на работу исследуемой искусственной иммунной системы можно приблизительно оценить в 10 гигафлоп.
Для чисел с плавающей запятой двойной точности скорость вычислений двухпроцессорного графического ускорителя NVIDIA Tesla K80 составляет 2,91 терафлоп [15]. Соответственно, параллельная реализация алгоритма исследуемой системы на этом графическом ускорителе может привести к увеличению производительности в 291 раз.
В этом случае время распознавания образа для системы, в которую записано семь образов, составит 40 мс, а время обучения системы одному новому образу - 2 с. Таким образом, время распознавания образа реализованной искусственной иммунной системой сравнимо со временем распознавания образа свёрточной нейронной сетью. Время же обучения искусственной иммунной системы гораздо меньше, чем свёрточной нейронной сети.
Следует остановиться ещё на одном преимуществе реализованной системы. Для обучения свёрточной нейронной сети новому образу фактически необходимо добавить дополнительный нейрон в выходной слой и переобучить сеть заново. На это могут понадобиться часы машинного времени.
В разработанной искусственной иммунной системе обучение новому образу может быть произведено в любой момент работы системы за очень короткий период времени.
Следует также отметить, что алгоритм имеет по крайней мере 8 параметров, величина каждого из которых существенно влияет на качество распознавания образов и производительность системы. На настоящий момент это влияние в достаточной мере не исследовано. Тем не менее, можно ожидать, что дальнейшая «тонкая» настройка этих параметров значительно улучшит характеристики системы.
Описанные выше преимущества открывают путь к созданию систем искусственного интеллекта, которые, подобно человеческому мозгу, могут обучаться новым образам в режиме реального времени.
Литература
1. Немков, Р.М. Разработка нейросетевых алгоритмов инвариантного распознавания образов : дисс. ... канд. техн. наук : 05.13.18 / Немков Роман Михайлович. - Ставрополь, 2015. - 162 с.
2. Kalmanje, K.K. Immunized adaptive critic for an autonomous aircraft control application / K.K. Kalmanje, J. Neidhoefer. - In Book: Artificial immune systems and their applications / ed. by D. Dasgupta. - Berlin, Heidelberg: Springer-Verlag Inc., 1999. - P. 221-240. - DOI: 10.1007/978-3-642-59901-9_12.
3. Knight, T. AINE: an immunological approach to data mining / T. Knight, J. Timmis // Proceedings IEEE International Conference on Data Mining, 2001 (ICDM 2001). - 2001. -P. 297-304. - DOI: 10.1109/ICDM.2001.989532.
4. Kim, J. Towards an artificial immune system for network intrusion detection: An investigation of dynamic clonal selection / J. Kim, P.J. Bentley // Proceedings of the 2002 Congress on Evolutionary Computation (CEC '02). -2002. - P. 1244-1252. - DOI: 10.1109/CEC.2002.1004382.
5. Garrett, S.M. How do we evaluate artificial immune systems? / S.M. Garrett // Evolutionary Computation. - 2005. - Vol. 13, Issue 2. - P. 145-178. - DOI: 10.1162/1063656054088512.
6. Брюховецкий, А.А. Применение моделей искусственных иммунных систем для решения задач многомерной оптимизации / А.А. Брюховецкий, А.В. Скатков. - В кн.: Оптимiзацiя виробничних процеав: зб. наук. пр. / под ред. С.В. Пашкова, В.Я. Копп, В.К. Мартодова. -Севастополь : Вид-во Севастоп. нац. техн. ун-ту, 2010. -Вип. 12. - С. 119-122.
7. Gao, X.Z. Clonal optimization-based negative selection algorithm with applications in motor fault detection / X.Z. Gao, S.J. Ovaska, X. Wang, M.-Y. Chow // Neural Computing and Applications. - 2009. - Vol. 18, Issue 7. -P. 719-729. - DOI: 10.1007/s00521-009-0276-9.
8. Бардачев, Ю.Н. Использование положений теории опасности в искусственных иммунных системах / Ю.Н. Бардачев, А.А. Дидык // Автоматика. Автоматизация. Электротехнические комплексы и системы. -2007. - № 2. - С. 107-111.
9. Hunt, J.E. Learning using an artificial immune system / J.E. Hunt, D.E. Cooke // Journal of Network and Computing Applications. - 1996. - Vol. 19, Issue 2. - P. 189-212. -DOI: 10.1006/jnca.1996.0014.
10. Dasgupta, D. Recent advances in artificial immune systems: Models and applications / D. Dasgupta, S. Yu, F. Nino // Applied Soft Computing. - 2011. - Vol. 11, Issue 2. - P. 1574-1587. - DOI: 10.1016/j.asoc.2010.08.024.
11. Станкевич, Л.А. Иммунологическая система обеспечения безопасности гуманоидного робота / Л.А. Станкевич, А.Б. Казанский. - В кн.: Труды XVII научно-технической конференции «Экстремальная робототехника». - СПб.: Изд-во СПбГПУ, 2006. - С. 145-152.
12. Georgia Tech face database [Electronical Resource]. -URL: http://www.anefian.com/research/face_reco.htm (request date 13.03.2017).
13. Luh, G. Face recognition based on artificial immune networks and principal component analysis with single training image per person / G. Luh // Immune Computation. -2014. - Vol. 2, Number 1. - P. 21-34.
14. Intel® Core i5-3200 Mobile Processor Series [Electronical Resource]. - URL: http://www.intel.com/content/dam/sup-port/us/en/documents/processors/corei5/sb/core_i5-3200_m.pdf (request date 20.01.2017).
15. NVIDIA представляет самый быстрый в мире ускоритель для анализа данных и научных вычислений [Электронный ресурс]. - URL: http://www.nvidia.ru/object/tesla-k80-dual-gpu-accelerator-oct-14-2014-ru.html (дата обращения 20.01.2017).
Сведения об авторе
Михерский Ростислав Михайлович, кандидат физико-математических наук, доцент, доцент кафедры компьютерной инженерии и моделирования Физико-технического института Крымского федерального университе-
та им. В.И. Вернадского. Область научных интересов: распознавание зрительных образов, системы искусственного интеллекта, криптография, физика твердого тела, теория поля. E-mail: mrm03@mail.ru .
ГРНТИ: 28.23.15.
Поступила в редакцию 3 июля 2017. Окончательный вариант - 30 сентября 2017 г.
APPLICATION OF AN ARTIFICIAL IMMUNE SYSTEM FOR VISUAL PATTERN RECOGNITION
R.M. Mikherskii1
1 V.I. Vernadsky Crimean Federal University, Simferopol, Russia
Abstract
The suitability of artificial immune systems for recognizing visual patterns is discussed. A new algorithm and software implementation of an artificial immune system have been proposed based on which real-time pattern recognition can be done using a Web camera. It has been shown experimentally that this system can be successfully used to recognize both human faces and any other objects. An issue of using an artificial immune system in high-performance parallel computing systems is discussed. The advantages of the developed artificial immune system include the ability to teach the system a new image in a fast manner at any moment during run-time. These advantages open up a possibility of creating artificial intelligence systems for real-time learning.
Keywords: an artificial immune system, visual pattern recognition, parallel computing, artificial intelligence.
Citation: Mikherskii RM. Application of an artificial immune system for visual pattern recognition. Computer Optics 2018; 42(1): 113-117. DOI: 10.18287/2412-6179-2018-42-1-113-117.
References
[1] Nemkov RM. Development of neural network algorithms for invariant pattern recognition [In Russian]. The thesis for the Candidate's degree in Technical Sciences. Stavropol; 2015.
[2] Kalmanje KK, Neidhoefer J. Immunized adaptive critic for an autonomous aircraft control application. In Book: Das-gupta D, ed. Artificial immune systems and their applications. Berlin, Heidelberg: Springer-Verlag Inc.; 1999: 221240. DOI: 10.1007/978-3-642-59901-9_12.
[3] Knight T, Timmis J. AINE: an immunological approach to data mining. ICDM 2001: 297-304. DOI: 10.1109/ICDM.2001.989532.
[4] Kim J, Bentley PJ. Towards an artificial immune system for network intrusion detection: An investigation of dynamic clonal selection. CEC '02 2002: 1244-1252. DOI: 10.1109/CEC.2002.1004382.
[5] Garrett SM. How do we evaluate artificial immune systems? Evol Comput 2005; 13(2): 145-178. DOI: 10.1162/1063656054088512.
[6] Bryukhovetskii AA, Skatkov AV. Application of models of artificial immune systems for solving multidimensional optimization problems [In Russian]. In Book: Pash-kov YeV, Kopp VYa, Marigodov VK, eds. Optimization of Production Processes. Sevastopol: Sevastopol National Technical University Publisher; 2010; 12: 119-122.
[7] Gao XZ, Ovaska SJ, Wang X, Chow M-Y. Clonal optimization-based negative selection algorithm with applications in
motor fault detection. Neural Computing and Applications 2009; 18(7): 719-729. DOI: 10.1007/s00521-009-0276-9.
[8] Bardachev YuN, Didik AA. Use of the theory of danger in artificial immune systems [In Russian]. Automation, Automation, Electrotechnical Complexes and Systems 2007; 2: 107-111.
[9] Hunt JE, Cooke DE. Learning using an artificial immune system. Journal of Network and Computing Applications 1996; 19(2): 189-212. DOI: 10.1006/jnca.1996.0014.
[10] Dasgupta D, Yu S, Nino F. Recent advances in artificial immune systems: Models and applications. Applied Soft Computing 2011; 11(2): 1574-1587. DOI: 10.1016/j.asoc.2010.08.024.
[11] Stankevich LA, Kazanskii AB. Immunological system for ensuring the safety of a humanoid robot [In Russian]. In Book: Proceedings of the XVII Scientific and Technical Conference "Extreme Robotics". Saint-Petersburg: "SPbGPU" Publisher; 2006: 145-152.
[12] Georgia Tech face database. Source: (http://www.anefian.com/research/face_reco.htm).
[13] Luh G. Face recognition based on artificial immune networks and principal component analysis with single training image per person. Immune Computation 2014; 2(1): 21-34.
[14] Intel® Core i5-3200 Mobile Processor Series. Source: (http://www.intel.com/content/dam/support/us/en/documen ts/processors/corei5/sb/core_i5-3200_m.pdf).
[15] NVIDIA represents the world's fastest accelerator for data analysis and scientific computing [In Russian]. Source: (http://www.nvidia.ru/object/tesla-k80-dual-gpu-accelerator-oct-14-2014-ru.html).
Author's information
Rostislav Mikhailovich Mikherskii, Candidate of Physical and Mathematical Sciences, Associate Professor, Associate Professor of Computer Engineering and Modeling department of the Physico-technical Institute of the V. I. Vernadsky Crimean Federal University. Area of scientific interests: recognition of visual images, artificial intelligence systems, cryptography, solid state physics, field theory. E-mail: mrm03@mail.ru .
Received July 3, 2017. Final version - September 30, 2017.