Введение

Пожалуй, самая популярная и перспективная задача нейросетей – технологии распознавания образов. Они либо по отдельности, либо в интегрированном виде используются в таких сферах, как безопасность и наблюдение, сканирование и создание изображений, маркетинг и реклама, дополненная реальность и поиск изображений.

Сегодня создаются и уже используются сети, в которых машины способны распознавать символы на бумаге и банковских картах, подписи на официальных документах, детектировать объекты и т.д. Эти функции облегчают труд человека и повышают точность и надежность различных рабочих процессов благодаря исключению из задачи человеческого фактора. Но научить компьютер распознавать объекты не так уж и просто. Одна из сложностей заключается в том, что компьютер видит не так же, как люди. У компьютера нет жизненного опыта и способности так же, как человеческий мозг идентифицировать объекты на изображения и видео. Изначально он не способен отличить дом от дерева, не имея каких‑то исходных данных. Чтобы научить компьютер видеть и понимать, что находится на изображении, люди используют технологии машинного обучения.

Для этого собирают большие базы данных, из которых формируют дата‑сеты. Выделив признаки и их комбинации для идентификации похожих объектов, можно натренировать модель машинного обучения распознавать нужные типы закономерностей. Конечно, даже после загрузки нескольких дата‑сетов модели могут неверно распознавать некоторые объекты. Если такое случается, модели «дообучают» на новых наборах данных.

Если, например, рассматривать сферу видеонаблюдения, то ее основой является анализ, первой фазой которого будет распознавание изображения (объекта). Затем искусственный интеллект с помощью машинного обучения распознает действия и классифицирует их. Но для того, чтобы распознать изображение, нейронная сеть должна быть прежде обучена на данных. Это очень похоже на нейронные связи в человеческом мозге — мы обладаем определенными знаниями, получаемыми в течение жизни, видим объект, анализируем его и идентифицируем. Также нейросети очень требовательны к размеру и качеству датасета, на котором она будет обучаться. Датасет можно загрузить из открытых источников или собрать самостоятельно. На практике это означает, что до определённого предела чем больше скрытых слоев в нейронной сети, тем точнее будет распознано изображение. Как это реализуется: картинка разбивается на маленькие участки, вплоть до нескольких пикселей, каждый из которых будет входным нейроном. С помощью синапсов сигналы передаются от одного слоя к другому. Во время этого процесса сотни тысяч нейронов с миллионами параметров сравнивают полученные сигналы с уже обработанными данными.

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

Распознавание образов — важная задача компьютерного зрения, используемая для обнаружения экземпляров визуальных объектов определенных классов (например, людей, животных, автомобилей и зданий) в цифровых изображениях, таких как фотографии или видеокадры. Целью обнаружения объектов является разработка вычислительных моделей, которые предоставляют наиболее фундаментальную информацию, необходимую приложениям компьютерного зрения: «Какие объекты находятся где?».

Как работает распознавание образов

Распознавание образов может выполняться с использованием либо традиционных (1) методов обработки изображений, либо современных (2) сетей глубокого обучения.

1)     Методы обработки изображений, как правило, не требуют исторических данных для обучения и по своей природе неконтролируемы. OpenCV — популярный инструмент для задач обработки изображений.

Плюсы: следовательно, эти задачи не требуют аннотированных изображений, где люди маркировали данные вручную (для контролируемого обучения).

Минусы: эти методы ограничены несколькими факторами, такими как сложные сценарии (без одноцветного фона), окклюзия (частично скрытые объекты), освещение и тени, и эффект беспорядка.

2)    Методы глубокого обучения обычно зависят от контролируемого или неконтролируемого обучения, при этом контролируемые методы являются стандартом в задачах компьютерного зрения. Производительность ограничена вычислительной мощностью графических процессоров, которая стремительно растет с каждым годом.

Плюсы: Обнаружение объектов с помощью глубокого обучения значительно более устойчиво к окклюзии, сложным сценам и сложному освещению.

