Решения Ultralytics: YOLO26 для решения реальных задач#
Решения Ultralytics предлагают передовые способы применения моделей YOLO для решения реальных задач — например, подсчёта объектов, размытия и создания систем безопасности. Они повышают эффективность и точность в самых разных отраслях. Узнай, на что способен YOLO26 в практических проектах с ощутимым результатом.

Смотри: Как запускать решения Ultralytics из командной строки (CLI) | Ultralytics YOLO26 🚀
Решения#
Мы собрали список решений Ultralytics, которые помогут тебе создавать впечатляющие проекты в области компьютерного зрения.
- Аналитика: проводи комплексный анализ данных, выявляй закономерности и принимай обоснованные решения, используя YOLO26 для описательной, прогнозной и предписывающей аналитики.
- Расчёт расстояния: вычисляй расстояния между объектами по центроидам их ограничивающих рамок с помощью YOLO26 — это важно для пространственного анализа.
- Тепловые карты: используй тепловые карты обнаружений, чтобы визуализировать интенсивность данных в матрице и получать наглядные сведения для задач компьютерного зрения.
- Сегментация экземпляров с отслеживанием объектов: реализуй сегментацию экземпляров и отслеживание объектов с помощью YOLO26, чтобы точно определять границы объектов и непрерывно наблюдать за ними.
- Инференс в реальном времени с Streamlit: используй возможности YOLO26 для обнаружения объектов в реальном времени прямо в браузере через удобный интерфейс Streamlit.
- Размытие объектов: размывай объекты с помощью YOLO26, чтобы защитить конфиденциальность при обработке изображений и видео.
- Подсчёт объектов: научись подсчитывать объекты в реальном времени с помощью YOLO26 и точно считать их в видеопотоках.
- Подсчёт объектов в областях: подсчитывай объекты в заданных областях с помощью YOLO26 для точного обнаружения в разных зонах.
- Обрезка объектов: освой обрезку объектов с помощью YOLO26, чтобы точно извлекать их из изображений и видео.
- Управление парковкой: организуй и направляй движение автомобилей на парковках с помощью YOLO26, эффективнее используя пространство и улучшая пользовательский опыт.
- Управление очередями: внедряй эффективные системы управления очередями, чтобы с помощью YOLO26 сокращать время ожидания и повышать производительность.
- Система охранной сигнализации: создай с помощью YOLO26 систему охранной сигнализации, которая отправляет оповещения при обнаружении новых объектов. Настрой систему под свои задачи.
- Поиск похожих изображений: организуй интеллектуальный поиск изображений, сочетая эмбеддинги OpenAI CLIP с поиском по косинусному сходству. Это позволит задавать запросы на естественном языке, например «человек с сумкой» или «движущиеся автомобили».
- Оценка скорости: оценивай скорость объектов с помощью YOLO26 и методов отслеживания объектов — это важно для таких задач, как автономное вождение и мониторинг дорожного движения.
- Отслеживание объектов в зоне: научись точно и эффективно отслеживать объекты в заданных зонах видеокадра с помощью YOLO26.
- Отображение объектов с помощью VisionEye: создавай системы, имитирующие фокусировку человеческого глаза на определённых объектах, чтобы компьютер мог лучше распознавать детали и определять их приоритет.
- Мониторинг тренировок: узнай, как отслеживать тренировки с помощью YOLO26, анализируя различные комплексы упражнений в реальном времени.
Аргументы решений#
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
model | str | None | Путь к файлу модели Ultralytics YOLO. |
region | list или dict | None | Точки, задающие интересующую область: список кортежей (x, y) или словарь, сопоставляющий названия областей со списками точек для нескольких областей (только RegionCounter). Если None, решения, которым требуется область, используют заданную по умолчанию область. |
show_in | bool | True | Флаг, управляющий отображением счётчиков входа в видеопотоке. |
show_out | bool | True | Флаг, управляющий отображением счётчиков выхода в видеопотоке. |
analytics_type | str | 'line' | Тип графика: line, bar, area или pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Цветовая карта для тепловой карты. |
line_width | int | 2 | Толщина линий рамок, ключевых точек и счётчиков, которые рисует решение. |
verbose | bool | True | Включает журнал решения для каждого кадра с указанием формы входных данных, количества объектов по классам и скорости обработки. Сам вызов отслеживания всегда выполняется без вывода сообщений. |
json_file | str | None | Путь к файлу JSON со всеми данными о координатах парковочных мест. |
up_angle | float | 145.0 | Пороговый угол для позы «вверх». |
kpts | list[int] | [6, 8, 10] | Список из трёх индексов ключевых точек, используемых для отслеживания тренировок. Эти точки соответствуют суставам или частям тела, например плечам, локтям и запястьям, для таких упражнений, как отжимания, подтягивания, приседания и упражнения на пресс. |
down_angle | float | 90.0 | Пороговый угол для позы «вниз». |
blur_ratio | float | 0.5 | Настраивает процент интенсивности размытия в диапазоне 0.1 - 1.0. |
crop_dir | str | 'cropped-detections' | Имя каталога для сохранения обрезанных обнаруженных объектов. |
records | int | 5 | Общее количество обнаруженных объектов, при достижении которого отправляется электронное письмо с предупреждением системы безопасности. |
vision_point | tuple[int, int] | (20, 20) | Точка, в которой Vision отслеживает объекты и рисует траектории с помощью решения VisionEye. |
source | str | None | Путь к входному источнику (видео, RTSP и т. д.). Доступно только через интерфейс командной строки Solutions (CLI). |
figsize | tuple[float, float] | (12.8, 7.2) | Размер графиков Analytics в дюймах; (12.8, 7.2) отображает кадр размером 1280×720. |
fps | float | 30.0 | Количество кадров в секунду, используемое для расчёта скорости. |
max_hist | int | 5 | Максимальное количество исторических точек на объект для расчёта скорости и направления. |
meter_per_pixel | float | 0.05 | Коэффициент масштабирования для преобразования расстояния в пикселях в единицы реального мира. |
max_speed | int | 120 | Максимальная скорость в км/ч; более высокие расчётные значения ограничиваются этим пределом. |
data | str | 'images' | Путь к каталогу изображений, используемому для поиска похожих изображений. |
imgsz | int | 640 | Размер входного изображения для инференса модели. |
Решения передают указанные ниже аргументы инференса и отслеживания в model.track().
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | Задаёт алгоритм отслеживания. Встроенные варианты: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Задаёт порог уверенности для обнаружений: при более низких значениях можно отслеживать больше объектов, но возрастает вероятность ложноположительных срабатываний. |
iou | float | 0.7 | Задаёт порог пересечения над объединением (IoU) для фильтрации перекрывающихся обнаружений. |
classes | list | None | Фильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы. |
device | str | None | Задаёт устройство для инференса (например, cpu, cuda:0 или 0). Позволяет выбрать CPU, определённый GPU или другое вычислительное устройство для выполнения модели. |
imgsz | int or tuple | 640 | Целевой размер изображения для инференса: целое число для квадратного изображения или пара (height, width). Размеры корректируются с учётом шага модели. |
max_det | int | 300 | Максимальное количество обнаружений, сохраняемых в каждом кадре перед отслеживанием; ограничивает число объектов, обрабатываемых решением в насыщенных сценах. |
quantize | int or str | None | Точность инференса: 16 (FP16) или 32/unset (FP32) для моделей PyTorch и TorchScript не на CPU; для других форматов точность определяется артефактом модели и средой выполнения. Заменяет устаревший аргумент half. |
Для настройки визуализации можно использовать show_conf, show_labels и другие упомянутые аргументы.
| Аргумент | Тип | По умолчанию | Описание |
|---|---|---|---|
show | bool | False | Если True, показывает аннотированные изображения или видео в окне. Полезно для мгновенной визуальной проверки во время разработки или тестирования. |
show_conf | bool | True | Показывает оценку уверенности каждой детекции рядом с меткой. Позволяет оценить уверенность модели в каждой детекции. |
show_labels | bool | True | Показывает метки каждой детекции на визуализации. Помогает сразу понять, какие объекты обнаружены. |
Использование SolutionAnnotator#
Во всех решениях Ultralytics используется отдельный класс SolutionAnnotator, расширяющий основной класс Annotator. В нём доступны следующие методы:
| Метод | Тип возвращаемого значения | Описание |
|---|---|---|
draw_region() | None | Рисует область по заданным точкам, цветам и толщине линий. |
queue_counts_display() | None | Отображает количество людей в очереди в указанной области. |
display_analytics() | None | Отображает общую статистику управления парковкой. |
estimate_pose_angle() | float | Вычисляет угол между тремя точками в позе объекта. |
draw_specific_kpts() | np.ndarray | Отмечает на изображении заданные ключевые точки. |
plot_workout_information() | int | Добавляет на изображение текстовую плашку с подписью. |
plot_angle_and_count_and_stage() | None | Визуализирует угол, количество повторений и этап тренировки. |
plot_distance_and_line() | None | Показывает расстояние между центроидами и соединяет их линией. |
display_objects_labels() | None | Подписывает ограничивающие рамки названиями классов объектов. |
sweep_annotator() | None | Визуализирует вертикальную линию перемещения и необязательную подпись. |
visioneye() | None | Соединяет центроиды объектов с визуальной точкой «взгляда». |
adaptive_label() | None | Рисует круглую или прямоугольную плашку на фоне в центре ограничивающей рамки. |
Работа с SolutionResults#
Каждый вызов решения, кроме Similarity Search, возвращает объект SolutionResults.
- При подсчёте объектов результаты включают
in_count,out_countиclasswise_count.
import cv2
from ultralytics import solutions
im0 = cv2.imread("path/to/img")
region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
counter = solutions.ObjectCounter(
show=True, # отобразить результат
region=region_points, # передать точки области
model="yolo26n.pt", # model="yolo26n-obb.pt" для подсчёта объектов с помощью модели OBB.
# classes=[0, 2], # подсчитывать только указанные классы, например людей и автомобили, с помощью модели, предварительно обученной на COCO.
# tracker="botsort.yaml" # Выбрать трекеры, например "bytetrack.yaml"
)
results = counter(im0)
print(results.in_count) # display in_counts
print(results.out_count) # display out_counts
print(results.classwise_count) # display classwise_countОбъекты SolutionResults имеют следующие атрибуты:
| Атрибут | Тип | Описание |
|---|---|---|
plot_im | np.ndarray | Изображение с визуальными наложениями, например счётчиками, эффектами размытия или улучшениями, специфичными для решения. |
in_count | int | Общее количество объектов, обнаруженных при входе в заданную зону видеопотока. |
out_count | int | Общее количество объектов, обнаруженных при выходе из заданной зоны видеопотока. |
classwise_count | dict[str, dict[str, int] | int] | Количество объектов по классам: {"IN": int, "OUT": int} для ObjectCounter и Heatmap или int для Analytics. |
queue_count | int | Количество объектов, находящихся в данный момент в заданной очереди или зоне ожидания (подходит для управления очередями). |
workout_count | list[int] | Количество повторений упражнений для каждой дорожки отслеживания из AI Gym (одна запись на каждого отслеживаемого в данный момент человека). |
workout_angle | list[float] | Углы выполнения упражнений для каждой дорожки отслеживания из AI Gym (одна запись на каждого отслеживаемого в данный момент человека). |
workout_stage | list[str] | Текущий этап тренировки для каждой дорожки отслеживания из AI Gym (одна запись на каждого отслеживаемого в данный момент человека). |
pixels_distance | float | Расстояние в пикселях между двумя объектами или точками, например ограничивающими рамками. (Подходит для расчёта расстояния). |
available_slots | int | Количество свободных парковочных мест в отслеживаемой зоне (подходит для управления парковкой). |
filled_slots | int | Количество занятых парковочных мест в отслеживаемой зоне. (Подходит для управления парковкой) |
email_sent | bool | Показывает, было ли успешно отправлено уведомление или оповещение по электронной почте (подходит для охранной сигнализации). |
total_tracks | int | Общее количество уникальных дорожек отслеживания объектов, обнаруженных при анализе видео. |
region_counts | Dict[str, int] | Подсчёт объектов в заданных пользователем областях или зонах. |
speed_dict | Dict[int, int] | Словарь оценок скорости объектов в км/ч для каждого трека, полученных с помощью SpeedEstimator; полезен для анализа скорости. |
total_crop_objects | int | Общее количество обрезанных изображений объектов, созданных решением ObjectCropper. |
speed | Dict[str, float] | Словарь с показателями производительности отслеживания и обработки решения. |
Подробнее см. в документации класса SolutionResults.
Использование решений через CLI#
Большинство решений можно запускать напрямую через интерфейс командной строки.
Синтаксис
yolo SOLUTIONS SOLUTION_NAME ARGS
- SOLUTIONS — обязательное ключевое слово.
- SOLUTION_NAME — одно из значений:
['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye', 'region', 'security', 'parking']. - ARGS (необязательные) — пользовательские пары
arg=value, напримерshow_in=True, которые переопределяют настройки по умолчанию.
yolo solutions count show=True # for object counting
yolo solutions count source="path/to/video.mp4" # specify video file pathВнеси вклад в наши решения#
Мы рады вкладу сообщества! Если ты хорошо разбираешься в какой-либо области Ultralytics YOLO, которая ещё не охвачена нашими решениями, поделись своим опытом. Подготовка руководства — отличный способ помочь сообществу и сделать нашу документацию более полной и удобной для пользователей.
Для начала прочитай наше руководство по участию, в котором описано, как открыть Pull Request (PR) 🛠️. Будем рады твоему вкладу!
Давай вместе сделаем экосистему Ultralytics YOLO надёжнее и универсальнее 🙏!
Часто задаваемые вопросы#
Ultralytics YOLO26 можно использовать для подсчёта объектов в реальном времени благодаря расширенным возможностям обнаружения объектов. Следуй нашему подробному руководству по подсчёту объектов, чтобы настроить YOLO26 для анализа видеопотока в реальном времени. Просто установи YOLO26, загрузи модель и обрабатывай кадры видео, чтобы динамически подсчитывать объекты.
Ultralytics YOLO26 повышает эффективность систем безопасности благодаря обнаружению объектов в реальном времени и механизмам оповещения. С помощью YOLO26 ты можешь создать систему сигнализации, которая отправляет оповещения при обнаружении новых объектов в зоне наблюдения. Узнай, как настроить систему сигнализации с YOLO26 для надёжного мониторинга безопасности.
Ultralytics YOLO26 может значительно улучшить системы управления очередями, точно подсчитывая и отслеживая людей в очередях, что помогает сократить время ожидания и повысить эффективность обслуживания. Ознакомься с нашим подробным руководством по управлению очередями, чтобы узнать, как использовать YOLO26 для эффективного мониторинга и анализа очередей.
Да, Ultralytics YOLO26 можно эффективно использовать для мониторинга тренировок: модель отслеживает и анализирует физические упражнения в реальном времени. Это позволяет точно оценивать технику и результативность упражнений. Ознакомься с нашим руководством по мониторингу тренировок, чтобы узнать, как настроить систему мониторинга тренировок на базе AI с использованием YOLO26.
Ultralytics YOLO26 может создавать тепловые карты, отображающие интенсивность данных на заданной области и выделяющие зоны с высокой активностью или интересом. Эта функция особенно полезна для выявления закономерностей и тенденций в различных задачах компьютерного зрения. Подробнее о создании и использовании тепловых карт с YOLO26 для комплексного анализа и визуализации данных.