ВВЕДЕНИЕ 3
1. ФОРМУЛИРОВКА И МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ БИНАРНОЙ
КЛАССИФИКАЦИИ ЦИФРОВЫХ ИЗОБРАЖЕНИЙ 6
1.1. Методы решения задачи бинарной классификации 7
1.2. Извлечения векторов характеристик 11
1.3. Метод скользящего окна для нахождения объектов на изображении 17
2. ЭКСПЕРИМЕНТАЛЬНЫЕ ИССЛЕДОВАНИЯ 21
2.1. Обучение классификатора 21
2.2. Детали реализации и результаты исследований 24
2.3. Пользовательский интерфейс 26
2.4. Состав и структура программной системы 28
ЗАКЛЮЧЕНИЕ 30
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 31
ПРИЛОЖЕНИЕ: ПРОГРАММНЫЙ КОД 32
Приложения методов искусственного интеллекта (ИИ) получают все более и более широкое применение в повседневной жизни человека. Одной из наиболее выделяющихся областей ИИ является компьютерное зрение. С развитием цифровых технологий и экспоненциальным увеличением количества снимков доступных человечеству автоматизация анализа изображений стала необходима для эффективной организации хранения, поиска и аннотации баз снимков. С другой стороны, появление большого количества изображений позволило расширить разработку методов ИИ, основанных на обучении, что, в свою очередь, дало толчок развитию новых отраслей промышленности, таких как робототехника, беспилотный автопром, компьютерная диагностика, и пр.
Большой вклад в теорию машинного обучения, в частности, в теорию распознавания образов, был внесен советским и американским математиком Вапником В.М. [1]—[3]. Вапник рассматривает проблему обучения как проблему оптимизации, что позволяет нам использовать теорию оптимизации при разработке ИИ. В настоящее время машинное обучение представляет собой комбинацию нескольких дисциплин, таких как статистика, теория информации, алгоритмическая теория информации, теория вероятности и функциональный анализ.
В 1963 году Владимиром Вапником и Алексеем Червоненкисом был предложен метод построения оптимальной разделяющей гиперплоскости, на котором основан метод опорных векторов (англ. Support Vector Machine, SVM). Этот метод является одним из популярных алгоритмов машинного обучения с учителем для классификации объектов. Многие успешные приложения, основанные на SVM, были применены в разных областях знаний, таких как классификация документов, анализ цифровых изображений, распознавание символов и биоинформатика.
В данной работе рассматривается вопрос бинарной классификации изображений.
Пусть имеется некоторое число изображений, на каждом из которых присутствует объект определенного типа (например, кошка или треугольник, или жираф, или самолет, или конкретный человек) и некоторое количество изображений, на каждой из которых этот объект отсутствует. Необходимо реализовать метод машинного обучения с учителем, способный определить наличие и дополнительно положение определенного объекта на изображении.
В нашем случае для обучения и тестирования классификатора была использована база снимков «UIUC Image Database for Car Detection», содержащая 1050 изображений для обучения (550 снимков автомобилей и 500 снимков других объектов) и 170 изображений для тестирования [4]-[6]. Мы разработали систему, способную распознавать объект, т.е. автомобиль, при помощи метода обучения с учителем - метода опорных векторов (см. Рис. 1) и определять местоположение объекта, т.е. автомобиля, с помощью метода скользящего окна. Результирующая система, способная обнаруживать автомобили на изображениях, может быть использована как часть программы, определяющей множество классов, или же как самостоятельный классификатор в определенных сферах.
В рамках данной работы была реализована программная система, способная проанализировать изображение и определить содержит ли оно образ автомобиля. Для решения задачи бинарной классификации объектов на цифровых изображениях был осуществлен алгоритм машинного обучения с учителем - метод опорных векторов.
Вектора характеристик изображений объекта были вычислены с помощью алгоритма гистограмм направления градиента, HOG. Признаки, полученные на основе HOG, позволили достаточно точно обнаружить на снимках объекты и определить их форму.
Для того, чтобы найти на изображении объекты разных размеров, и имеющих любое расположение, поиск осуществлялся в различных масштабах изображения, и был применен метод скользящего окна. В случае обнаружения объекта на изображении, область, в которой он находится, выделяется прямоугольной рамкой. Разработанный алгоритм также способен устранять повторные обнаружения объектов с помощью метрики IoU.
Полученная система поиска объектов на тестовой выборке имела точность 0.94 и полноту 0.83. Данные результаты свидетельствуют о потенциале полученного алгоритма для распознавания объектов на цифровых изображениях. Также, в виду своей универсальности, система может быть использована для классификации любых объектов в случае доступности соответствующих данных для обучения.
Дальнейшая работа будет посвящена исследованию вопросов обнаружения и классификации объектов на цифровых изображениях или видео последовательностях другими методами машинного обучения с учителем, а также применению этих методов к решению практических задач, возникающих в таких областях, как медицина, системы поиска или системы безопасности, где задача классификации изображений наиболее востребована.
[1] C. Cortes и V. Vapnik, «Support-Vector Networks», Mach. Learn.,т. 20, вып. 3, сс. 273-297, сен. 1995.
[2] В. Вапник и А. Червоненкис, Теория распознавания образов. Главная редакция физико-математической литературы издательства «Наука», 1974.
[3] V. N. Vapnik, Statistical Learning Theory, 1 edition. New York: Wiley- Interscience, 1998.
[4] «UIUC Image Database : Car Detection». [Онлайн]. Доступно на: https://cogcomp.cs.illinois.edu/Data/Car/. [Просмотрено: 19-июн-2017].
[5] S. Agarwal и D. Roth, «Learning a Sparse Representation for Object Detection», в Proceedings of the 7th European Conference on Computer Vision-Part IV, London, UK, UK, 2002, сс. 113-130.
[6] S. Agarwal, A. Awan, и D. Roth, «Learning to Detect Objects in Images via a Sparse, Part-Based Representation», IEEE Trans Pattern Anal Mach Intell,т. 26, вып. 11, сс. 1475-1490, ноя. 2004.
[7] P. Cichosz, «Naive Bayes classifier», в Data Mining Algorithms, John Wiley & Sons, Ltd, 2015, сс. 118-133.
[8] L. Breiman, «Random Forests», Mach. Learn.,т. 45, вып. 1, сс. 5-32, окт. 2001.
[9] C. M. Bishop, Neural Networks for Pattern Recognition. Oxford, New York: Oxford University Press, 1996.
[10] А. Мерков, Распознавание образов. Введение в методы статистического обучения. Едиториал УРСС, 2011.
[11] N. Dalal и B. Triggs, «Histograms of oriented gradients for human detection», в 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05), 2005, т. 1, сс. 886-893 т. 1.
[12] D. G. Lowe, «Distinctive Image Features from Scale-Invariant Keypoints», Int. J. Comput. Vis.,т. 60, вып. 2, сс. 91-110, ноя. 2004.
[13] «Project Jupyter». [Онлайн]. Доступно на: http://www.jupyter.org. [Просмотрено: 13-июн-2017].