Минусы: требуется огромное количество обучающих данных; процесс аннотации изображений является трудоемким и дорогостоящим. Например, маркировка 500 000 изображений для обучения пользовательского алгоритма обнаружения объектов глубокого обучения считается небольшим набором данных. Однако многие эталонные наборы данных (MS COCO, Caltech, KITTI, PASCAL VOC, V5) обеспечивают доступность помеченных данных.

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

Где используется распознавание образов

  Распознавание лиц и людей

Большинство систем распознавания лиц основаны на распознавании объектов. Его можно использовать для обнаружения лиц, классификации эмоций или выражений и подачи полученного поля в систему поиска изображений для идентификации конкретного человека из группы.

Обнаружение лица — один из самых популярных вариантов использования обнаружения объектов, и вы, вероятно, уже используете его всякий раз, когда разблокируете телефон своим лицом.

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

Интеллектуальная видео аналитика

Обнаружение объектов используется в интеллектуальной видеоаналитики (IVA) везде, где в торговых точках присутствуют камеры видеонаблюдения, чтобы понять, как покупатели взаимодействуют с продуктами. Эти видеопотоки проходят через конвейер анонимизации, чтобы размыть лица людей и обезличить их. Некоторые варианты использования IVA сохраняют конфиденциальность, глядя только на обувь людей, размещая камеры ниже уровня колен и гарантируя, что система фиксирует присутствие человека, без необходимости непосредственно смотреть на его идентифицируемые черты. IVA часто используется на заводах, в аэропортах и ​​транспортных узлах для отслеживания длины очередей и доступа в зоны ограниченного доступа.

Автономные транспортные средства

Беспилотные автомобили используют обнаружение объектов, чтобы обнаруживать пешеходов, другие автомобили и препятствия на дороге, чтобы безопасно передвигаться. Автономные транспортные средства, оснащенные LIDAR, иногда используют 3D-обнаружение объектов, при котором вокруг объектов применяются прямоугольные формы.

Интеллектуальная видео хирургия

Хирургическое видео — это очень зашумленные данные, которые снимаются с эндоскопов во время ответственных операций. Обнаружение объектов можно использовать для обнаружения трудно различимых объектов, таких как полипы или поражения, которые требуют немедленного вмешательства хирурга. Он также используется для информирования персонала больницы о статусе операции.

Проверка дефектов

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

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

Обнаружение пешеходов

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

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

AI-навигация дрона

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

Например, их можно использовать для осмотра труднодоступных участков мостов на наличие трещин и других структурных повреждений или для осмотра линий электропередач, заменяя опасные рутинные вертолетные операции.

Методы распознавания образов

  R-CNN

Первые модели интуитивно начинают с поиска области, а затем выполняют классификацию. В R-CNN метод выборочного поиска, разработанный Дж.Р.Р. Уйлингс и др. (2012) является альтернативой полному поиску на изображении для фиксации местоположения объекта. Он инициализирует небольшие области изображения и объединяет их в иерархическую группу. Таким образом, последняя группа представляет собой блок, содержащий все изображение. Обнаруженные области объединяются в соответствии с различными цветовыми пространствами и показателями сходства. Результатом является несколько предложений регионов, которые могут содержать объект путем слияния небольших регионов.

Приложение выборочного поиска, вверху: визуализация результатов сегментации алгоритма, внизу: визуализация предложений области алгоритма. Источник: J.R.R. Uijlings and al. (2012)
Приложение выборочного поиска, вверху: визуализация результатов сегментации алгоритма, внизу: визуализация предложений области алгоритма. Источник: J.R.R. Uijlings and al. (2012)

Модель R-CNN (Р. Гиршик и др., 2014) сочетает в себе метод выборочного поиска для обнаружения предложений регионов и глубокое обучение для обнаружения объекта в этих регионах. Размер каждого предложения региона изменяется, чтобы соответствовать входным данным CNN, из которых мы извлекаем вектор признаков с 4096 измерениями. Вектор признаков передается в несколько классификаторов для получения вероятностей принадлежности к каждому классу. Каждый из этих классов имеет классификатор SVM, обученный делать выводы о вероятности обнаружения этого объекта для заданного вектора признаков. Этот вектор также передает линейный регрессор, чтобы адаптировать формы ограничивающей рамки для предложения региона и, таким образом, уменьшить ошибки локализации.

