Об авторе:??? Кафедра математики, Университет ТунцзиСтудентка бакалавриата, в настоящее времяСтажер отдела алгоритмов Geling Shentong.
Личная страница автора:Ли Цзячэн|Персональный сайт|Обо мне
В последние годы модели глубокого обучения постепенно заменили традиционные методы машинного зрения и стали основным алгоритмом в области обнаружения объектов.В этой серии статей будет рассмотрена ранняя классическая работа и дано общее представление о новых тенденциях, чтобы помочь читателям понять это. поле Постройте базовую осведомленность. Так как образование у автора еще неглубокое и его уровень ограничен, просьба указывать и исправлять любые неточности и неуместности.Комментарии и обмен приветствуются.
Примечание: статья будет разделена на пять частей, первая часть будет выложена на po сегодня,Следующие четыре части мы будем обновлять постепенно.
(1) Обзор классических моделей обнаружения целей.
(2) Оценка и обучение навыкам модели обнаружения целей
(3) Эволюция базовой сетевой структуры и баланс классификации и позиционирования для новой тенденции обнаружения целей.
(4) Функция повторного использования и производительность в реальном времени новых тенденций в обнаружении целей.
(5) Дополнения новых направлений в обнаружении целей
————————————————————————————————————————
Постановка задачи для обнаружения объектов
Как выделить информацию, которую может понять компьютер, из изображения, является центральной проблемой машинного зрения. Модель глубокого обучения стала популярным направлением исследований машинного зрения благодаря своей мощной способности представления, накоплению объема данных и прогрессу вычислительной мощности.
Итак, как понять картину? Существует три основных уровня в соответствии с потребностями последующих задач.
Во-первых, это классификация, которая предназначена для структурирования изображения в определенную категорию информации и описания изображения с заранее определенной категорией (строкой) или идентификатором экземпляра. Эта задача является самой простой и основной задачей понимания изображений, а также первой задачей моделей глубокого обучения для достижения прорывов и крупномасштабных приложений. Среди них ImageNet является наиболее авторитетным оценочным набором, а ежегодный ILSVRC породил большое количество превосходных структур глубокой сети, обеспечивающих основу для других задач. В области приложений распознавание лиц, сцен и т. Д. Можно классифицировать как задачи классификации.
Второе — обнаружение. Задача классификации связана со всем, и дается описание содержания всего изображения, в то время как обнаружение фокусируется на конкретном целевом объекте и требует одновременного получения информации о категории и информации о местоположении цели. По сравнению с классификацией обнаружение дает понимание переднего плана и фона изображения.Нам необходимо отделить интересующую цель от фона и определить описание (категорию и положение) этой цели.Поэтому вывод модели обнаружения список, каждый элемент списка использует набор данных для указания категории и местоположения обнаруженной цели (обычно представленной координатами прямоугольной рамки обнаружения).
Третье — сегментация. Сегментация включает семантическую сегментацию (семантическая сегментация) и сегментацию экземпляров (сегментация экземпляров).Первая является расширением разделения переднего и заднего плана, которое требует разделения частей изображения с разной семантикой, а последняя является расширением задачи обнаружения, что требует описания контура цели (точнее, чем кадр обнаружения). Сегментация — это описание изображения на уровне пикселей, которое придает значение каждой категории (экземпляру) пикселя и подходит для сценариев с высокими требованиями к пониманию, таких как сегментация дорог и бездорожья при автономном вождении.
Область интереса в этой серии статей — обнаружение объектов, средний уровень понимания изображения.
(1) Обзор классической работы по обнаружению целей.
Структура этой статьи
2-этапная модель обнаружения
Двухэтапная модель названа в честь ее двухэтапной обработки изображений, также известной как методы на основе регионов, и мы выбираем серию работ R-CNN в качестве представителя этого типа.
R-CNN: первый из серии R-CNN
Ссылка на бумагу:Rich feature hierarchies for accurate object detection and semantic segmentation
Два основных вклада этой статьи: 1) CNN можно использовать для региональной локализации и сегментации объектов; 2) когда количество обучающих выборок с учителем невелико, модель, предварительно обученная на дополнительных данных, может достичь хороших результатов после точной обработки. тюнинг. Первый вклад влияет почти на все двухэтапные методы после этого, в то время как второй вклад использует модель, обученную задаче классификации (Imagenet), в качестве базовой сети, а метод тонкой настройки для обнаружения также используется в последующей работе. .
Традиционные методы компьютерного зрения часто используют хорошо разработанные ручные функции (такие как SIFT, HOG) для описания изображений, в то время как методы глубокого обучения отстаивают изученные функции.Из опыта задач классификации изображений достигается эффект автоматически изученных функций, полученных сетью CNN. , Вышло за рамки функций, разработанных вручную. В этой статье сверточные сети применяются в локальных регионах, чтобы использовать способность сверточных сетей изучать высококачественные функции.
R-CNN абстрагирует обнаружение от двух процессов.Один состоит в том, чтобы предложить несколько регионов, которые могут содержать объекты на основе изображения (то есть частичное кадрирование изображения, называемое предложением региона).В этой статье используется алгоритм выборочного поиска; во-вторых, предложить им запустить наиболее эффективную классификационную сеть (AlexNet) в регионе, чтобы получить категорию объектов в каждом регионе.
Кроме того, стоит отметить две практики в статье.
Один из них — подготовка данных. Прежде чем войти в CNN, нам нужно отметить предлагаемое региональное предложение в соответствии с наземной истиной, Используемый здесь индикатор — IoU (пересечение над союзом). IoU вычисляет отношение площади пересечения двух областей к их объединению, описывая степень перекрытия двух областей.
В статье особо упоминается, что выбор порога IoU оказывает существенное влияние на результаты.Здесь можно говорить о двух порогах, один из которых используется для выявления положительных образцов (например, IoU с наземной правдой больше 0,5). ), а другой используется для обозначения отрицательных образцов (то есть фоновых классов). Например, IoU меньше 0,1), а те, что находятся между ними, являются жесткими отрицательными. Если он помечен как положительный класс, он содержит слишком много справочная информация, и наоборот, она содержит характеристики объекта, подлежащего обнаружению, поэтому эти Предложения игнорируются.
Другим моментом является регрессия координат положения (регрессия ограничивающей рамки).Этот процесс представляет собой корректировку предложения региона на истину.При реализации добавляется преобразование журнала/эксп, чтобы сохранить потери на разумном уровне, что можно рассматривать как стандартизация.(нормализация) операция.
резюме
Идея R-CNN проста, то есть преобразование задачи обнаружения в задачу региональной классификации является проверкой метода глубокого обучения в задаче обнаружения. В самой модели также много проблем, таких как необходимость обучения трех разных моделей (предложение, классификация, регрессия), проблемы с производительностью, вызванные чрезмерными повторными вычислениями и т. д. Тем не менее, многие из наработок этой статьи по-прежнему широко влияют на революцию глубоких моделей в задачах обнаружения, и многие последующие работы также направлены на улучшение этой работы.Эту статью можно назвать «Первой статьей».
Fast R-CNN: общие операции свертки
Ссылка на бумагу:Fast R-CNN
В статье указывается, что причина, по которой R-CNN отнимает много времени, заключается в том, что CNN выполняется отдельно по каждому предложению, и нет совместного расчета, поэтому предлагается перевести базовую сеть в подсеть R-CNN после образ запускается как единое целое.Часть расчета, поэтому название Fast.
На картинке выше представлена архитектура Fast R-CNN. Изображение получает карту объектов через средство извлечения объектов, запускает алгоритм выборочного поиска на исходном изображении и сопоставляет RoI (область пересечения, которая на самом деле является группой координат, которую можно смешивать с предложением региона) на карту объектов, а затем выполняет объединение RoI для каждой области интереса. Операция будет получать векторы признаков одинаковой длины, и эти полученные векторы признаков будут отсортированы по положительным и отрицательным образцам (с сохранением определенной доли положительных и отрицательных образцов), а затем переданы в параллельный R -Подсеть CNN в пакетах, а классификация и регрессия выполняются одновременно.Объедините две потери.
RoI Pooling — ключевая операция по подготовке данных для ввода в подсеть R-CNN. Получаемые регионы часто имеют разный размер, и после сопоставления с картой признаков мы получим тензоры признаков разных размеров. Объединение RoI сначала делит RoI на сетки целевого числа, а затем выполняет максимальное объединение в каждой сетке, чтобы получить вектор признаков RoI равной длины.
Обсуждение в конце статьи также поучительно:
- Тренировка с несколькими потерями действительно улучшена по сравнению с одной лишь классификацией обучения.
- По сравнению с одномасштабным, точность многомасштабного несколько выше, но затраты времени больше. В определенной степени это показывает, что структура CNN по своей природе может обучаться масштабной инвариантности.
- После обучения на большем количестве данных (VOC) точность еще больше повышается.
- Классификатор Softmax работает немного лучше, чем SVM типа «один против остальных», что создает конкуренцию между классами.
- Дополнительные предложения не обязательно приводят к повышению точности
резюме
Эта структура Fast R-CNN является прототипом метаструктуры, принятой основными двухэтапными методами задач обнаружения. Статья объединяет предложение, средство извлечения признаков, классификацию и локализацию объектов в единую структуру и повышает эффективность использования признаков за счет совместного вычисления свертки, что является наибольшим вкладом.
Faster R-CNN: углубление двухэтапных моделей
Ссылка на бумагу:Faster R-CNN: Towards Real Time Object Detection with Region Proposal Networks
Быстрее R-CNN является основой двухэтапного метода.Предлагаемая сеть RPN заменяет алгоритм выборочного поиска, так что задача обнаружения может быть выполнена нейронной сетью от начала до конца. Грубо говоря, Faster R-CNN = RPN + Fast R-CNN, Функция совместного вычисления свертки с RCNN делает объем вычислений, вводимых RPN, очень небольшим, так что Faster R-CNN может работать со скоростью 5 кадров в секунду на одном графическом процессоре, в то время как Достигните SOTA (Состояние искусства, лучшее на данный момент) с точки зрения точности.
Основной вклад этой статьи состоит в том, чтобы предложить региональные сети предложений для замены предыдущего алгоритма SS. Сеть RPN моделирует задачу Предложения как бинарную классификацию (объект или нет).
Первым шагом является создание блоков привязки разных размеров и соотношений сторон в скользящем окне (как показано в правой части рисунка выше), получение порога IoU и калибровка положительных и отрицательных значений этих блоков привязки в соответствии с Ground. Правда. Таким образом, выборочные данные, передаваемые в сеть RPN, организованы в блоки привязки (координаты) и наличие объектов в каждом блоке привязки (двухкатегорийные метки). Сеть RPN сопоставляет каждую выборку со значением вероятности и четырьмя значениями координат, Значение вероятности отражает вероятность того, что в поле привязки есть объект, и четыре значения координат используются для возврата, чтобы определить положение объекта. Наконец, потеря бинарной классификации и координатной регрессии объединена в качестве целевого обучения сети RPN.
Предложение региона, полученное из RPN, фильтруется в соответствии со значением вероятности, а затем проходит через аналогичный процесс маркировки и передается в подсеть R-CNN для множественной классификации и регрессии координат, а также потеря многозадачности. используется для объединения потерь двух.
резюме
Успех Faster R-CNN заключается в «углублении» задачи обнаружения, выполненной с помощью сети RPN. Идея использования скользящего окна для создания блоков привязки также все чаще используется в более поздних работах (YOLO v2 и т. д.). В этой работе заложена двухэтапная метаструктура метода «RPN+RCNN», которая повлияла на большую часть последующей работы.
1-этапная модель обнаружения
Одноэтапная модель не имеет процесса обнаружения промежуточной области и получает результаты прогнозирования непосредственно из изображения, что также называется методом без областей.
YOLO
Ссылка на бумагу:You Only Look Once: Unified, Real-Time Object Detection
YOLO является пионером одноэтапного подхода. Он формулирует задачу обнаружения как единую сквозную проблему регрессии и назван после обработки изображения только один раз для получения местоположения и классификации.
Основные преимущества YOLO:
- быстрый.
- Глобальная обработка допускает относительно мало фоновых ошибок по сравнению с локальными (региональными) методами, такими как Fast RCNN.
- Хорошая производительность обобщения, YOLO работает лучше, чем Fast R-CNN при обнаружении произведений искусства.
Рабочий процесс YOLO выглядит следующим образом:
1. Подготовьте данные: масштабируйте изображение и разделите его на равные сетки, каждая сетка назначается образцу, который будет предсказан в соответствии с IoU of Ground Truth.
2. Сверточная сеть: отличается от GoogLeNet, каждая сетка предсказывает значение условной вероятности для каждой категории и генерирует B ящиков на основе сетки, каждый ящик предсказывает пять значений регрессии, а четыре характеризуют позиции, пятая характеризует вероятность и местоположение точность (представленная IoU) коробки, содержащей объект (обратите внимание, что это не определенный тип объекта). При тестировании оценка рассчитывается следующим образом:
Первый член в левой части уравнения предсказывается сеткой, а последние два члена предсказываются каждым ящиком, а оценка каждого ящика, содержащего объекты разных категорий, получается с помощью условной вероятности. Следовательно, общее количество прогнозируемых значений, выдаваемых сверточной сетью, равно S×S×(B×5+C), где S — количество сеток, B — количество ящиков, сгенерированных каждой сеткой, а C — количество категорий.
3. Постобработка: используйте фильтрацию NMS (немаксимальное подавление, немаксимальное подавление) для получения окончательного прогнозируемого кадра.
Дизайн функции потерь
Функция потерь делится на три части: ошибка координат, ошибка объекта и ошибка класса. Чтобы сбалансировать эффекты дисбаланса классов и больших и малых объектов, к функции потерь добавляются веса, а в качестве корня берутся длина и ширина.
резюме
YOLO предлагает одноэтапную новую идею, которая имеет очевидные преимущества в скорости и впечатляющие характеристики в реальном времени по сравнению с двухэтапными методами. Однако сам YOLO также имеет некоторые проблемы, такие как грубое деление сетки, а количество блоков, генерируемых каждой сеткой, ограничивает обнаружение мелких объектов и подобных объектов.
SSD: Single Shot Multibox Detector
Ссылка на бумагу:SSD: Single Shot Multibox Detector
По сравнению с YOLO SSD обладает следующими выдающимися характеристиками:
- Многомасштабные карты объектов: на основе различных сверточных сегментов VGG выходные карты объектов регрессору. Эта точка пытается улучшить точность обнаружения мелких объектов.
- Больше якорных блоков, каждая точка сетки генерирует блоки разных размеров и соотношений сторон, а вероятность прогнозирования категории основана на прогнозировании блока (YOLO находится в сетке), а количество полученных выходных значений составляет (C + 4) × k×m×n, где C — количество категорий, k — количество ящиков, а m×n — размер карты признаков.
резюме
SSD является ранним агрегатором одноэтапной модели, который на порядок быстрее, чем двухэтапная модель, при этом достигая точности, близкой к двухэтапной модели. Последующая работа над одноэтапной моделью в основном основана на улучшениях SSD.
Основные характеристики модели обнаружения
Наконец, мы делаем краткое введение в основные особенности модели обнаружения.
Модель обнаружения в целом состоит из базовой сети (магистральной сети) и головки обнаружения (головы обнаружения). Первый используется в качестве средства извлечения признаков для представления изображений различных размеров и уровней абстракции; второй изучает ассоциации категорий и местоположений на основе этих представлений и контролируемой информации. Две задачи предсказания категории и регрессии положения, которые отвечают за обнаружение головы, часто выполняются параллельно, формируя многозадачный проигрыш для совместного обучения.
По сравнению с одноэтапной, двухэтапная модель обнаружения обычно содержит последовательную структуру головы, то есть после завершения классификации переднего и заднего плана и регрессии промежуточный результат используется в качестве входных данных головы RCNN для выполнения многоуровневого анализа. классификация и позиционная регрессия. Такая конструкция имеет ряд преимуществ:
- Для деконструкции задачи обнаружения сначала выполняется классификация фронта и фона, а затем выполняется классификация объектов.Эта деконструкция позволяет информации наблюдения направлять изучение параметров сети на разных этапах.
- Сеть RPN обеспечивает хороший априор для сети RCNN и имеет возможность отсортировать долю выборок, уменьшая нагрузку на обучение сети RCNN.
Недостатки этой схемы также очевидны: промежуточные результаты часто приносят накладные расходы, а последовательный метод также делает скорость вывода несопоставимой с одноэтапной; каскадная регрессия положения приведет к повторным вычислениям в части RCNN (например, два RoI). перекрывать).
С другой стороны, одноэтапная модель имеет только одно предсказание класса и регрессию положения, а операция свертки является более общей, с более высокой скоростью и меньшим объемом памяти. Как читатели увидят в следующих статьях, два типа моделей также поглощают преимущества друг друга, что также стирает границы между ними.
В следующей статье мы представим метрики оценки и наборы данных оценки для моделей обнаружения, а также обобщим часто используемые методы обучения и моделирования.