Перейти к содержанию

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

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

Миниатюра Ultralytics Solutions



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

Решения

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

  • Подсчет объектов: Научитесь выполнять подсчет объектов в реальном времени с помощью YOLO11. Получите знания для точного подсчета объектов в потоках живого видео.
  • Обрезка объектов: Освойте обрезку объектов с помощью YOLO11 для точного извлечения объектов из изображений и видео.
  • Размытие объектов: Применяйте размытие объектов с помощью YOLO11 для защиты конфиденциальности при обработке изображений и видео.
  • Workouts Monitoring: Узнайте, как отслеживать тренировки с помощью YOLO11. Научитесь отслеживать и анализировать различные фитнес-программы в режиме реального времени.
  • Подсчет объектов в регионах: Подсчитывайте объекты в определенных регионах с помощью YOLO11 для точного обнаружения в различных областях.
  • Система охранной сигнализации: Создайте систему охранной сигнализации с помощью YOLO11, которая срабатывает при обнаружении новых объектов. Настройте систему в соответствии с вашими конкретными потребностями.
  • Тепловые карты: Используйте тепловые карты обнаружения для визуализации интенсивности данных по матрице, обеспечивая четкое понимание задач компьютерного зрения.
  • Сегментация экземпляров с отслеживанием объектов: Внедрите сегментацию экземпляров и отслеживание объектов с помощью YOLO11 для достижения точных границ объектов и непрерывного мониторинга.
  • VisionEye View Objects Mapping: Разрабатывайте системы, имитирующие фокусировку человеческого глаза на определенных объектах, расширяя возможности компьютера по различению и приоритизации деталей.
  • Оценка скорости: Оценивайте скорость объекта с помощью YOLO11 и методов отслеживания объектов, что имеет решающее значение для таких приложений, как автономные транспортные средства и мониторинг дорожного движения.
  • Вычисление расстояния: Вычисление расстояний между объектами с использованием центроидов ограничивающих рамок в YOLO11, что необходимо для пространственного анализа.
  • Управление очередью: Внедрите эффективные системы управления очередью, чтобы минимизировать время ожидания и повысить производительность с помощью YOLO11.
  • Управление парковкой: Организуйте и направляйте поток транспортных средств на парковках с помощью YOLO11, оптимизируя использование пространства и удобство пользователей.
  • Аналитика: Проводите всесторонний анализ данных для выявления закономерностей и принятия обоснованных решений, используя YOLO11 для описательной, прогнозной и предписывающей аналитики.
  • Вывод в реальном времени с помощью Streamlit: Используйте возможности YOLO11 для обнаружения объектов в реальном времени непосредственно через ваш веб-браузер с помощью удобного интерфейса Streamlit.
  • Отслеживание объектов в зоне: Узнайте, как отслеживать объекты в определенных зонах видеокадров с помощью YOLO11 для точного и эффективного мониторинга.
  • Поиск по сходству 🚀 НОВОЕ: Включите интеллектуальный поиск изображений, объединив вложения OpenAI CLIP с Meta FAISS, что позволяет использовать запросы на естественном языке, такие как «человек с сумкой» или «транспортные средства в движении».

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

Аргумент Тип По умолчанию Описание
model str None Путь к файлу модели Ultralytics YOLO.
region list '[(20, 400), (1260, 400)]' Список точек, определяющих область подсчета.
show_in bool True Флаг для управления отображением количества входящих объектов на видеопотоке.
show_out bool True Флаг для управления отображением количества исходящих объектов на видеопотоке.
analytics_type str line Тип графа, т.е. line, bar, area, или pie.
colormap int cv2.COLORMAP_JET Цветовая карта для тепловой карты.
json_file str None Путь к JSON-файлу, содержащему все данные о координатах парковки.
up_angle float 145.0 Пороговое значение угла для позы 'вверху'.
kpts list[int, int, 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) Точка, в которой зрение будет отслеживать объекты и рисовать пути, используя VisionEye Solution.
source str None Путь к входному источнику (видео, RTSP и т. д.). Используется только с интерфейсом командной строки (CLI) Solutions.
figsize tuple[int, int] (12.8, 7.2) Размер фигуры для аналитических графиков, таких как тепловые карты или графики.
fps float 30.0 Количество кадров в секунду, используемое для расчетов скорости.
max_hist int 5 Максимальное количество исторических точек для отслеживания каждого объекта для вычисления скорости/направления.
meter_per_pixel float 0.05 Коэффициент масштабирования, используемый для преобразования расстояния в пикселях в физические единицы.
max_speed int 120 Максимальное ограничение скорости в визуальных наложениях (используется в оповещениях).
data str 'images' Путь к каталогу изображений, используемому для поиска по сходству.