Модель CNN, описанная авторами, обучена на наборе данных ImageNet 2012 года для исходной задачи классификации изображений. Он настраивается с использованием предложений по регионам, соответствующих IoU больше 0,5, с помощью полей наземной достоверности. Выпускаются две версии: в одной версии используется набор данных PASCAL VOC 2012 года, а в другой — набор данных ImageNet 2013 года с ограничивающими рамками. Классификаторы SVM также обучаются для каждого класса каждого набора данных.

Лучшие модели R-CNN достигли оценки mAP 62,4% по сравнению с набором тестовых данных PASCAL VOC 2012 (увеличение на 22,0 балла по сравнению со вторым лучшим результатом в таблице лидеров) и 31,4% оценки mAP по сравнению с набором данных ImageNet 2013 года (увеличение на 7,1 балла по сравнению с 2013 годом). второй лучший результат в таблице лидеров). [Источник: J. Xu’s Blog]

Региональная сверточная сеть (R-CNN). Каждое предложение региона передает CNN для извлечения вектора признаков, возможные объекты обнаруживаются с использованием нескольких классификаторов SVM, а линейный регрессор изменяет координаты ограничивающей рамки. Источник: J. Xu’s Blog
Региональная сверточная сеть (R-CNN). Каждое предложение региона передает CNN для извлечения вектора признаков, возможные объекты обнаруживаются с использованием нескольких классификаторов SVM, а линейный регрессор изменяет координаты ограничивающей рамки. Источник: J. Xu’s Blog

Минусы R-CNN

  • Обучение сети по-прежнему занимает огромное количество времени, так как вам придется классифицировать 2000 предложений регионов для каждого изображения.

  • Его нельзя реализовать в режиме реального времени, так как для каждого тестового изображения требуется около 47 секунд.

  • Алгоритм выборочного поиска является фиксированным алгоритмом. Поэтому на этом этапе обучения не происходит. Это может привести к созданию плохих предложений регионов-кандидатов.

Fast R-CNN

Цель быстрой сверточной сети на основе регионов (Fast R-CNN), разработанной Р. Гиршиком (2015), состоит в том, чтобы сократить затраты времени, связанные с большим количеством моделей, необходимых для анализа всех предложений регионов.

Основная CNN с несколькими сверточными слоями принимает все изображение в качестве входных данных вместо использования CNN для каждого предложения региона (R-CNN). Области интересов (RoI) обнаруживаются с помощью метода выборочного поиска, применяемого к созданным картам объектов. Формально размер карт объектов уменьшается с использованием слоя пула RoI, чтобы получить допустимую область интересов с фиксированной высотой и шириной в качестве гиперпараметров. Каждый слой области интереса передает полностью связанные слои¹, создавая вектор признаков. Вектор используется для прогнозирования наблюдаемого объекта с помощью классификатора softmax и для адаптации локализации ограничительной рамки с помощью линейного регрессора.

Лучшие Fast R-CNN достигли оценки mAp 70,0% для набора тестовых данных PASCAL VOC 2007 г., 68,8% для набора тестовых данных PASCAL VOC 2010 г. и 68,4% для набора тестовых данных PASCAL VOC 2012 г. [Источник: J. Xu’s Blog]

Все изображение передает модель CNN для определения области интереса на картах объектов. Каждая область отделена с помощью слоя пула RoI, и он питает полностью связанные слои. Этот вектор используется классификатором softmax для обнаружения объекта и линейным регрессором для изменения координат ограничивающей рамки. Источник: J. Xu’s Blog
Все изображение передает модель CNN для определения области интереса на картах объектов. Каждая область отделена с помощью слоя пула RoI, и он питает полностью связанные слои. Этот вектор используется классификатором softmax для обнаружения объекта и линейным регрессором для изменения координат ограничивающей рамки. Источник: J. Xu’s Blog

Faster R-CNN

