Пожалуйста, указывайте автора при перепечатке:чай мечты
Обнаружение объектов, как следует из названия, заключается в обнаружении целевого объекта на изображении, в частности, для определения местоположения объекта.Общим набором данных является серия PASCAL VOC. С 2010 по 2012 год обнаружение объектов развивалось медленно, и после DPM не было значительного прогресса.До CVPR2014 Бог RBG (Росс Гиршик) интегрировал популярную CNN в обнаружение, что повысило уровень точности на PASCAL VOC до 53,7%, интерпретируется в этой статье. Документ RBG CVPR2014 для вас:
Rich feature hierarchies for accurate object detection and semantic segmentation
Key insights
- CNN можно использовать для идентификации локальной области изображения, чтобы определить, является ли эта часть целевым объектом.
- В случае нехватки размеченных данных можно использовать другие наборы данных для предварительной подготовки, а затем доработать модель.
RCNN Overview
- входное изображение
-
Выдать 2к рекомендуемых регионов (региональные предложения) через выборочный поиск
Особенность задачи обнаружения заключается в том, что нам нужно не только знать, содержит ли изображение целевой объект, но также необходимо знать местоположение целевого объекта.Есть несколько способов, один из которых - вернуть положение кадра обнаружения в изображение [38], но точно. Скорость очень низкая. Один из них заключается в использовании метода скользящего окна, чтобы разрезать изображение на множество мелких фрагментов, а затем анализировать мелкие фрагменты. Однако для CNN после каждого слоя объединения рецептивное поле станет меньше RCNN использует Структура пятислойной свертки требует, чтобы размер входных данных был не менее 195x195, и скользящее окно не может гарантировать этот размер входных данных.
Выборочный поиск является лучшим способом фильтрации данных.Сначала изображение сверхсегментируется и разрезается на множество мелких фрагментов, а затем в соответствии с основными функциями, такими как гистограмма цвета, гистограмма градиента, площадь и положение между небольшими фрагментами, аналогичные Соседние объекты сращиваются для выделения областей с определенной семантикой на картинке. Дополнительную информацию о выборочном поиске можно найти в этой статье: Распознавание с использованием регионов (CVPR2009).
- Передайте каждый рекомендательный регион в CNN, чтобы извлечь функции
- Обучите SVM для каждого класса и используйте SVM, чтобы определить, к какому классу относится рекомендуемая область.
- Используйте NMS для объединения предложений регионов одного класса
- Используйте регрессор ограничительной рамки для точной настройки прогнозируемого положения для дальнейшего повышения точности.
Немаксимальное подавление (NMS), как следует из названия, подавляет элементы, не являющиеся максимальными значениями, и ищет локальные максимумы. Эта часть представляет окрестность, а окрестность имеет два переменных параметра: один размер окрестности, а другой размер окрестности. Общий алгоритм NMS здесь не обсуждается, но он используется при обнаружении объектов для извлечения окна с наивысшей оценкой. Например, при обнаружении пешеходов скользящее окно извлекает признаки, и после классификации и распознавания классификатором каждое окно получает оценку. Но скользящие окна могут привести к тому, что многие окна будут содержать или в основном пересекаться с другими окнами. В настоящее время необходимо использовать NMS для выбора районов с наивысшими оценками (наибольшая вероятность присутствия пешеходов) и подавления окон с низкими показателями. (Перевод из колонки Чжиху: заметки Сяолея по машинному обучению)
тренироваться
Как видно из приведенного выше обзора, есть две основные части, которые необходимо обучить: CNN, совместно используемая каждым классом, и отдельная SVM каждого класса.
Network Structure
RCNN попробовала две платформы CNN, одна из которых — AlexNet, опубликованная Hinton на NIPS2012: классификация ImageNet с глубокими свёрточными нейронными сетями.
Это пятислойная свертка + трехслойная полносвязная структура, на входе картинка 224x224, на выходе 1000-мерная однократная категория.
Одним из них является VGG16 (очень глубокие сверточные сети для крупномасштабного распознавания изображений).
Вот результаты обнаружения для обеих сетей:
VGG16 имеет более высокую точность, но объем вычислений относительно велик, а производительность в реальном времени не так хороша, как AlexNet.Для удобства мы будем анализировать его на основе AlexNet.
Supervised Pretraining
Сначала выполните предварительную подготовку с помощью ImageNet, введите изображение и выведите категорию целевого объекта, содержащегося в этом изображении, без использования конкретных местоположений, поскольку в ImageNet нет информации о ограничивающей рамке. После обучения AlexNet для достижения точности Хинтона в задаче классификации начните использовать данные обнаружения для тонкой настройки.
Domain Specific Fine Tuning
Производительность CNN, непосредственно предварительно обученной с помощью ImageNet на PASCAL VOC, определенно неудовлетворительна.Затем используйте данные обнаружения PASCAL VOC для точной настройки. Поскольку VOC имеет 20 классификаций, в задаче обнаружения ILSVR2013 в конце имеется 200 классификаций, а в ImageNet — 1000. Во-первых, замените последний полносвязный классификационный слой количеством выходных данных целевой задачи + 1 (плюс фоновый класс). ) полносвязного слоя. Во входных данных используется ограничивающая рамка, соответствующая предложениям региона, полученным с помощью выборочного поиска,
В тонкой настройке здесь необходимо определить, к какой целевой классификации принадлежит региональное предложение.В обучающем наборе VOC есть ограничивающие рамки и соответствующие метки классификации.RBG проверяет степень перекрытия каждого регионального предложения и ограничивающую рамку в обучающий набор.Если коэффициент перекрытия Регионального предложения и ограничивающей рамки больше порогового значения (после экспериментов было выбрано значение 0,5), то классификацией этого Регионального предложения считается классификация, соответствующая ограничивающей рамке, а соответствующая ограничивающая рамка поле используется в качестве входа тонкой настройки.
Но эти входные данные различаются по размеру и должны быть скорректированы до целевого размера входных данных 224 x 224. Многие методы предварительной обработки обсуждаются в Приложении A.
А. Исходное изображение
B. Масштаб масштабируется, а освободившаяся часть заполняется исходным изображением
C. Равное масштабирование, свободная часть заполняется средним значением ограничивающей рамки.
D. Неравное масштабирование до 224x224
Экспериментальные результаты показывают, что B имеет лучший эффект, но на самом деле существует множество методов предварительной обработки, которые можно использовать, например, повторение области для вакансий.
Во время обучения используется начальная скорость обучения 0,001 (что составляет 1/10 от предварительного обучения на предыдущем шаге) и используется мини-партия SGD, Каждая партия имеет 32 положительных образца (смешанных с различными классами) и 96 отрицательные образцы для обучения.
Object category classifiers
Каждому классу соответствует бинарный классификатор Linear SVM (ну, очень простой SVM, без сложного ядра), вход — это выход предпоследнего слоя CNN, который представляет собой вектор длины 4096, и SVM основан на этом признаке. вектор и метка Выполните обучение, отрегулируйте веса и узнайте, какие переменные в векторе признаков наиболее эффективны для различения текущего класса.
Данные для обучения SVM отличаются от данных для обучения CNN с помощью точной настройки.Положительные образцы в обучающем наборе PASCAL VOC используются непосредственно, а предложения регионов, коэффициент перекрытия которых с ограничивающей рамкой менее 0,3, используются в качестве фона. (отрицательные образцы).Эта частота перекрытия также является настройкой параметра.С другой стороны, из-за большого количества отрицательных образцов в статье используется технология жесткого анализа для отсеивания отрицательных образцов, которые трудно классифицировать для обучения. Однако в этом случае определения положительных и отрицательных выборок SVM и CNN различны, и положительных выборок SVM будет намного меньше (те ограничивающие прямоугольники с коэффициентом перекрытия больше 0,5 бесполезны).
Как объясняется в Приложении B, фактически в начале RBG они использовали определение положительных и отрицательных выборок SVM для точной настройки CNN и обнаружили, что эффект был очень плохим. SVM может добиться лучших результатов на небольших выборках, но CNN не может, поэтому для точной настройки необходимо использовать больше данных.В качестве положительной выборки используются данные Region Proposals с коэффициентом перекрытия более 0,5, которые могут принести в 30 раз больше данных. Но цена добавления этих неточных данных заключается в том, что положение при обнаружении оказывается недостаточно точным (поскольку образцы с некоторыми отклонениями в положении также считаются положительными образцами).
Так что будет очень естественная идея, если есть много точных данных, можно ли напрямую использовать CNN плюс softmax для вывода 21 классификации, без SVM для классификации? Компания RBG непосредственно усовершенствовала этот метод классификации и обнаружила, что показатель точности этого метода также очень высок (50,9%), но он не так хорош, как результат использования SVM для классификации (54,2%), с одной стороны, потому что положительные образцы недостаточно точны, с другой стороны. Это связано с тем, что отрицательные образцы не подвергались жесткому анализу, но, по крайней мере, это доказывает, что можно напрямую обучать CNN для достижения лучших результатов обнаружения, что может ускорить обучение и быть более кратким и элегантным.
Bounding-box regression
Эта часть подробно описана в Приложении C (ограничение пространства CVPR). Во-первых, обучите регрессор ограничительной рамки для каждого класса, аналогичный регрессии ограничительной рамки в DPM.Регрессор каждого класса может выводить карту ответов для каждого графика, представляющую реакцию каждой части графика на этот класс. Регрессор в DPM рассчитывается по геометрической характеристике (HOG) изображения, в отличие от DPM, активация в RCNN-BB рассчитывается CNN, и входные данные также отличаются. карта ответов (таким образом, получая положение bbox), а вход регрессора RCNN-BB - это регион Позиция Предложений и исходного изображения, вывод - позиция ограничивающей рамки.
Определить положение предложения региона как P=(Px, Py, Pw, Ph), x, y — центральные точки изображения региона, w, h — ширина и высота предложения региона, а положение соответствующая ограничивающая рамка G = (Gx, Gy, Gw, Gh), цель обучения регрессора состоит в том, чтобы изучить отображение P-> G и разбить это отображение на четыре части:
Среди них dx(P), dy(P), dw(P), dh(P) — четыре линейные функции, вход — функция pool5, полученная P после тонкой настройки CNN, упомянутой выше, а выход — настоящий номер
Обучение состоит в том, чтобы решить задачу оптимизации и найти четыре вектора w, чтобы разница между прогнозируемым G и реальным G была наименьшей, а сумма квадратов разностей представляла расстояние Упрощенная форма:
в,
Соответствует четырем предыдущим сопоставлениям и добавляет ограничение регулярности l2 на w для подавления переобучения.
После обучения четырех взаимосвязей сопоставления эти четыре сопоставления можно использовать для внесения точных исправлений в прогнозируемое положение предложений региона во время тестирования и повышения точности положения кадра обнаружения.
Пока внедрен весь процесс обучения и тестирования.
метафизическое время
В статье сверточные слои в RCNN также открыты для анализа их функций.В статье AlexNet Хинтон наглядно показал нам, что первый слой свертки описывает контур и цвет объекта, а последние слои — потому что of Это больше не может быть представлено в виде изображения, поэтому его нельзя визуализировать напрямую.Метод RBG заключается в том, чтобы ввести каждую область изображения и увидеть отзывчивость каждой единицы в pool5 (максимальный выход объединения последнего сверточный слой) , и ответ будет высоким. Область выделена рамкой:
Размер карты объектов pool5 – 6 x 6 x 256. 16 изображений в каждой строке на рисунке представляют 16 изображений с наибольшей отзывчивостью единиц. Области с высокой отзывчивостью каждого изображения обведены белым цветом. Здесь выбрано только 6 единиц. для отображения (так что только 6 строк). Единица — это действительное число в тензоре 6x6x256, чем больше число, тем выше отклик на ввод.
Видно, что у разных отрядов разное разделение труда, у отряда в первой строке относительно высокая отзывчивость на человека, а у отряда во второй строке относительно высокая отзывчивость на собаку и точечный массив (dot array) С этой точки зрения использование Каждый блок действует как отдельный вид детектора объектов.
В Приложении D больше визуализаций.
Причина, по которой это называется метафизикой, заключается в том, что, хотя эта визуализация в определенной степени отражает то, что CNN узнала, она все же не объясняет, почему это устройство узнало эту информацию.
Summary
Впервые RCNN использовала CNN в сочетании с предложением региона в задаче обнаружения и добилась хороших результатов.В этой статье он также отражает многие популярные методы визуального глубокого обучения, такие как предварительная подготовка, точная настройка, традиционные методы и глубокое обучение. В сочетании с (сегментация + обнаружение, CNN + SVM, регрессия ограничивающей рамки) можно сказать, что это хорошая статья, которую стоит прочитать.