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

Подсчет объектов в различных регионах с использованием Ultralytics YOLO 🚀

Что такое подсчет объектов в регионах?

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



Смотреть: Подсчет объектов в различных регионах с использованием Ultralytics YOLO11 | Ultralytics Solutions 🚀

Преимущества подсчета объектов в регионах?

  • Точность и аккуратность: Подсчет объектов в регионах с использованием передового компьютерного зрения обеспечивает точный и аккуратный подсчет, минимизируя ошибки, часто связанные с ручным подсчетом.
  • Повышение эффективности: Автоматизированный подсчет объектов повышает операционную эффективность, обеспечивая результаты в реальном времени и оптимизируя процессы в различных приложениях.
  • Универсальность и применение: Универсальность подсчета объектов в регионах делает его применимым в различных областях, от производства и наблюдения до мониторинга трафика, что способствует его широкому распространению и эффективности.

Приложения в реальном мире

Розничная торговля Рыночные улицы
Подсчет людей в разных регионах с использованием Ultralytics YOLO11 Подсчет людей в разных регионах с использованием Ultralytics YOLO11
Подсчет людей в разных регионах с использованием Ultralytics YOLO11 Подсчет людей в разных регионах с использованием Ultralytics YOLO11

Примеры использования

Подсчет регионов с использованием Ultralytics YOLO

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Pass region as list
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]

# Pass region as dictionary
region_points = {
    "region-01": [(50, 50), (250, 50), (250, 250), (50, 250)],
    "region-02": [(640, 640), (780, 640), (780, 720), (640, 720)],
}

# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("region_counting.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize region counter object
regioncounter = solutions.RegionCounter(
    show=True,  # display the frame
    region=region_points,  # pass region points
    model="yolo11n.pt",  # model for counting in regions i.e yolo11s.pt
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or processing is complete.")
        break

    results = regioncounter(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

Пример кода Ultralytics

Модуль подсчета регионов Ultralytics доступен в нашем разделе примеров. Вы можете изучить этот пример для настройки кода и изменить его в соответствии с вашим конкретным вариантом использования.

RegionCounter Аргументы

Вот таблица с RegionCounter аргументы:

Аргумент Тип По умолчанию Описание
model str None Путь к файлу модели Ultralytics YOLO.
region list '[(20, 400), (1260, 400)]' Список точек, определяющих область подсчета.

Параметр RegionCounter Решение позволяет использовать параметры отслеживания объектов:

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

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

Что такое подсчет объектов в указанных областях с использованием Ultralytics YOLO11?

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

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

Выполните следующие шаги, чтобы запустить подсчет объектов в Ultralytics YOLO11:

  1. Клонируйте репозиторий Ultralytics и перейдите в этот каталог:

    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics/examples/YOLOv8-Region-Counter
    
  2. Выполните скрипт подсчета регионов:

    python yolov8_region_counter.py --source "path/to/video.mp4" --save-img
    

Дополнительные опции можно найти в разделе Примеры использования.

Почему мне следует использовать Ultralytics YOLO11 для подсчета объектов в областях?

Использование Ultralytics YOLO11 для подсчета объектов в регионах предлагает несколько преимуществ:

  1. Обработка в реальном времени: Архитектура YOLO11 обеспечивает быстрый инференс, что делает его идеальным для приложений, требующих немедленных результатов подсчета.
  2. Гибкое определение области: Решение позволяет определять несколько пользовательских областей в виде многоугольников, прямоугольников или линий в соответствии с вашими конкретными потребностями мониторинга.
  3. Поддержка нескольких классов: Одновременный подсчет различных типов объектов в одних и тех же областях, обеспечивающий всестороннюю аналитику.
  4. Возможности интеграции: Легко интегрируется с существующими системами через Ultralytics Python API или интерфейс командной строки.

Узнайте о более глубоких преимуществах в разделе Преимущества.

Каковы некоторые реальные применения подсчета объектов в регионах?

Подсчет объектов с помощью Ultralytics YOLO11 можно применять во многих реальных сценариях:

  • Розничная аналитика: Подсчет клиентов в различных секциях магазина для оптимизации планировки и укомплектования персоналом.
  • Управление дорожным движением: Отслеживайте поток транспортных средств на определенных участках дорог или перекрестках.
  • Производство: Отслеживание продукции, перемещающейся по различным производственным зонам.
  • Складские операции: Подсчет товарно-материальных запасов в отведенных местах хранения.
  • Общественная безопасность: Мониторинг плотности толпы в определенных зонах во время мероприятий.

Ознакомьтесь с другими примерами в разделе Приложения в реальном мире и решением TrackZone для дополнительных возможностей мониторинга на основе зон.



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

Комментарии