Предложения регионов, обнаруженные с помощью метода выборочного поиска, по-прежнему были необходимы в предыдущей модели, которая требовала значительных вычислительных ресурсов. С. Рен и др. (2016) представили Сеть предложений по регионам (RPN) для прямого создания предложений по регионам, прогнозирования ограничивающих рамок и обнаружения объектов. Более быстрая сверточная сеть на основе регионов (Faster R-CNN) представляет собой комбинацию между RPN и моделью Fast R-CNN.

Модель CNN принимает в качестве входных данных все изображение и создает карты характеристик. Окно размером 3x3 скользит по всем картам объектов и выводит вектор признаков, связанный с двумя полностью связанными слоями, один для блочной регрессии и один для блочной классификации. Предложения нескольких регионов предсказываются полностью связанными слоями. Фиксируется максимум k областей, поэтому выходные данные слоя регрессии блоков имеют размер 4k (координаты блоков, их высота и ширина), а выходные данные слоя классификации блоков имеют размер 2k («объективность» баллов чтобы обнаружить объект или нет в коробке). Предложения области k, обнаруженные скользящим окном, называются якорями. [Источник S. Ren and al. (2016)]

Обнаружение блоков привязки для одного окна 3x3. Источник: S. Ren and al. (2016)
Обнаружение блоков привязки для одного окна 3x3. Источник: S. Ren and al. (2016)

Когда блоки привязки обнаружены, они выбираются путем применения порога к показателю «объективности», чтобы оставить только соответствующие блоки. Эти блоки привязки и карты объектов, вычисленные исходной моделью CNN, подают модель Fast R-CNN.

Быстрее R-CNN использует RPN, чтобы избежать метода выборочного поиска, ускорить процессы обучения и тестирования и повысить производительность. RPN использует предварительно обученную модель набора данных ImageNet для классификации и точно настраивает набор данных PASCAL VOC. Затем сгенерированные предложения регионов с якорными полями используются для обучения Fast R-CNN. Этот процесс является итеративным.

Лучшие Faster R-CNN получили оценки mAP 78,8% по сравнению с набором данных теста PASCAL VOC 2007 года и 75,9% по сравнению с набором данных теста PASCAL VOC 2012 года. Они прошли обучение с наборами данных PASCAL VOC и COCO. Одна из этих моделей² работает в 34 раза быстрее, чем Fast R-CNN при использовании метода выборочного поиска. [Источник S. Ren and al. (2016)]

Все изображение передает модель CNN для создания блоков привязки в качестве предложений области с уверенностью, что она содержит объект. Используется Fast R-CNN, принимающий в качестве входных данных карты объектов и предложения регионов. Для каждого ящика вычисляются вероятности обнаружения каждого объекта и коррекция местоположения ящика. Источник: J. Xu’s Blog
Все изображение передает модель CNN для создания блоков привязки в качестве предложений области с уверенностью, что она содержит объект. Используется Fast R-CNN, принимающий в качестве входных данных карты объектов и предложения регионов. Для каждого ящика вычисляются вероятности обнаружения каждого объекта и коррекция местоположения ящика. Источник: J. Xu’s Blog

Region-based Fully Convolutional Network (R-FCN)

Методологии Fast и Faster R-CNN заключаются в обнаружении предложений регионов и распознавании объекта в каждом регионе. Региональная полностью сверточная сеть (R-FCN)) представляет собой модель только со свёрточными слоями, обеспечивающую полное обратное распространение для обучения и логического вывода. Авторы объединили два основных шага в одну модель, чтобы одновременно учитывать обнаружение объекта (инвариант местоположения) и его положение (вариант местоположения).

Модель ResNet-101 принимает исходное изображение в качестве входных данных. Последний слой выводит карты объектов, каждая из которых специализируется на обнаружении категории в каком-либо месте. Например, одна карта признаков специализируется на обнаружении кошки, другая — на банане и так далее. Такие карты объектов называются картами оценки с учетом положения, поскольку они учитывают пространственную локализацию конкретного объекта. Он состоит из k*k*(C+1) карт оценок, где k — размер карты оценок, а C — количество классов. Все эти карты образуют банк очков. По сути, мы создаем патчи, которые могут распознавать часть объекта. Например, при k=3 мы можем распознать 3x3 части объекта.

