Как ответить
YOLO (You Only Look Once) — это одностадийный детектор (one‑stage detector). Основная идея: за один прямой проход свёрточной сети модель одновременно предсказывает координаты ограничивающих рамок и вероятности классов для всех объектов на изображении. В двухстадийных детекторах (например, Faster R‑CNN) сначала сеть предлагает регионы (region proposals), а потом отдельный классификатор уточняет их и назначает классы. YOLO же объединяет эти этапы в один, что даёт высокую скорость работы.
Архитектурно YOLO делит изображение на сетку размером S×S. Каждая ячейка отвечает за объекты, центр которых попадает в неё. Для каждой ячейки модель предсказывает B ограничивающих рамок, а также C вероятностей класса. Каждую рамку описывает 5 параметров: координаты центра (x, y), ширина и высота (w, h) и уверенность (confidence), что в рамке действительно есть объект. Выходной тензор сети имеет размер S × S × (5·B + C).
Функция потерь в YOLO суммирует ошибки по трём составляющим:
- Координатная ошибка — разница между предсказанными и истинными координатами рамок;
- Ошибка уверенности — для ячеек с объектами и без (используется коэффициент, чтобы сбалансировать дисбаланс классов);
- Классификационная ошибка — кросс‑энтропия для предсказанных классов.
Одностадийный подход даёт YOLO преимущество в скорости перед двухстадийными методами (десятки–сотни FPS на GPU). Однако из‑за того, что каждая ячейка может предсказать только ограниченное число рамок, у модели могут возникать сложности с мелкими или плотно расположенными объектами. Последующие версии (YOLOv3, v4, v8) частично решают эти проблемы через использование нескольких масштабов и свёрток с разным разрешением, но принцип «one look» остаётся неизменным.