Возьмите вас, чтобы прочитать компьютерное зрение RCNN из серии статей

искусственный интеллект компьютерное зрение

Возьмите вас, чтобы прочитать компьютерное зрение RCNN из серии статей

Но таким образом мы всегда привыкли неохотно меняться.

предисловие

Серия статей RCNN в основном состоит из **RCNN, Fast RCNN, Faster RCNN, Mask RCNN, Cascade RCNN,** Эта серия статей представляет собой двухэтапный алгоритм обнаружения целей Эта серия алгоритмов имеет высокую точность и хорошее эффект Да Важный класс методов.

Давайте сначала объясним R-CNN, новаторскую работу по обнаружению целей.

Rich feature hierarchies for accurate object detection and semantic segmentation

Это более ранний алгоритм обнаружения объектов, опубликованный в CVPR в 2014 г. Это также новаторская работа серии алгоритмов R-CNN. В Интернете можно найти множество связанных блогов. Эта статья не находится в порядке статей, но, глядя на этот алгоритм, основанный на собственном опыте, я надеюсь дать новичкам интуитивное ощущение, и нет необходимости слишком запутываться в деталях, потому что в последующих алгоритмах многие части были улучшены.

Будучи первым документом, в котором концепция RPN сочетается с CNN, R-CNN постоянно совершенствовалась в дальнейшем, и был рожден ряд классических моделей, таких как Faster-RCNN и Mask-RCNN, поэтому это необходимо. читать классическую бумагу для входа CV.

01 Найдите рекомендуемые области

Первым шагом в архитектуре R-CNN является поиск рекомендуемого региона (Region Proposal), то есть выяснение возможной интересующей области (Region Of Interest, ROI). Существует три метода получения рекомендуемой области, которые делятся на: скользящее окно, блок правил и выборочный поиск.

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

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

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

02 Структура R-CNN

R-CNN в основном состоит изтри частиСтруктура состоит из:

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

вторая стадия: После получения большого количества предложений по регионам мы соответственно вводим их в сеть CNN. Каждое предложение по региону вводится один раз, и возвращается вектор признаков (4096 измерений), соответствующий предложению по региону. О конкретной структуре CNN автор бумаги Alexnet используется в качестве скелета модели.

Некоторые люди, возможно, обнаружили проблему. Предложения по регионам, извлеченные на первом этапе, имеют разные размеры, и входные данные CNN часто требуется зафиксировать. В этой статье требуется, чтобы входной размер CNN был фиксированным на 227 * 227, так как же решить? Размер предложения региона не соответствует задаче.

Третий этап: после получения вектора признаков каждого предложения региона мы используем двоичный классификатор SVM для прогнозирования каждого предложения региона.

У некоторых студентов возникают вопросы: почему это так хлопотно, не лучше ли использовать Softmax для классификации напрямую, как Alexnet, зачем использовать SVM, чтобы классифицировать их по одному?

Основная причина заключается в том, что категории положительных и отрицательных образцов несбалансированы, а количество отрицательных образцов намного больше, чем количество положительных образцов.В качестве примера в процессе обучения принимается размер партии 128, в процессе обучения имеется только 32 положительных образца. и 96 отрицательных образцов, причем все отрицательные образцы выбираются случайным образом, а SVM лучше справляется со сложными образцами, чем Softmax.

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

отрицательный образецИсследуйте каждый кадр-кандидат, если перекрытие со всеми калибровочными кадрами этого класса меньше 0,3, он считается отрицательной выборкой.

03 R-CNN Подробности

Рабочий процесс R-CNN

Алгоритм RCNN разделен на 4 этапа.

  • Одно изображение генерирует от 1 до 2 тысяч областей-кандидатов;
  • Для каждого региона-кандидата используйте глубокую сеть для извлечения признаков;
  • Функции отправляются классификатору SVM каждого класса, чтобы определить, принадлежат ли они этому классу;
  • Используйте регрессор, чтобы точно исправить положение кадра-кандидата;

Деформированные учебные образцы для обучения VOC 2007. Средняя точность обнаружения (%) по тесту VOC 2010. R-CNN наиболее непосредственно сопоставим с UVA и Regionlets, поскольку все методы используют выборочные предложения области поиска. Регрессия ограничивающей рамки (BB). На момент публикации SegDPM был лидером в таблице лидеров PASCAL VOC. DPM и SegDPM повторно оценивают использование контекста, не используемого другими методами.

результат

В 2014 году, когда документ был опубликован, DPM вступил в период узкого места, и улучшения даже со сложными функциями и структурами очень ограничены. Этот документ вводит глубокое обучение в область обнаружения и одним махом увеличивает скорость обнаружения на PASCAL VOC с 35,1% до 53,7%.

Первые два шага в этой статье (извлечение области-кандидата + выделение признаков) не зависят от категории, которую нужно обнаружить, и могут быть разделены между разными категориями. Эти два шага занимают около 13 секунд на графическом процессоре.

При одновременном обнаружении нескольких классов необходимо умножать только два последних шага (различение + уточнение), которые являются простыми линейными операциями и быстрыми. Эти два шага занимают всего 10 секунд для категории 100K.

Ссылаться на:zhuanlan.zhihu.com/p/168742724 blog.CSDN.net/QQ_30091945…