Параллельно нам нужно запустить RPN для создания области интереса (RoI). Наконец, мы разделяем каждую область интереса на ячейки и сверяем их с банком результатов. Если активировано достаточное количество этих частей, то патч голосует «да», я распознал объект. [Источник S. Ren and al. (2016)]

Входное изображение передает модель ResNet для создания карт объектов. Модель RPN определяет область интересов, и для каждой области вычисляется оценка, чтобы определить наиболее вероятный объект, если он есть. Источник: J. Dai and al. (2016)
Входное изображение передает модель ResNet для создания карт объектов. Модель RPN определяет область интересов, и для каждой области вычисляется оценка, чтобы определить наиболее вероятный объект, если он есть. Источник: J. Dai and al. (2016)

Дж. Дай и др. (2016) подробно описали пример, показанный ниже. На рисунках показана реакция модели R-FCN, специализирующейся на обнаружении человека. Для области интереса в центре изображения (рис. 3) субрегионы на картах признаков специфичны для паттернов, связанных с человеком. Таким образом, они голосуют за «да, в этом месте есть человек». На рисунке 4 область интереса смещена вправо и больше не сосредоточена на человеке. Субрегионы на картах объектов не согласны с обнаружением человека, поэтому они голосуют «нет, в этом месте нет человека». [Источник S. Ren and al. (2016)]

Лучшие R-FCN достигли оценки mAP 83,6% для набора тестовых данных PASCAL VOC 2007 года и 82,0%, они были обучены с наборами данных PASCAL VOC 2007, 2012 годов и набором данных COCO. По набору тестовых данных COCO Challenge 2015 они получили 53,2% для IoU = 0,5 и 31,5% для официальной метрики mAP. Авторы заметили, что R-FCN в 2,5–20 раз быстрее, чем аналог Faster R-CNN. [Источник S. Ren and al. (2016)]

You Only Look Once (YOLO)

Модель YOLO (J. Redmon et al., 2016)) напрямую предсказывает ограничивающие рамки и вероятности классов с помощью одной сети в одной оценке. Простота модели YOLO позволяет делать прогнозы в реальном времени.

Первоначально модель принимает изображение в качестве входных данных. Он делит его на сетку SxS. Каждая ячейка этой сетки предсказывает B ограничивающих прямоугольников с показателем достоверности. Эта уверенность представляет собой просто вероятность обнаружения объекта, умноженную на IoU между предсказанным и наземным полем истинности. [Источник S. Ren and al. (2016)]

Пример применения. Входное изображение делится на сетку SxS, прогнозируются ограничивающие прямоугольники B (регрессия) и прогнозируется класс среди классов C (классификация) по сравнению с наиболее уверенными. Источник:  J. Redmon and al. (2016)
Пример применения. Входное изображение делится на сетку SxS, прогнозируются ограничивающие прямоугольники B (регрессия) и прогнозируется класс среди классов C (классификация) по сравнению с наиболее уверенными. Источник: J. Redmon and al. (2016)

Используемая CNN вдохновлена ​​​​моделью GoogLeNet, в которой представлены начальные модули. Сеть имеет 24 сверточных слоя, за которыми следуют 2 полносвязных слоя. Слои сокращения с фильтрами 1x1⁴, за которыми следуют сверточные слои 3x3, заменяют исходные начальные модули. Модель Fast YOLO — это более легкая версия, в которой всего 9 сверточных слоев и меньше фильтров. Большинство сверточных слоев предварительно обучены с использованием набора данных ImageNet с классификацией. К предыдущей сети добавляются четыре сверточных слоя, за которыми следуют два полносвязных слоя, и она полностью переобучается с наборами данных PASCAL VOC 2007 и 2012 годов.