Отслеживать аргументы

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

Аргумент Тип По умолчанию Описание
tracker str 'botsort.yaml' Указывает алгоритм отслеживания, например, bytetrack.yaml или botsort.yaml.
conf float 0.3 Устанавливает порог уверенности для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания.
iou float 0.5 Устанавливает порог Intersection over Union (IoU) для фильтрации перекрывающихся обнаружений.
classes list None Фильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
verbose bool True Управляет отображением результатов отслеживания, обеспечивая визуальный вывод отслеживаемых объектов.
device str None Указывает устройство для инференса (например, cpu, cuda:0 или 0). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели.

Аргументы визуализации

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

Аргумент Тип По умолчанию Описание
show bool False Если True, отображает аннотированные изображения или видео в окне. Полезно для немедленной визуальной обратной связи во время разработки или тестирования.
line_width None or int None Указывает ширину линии ограничивающих рамок. Если None, ширина линии автоматически регулируется в зависимости от размера изображения. Обеспечивает визуальную настройку для большей четкости.
show_conf bool True Отображает оценку достоверности для каждого обнаружения рядом с меткой. Дает представление об уверенности модели для каждого обнаружения.
show_labels bool True Отображает метки для каждого обнаружения в визуальном выводе. Обеспечивает немедленное понимание обнаруженных объектов.

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

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

Метод Тип возвращаемого значения Описание
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, каждый вызов Solution возвращает список 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="yolo11n.pt",  # model="yolo11n-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_im np.ndarray Изображение с визуальными наложениями, такими как счетчики, эффекты размытия или специфические для решения улучшения.
in_count int Общее количество объектов, обнаруженных при входе в определенную зону в видеопотоке.
out_count int Общее количество объектов, обнаруженных при выходе из определенной зоны в видеопотоке.
classwise_count Dict[str, int] Словарь, записывающий количество входящих/исходящих объектов по классам для расширенной аналитики.
queue_count int Количество объектов, находящихся в данный момент в предопределенной очереди или зоне ожидания (подходит для управления очередью).
workout_count int Общее количество повторений тренировки, выполненных во время отслеживания упражнений.
workout_angle float Вычисление угла сустава или позы во время тренировки для оценки формы.
workout_stage str Текущая стадия тренировки или фаза движения (например, «вверх», «вниз»).
pixels_distance float Расстояние между двумя объектами или точками в пикселях, например, ограничивающие рамки. (Подходит для вычисления расстояния).
available_slots int Количество свободных мест в контролируемой зоне (подходит для управления парковкой).
filled_slots int Количество занятых мест в контролируемой зоне (подходит для управления парковкой).
email_sent bool Указывает, было ли успешно отправлено уведомление или предупреждающее электронное письмо (подходит для охранной сигнализации).
total_tracks int Общее количество уникальных треков объектов, наблюдаемых во время анализа видео.
region_counts Dict[str, int] Подсчет объектов в определяемых пользователем регионах или зонах.
speed_dict Dict[str, float] Словарь скоростей объектов по трекам, полезный для анализа скорости.
total_crop_objects int Общее количество обрезанных изображений объектов, сгенерированных решением ObjectCropper.
speed Dict[str, float] Словарь, содержащий метрики производительности для отслеживания и обработки решений.

Для получения более подробной информации обратитесь к SolutionResults документацию класса.

Использование решений через CLI

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

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

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

Синтаксис

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 source="path/to/video.mp4" # specify video file path

Внесите свой вклад в наши решения

Мы приветствуем вклад сообщества! Если вы освоили какой-либо конкретный аспект Ultralytics YOLO, который еще не освещен в наших решениях, мы рекомендуем вам поделиться своим опытом. Написание руководства — отличный способ внести свой вклад в сообщество и помочь нам сделать нашу документацию более полной и удобной для пользователя.

Для начала ознакомьтесь с нашим Руководством для участников, чтобы получить инструкции о том, как открыть запрос на внесение изменений (Pull Request, PR) 🛠️. Мы с нетерпением ждем ваших вкладов!

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

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

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

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

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

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

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

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

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

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

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

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



📅 Создано 1 год назад ✏️ Обновлено 1 месяц назад

Комментарии