Применение искусственной иммунной системы для распознавания зрительных образов

Автор: Михерский Ростислав Михайлович

Журнал: Компьютерная оптика @computer-optics

Рубрика: Обработка изображений, распознавание образов

Статья в выпуске: 1 т.42, 2018 года.

Бесплатный доступ

Рассмотрена возможность применения искусственных иммунных систем для распознавания зрительных образов. Разработан и программно реализован новый алгоритм искусственной иммунной системы, позволяющей с помощью Web-камеры в режиме реального времени распознавать такие образы. Экспериментально показано, что данная система может быть успешно применена для распознавания как лиц людей, так и любых других объектов. Обсужден вопрос о применении искусственной иммунной системы в высокопроизводительных системах параллельных вычислений. К преимуществам разработанной искусственной иммунной системы можно отнести высокую скорость обучения системы новым образам, а также возможность обучения системы новому образу в любой момент её работы. Эти преимущества открывают возможность создания систем искусственного интеллекта, обучающихся в режиме реального времени.

Еще

Искусственная иммунная система, распознавание зрительных образов, параллельные вычисления, искусственный интеллект

Короткий адрес: https://sciup.org/140228696

IDR: 140228696   |   DOI: 10.18287/2412-6179-2018-42-1-113-117

Текст научной статьи Применение искусственной иммунной системы для распознавания зрительных образов

В настоящее время в распознавании изображений наилучшие результаты показывают свёрточные нейронные сети. Вероятность правильного распознавания образа этими сетями в среднем на 10–15 % выше, чем с помощью других методов.

Однако свёрточные нейронные сети имеют и ряд недостатков. Пожалуй, самым существенным из них является большое время обучения сети. Так, согласно [1] это время может составлять десятки часов. Поэтому стоит проблема разработки новых математических алгоритмов, имеющих вероятность распознавания образов, сравнимую со свёрточными нейронными сетями, но обладающих меньшим временем обучения. Одним из них является алгоритм искусственной иммунной системы.

В настоящее время искусственные иммунные системы успешно применяются для адаптивного контроля [2], обработки неструктурированных данных [3], компьютерной безопасности [4], выявления аномалий в данных [5], решения задач оптимизации [6, 7] и классификации [8], машинного обучения [9, 10], сжатия информации [11].

Целью данной работы явилась разработка искусственной иммунной системы, способной в режиме реального времени производить распознавание зрительных образов с использованием Web-камеры.

Алгоритм искусственной иммунной системы, используемой для распознавания образов

Для реализации представленной выше цели был предложен алгоритм искусственной иммунной системы.

Начнём рассмотрение данного алгоритма с введения основных понятий. Предположим, что на вход этой системы подаются последовательности вещественных чисел, называемые «антигенами». Антигены

6179-2018-42-1-113-117.

являются результатом обработки изображений исследуемых объектов, полученных с Web-камеры.

Антигены взаимодействуют с «антителами». Антитела представляют собой объекты, состоящие из последовательности вещественных чисел и названия образа, которому эта последовательность соответствует.

Длина последовательности чисел каждого из антигенов совпадает с длиной последовательности чисел антител. Будем называть каждое из вещественных чисел, входящих в последовательность вещественных чисел антигена или антитела, геном. Задачей системы является определение, к какому классу относится данный антиген. Для этого на начальном этапе систему необходимо обучить. Алгоритм обучения можно представить в виде последовательности шагов:

Шаг 1. Пользователь в имеющееся текстовое поле вносит название объекта, зрительному образу которого необходимо обучить систему. Затем он производит выбор элемента графического интерфейса «Начать обучение».

Шаг 2. В программной системе создаётся группа антител. Будем условно называть её «Study». Каждое из антител этой группы получает название объекта, зрительному образу которого необходимо обучить систему. На начальном этапе гены каждого из антител представляют собой набор случайных чисел. Всего в группу Study включено 10000 антител.