Последний слой выводит тензор S*S*(C+B*5), соответствующий прогнозам для каждой ячейки сетки. C - количество предполагаемых вероятностей для каждого класса. B — фиксированное количество блоков привязки на ячейку, каждый из этих блоков связан с 4 координатами (координаты центра блока, ширина и высота) и доверительным значением.

В предыдущих моделях предсказанные ограничивающие рамки часто содержали объект. Однако модель YOLO предсказывает большое количество ограничивающих рамок. Таким образом, есть много ограничивающих рамок без какого-либо объекта. Метод не максимального подавления (NMS) применяется в конце сети. Он заключается в объединении сильно перекрывающихся ограничивающих рамок одного и того же объекта в одну. Авторы заметили, что ложных срабатываний по-прежнему мало.

Архитектура YOLO: она состоит из 24 сверточных слоев и 2 полносвязных слоев. Источник: J. Redmon and al. (2016)
Архитектура YOLO: она состоит из 24 сверточных слоев и 2 полносвязных слоев. Источник: J. Redmon and al. (2016)

Модель YOLO имеет показатель mAP 63,7% по сравнению с набором данных PASCAL VOC 2007 года и показатель mAP 57,9% по сравнению с набором данных PASCAL VOC 2012 года. Модель Fast YOLO имеет более низкие оценки, но обе они работают в режиме реального времени.

Системы реального времени на PASCAL VOC 2007. Сравнение скоростей и производительности моделей, обученных с наборами данных PASCAL VOC 2007 и 2012 годов. Опубликованные результаты соответствуют реализациям J. Redmon and al. (2016).
Системы реального времени на PASCAL VOC 2007. Сравнение скоростей и производительности моделей, обученных с наборами данных PASCAL VOC 2007 и 2012 годов. Опубликованные результаты соответствуют реализациям J. Redmon and al. (2016).

Плюсы YOLO алгоритма:

  • Скорость: Этот алгоритм повышает скорость обнаружения, поскольку он может прогнозировать объекты в режиме реального времени.

  • Высокая точность: YOLO — это метод прогнозирования, который обеспечивает точные результаты с минимальными фоновыми ошибками.

  • YOLO может обобщать изображение, не нагружая память обработки.

Минусы YOLO алгоритма:

  • YOLO страдает от значительно большего количества ошибок локализации и имеет проблемы с идентификацией ближайших предметов.

Single-Shot Detector (SSD)

Подобно модели YOLO, W. Liu et al. (2016) разработали однократный детектор (SSD) для одновременного прогнозирования всех ограничительных рамок и вероятностей классов с помощью сквозной архитектуры CNN.

В качестве входных данных модель принимает изображение, которое проходит через несколько сверточных слоев с различными размерами фильтров (10x10, 5x5 и 3x3). Карты объектов из сверточных слоев в разных положениях сети используются для прогнозирования ограничивающих рамок. Они обрабатываются специальными сверточными слоями с фильтрами 3x3, называемыми дополнительными слоями объектов, для создания набора ограничивающих рамок, подобных якорным рамкам Fast R-CNN.

Сравнение архитектур SSD и YOLO. Модель SSD использует дополнительные слои объектов из разных карт объектов сети, чтобы увеличить количество соответствующих ограничивающих рамок. Источник: W. Liu and al. (2016)
Сравнение архитектур SSD и YOLO. Модель SSD использует дополнительные слои объектов из разных карт объектов сети, чтобы увеличить количество соответствующих ограничивающих рамок. Источник: W. Liu and al. (2016)

Каждый “ящик” имеет 4 параметра: координаты центра, ширину и высоту. В то же время он создает вектор вероятностей, соответствующий доверию к каждому классу объектов.

Фреймворк SSD. (a) Модель берет изображение и его ограничивающие рамки. Небольшие наборы блоков с разным соотношением сторон фиксируются другой картой признаков ((b) и ©). Во время обучения локализация ящиков изменяется, чтобы максимально соответствовать действительности. Источник: W. Liu and al. (2016)
Фреймворк SSD. (a) Модель берет изображение и его ограничивающие рамки. Небольшие наборы блоков с разным соотношением сторон фиксируются другой картой признаков ((b) и ©). Во время обучения локализация ящиков изменяется, чтобы максимально соответствовать действительности. Источник: W. Liu and al. (2016)

