Object Detection
Исследуй основы детектирования объектов. Узнай, как Ultralytics YOLO26 идентифицирует и находит объекты в режиме реального времени с непревзойденной скоростью и точностью.
Обнаружение объектов — это ключевая технология в области Computer Vision (CV), которая позволяет компьютерным системам идентифицировать и находить конкретные элементы в визуальных данных. В отличие от более простых задач image classification, которые присваивают одну метку всему изображению, обнаружение объектов обеспечивает детальное понимание за счет одновременного прогнозирования класса объекта (например, «человек», «автомобиль», «собака») и его пространственного положения. Это положение обычно представляется прямоугольной bounding box, охватывающей объект, в сопровождении confidence score, указывающего на уверенность модели. Эта двойная возможность — распознавание плюс локализация — служит сенсорной основой для современных приложений Artificial Intelligence (AI), позволяя машинам осмысленно взаимодействовать с окружающей средой.
Механика обнаружения#
Современные детекторы в значительной степени полагаются на архитектуры Deep Learning (DL), в частности Convolutional Neural Networks (CNNs), для извлечения сложных признаков из входных изображений. Процесс начинается с training phase, в ходе которой модель учится распознавать паттерны с использованием массивных размеченных коллекций, таких как COCO dataset. Во время этой фазы алгоритм оптимизирует свои model weights для минимизации ошибок прогнозирования.
Когда модель развертывается для inference, она сканирует новые изображения для предложения потенциальных объектов. Передовые алгоритмы затем применяют Non-Maximum Suppression (NMS) для фильтрации дублирующихся обнаружений, гарантируя, что каждый отдельный объект выделен только один раз. Точность этих предсказаний часто оценивается с помощью метрики Intersection over Union (IoU), которая измеряет перекрытие между предсказанным боксом и базовой истиной. Недавние достижения привели к сквозным архитектурам, таким как YOLO26, которые оптимизируют этот конвейер для достижения исключительной скорости и возможностей real-time inference на периферийных устройствах.
Разграничение ключевых терминов#
Крайне важно отличать обнаружение объектов от смежных концепций, чтобы выбрать правильный инструмент для проекта:
- Object Detection vs. Image Classification: В то время как image classification отвечает на вопрос «Что изображено на этой картинке?», обнаружение объектов отвечает на вопрос «Что и где находится?».
- Object Detection vs. Instance Segmentation: Обнаружение рисует рамку вокруг элемента. В отличие от этого, instance segmentation определяет точный попиксельный контур (маску) каждого объекта.
- Object Detection vs. Object Tracking: Обнаружение находит объекты в одном кадре. Object tracking связывает эти обнаружения по всей видеопоследовательности для отслеживания движения во времени.
Реальные приложения#
Универсальность обнаружения объектов стимулирует инновации в основных отраслях. В автомобильном секторе AI in autonomous vehicles критически зависит от моделей обнаружения для мгновенной идентификации пешеходов, дорожных знаков и других транспортных средств в целях безопасного вождения. Обрабатывая видеопотоки с бортовых камер, эти системы принимают решения за доли секунды, которые предотвращают аварии.
Другой яркий пример использования находится в AI in Retail. Системы автоматического оформления заказа и роботы для интеллектуального управления запасами используют обнаружение объектов для сканирования полок, распознавания продуктов и выявления нехватки товаров или их неправильного размещения. Эта автоматизация оптимизирует цепочки поставок и улучшает качество обслуживания клиентов, обеспечивая постоянное наличие продукции.
Внедрение обнаружения объектов#
Разработчики могут легко реализовать рабочие процессы обнаружения с помощью пакета Python ultralytics. Следующий пример демонстрирует, как загрузить предобученную модель YOLO26 и выполнить инференс на изображении.
from ultralytics import YOLO
# Load the latest YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Run inference on an image from a URL
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results with bounding boxes
results[0].show()Для команд, стремящихся масштабировать свои операции, Ultralytics Platform предлагает комплексную среду для разметки данных, обучения пользовательских моделей в облаке и их развертывания в различных форматах, таких как ONNX или TensorRT. Использование таких платформ упрощает жизненный цикл MLOps, позволяя инженерам сосредоточиться на доработке своих приложений, а не на управлении инфраструктурой.






