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

Подсчет объектов в различных регионах с использованием 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 аргументы:

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

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

АргументТипПо умолчаниюОписание
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 или другими вычислительными устройствами для выполнения модели.

Кроме того, поддерживаются следующие настройки визуализации:

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

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

Что такое подсчет объектов в указанных областях с использованием 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 год назад ✏️ Обновлено 8 дней назад
glenn-jocherRizwanMunawarleonnilBurhan-Q

Комментарии