Метод немаксимального подавления также используется в конце модели SSD, чтобы сохранить наиболее релевантные ограничивающие рамки. Затем используется Hard Negative Mining (HNM), потому что все еще прогнозируется много отрицательных полей. Он заключается в выборе только части этих блоков во время обучения. Ящики упорядочены по достоверности, а вершина выбирается в зависимости от соотношения между отрицательным и положительным значением, которое не превышает 1/3.

В. Лю и соавт. (2016) различают модель SSD300 (архитектура подробно показана на рисунке выше) и модель SSD512, которая представляет собой SSD300 с дополнительным сверточным слоем для прогнозирования для повышения производительности. Лучшие SSD алгоритмы обучаются на наборах данных PASCAL VOC 2007, 2012 и наборе данных COCO 2015 с дополнением данных. Они получили оценки mAP 83,2% по сравнению с набором данных теста PASCAL VOC 2007 года и 82,2% по сравнению с набором данных теста PASCAL VOC 2012 года. По набору тестовых данных COCO Challenge 2015 они получили 48,5% для IoU = 0,5, 30,3% для IoU = 0,75 и 31,5% для официальной метрики mAP.

Минусы метода SSD:

  • Степень точности SSD немного снижается при идентификации более мелких вещей. Если модель очень большая, скорость может значительно упасть.

Mask Region-based Convolutional Network (Mask R-CNN)

Еще одно расширение модели Faster R-CNN добавленной параллельной ветви к обнаружению ограничивающей рамки, чтобы предсказать маску объекта. Маска объекта — это его сегментация по пикселям на изображении. Эта модель превосходит современную в четырех задачах COCO: сегментация экземпляра, обнаружение ограничивающей рамки, обнаружение объекта и обнаружение ключевой точки.

Примеры применения Mask R-CNN в тестовом наборе данных COCO. Модель определяет каждый объект изображения, его локализацию и точную сегментацию по пикселям. Источник:K. He and al. (2017)
Примеры применения Mask R-CNN в тестовом наборе данных COCO. Модель определяет каждый объект изображения, его локализацию и точную сегментацию по пикселям. Источник:K. He and al. (2017)

Сверточная сеть на основе области маски (Mask R-CNN) использует более быстрый конвейер R-CNN с тремя выходными ветвями для каждого объекта-кандидата: метка класса, смещение ограничивающей рамки и маска объекта. Он использует сеть региональных предложений (RPN) для создания предложений ограничивающей рамки и одновременно создает три результата для каждой интересующей области (RoI).

Начальный слой RoIPool, используемый в Faster R-CNN, заменяется слоем RoIAlign. Он удаляет квантование координат исходной области интереса и вычисляет точные значения местоположений. Слой RoIAlign обеспечивает масштабную эквивалентность и трансляционную эквивалентность предложениям региона.

Модель принимает изображение в качестве входных данных и передает сеть ResNeXt со 101 слоем. Эта модель похожа на ResNet, но каждый остаточный блок разрезается на более легкие преобразования, которые объединяются для добавления разреженности в блок. Модель обнаруживает области интереса, которые обрабатываются с использованием уровня RoIAlign. Одна ветвь сети связана с полносвязным слоем для вычисления координат ограничивающих прямоугольников и вероятностей, связанных с объектами. Другая ветвь связана с двумя сверточными слоями, последний вычисляет маску обнаруженного объекта.

Суммируются три функции потерь, связанные с каждой решаемой задачей. Эта сумма сведена к минимуму и дает отличные результаты, поскольку решение задачи сегментации улучшает локализацию и, следовательно, классификацию.

Mask R-CNN достиг оценки mAP 62,3% для IoU = 0,5, 43,4% для IoU = 0,7 и 39,8% для официальной метрики по набору данных COCO test-dev за 2016 год.

