Ultralytics YOLO27:
Get Started

Решения Ultralytics: YOLO26 для решения реальных задач#

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

Миниатюра решений Ultralytics



Смотри: Как запускать решения Ultralytics из командной строки (CLI) | Ultralytics YOLO26 🚀

Решения#

Мы собрали список решений Ultralytics, которые помогут тебе создавать впечатляющие проекты в области компьютерного зрения.

  • Аналитика: проводи комплексный анализ данных, выявляй закономерности и принимай обоснованные решения, используя YOLO26 для описательной, прогнозной и предписывающей аналитики.
  • Расчёт расстояния: вычисляй расстояния между объектами по центроидам их ограничивающих рамок с помощью YOLO26 — это важно для пространственного анализа.
  • Тепловые карты: используй тепловые карты обнаружений, чтобы визуализировать интенсивность данных в матрице и получать наглядные сведения для задач компьютерного зрения.
  • Сегментация экземпляров с отслеживанием объектов: реализуй сегментацию экземпляров и отслеживание объектов с помощью YOLO26, чтобы точно определять границы объектов и непрерывно наблюдать за ними.
  • Инференс в реальном времени с Streamlit: используй возможности YOLO26 для обнаружения объектов в реальном времени прямо в браузере через удобный интерфейс Streamlit.
  • Размытие объектов: размывай объекты с помощью YOLO26, чтобы защитить конфиденциальность при обработке изображений и видео.
  • Подсчёт объектов: научись подсчитывать объекты в реальном времени с помощью YOLO26 и точно считать их в видеопотоках.
  • Подсчёт объектов в областях: подсчитывай объекты в заданных областях с помощью YOLO26 для точного обнаружения в разных зонах.
  • Обрезка объектов: освой обрезку объектов с помощью YOLO26, чтобы точно извлекать их из изображений и видео.
  • Управление парковкой: организуй и направляй движение автомобилей на парковках с помощью YOLO26, эффективнее используя пространство и улучшая пользовательский опыт.
  • Управление очередями: внедряй эффективные системы управления очередями, чтобы с помощью YOLO26 сокращать время ожидания и повышать производительность.
  • Система охранной сигнализации: создай с помощью YOLO26 систему охранной сигнализации, которая отправляет оповещения при обнаружении новых объектов. Настрой систему под свои задачи.
  • Поиск похожих изображений: организуй интеллектуальный поиск изображений, сочетая эмбеддинги OpenAI CLIP с поиском по косинусному сходству. Это позволит задавать запросы на естественном языке, например «человек с сумкой» или «движущиеся автомобили».
  • Оценка скорости: оценивай скорость объектов с помощью YOLO26 и методов отслеживания объектов — это важно для таких задач, как автономное вождение и мониторинг дорожного движения.
  • Отслеживание объектов в зоне: научись точно и эффективно отслеживать объекты в заданных зонах видеокадра с помощью YOLO26.
  • Отображение объектов с помощью VisionEye: создавай системы, имитирующие фокусировку человеческого глаза на определённых объектах, чтобы компьютер мог лучше распознавать детали и определять их приоритет.
  • Мониторинг тренировок: узнай, как отслеживать тренировки с помощью YOLO26, анализируя различные комплексы упражнений в реальном времени.

Аргументы решений#

АргументТипПо умолчаниюОписание
modelstrNoneПуть к файлу модели Ultralytics YOLO.
regionlist или dictNoneТочки, задающие интересующую область: список кортежей (x, y) или словарь, сопоставляющий названия областей со списками точек для нескольких областей (только RegionCounter). Если None, решения, которым требуется область, используют заданную по умолчанию область.
show_inboolTrueФлаг, управляющий отображением счётчиков входа в видеопотоке.
show_outboolTrueФлаг, управляющий отображением счётчиков выхода в видеопотоке.
analytics_typestr'line'Тип графика: line, bar, area или pie.
colormapintcv2.COLORMAP_DEEPGREENЦветовая карта для тепловой карты.
line_widthint2Толщина линий рамок, ключевых точек и счётчиков, которые рисует решение.
verboseboolTrueВключает журнал решения для каждого кадра с указанием формы входных данных, количества объектов по классам и скорости обработки. Сам вызов отслеживания всегда выполняется без вывода сообщений.
json_filestrNoneПуть к файлу JSON со всеми данными о координатах парковочных мест.
up_anglefloat145.0Пороговый угол для позы «вверх».
kptslist[int][6, 8, 10]Список из трёх индексов ключевых точек, используемых для отслеживания тренировок. Эти точки соответствуют суставам или частям тела, например плечам, локтям и запястьям, для таких упражнений, как отжимания, подтягивания, приседания и упражнения на пресс.
down_anglefloat90.0Пороговый угол для позы «вниз».
blur_ratiofloat0.5Настраивает процент интенсивности размытия в диапазоне 0.1 - 1.0.
crop_dirstr'cropped-detections'Имя каталога для сохранения обрезанных обнаруженных объектов.
recordsint5Общее количество обнаруженных объектов, при достижении которого отправляется электронное письмо с предупреждением системы безопасности.
vision_pointtuple[int, int](20, 20)Точка, в которой Vision отслеживает объекты и рисует траектории с помощью решения VisionEye.
sourcestrNoneПуть к входному источнику (видео, RTSP и т. д.). Доступно только через интерфейс командной строки Solutions (CLI).
figsizetuple[float, float](12.8, 7.2)Размер графиков Analytics в дюймах; (12.8, 7.2) отображает кадр размером 1280×720.
fpsfloat30.0Количество кадров в секунду, используемое для расчёта скорости.
max_histint5Максимальное количество исторических точек на объект для расчёта скорости и направления.
meter_per_pixelfloat0.05Коэффициент масштабирования для преобразования расстояния в пикселях в единицы реального мира.
max_speedint120Максимальная скорость в км/ч; более высокие расчётные значения ограничиваются этим пределом.
datastr'images'Путь к каталогу изображений, используемому для поиска похожих изображений.
imgszint640Размер входного изображения для инференса модели.
Аргументы отслеживания