Шаг 3. Изображение размера 320×240, полученное с помощью Web-камеры, преобразуется в генный набор антигена. Для минимизации вычислительных затрат предложен метод преобразования изображения, основанный на модели работы глаза человека.

В этой модели при удалении от центра изображения его чёткость уменьшается. Так, в центральной части изображения (квадрат, содержащий 256 пикселей) каждая составляющая цвета пикселя записывается в отдельный ген.

По мере удаления от центра изображения гены представляют собой средние значения составляющих цвета сначала по 4, потом по 16, 64 и 256 пикселям. В результате изображение представляется в виде антигена с 2976 генами (по 992 гена на каждый цветовой канал RGB).

Далее для уменьшения влияния уровня освещённости на качество распознавания образа каждый из генов нормируется на среднее значение интенсивности соответствующего цвета по всему изображению.

Шаг 4. Из группы Study случайным образом выбирается антитело. Последовательность генов этого антитела поэлементно сравнивается с последовательностью генов антигена, полученного на шаге 3.

Обобщённой мерой, характеризующей близость генного набора антигенов и антител, для искусственных иммунных систем, основанных на бинарном коде, чаще всего является расстояние Хэмминга.

Вероятность взаимодействия обычно зависит от этого расстояния: чем оно меньше, тем выше вероятность взаимодействия. В данной работе гены являются вещественными числами, поэтому была предложена другая формула расчёта вероятности p взаимодействия:

n

p = —, n

где n 1 – число генов антитела, которые имеют отличие от соответствующих генов антигена меньшее, чем наперед заданная точность (в реализованной программной системе эта точность была выбрана в 5 %), n – число генов антитела.

В частности, если все гены антигена и антитела совпадают, вероятность взаимодействия p = 1. Если же совпадают не все гены, то p < 1.

Шаг 5. В случае, если между антигеном и антителом происходит взаимодействие, данный экземпляр антигена уничтожается, а антитела размножаются. В рассматриваемой системе коэффициент размножения антител равнялся 2. Также происходит уничтожение одного из антител, отобранного по следующему правилу: уничтожаемое антитело ранее сравнивалось с антигеном, но с ним не провзаимодействовало, при этом вероятность p взаимодействия этого антитела с антигеном являлась наименьшей среди всех непро-взаимодействоваших антител.

Таким образом, общее число антител в группе остаётся неизменным (в реализованной программной системе число антител для каждого класса антигенов равнялось 10000).

Шаг 6. В случае, если взаимодействие не происходит, производится изменение всех генов антитела по формуле:

li = l 0 i - ( l 0 i - vi ) ^ , (2) где li – значение i -го гена антитела после изменения, l 0 i – значение i -го гена антитела до изменения, vi – значение i -го гена антигена, 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. Подсчитывается число антител k0 , вхо-q дящих в группу Work и относящихся к различным классам, где q – номер соответствующего класса.

Шаг 13. Последовательность шагов 3–7 повторяется до тех пор, пока не произойдёт 10000 актов рождения – уничтожения антител. При этом вместо группы Study используется группа Work.

Шаг 14. Повторно подсчитывается число антител kq 1 , входящих в группу Work и относящихся к различным классам.

Шаг 15. Для каждого класса находится отношение kq1 kq0 . Если классов меньше трёх или только одно из отношений k1 k0 больше единицы, то считается, что qq распознавание образа произошло успешно и самое большое из этих соотношений соответствует классу распознаваемого объекта. В противоположном случае последовательность шагов 11 –15 повторяется, при этом в группу Work отбираются антитела только тех классов, для которых kq1 kq0 >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

фронтальных изображений. При проведении съёмки варьировалось расстояние до фотографируемого человека, условия освещения, фоновые сцены. Глубина цвета изображений 24 бита на пиксель в формате JPEG. Размеры всех изображений – 640×480 пикселей. Десять изображений каждого из людей использовались для обучения системы (изображения с номерами 1 –7 и 13 –15). А пять других изображений для проверки работоспособности системы (изображения с номерами 8– 12). В связи с тем, что обработка изображений, представленных в графическом формате, в системе не предусмотрена, эксперимент проводился следующим образом. На экран первого компьютера выводилось изображение человека. Далее это изображение фиксировалось с помощью Web-камеры и обрабатывалось на другом компьютере искусственной иммунной системой.