Среда Mask R-CNN для сегментации экземпляров. Источник: K. He and al. (2017)
Среда Mask R-CNN для сегментации экземпляров. Источник: K. He and al. (2017)

Сравнение алгоритмов распознавания образов

Наиболее популярным эталоном является набор данных Microsoft COCO. Различные модели обычно оцениваются в соответствии с показателем средней точности (MAP). Далее мы сравним лучшие алгоритмы обнаружения объектов в реальном времени. Важно отметить, что выбор алгоритма зависит от варианта использования и приложения; разные алгоритмы превосходно справляются с разными задачами (например, Beta R-CNN показывает лучшие результаты для обнаружения пешеходов).

Лучшим алгоритмом обнаружения объектов в реальном времени в 2022 году является YOLOv7, за которым следует Vision Transformer (ViT), такой как Swin и DualSwin, PP-YOLOE, YOLOR, YOLOv4 и EfficientDet.

График коэффициента точности и скорости разны алгоритмов [Источник: J. Xu’s Blog ]
График коэффициента точности и скорости разны алгоритмов [Источник: J. Xu’s Blog ]

Обнаружение объектов в реальном времени в тесте COCO: самое современное по средней точности (AP) Самый быстрый алгоритм обнаружения объектов в реальном времени (время вывода) Кроме того, в наборе данных MS COCO важным показателем теста является время вывода (мс/кадр, чем меньше, тем лучше) или кадров в секунду (кадров в секунду, чем выше, тем лучше). Быстрый прогресс в технологии компьютерного зрения очень заметен при сравнении времени логического вывода. Основываясь на текущем времени вывода (чем меньше, тем лучше), YOLOv7 достигает 3,5 мс на кадр по сравнению с YOLOv4 12 мс или популярным YOLOv3 29 мс. Обратите внимание, как введение YOLO (одноэтапный детектор) привело к значительному сокращению времени вывода по сравнению с любыми ранее установленными методами, такими как двухэтапный метод Mask R-CNN (333 мс). С технической точки зрения довольно сложно осмысленно сравнивать различные архитектуры и версии моделей. И Edge AI становится неотъемлемой частью масштабируемых решений AI, новые алгоритмы поставляются с облегченной версией, оптимизированной для Edge (см. YOLOv7-lite или TensorFlow Lite).

График со сравнениями алгоритмов YOLO разных версий с алгоритмом Faster RCNN-FPN+. [Источник: J. Xu’s Blog]
График со сравнениями алгоритмов YOLO разных версий с алгоритмом Faster RCNN-FPN+. [Источник: J. Xu’s Blog]

Современное состояние по кадрам в секунду (FPS): ведущий алгоритм компьютерного зрения для обнаружения объектов в реальном времени на COCO может обрабатывать 286 кадров в секунду (YOLOv7) и быстрее, чем YOLOv5, YOLOv4, YOLOR и YOLOv3.

Обзор оценок mAP для набора данных PASCAL VOC за 2007, 2010, 2012 годы и наборов данных COCO за 2015, 2016 годы. Источник: J. Xu’s Blog
Обзор оценок mAP для набора данных PASCAL VOC за 2007, 2010, 2012 годы и наборов данных COCO за 2015, 2016 годы. Источник: J. Xu’s Blog

Заключение

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

Все началось с таких алгоритмов, как гистограмма ориентированных градиентов, введенных еще в 1986 году для выполнения простых обнаружений объектов на изображениях с приличной точностью. Теперь у нас есть современные архитектуры, такие как Faster R-CNN, Mask R-CNN, YOLO и RetinaNet.

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

Комментарии (2)


  1. red-cat-fat
    08.01.2023 10:51
    +1

    Какая подробная статься с основами - на самом деле это прям то, что я искал, чтобы влиться в тему! Спасибо


  1. serejk
    10.01.2023 04:40

    Он настраивается с использованием предложений по регионам, соответствующих IoU больше 0,5, с помощью полей наземной достоверности.

    Что? Вы через google translate переводили? Более того, данного абзаца я не вижу в оригинальном тексте, перевод которого заявлен. Это не перевод, а компиляция нескольких материалов?