Ultralytics YOLO27:

Решения Ultralytics: используй YOLO26 для решения реальных задач#

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

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



Watch: How to Run Ultralytics Solutions from the Command Line (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_angleint90Порог угла для позы «вниз».
blur_ratiofloat0.5Настраивает процент интенсивности размытия; допустимые значения находятся в диапазоне 0.1 - 1.0.
crop_dirstr'cropped-detections'Имя каталога для хранения обрезанных детекций.
recordsint5Общее количество детекций, необходимое для отправки электронного письма системой охранной сигнализации.
vision_pointtuple[int, int](20, 20)Точка, в которой VisionEye отслеживает объекты и рисует траектории с помощью решения VisionEye.
sourcestrNoneПуть к источнику входных данных (видео, RTSP и т. д.). Доступно только через интерфейс командной строки Solutions (CLI).
figsizetuple[float, float](12.8, 7.2)Размер рисунка для аналитических диаграмм, таких как тепловые карты или графики.
fpsfloat30.0Количество кадров в секунду, используемое для расчёта скорости.
max_histint5Максимальное количество исторических точек для каждого объекта, используемое при расчёте скорости и направления.
meter_per_pixelfloat0.05Масштабный коэффициент для преобразования расстояния в пикселях в единицы реального мира.
max_speedint120Максимальное ограничение скорости на визуальных наложениях (используется в оповещениях).
datastr'images'Путь к каталогу изображений, используемому для поиска похожих изображений.
imgszint640Размер входного изображения для инференса модели.
Аргументы отслеживания

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

АргументТипПо умолчаниюОписание
trackerstr'botsort.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/не задано (FP32) для моделей PyTorch и TorchScript; остальные форматы выполняют вычисления с точностью, выбранной их артефактом и средой выполнения. Заменяет устаревший флаг 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,  # display the output
    region=region_points,  # pass region points
    model="yolo26n.pt",  # model="yolo26n-obb.pt" for object counting with OBB model.
    # classes=[0, 2],  # count specific classes i.e. person and car with COCO pretrained model.
    # tracker="botsort.yaml"  # Choose trackers i.e "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, int]Словарь с количеством входящих и выходящих объектов по классам для расширенной аналитики.
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[str, float]Словарь скоростей объектов по трекам, полезный для анализа скорости.
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, который ещё не рассматривается в наших решениях, поделись своими знаниями. Написание руководства — отличный способ внести свой вклад в развитие сообщества и помочь нам сделать документацию более полной и удобной для пользователей.

Для начала ознакомься с нашим руководством для участников, где описано, как открыть запрос на включение (PR) 🛠️. Мы с нетерпением ждём твоих вкладов!

Давай вместе сделаем экосистему Ultralytics YOLO более надёжной и универсальной 🙏!

Часто задаваемые вопросы#

  • Ultralytics YOLO26 можно использовать для подсчёта объектов в реальном времени благодаря его расширенным возможностям обнаружения объектов. Ознакомься с нашим подробным руководством по подсчёту объектов, чтобы настроить YOLO26 для анализа видеопотока в реальном времени. Просто установи YOLO26, загрузи модель и обрабатывай кадры видео для динамического подсчёта объектов.

  • Ultralytics YOLO26 повышает эффективность систем безопасности благодаря обнаружению объектов в реальном времени и механизмам оповещения. Используя YOLO26, ты можешь создать систему охранной сигнализации, которая отправляет оповещения при обнаружении новых объектов в зоне наблюдения. Узнай, как настроить систему охранной сигнализации с YOLO26 для надёжного мониторинга безопасности.

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

  • Да, Ultralytics YOLO26 можно эффективно использовать для мониторинга тренировок, отслеживая и анализируя фитнес-упражнения в реальном времени. Это позволяет точно оценивать технику выполнения упражнений и результаты. Ознакомься с нашим руководством по мониторингу тренировок, чтобы узнать, как настроить систему мониторинга тренировок на базе ИИ с использованием YOLO26.

  • Ultralytics YOLO26 может создавать тепловые карты для визуализации интенсивности данных в заданной области, выделяя зоны с высокой активностью или представляющие особый интерес. Эта функция особенно полезна для понимания закономерностей и тенденций в различных задачах компьютерного зрения. Узнай больше о создании и использовании тепловых карт с YOLO26 для всестороннего анализа и визуализации данных.

Комментарии