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

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

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

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



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

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

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

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

Розничная торговля Рыночные улицы
Подсчет людей в разных регионах с помощью 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 Устанавливает порог пересечения над объединением (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Ширина линии автоматически регулируется в зависимости от размера изображения. Обеспечивает визуальную настройку для наглядности.

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Что такое подсчет объектов в заданных областях с помощью 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 год назад ✏️ Обновлено 5 дней назад

Комментарии