Технологии компьютерного зрения позволяют в сегодняшних реалиях сделать жизнь и бизнес проще, дешевле, безопаснее. По
оценкам разных экспертов этот рынок будет двигаться в ближайшие годы только в сторону роста, что и позволяет развиваться соответствующим технологиям как в сторону производительности, так и качества. Одним из наиболее востребованных разделов является Object Detection (обнаружение объектов) – определение объекта на изображении или в видео потоке.
Времена, когда обнаружение объектов решалось исключительно путем классического машинного обучения (каскады, SVM...) уже прошли – сейчас в этой сфере царят подходы, основанные на Deep Learning. В 2014 году был предложен подход, существенно повлиявший на последующие исследования и разработки в этой области – R-CNN модель. Последующие его улучшения (в виде Fast R-CNN и Faster R-CNN) сделали его одним из самых точных, что и стало причиной его использования по сей день.
Помимо R-CNN есть еще много подходов реализующих поиск объектов: семейство Yolo, SSD, RetinaNet, CenterNet… Кто-то из них предлагает альтернативный подход, а кто-то развивает текущий в сторону увеличения показателя производительности. Обсуждение почти каждого из них можно вынести в отдельную статью, по причине обилия фишек и ухищрений :)
К изучению предлагаю набор статей с разбором двухступенчатых Object Detection моделей. Умение разбираться в их устройстве приносит понимание базовых идей, применяемых и в других реализациях. В этом посте рассмотрим самую базовую и, соответственно, первую из них – R-CNN.