Решения передают указанные ниже аргументы инференса и отслеживания в model.track().

АргументТипПо умолчаниюОписание
trackerstr'tracktrack.yaml'Задаёт алгоритм отслеживания. Встроенные варианты: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Задаёт порог уверенности для обнаружений: при более низких значениях можно отслеживать больше объектов, но возрастает вероятность ложноположительных срабатываний.
ioufloat0.7Задаёт порог пересечения над объединением (IoU) для фильтрации перекрывающихся обнаружений.
classeslistNoneФильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
devicestrNoneЗадаёт устройство для инференса (например, cpu, cuda:0 или 0). Позволяет выбрать CPU, определённый GPU или другое вычислительное устройство для выполнения модели.
imgszint or tuple640Целевой размер изображения для инференса: целое число для квадратного изображения или пара (height, width). Размеры корректируются с учётом шага модели.
max_detint300Максимальное количество обнаружений, сохраняемых в каждом кадре перед отслеживанием; ограничивает число объектов, обрабатываемых решением в насыщенных сценах.
quantizeint or strNoneТочность инференса: 16 (FP16) или 32/unset (FP32) для моделей PyTorch и TorchScript не на CPU; для других форматов точность определяется артефактом модели и средой выполнения. Заменяет устаревший аргумент half.
Аргументы визуализации

Для настройки визуализации можно использовать show_conf, show_labels и другие упомянутые аргументы.

АргументТипПо умолчаниюОписание
showboolFalseЕсли True, показывает аннотированные изображения или видео в окне. Полезно для мгновенной визуальной проверки во время разработки или тестирования.
show_confboolTrueПоказывает оценку уверенности каждой детекции рядом с меткой. Позволяет оценить уверенность модели в каждой детекции.
show_labelsboolTrueПоказывает метки каждой детекции на визуализации. Помогает сразу понять, какие объекты обнаружены.

Использование 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.
SolutionResults
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_imnp.ndarrayИзображение с визуальными наложениями, например счётчиками, эффектами размытия или улучшениями, специфичными для решения.
in_countintОбщее количество объектов, обнаруженных при входе в заданную зону видеопотока.
out_countintОбщее количество объектов, обнаруженных при выходе из заданной зоны видеопотока.
classwise_countdict[str, dict[str, int] | int]Количество объектов по классам: {"IN": int, "OUT": int} для ObjectCounter и Heatmap или int для Analytics.
queue_countintКоличество объектов, находящихся в данный момент в заданной очереди или зоне ожидания (подходит для управления очередями).
workout_countlist[int]Количество повторений упражнений для каждой дорожки отслеживания из AI Gym (одна запись на каждого отслеживаемого в данный момент человека).
workout_anglelist[float]Углы выполнения упражнений для каждой дорожки отслеживания из AI Gym (одна запись на каждого отслеживаемого в данный момент человека).
workout_stagelist[str]Текущий этап тренировки для каждой дорожки отслеживания из AI Gym (одна запись на каждого отслеживаемого в данный момент человека).
pixels_distancefloatРасстояние в пикселях между двумя объектами или точками, например ограничивающими рамками. (Подходит для расчёта расстояния).
available_slotsintКоличество свободных парковочных мест в отслеживаемой зоне (подходит для управления парковкой).
filled_slotsintКоличество занятых парковочных мест в отслеживаемой зоне. (Подходит для управления парковкой)
email_sentboolПоказывает, было ли успешно отправлено уведомление или оповещение по электронной почте (подходит для охранной сигнализации).
total_tracksintОбщее количество уникальных дорожек отслеживания объектов, обнаруженных при анализе видео.
region_countsDict[str, int]Подсчёт объектов в заданных пользователем областях или зонах.
speed_dictDict[int, int]Словарь оценок скорости объектов в км/ч для каждого трека, полученных с помощью SpeedEstimator; полезен для анализа скорости.
total_crop_objectsintОбщее количество обрезанных изображений объектов, созданных решением ObjectCropper.
speedDict[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 для комплексного анализа и визуализации данных.

Комментарии