Локализация объекта — это процесс прогнозирования границ рассматриваемого объекта. Локализация очень похожа на обнаружение объектов с той лишь разницей, что вместо обнаружения всех объектов локализация фокусируется только на одном основном объекте.
Обнаружение объектов — это модель классификации, которая предсказывает, присутствует ли объект (в случае одного объекта) или все присутствующие объекты (в случае нескольких объектов). В отличие от обнаружения объектов, локализация объектов носит регрессивный характер, поскольку она имеет дело с ограничивающими рамками. Ограничивающие рамки — это ограничивающие прямоугольники, нарисованные вокруг интересующего объекта. Эти поля имеют четыре свойства: X0, Y0, высота, ширина.
Классификатор изображений сначала обучается на данных, а затем фиксируются векторные слои. Опубликуйте, какой регрессор обучен идентифицировать ограничивающие рамки.
Существует множество моделей, которые могут реализовать локализацию объекта.
- Быстрый RCNN
- RCNN
- ЙОЛО
- SSD
Я расскажу о YOLO, возможно, это лучшее решение.
ЙОЛО:
YOLO (You Only Look Once) — один из самых быстрых и точных алгоритмов. Изображение разделено на несколько сеток, затем мы изменяем метки наших данных, чтобы реализовать алгоритм локализации и классификации для каждой ячейки сетки.
Оригинал статьи можно посмотреть здесь
YOLO использует единую сеть CNN для классификации и локализации.
Алгоритм реализации YOLO:
- Разделите изображение на несколько сеток (лучше всего использовать 7 * 7).
- Пометьте обучающие данные. Если N — количество уникальных объектов в наших данных, G*G — количество сеток, на которые мы разбиваем наше изображение, тогда наш выходной вектор будет иметь длину G*G*(N+5).
- Разработайте одну глубокую сверточную нейронную сеть с функцией потерь L2 как ошибку между фактическими координатами и прогнозируемыми координатами.
Чтобы получить код для реализации YOLO, нажмите здесь. Это ссылка на репозиторий git авторов статьи YOLO.