Основные задачи компьютерного зрения
Содержание
1. Введение
1.1. Основные задачи компьютерного зрения
1.2. Методы машинного обучения
1.3. Глубинное обучение и свёрточные нейронные сети
2. Основная часть
2.1. Постановка задачи детектирования объектов
2.2. Обзор существующих методов решения задачи
2.2.1. R-CNN
2.2.2. Multi-Box
2.2.3. Fast R-CNN
2.3. Обзор наборов данных
2.3.1. ImageNet 2014
2.3.2. PASCAL VOC 2012
2.4. Используемые инструменты
2.5. Описание экспериментов и полученные результаты
3. Заключение
4. Список литературы
Введение
В век глобального распространения информационных технологий компьютеры начинают перенимать человеческие способности к распознаванию объектов. Так же как и человеку, компьютеру в процессе распознавания каких-либо объектов необходимо опираться на предыдущий опыт. Информацию необходимо накапливать постоянно, что сказывается на времени ее обработки. В отличие от человеческого мозга, не каждый компьютер способен за приемлемое время обработать необходимый для распознавания объем информации.
Компьютерное зрение – область науки, направленная на извлечение и последующее использование информации, полученной из изображений. Первоначальной задачей компьютерного зрения было восстановление пространственной структуры объекта (3D) по плоским изображениям (2D). Затем, данная задача была расширена в сторону анализа состояния объекта по изображениям.
Компьютерное зрение решает в какой-то степени обратную задачу компьютерной графики. Если компьютерная графика пытается отобразить объект реального мира на изображениях, то компьютерное зрение выполняет обратную функцию: по изображениям объекта, восстановить сам объект или, в зависимости от задачи, его свойства или действия. Данная область тесно связана с такими дисциплинами как распознавание образов, обработка изображений, машинное зрение и фотограмметрия.
Важной особенностью компьютерного зрения является необходимость научить машину обучаться, то есть принимать решения на основании предыдущего опыта. От того, на каком количестве объектов машина будет обучена (то есть, какой опыт она накопит), напрямую зависит качество выданного ей результата.
Несмотря на сложность проблем компьютерного зрения, в настоящий момент распознавание различных образов уже занимает немаловажное место в повседневной жизни. Например, эта технология активно используется для считывания специальными камерами автомобильных номеров [1], считывания штрих-кодов и QR-кодов [2], распознавания лиц [3] и т.д. В общем и целом, компьютерное зрение используется во множестве областей, таких как медицина (распознавание опухолей, измерение размеров органов и т.д.), промышленность, военное дело (обнаружение вражеских солдат и транспорта, управление ракетами), создание автономных транспортных средств и др. [4]
Основные задачи компьютерного зрения
Компьютерное зрение призвано формировать информативные заключения относительно реальных объектов на основе анализа изображений, полученных с помощью камер или датчиков. Наиболее важными задачами компьютерного зрения являются распознавание, детектирование и сегментация образов, движение, восстановление сцен и изображений.
· Распознавание образов – это раздел компьютерного зрения, призванный классифицировать и идентифицировать объекты, характеризующиеся определенным набором свойств и признаков.
Главная цель задачи классификации или идентификации отнести объект на изображении к одному из заранее известных классов. Задача классификации достаточно хорошо изучена, и существуют методы, которые достигают точность классификации выше, чем у человека [5] [6] [38].
В настоящее время, большинство таких методов используют различные модификации сверточных нейронных сетей для создания точных классификаторов.[7][8]
· Детектирование – еще один раздел компьютерного зрения, который предназначен для детектирования объектов на изображении. Отличие задачи детектирования от классификации заключается в том, что детектор не только определяет, к какому классу относится объект, но и дает его точное местоположение на изображении. Например, применительно к задаче обработки людей на фотографии: детектор определит, где лица расположены на фотографии, в то время как классификатор может лишь сказать, что на фотографии присутствуют люди. [9]
· Сегментация – это задача компьютерного зрения разделить изображение на несколько частей по заданным правилам. Например, в задаче распознавания лиц на фотографии будет не только определено их точное количество, но и указано их расположение на изображении. Сегментация позволяет уточнить результаты детектирования и иногда может быть использована вместо него. Сегментацией можно назвать попиксельную классификацию изображения. [10]
· Движение – раздел компьютерного зрения, в котором некоторая последовательность изображений должна быть обработана с целью определения скорости каждой точки. Типичной задачей этого раздела является слежение за каким-либо объектом (например, человеком или транспортным средством). [11] [12]
· Восстановление сцены - задача, которая заключается в воссоздании трехмерного изображения на основе нескольких двухмерных, снятых с определенных ракурсов. [13]
· Восстановление изображения – задача компьютерного зрения, занимающаяся удалением шума с изображения (например, обработка размытых фотографий). [14]
Методы машинного обучения
Машинное обучение — процесс, в результате которого машина (компьютер) способна показывать поведение, которое в нее не было явно заложено (запрограммировано). [15]
В большинстве задач компьютерного зрения нельзя обойтись без применения методов машинного обучения. Машинное обучение является одной из областей искусственного интеллекта. Методы данной области позволяют извлекать знания из данных с последующим их переиспользованием для новых данных.
Несмотря на то, что компьютерное зрение является областью относительно новой, существует множество алгоритмов обучения. Их принято классифицировать следующим образом:
· Обучение с учителем (supervised learning) – метод обучения, в ходе которого происходит анализ пар типа «стимул – реакция», называемых так же обучающей выборкой. Результатом такого анализа будет являться алгоритм, способный дать точный ответ для каждого объекта. При этом входные данные (отдельные компоненты обучающей выборки) могут иметь разную структуру:
Признаковое описание – каждый объект характеризуется набором определенных признаков.
Матрица расстояний – каждый объект характеризуется расстояниями до всех остальных объектов выборки.
Временной ряд – каждый объект характеризуется набором определенных признаков в определенный момент времени.
Изображение
Видеоряд
· Обучение без учителя или самообучение (unsupervised learning) – метод машинного обучения, при котором система обучается спонтанно, и который не требует какого-либо вмешательства со стороны оператора. В этом случае алгоритм сам разбивает все имеющиеся объекты на некие подгруппы объектов, максимально схожих между собой и максимально отличающихся от объектов других подгрупп (в случае кластеризации). При этом объекты так же могут характеризоваться набором признаков или матрицей расстояний.
Нейронная сеть – один из методов машинного обучения, основанный на идее биологических нейронных сетей (центральная нервная система у животных, в частности человеческий мозг).[16]
Нейронная сеть (или искусственная нейронная сеть — ориентированный граф, вершинам которого соответствуют функции (функции активации), а каждой входящей в вершину дуге (синапсу) — ее аргумент.
Рис.1 Нейрон