Функции потерь в задачах детекции объектов
Материал из MachineLearning.
| | Статья написана с использованием LLM OpenAI GPT-5.5 и проверена участником Georgii Maiorov Georgii Maiorov 22:29, 18 июля 2026 (MSD) |
Функции потерь в задаче детекции объектов
Функции потерь в задаче детекции объектов — совокупность функций потерь, используемых при обучении моделей детекции объектов. В отличие от задач классификации изображений и регрессии, где требуется оптимизировать единственный критерий качества, детекция объектов объединяет несколько различных подзадач: необходимо определить местоположение объектов на изображении, распознать их классы и отделить объекты от фона. Поэтому современные детекторы обучаются с использованием многокомпонентной функции потерь, объединяющей несколько независимых критериев оптимизации.
Выбор функции потерь оказывает существенное влияние на качество обучения модели. Именно она определяет, какие ошибки считаются наиболее значимыми и каким образом параметры модели изменяются в процессе градиентного спуска. Развитие архитектур детекторов сопровождалось развитием специализированных функций потерь, учитывающих геометрию ограничивающих прямоугольников и особенности задачи обнаружения объектов.
Почему детекция требует нескольких функций потерь
Задача детекции объектов существенно отличается от большинства классических задач машинного обучения. Для каждого обнаруженного объекта модель должна одновременно решить несколько различных задач.
Во-первых, необходимо определить, присутствует ли объект в рассматриваемой области изображения.
Во-вторых, требуется правильно определить класс найденного объекта.
В-третьих, необходимо максимально точно определить положение объекта, предсказав координаты ограничивающего прямоугольника.
Эти задачи имеют различную математическую природу. Классификация относится к дискретным задачам и обычно решается с помощью вероятностных функций потерь, тогда как определение координат представляет собой задачу регрессии. Кроме того, большинство возможных положений объектов на изображении соответствует фону, что приводит к сильному дисбалансу между положительными и отрицательными примерами.
По этой причине использование единственной функции потерь оказывается недостаточным. Современные детекторы рассматриваются как модели многозадачного обучения (multi-task learning), оптимизирующие несколько критериев одновременно.
Общая структура функции потерь
Функция потерь современного детектора обычно представляет собой взвешенную сумму нескольких компонентов:
где
-
— функция потерь классификации объектов;
-
— функция потерь локализации ограничивающих прямоугольников;
-
— функция потерь, оценивающая наличие объекта (objectness);
-
,
и
— весовые коэффициенты, определяющие вклад каждого компонента.
В некоторых архитектурах состав функции потерь отличается. Например, в DETR отсутствует отдельный компонент objectness, тогда как современные версии YOLO используют дополнительные функции потерь для уточнения координат ограничивающих прямоугольников. Однако сама идея совместной оптимизации нескольких критериев остаётся общей для большинства современных детекторов.
Функция потерь классификации
Компонент отвечает за правильное определение класса обнаруженного объекта. Он вычисляется только для тех областей изображения, которые соответствуют реальным объектам.
Наиболее распространённой функцией потерь классификации является кросс-энтропия:
где — истинная принадлежность объекта к классу
,
— вероятность, предсказанная моделью, а
— число классов.
В задачах с большим дисбалансом между объектами и фоном широко применяется Focal Loss, уменьшающая влияние легко классифицируемых примеров и позволяющая модели сосредоточиться на наиболее сложных объектах.
Функция потерь локализации
Компонент отвечает за точность определения положения объекта.
В ранних архитектурах использовались покоординатные функции потерь, такие как L1, L2 и Smooth L1 Loss. Они минимизируют ошибку между истинными и предсказанными координатами ограничивающего прямоугольника.
Несмотря на простоту, такие функции обладают существенным недостатком: они оптимизируют координаты независимо друг от друга и не учитывают степень геометрического совпадения прямоугольников. Одинаковое смещение координат может иметь различное влияние на качество локализации для крупных и малых объектов.
По этой причине современные архитектуры всё чаще используют функции потерь, непосредственно связанные с метрикой Intersection over Union (IoU), позволяющие учитывать реальное перекрытие ограничивающих прямоугольников.
Функция потерь objectness
Большинство современных детекторов, особенно одноэтапных, дополнительно оценивают вероятность того, что рассматриваемая область изображения действительно содержит объект. Эта задача называется оценкой objectness.
Необходимость такого компонента связана с тем, что подавляющее большинство возможных ограничивающих прямоугольников соответствует фону. Если модель будет оптимизировать только классификацию объектов, она не сможет эффективно отделять реальные объекты от большого количества пустых областей.
Для обучения objectness обычно используется бинарная кросс-энтропия:
где показывает наличие объекта, а
— предсказанная моделью вероятность.
В архитектурах семейства YOLO компонент objectness играет одну из ключевых ролей, позволяя модели быстро отбрасывать области изображения, не содержащие объектов.
Балансировка компонентов функции потерь
Компоненты общей функции потерь имеют различную природу и могут существенно отличаться по масштабу.
Например, ошибка классификации выражается через логарифмическую вероятность, тогда как ошибка локализации зависит от координат ограничивающих прямоугольников. Если объединить такие функции без дополнительной балансировки, одна из них может начать доминировать в процессе оптимизации.
Поэтому в общей функции потерь используются весовые коэффициенты
которые позволяют регулировать вклад отдельных компонентов в процесс обучения.
Выбор этих коэффициентов обычно осуществляется эмпирически и зависит от архитектуры модели, характеристик набора данных и конкретной прикладной задачи.
Современные функции потерь локализации
В ранних детекторах положение объекта оптимизировалось с помощью покоординатных функций потерь, таких как L1 и Smooth L1 Loss. Однако такие функции не учитывают реальное качество совпадения ограничивающих прямоугольников.
Современные методы локализации всё чаще используют функции потерь, основанные на Intersection over Union (IoU). Их преимущество заключается в том, что оптимизируется непосредственно величина, используемая при оценке качества детектора.
IoU Loss
Наиболее простая функция определяется следующим образом:
Минимум достигается при полном совпадении ограничивающих прямоугольников.
Недостатком IoU Loss является отсутствие градиента в ситуации, когда прямоугольники не пересекаются. В этом случае значение IoU равно нулю независимо от расстояния между ними, что затрудняет обучение модели.
Generalized IoU
Generalized Intersection over Union (GIoU) устраняет этот недостаток, учитывая площадь минимального прямоугольника, содержащего оба сравниваемых ограничивающих прямоугольника.
Соответствующая функция потерь записывается как
Даже при отсутствии пересечения между объектами GIoU остаётся информативной и обеспечивает ненулевой градиент.
Distance IoU
Distance Intersection over Union (DIoU) дополнительно учитывает расстояние между центрами ограничивающих прямоугольников.
Функция потерь имеет вид
где — евклидово расстояние между центрами предсказанного и истинного прямоугольников, а
— диагональ минимального прямоугольника, содержащего оба объекта.
Такой подход ускоряет сходимость алгоритма и позволяет быстрее корректировать положение объектов.
Complete IoU
Complete Intersection over Union (CIoU) развивает идею DIoU, дополнительно учитывая различие отношений сторон ограничивающих прямоугольников.
Соответствующая функция потерь записывается в виде
где величина характеризует различие отношений ширины и высоты прямоугольников (вычисляется через арктангенс), а коэффициент
— параметр балансировки, зависящий от текущего значения IoU.
Особенности функций потерь в различных архитектурах
Несмотря на общую идею многокомпонентной оптимизации, конкретная реализация функции потерь зависит от архитектуры детектора.
Одноэтапные детекторы
Одноэтапные детекторы, такие как YOLO, SSD и RetinaNet, одновременно предсказывают координаты объектов, их классы и вероятность наличия объекта. Поэтому их функция потерь обычно включает три основные компоненты:
- функцию потерь классификации;
- функцию потерь локализации;
- функцию потерь objectness.
Обучение происходит за один проход по изображению, поэтому особое внимание уделяется борьбе с сильным дисбалансом между объектами и фоном. В частности, архитектура RetinaNet использует Focal Loss, уменьшающую влияние большого числа легко классифицируемых отрицательных примеров.
Двухэтапные детекторы
В двухэтапных детекторах, например Faster R-CNN, процесс обнаружения объектов разделён на два последовательных этапа.
На первом этапе сеть формирует предложения областей (region proposals), после чего на втором этапе для каждой области выполняются классификация и уточнение координат ограничивающего прямоугольника.
Функция потерь также состоит из нескольких компонентов, однако часть из них относится к обучению сети генерации предложений, а часть — к окончательной классификации и локализации объектов.
DETR
Архитектура DETR рассматривает детекцию объектов как задачу непосредственного предсказания множества объектов. Перед вычислением функции потерь каждому предсказанию ставится в соответствие один объект разметки с помощью венгерского алгоритма.
После этого оптимизируются ошибки классификации и локализации. Благодаря такому подходу архитектура не использует якорные прямоугольники и не требует применения Non-Maximum Suppression.
Применение
Современные функции потерь используются практически во всех архитектурах детекции объектов.
- YOLO сочетает функции потерь классификации, objectness и локализации, основанные на мерах семейства IoU.
- Faster R-CNN использует отдельные функции потерь для сети генерации предложений и для окончательной классификации объектов.
- RetinaNet применяет Focal Loss, позволяющую эффективно обучаться в условиях сильного дисбаланса между объектами и фоном.
- DETR объединяет функцию потерь классификации с функцией потерь локализации после оптимального сопоставления предсказаний и объектов разметки.
Развитие функций потерь остаётся одним из основных направлений исследований в области компьютерного зрения. Многие современные работы предлагают новые варианты IoU-подобных функций потерь, обеспечивающих более быструю сходимость обучения и более точную локализацию объектов.
См. также
Литература
- Girshick R. Fast R-CNN. ICCV, 2015.
- Ren S., He K., Girshick R., Sun J. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks. NeurIPS, 2015.
- Lin T.-Y. et al. Focal Loss for Dense Object Detection. ICCV, 2017.
- Rezatofighi H. et al. Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression. CVPR, 2019.
- Zheng Z. et al. Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression. AAAI, 2020.