Эксперимент показал, что обучение системы новому образу можно производить в любой момент работы этой системы. Время обучения системы одному образу независимо от того, скольким образам система была обучена до этого, остаётся приблизительно одинаковым. Его среднее значение составило 583,5 с.

В табл. 1 приведена зависимость процента правильно распознанных изображений m 1 /m ×100% от количества образов k , записанных в систему, где m – число предъявляемых системе для идентификации изображений лиц людей, m 1 – число правильно идентифицированных системой изображений.

Табл. 1. Число людей, изображения лиц которых предъявлялись для распознавания системе, и процент правильно распознанных изображений

k

m

m 1 /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 представлена зависимость среднего времени t распознавания образа от числа образов k, записанных в систему.

Как видно из этого рисунка, время распознавания образа для системы, обученной распознаванию двух или трёх образов, составляет менее 6 секунд. Для системы, обученной распознавать четыре образа, это время резко возрастает. Данное обстоятельство определяется шагом 15 представленного выше алгоритма, согласно которому если число классов больше трёх и хотя бы два отношения kq1 /k0 >1, то шаги 11–15 ал-qq горитма повторяются.

Рис. 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 параметров, величина каждого из которых существенно влияет на качество распознавания образов и производительность системы. На настоящий момент это влияние в достаточной мере не исследовано. Тем не менее, можно ожидать, что дальнейшая «тонкая» настройка этих параметров значительно улучшит характеристики системы.

Описанные выше преимущества открывают путь к созданию систем искусственного интеллекта, которые, подобно человеческому мозгу, могут обучаться новым образам в режиме реального времени.

Список литературы Применение искусственной иммунной системы для распознавания зрительных образов

  • Немков, Р.М. Разработка нейросетевых алгоритмов инвариантного распознавания образов: дисс.. канд. техн. наук: 05.13.18/Немков Роман Михайлович. -Ставрополь, 2015. -162 с.
  • 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
  • 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
  • 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
  • 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
  • Брюховецкий, А.А. Применение моделей искусственных иммунных систем для решения задач многомерной оптимизации/А.А. Брюховецкий, А.В. Скатков. -В кн.: Оптимiзацiя виробничних процесiв: зб. наук. пр./под ред. Е.В. Пашкова, В.Я. Копп, В.К. Марiгодова. -Севастополь: Вид-во Севастоп. нац. техн. ун-ту, 2010. -Вип. 12. -С. 119-122.
  • 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
  • Бардачев, Ю.Н. Использование положений теории опасности в искусственных иммунных системах/Ю.Н. Бардачев, А.А. Дидык//Автоматика. Автоматизация. Электротехнические комплексы и системы. -2007. -№ 2. -С. 107-111.
  • 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
  • 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
  • Станкевич, Л.А. Иммунологическая система обеспечения безопасности гуманоидного робота/Л.А. Станкевич, А.Б. Казанский. -В кн.: Труды XVII научно-технической конференции «Экстремальная робототехника». -СПб.: Изд-во СПбГПУ, 2006. -С. 145-152.
  • Georgia Tech face database . -URL: http://www.anefian.com/research/face_reco.htm (request date 13.03.2017).
  • 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.
  • Intel® Core i5-3200 Mobile Processor Series . -URL: http://www.intel.com/content/dam/support/us/en/documents/processors/corei5/sb/core_i5-3200_m.pdf (request date 20.01.2017).
  • NVIDIA представляет самый быстрый в мире ускоритель для анализа данных и научных вычислений . -URL: http://www.nvidia.ru/object/tesla-k80-dual-gpu-accelerator-oct-14-2014-ru.html (дата обращения 20.01.2017).
Еще
Статья научная