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

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

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

Миниатюра Ultralytics Solutions



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

Решения

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

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

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

АргументТипПо умолчаниюОписание
modelstrNoneПуть к файлу модели Ultralytics YOLO .
regionlist'[(20, 400), (1260, 400)]'Список точек, определяющих область подсчета.
show_inboolTrueФлаг для управления отображением количества входящих объектов на видеопотоке.
show_outboolTrueФлаг для управления отображением количества исходящих объектов на видеопотоке.
analytics_typestrlineТип графа, т.е. line, bar, area, или pie.
colormapintcv2.COLORMAP_JETЦветовая карта для тепловой карты.
json_filestrNoneПуть к JSON-файлу, содержащему все данные о координатах парковки.
up_anglefloat145.0Пороговое значение угла для позы 'вверху'.
kptslist[int, int, 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)Точка, где зрение будет track объекты и рисовать траектории с помощью VisionEye Solution.
sourcestrNoneПуть к входному источнику (видео, RTSP и т. д.). Используется только с интерфейсом командной строки (CLI) Solutions.
figsizetuple[int, int](12.8, 7.2)Размер фигуры для аналитических графиков, таких как тепловые карты или графики.
fpsfloat30.0Количество кадров в секунду, используемое для расчетов скорости.
max_histint5Максимальное количество исторических точек для track каждого объекта для расчета скорости/направления.
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.3Устанавливает порог уверенности для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания.
ioufloat0.5Устанавливает порог пересечения над объединениемIoU) для фильтрации перекрывающихся обнаружений.
classeslistNoneФильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
verboseboolTrueУправляет отображением результатов отслеживания, обеспечивая визуальный вывод отслеживаемых объектов.
devicestrNoneУказывает устройство для инференса (например, cpu, cuda:0 или 0). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели.

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

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

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

Использование 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_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

Синтаксис

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 более надежной и универсальной 🙏!

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

Как я могу использовать 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 год назад ✏️ Обновлено 8 дней назад
RizwanMunawarglenn-jocherLaughing-qUltralyticsAssistant

Комментарии