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

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

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



Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀

Решения

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

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

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

АргументТипПо умолчаниюОписание
modelstrNoneПуть к файлу модели Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'Список точек, определяющих область подсчета.
show_inboolTrueФлаг для управления отображением входящих объектов на видеопотоке.
show_outboolTrueФлаг для управления отображением исходящих объектов на видеопотоке.
analytics_typestr'line'Тип графика, например, line (линейный), bar (столбчатый), area (диаграмма с областями) или pie (круговой).
colormapintcv2.COLORMAP_DEEPGREENЦветовая карта для тепловой карты.
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.
sourcestrNoneПуть к входному источнику (видео, RTSP и т.д.). Можно использовать только через интерфейс командной строки (CLI) Solutions.
figsizetuple[int, int](12.8, 7.2)Размер фигуры для аналитических графиков, таких как тепловые карты или диаграммы.
fpsfloat30.0Кадров в секунду, используемых для расчетов скорости.
max_histint5Максимальное количество исторических точек для отслеживания одного объекта для расчетов скорости/направления.
meter_per_pixelfloat0.05Коэффициент масштабирования, используемый для перевода расстояния в пикселях в реальные единицы измерения.
max_speedint120Максимальное ограничение скорости в визуальных наложениях (используется в оповещениях).
datastr'images'Путь к директории изображений, используемой для поиска по сходству.
Аргументы отслеживания

Решения также поддерживают некоторые аргументы из track, включая такие параметры, как conf, line_width, tracker, model, show, verbose и classes.

АргументТипПо умолчаниюОписание
trackerstr'botsort.yaml'Указывает алгоритм отслеживания, который необходимо использовать, например, bytetrack.yaml или botsort.yaml.
conffloat0.1Устанавливает порог достоверности для обнаружения; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания.
ioufloat0.7Устанавливает порог Intersection over Union (IoU) для фильтрации перекрывающихся обнаружений.
classeslistNoneФильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
verboseboolTrueУправляет отображением результатов отслеживания, предоставляя визуальный вывод отслеживаемых объектов.
devicestrNoneУказывает устройство для вывода (например, cpu, cuda:0 или 0). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели.
Аргументы визуализации

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

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

Использование SolutionAnnotator

Все решения Ultralytics используют отдельный класс SolutionAnnotator, который расширяет основной класс Annotator и имеет следующие методы:

МетодТип возвращаемого значенияОписание
draw_region()NoneРисует область, используя указанные точки, цвета и толщину.
queue_counts_display()NoneОтображает количество человек в очереди в указанной области.
display_analytics()NoneОтображает общую статистику для управления парковкой.
estimate_pose_angle()floatВычисляет угол между тремя точками в позе объекта.
draw_specific_points()NoneРисует определенные ключевые точки на изображении.
plot_workout_information()NoneРисует текстовое поле с меткой на изображении.
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_countintОбщее количество завершенных повторений тренировки во время отслеживания упражнений.
workout_anglefloatВычисленный угол сустава или позы во время тренировки для оценки формы.
workout_stagestrТекущий этап тренировки или фаза движения (например, «вверх», «вниз»).
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

Информация о команде

Большинство решений можно использовать непосредственно через интерфейс командной строки, включая:

Count, Crop, Blur, Workout, Heatmap, Isegment, Visioneye, Speed, Queue, Analytics, Inference, Trackzone

Синтаксис

yolo SOLUTIONS SOLUTION_NAME ARGS
  • SOLUTIONS — обязательное ключевое слово.
  • SOLUTION_NAME — одно из следующих: ['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye'].
  • 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 более надежной и универсальной 🙏!

Часто задаваемые вопросы (FAQ)

Как мне использовать Ultralytics YOLO для подсчета объектов в реальном времени?

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

Каковы преимущества использования Ultralytics YOLO для систем безопасности?

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

Как Ultralytics YOLO может улучшить системы управления очередями?

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

Можно ли использовать Ultralytics YOLO для мониторинга тренировок?

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

Как Ultralytics YOLO помогает в создании тепловых карт для визуализации данных?

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

Комментарии