Я планировал прочитать основные документы по обнаружению объектов (хотя я прочитал большинство из них примерно, я буду читать их достаточно подробно, чтобы написать о них в блоге). Документы связаны с обнаружением объектов на основе глубокого обучения. Не стесняйтесь давать предложения или задавать сомнения, я сделаю все возможное, чтобы помочь всем. Ниже я напишу коды arxiv каждой статьи и дам ссылку на блог (буду обновлять их по мере написания) и их статью ниже. Любой, кто начинает работать в этой области, может пропустить многие из этих статей. Я также напишу приоритет / важность (в соответствии с необходимостью понять тему) статей, как только прочитаю их все.
Я написал блог, принимая во внимание читателей, похожих на меня, и все еще обучающихся. В случае, если я допустил какую-либо ошибку (я постараюсь свести ее к минимуму, подробно разбираясь в документах из различных источников, включая блоги, коды и видео), которую кто-либо обнаружит, не стесняйтесь выделить ее или добавить комментарий в блог. Я упомянул список документов, которые я буду освещать в конце блога.

Давайте начнем :)

Документ RCNN — один из основных документов, положивших начало исследованиям в области обнаружения объектов на основе глубокого обучения. RCNN улучшил результаты предыдущего уровня техники на 30%, что является значительным улучшением. Теоретически эту статью немного легче понять, чем некоторые другие статьи, такие как overfeat, обсуждавшиеся в предыдущем блоге.

Система обнаружения объектов RCNN основана на трех модулях. Эти три модуля включают предложение региона, CNN для извлечения признаков и третий классификатор на основе SVM. Рис.1 суммирует эту сеть. Сейчас я расскажу о каждом модуле

Предложения по регионам

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

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

Извлечение признаков

Для каждого предложения региона извлекается 4096 признаков измерения с использованием модели alexnet. Все регионы изменены на 227*227. Так как предложения не одного размера, они искажают все пиксели в узкой ограничивающей рамке вокруг него до необходимого размера.

Затем для каждого класса мы оцениваем каждый извлеченный вектор признаков, используя SVM, обученный для этого класса. Применяется жадное немаксимальное подавление, которое отклоняет область, если она имеет перекрытие пересечения над объединением (IoU) с выбранной областью с более высокой оценкой, превышающее изученный порог.

Обучение

Из-за отсутствия данных об обнаружении объектов используемая модель была сначала предварительно обучена на более крупном вспомогательном наборе данных сети изображений с использованием классификаций на уровне изображений (обучение с передачей). Позже модель была доработана для новой задачи обнаружения и нового домена (искаженные окна предложений). Только последний слой был изменен с 1000 классов в сети изображений на 21 в паскалях VOC (20+1 фон). Все регионы с ≥0,5 IOU перекрываются с полем достоверности как положительные для класса этого поля, а остальные - как отрицательные. После точной настройки модели для каждого класса обучается линейный SVM.

Ссылки:

  1. https://arxiv.org/abs/1311.2524 [документ RCNN]
  2. https://www.koen.me/research/selectivesearch
  3. https://www.learnopencv.com/selective-search-for-object-detection-cpp-python/
  4. https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e

Список статей:

  1. OverFeat: интегрированное распознавание, локализация и обнаружение с использованием сверточных сетей. [Ссылка на блог]
  2. Богатые иерархии функций для точного обнаружения объектов и семантической сегментации (RCNN). ← Вы завершили этот блог.
  3. Объединение пространственных пирамид в глубоких сверточных сетях для визуального распознавания (SPPNet). [Ссылка на блог]
  4. Быстрый R-CNN[Ссылка на блог]
  5. Быстрее R-CNN: к обнаружению объектов в реальном времени с сетями региональных предложений. [Ссылка на блог]
  6. Вы только посмотрите один раз: унифицированное обнаружение объектов в реальном времени. [Ссылка на блог]
  7. SSD: однокадровый детектор MultiBox. [Ссылка на блог]
  8. R-FCN: обнаружение объектов с помощью полностью сверточных сетей на основе регионов. [Ссылка на блог]
  9. Пирамидные сети для обнаружения объектов. [Ссылка на блог]
  10. DSSD: деконволюционный детектор единичных импульсов. [Ссылка на блог]
  11. Фокусная потеря для обнаружения плотных объектов (сетка Retina). [Ссылка на блог]
  12. YOLOv3: постепенное улучшение. [Ссылка на блог]
  13. СНАЙПЕР: Эффективное многомасштабное обучение. [Ссылка на блог]
  14. Представления с высоким разрешением для маркировки пикселей и областей. [Ссылка на блог]
  15. FCOS: полностью сверточное одноэтапное обнаружение объектов. [Ссылка на блог]
  16. Объекты как точки. [Ссылка на блог]
  17. CornerNet-Lite: эффективное обнаружение объектов на основе ключевых точек. [Ссылка на блог]
  18. CenterNet: триплеты Keypoint для обнаружения объектов. [Ссылка на блог]
  19. Удобная для обучения сеть для обнаружения объектов в реальном времени. [Ссылка на блог]
  20. CBNet: новая композитная магистральная сетевая архитектура для обнаружения объектов. [Ссылка на блог]
  21. EfficientDet: Масштабируемое и эффективное обнаружение объектов. [Ссылка на блог]

Мир…