Skip to main content

Ultralytics Solutions: Используй YOLO26 для решения практических задач

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

Миниатюра Ultralytics Solutions



Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀

Solutions

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

  • Analytics: Проводи всесторонний анализ данных, чтобы находить закономерности и принимать обоснованные решения, используя YOLO26 для дескриптивной, предиктивной и предписательной аналитики.
  • Расчет расстояния: Вычисляй расстояния между объектами, используя bounding box центроиды в YOLO26, что важно для пространственного анализа.
  • Тепловые карты (Heatmaps): Используй тепловые карты детекции для визуализации интенсивности данных в матрице, получая четкое представление в задачах компьютерного зрения.
  • Сегментация экземпляров с отслеживанием объектов: Внедряй instance segmentation и отслеживание объектов с YOLO26 для получения точных границ объектов и непрерывного мониторинга.
  • Live Inference (вывод в реальном времени) со Streamlit: Используй мощь YOLO26 для обнаружения объектов в реальном времени прямо через браузер с удобным интерфейсом Streamlit.
  • Размытие объектов: Применяй размытие объектов с помощью YOLO26 для защиты конфиденциальности при обработке изображений и видео.
  • Подсчет объектов: Узнай, как выполнять подсчет объектов в реальном времени с YOLO26. Получи опыт точного подсчета объектов в живых видеопотоках.
  • Подсчет объектов в регионах: Считай объекты в определенных регионах с помощью YOLO26 для точной детекции в различных зонах.
  • Обрезка объектов (Object Cropping): Освой обрезку объектов с YOLO26 для точного извлечения объектов из изображений и видео.
  • Управление парковкой: Организуй и направляй поток транспортных средств на парковках с YOLO26, оптимизируя использование пространства и повышая удобство для пользователей.
  • Управление очередями: Внедряй эффективные системы управления очередями, чтобы минимизировать время ожидания и повысить производительность с помощью YOLO26.
  • Система охранной сигнализации: Создай систему охранной сигнализации с YOLO26, которая отправляет уведомления при обнаружении новых объектов. Настрой систему под свои специфические нужды.
  • Поиск по сходству: Включи интеллектуальный поиск изображений, объединяя OpenAI CLIP эмбеддинги с Meta FAISS, что позволит использовать запросы на естественном языке, такие как "человек с сумкой" или "транспорт в движении."
  • Оценка скорости: Оценивай скорость объекта, используя YOLO26 и методы отслеживания, что критически важно для таких приложений, как автономные автомобили и мониторинг трафика.
  • Отслеживание объектов в зоне: Узнай, как отслеживать объекты в определенных зонах видеокадров с помощью YOLO26 для точного и эффективного мониторинга.
  • VisionEye: картографирование объектов: Разрабатывай системы, имитирующие фокусировку человеческого глаза на конкретных объектах, улучшая способность компьютера распознавать и приоритизировать детали.
  • Мониторинг тренировок: Узнай, как отслеживать тренировки с помощью YOLO26. Научись отслеживать и анализировать различные фитнес-упражнения в реальном времени.

Аргументы для Solutions

АргументТипПо умолчаниюОписание
modelstrNoneПуть к файлу модели Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'Список точек, определяющих область подсчета.
show_inboolTrueФлаг для управления отображением количества вошедших объектов на видеопотоке.
show_outboolTrueФлаг для управления отображением количества вышедших объектов на видеопотоке.
analytics_typestr'line'Тип графика, например, line, bar, area, или pie.
colormapintcv2.COLORMAP_DEEPGREENЦветовая схема (colormap) для использования в тепловой карте.
json_filestrNoneПуть к JSON-файлу, содержащему все данные координат парковочных мест.
up_anglefloat145.0Пороговое значение угла для позы 'вверх' (up).
kptslist[int]'[6, 8, 10]'Список из трех индексов ключевых точек (keypoints), используемых для мониторинга тренировок. Эти ключевые точки соответствуют суставам или частям тела, таким как плечи, локти и запястья, для таких упражнений, как отжимания, подтягивания, приседания и упражнения на пресс.
down_angleint90Пороговое значение угла для позы 'вниз' (down).
blur_ratiofloat0.5Регулирует процент интенсивности размытия, со значениями в диапазоне 0.1 - 1.0.
crop_dirstr'cropped-detections'Имя директории для сохранения обрезанных (cropped) результатов детекции.
recordsint5Общее количество детекций для отправки уведомления по электронной почте в системе охранной сигнализации.
vision_pointtuple[int, int](20, 20)Точка, в которой зрение будет отслеживать объекты и рисовать пути с помощью решения VisionEye.
sourcestrNoneПуть к источнику входных данных (видео, RTSP и т.д.). Используется только с командной строкой (CLI) Solutions.
figsizetuple[int, int](12.8, 7.2)Размер фигуры для аналитических диаграмм, таких как тепловые карты или графики.
fpsfloat30.0Количество кадров в секунду, используемое для расчетов скорости.
max_histint5Максимальное количество исторических точек для отслеживания на каждый объект при расчетах скорости/направления.
meter_per_pixelfloat0.05Масштабирующий коэффициент, используемый для перевода расстояния в пикселях в реальные единицы измерения.
max_speedint120Максимально допустимая скорость в визуальных наложениях (используется в оповещениях).
datastr'images'Путь к директории изображений, используемой для поиска по сходству.
Аргументы трекинга

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

АргументТипПо умолчаниюОписание
trackerstr'botsort.yaml'Указывает используемый алгоритм отслеживания, например, bytetrack.yaml или botsort.yaml.
conffloat0.1Устанавливает порог уверенности для детекции; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания.
ioufloat0.7Устанавливает Intersection over Union (IoU) порог для фильтрации перекрывающихся детектий.
classeslistNoneФильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
verboseboolTrueУправляет отображением результатов трекинга, предоставляя визуальный вывод отслеживаемых объектов.
devicestrNoneУказывает устройство для инференса (например, cpu, cuda:0 или 0). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели.
Аргументы визуализации

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

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

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

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

МетодТип возвращаемого значенияОписание
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Аннотирует ограничивающие рамки (bbox) метками классов объектов.
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="yolo26n.pt",  # model="yolo26n-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 документацию класса.

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

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

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

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

Синтаксис

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

FAQ

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

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

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

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

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

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

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

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

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

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

Комментарии