YOLO Vision 2026:

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

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

Ultralytics Solutions Thumbnail



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

Решения#

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

  • Аналитика: проводи комплексный анализ данных для выявления закономерностей и принятия обоснованных решений, используя YOLO26 для описательной, прогнозной и предписывающей аналитики.
  • Расчет расстояния: вычисляй расстояния между объектами с помощью центроидов bounding box в YOLO26, что важно для пространственного анализа.
  • Тепловые карты: используй тепловые карты детектирования для визуализации интенсивности данных по матрице, обеспечивая наглядное понимание задач компьютерного зрения.
  • Сегментация экземпляров с трекингом объектов: реализуй сегментацию экземпляров и трекинг объектов с помощью YOLO26 для получения точных границ объектов и непрерывного мониторинга.
  • Инференс в реальном времени с Streamlit: задействуй возможности YOLO26 для обнаружения объектов в реальном времени прямо в веб-браузере с помощью удобного интерфейса Streamlit.
  • Размытие объектов: применяй размытие объектов с помощью YOLO26 для защиты конфиденциальности при обработке изображений и видео.
  • Подсчет объектов: научись выполнять подсчет объектов в реальном времени с помощью YOLO26. Получи навыки точного подсчета объектов в видеопотоках в реальном времени.
  • Подсчет объектов в областях: подсчитывай объекты в определенных областях с помощью YOLO26 для точного детектирования в различных зонах.
  • Обрезание объектов: освой обрезание объектов с помощью YOLO26 для точного извлечения объектов из изображений и видео.
  • Управление парковкой: организуй и направляй поток транспортных средств на парковках с помощью YOLO26, оптимизируя использование пространства и пользовательский опыт.
  • Управление очередями: внедряй эффективные системы управления очередями для минимизации времени ожидания и повышения производительности с помощью YOLO26.
  • Система охранной сигнализации: создай систему охранной сигнализации с помощью YOLO26, которая подает сигналы тревоги при обнаружении новых объектов. Настрой систему под свои конкретные нужды.
  • Поиск по сходству: включи интеллектуальный поиск изображений, объединив эмбеддинги OpenAI CLIP с поиском по косинусному сходству, что позволяет использовать запросы на естественном языке, такие как "человек с сумкой" или "движущийся транспорт".
  • Оценка скорости: оценивай скорость объектов с помощью YOLO26 и методов трекинга объектов, что критически важно для таких приложений, как автономные транспортные средства и мониторинг дорожного движения.
  • Трекинг объектов в зоне: узнай, как отслеживать объекты в определенных зонах видеокадров с помощью YOLO26 для точного и эффективного мониторинга.
  • Картирование объектов VisionEye View: разрабатывай системы, имитирующие фокусировку человеческого глаза на определенных объектах, повышая способность компьютера распознавать детали и расставлять приоритеты.
  • Мониторинг тренировок: узнай, как контролировать тренировки с помощью YOLO26. Научись отслеживать и анализировать различные фитнес-рутины в реальном времени.

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

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

Solutions forward some of their arguments to track, namely tracker, conf, iou, classes and device.

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

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

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

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

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

МетодТип возвращаемого значенияОписание
draw_region()NoneРисует область, используя указанные точки, цвета и толщину.
queue_counts_display()NoneОтображает количество объектов в очереди в указанной области.
display_analytics()NoneОтображает общую статистику для управления парковкой.
estimate_pose_angle()floatВычисляет угол между тремя точками в позе объекта.
draw_specific_kpts()np.ndarrayРисует определенные ключевые точки на изображении.
plot_workout_information()intРисует текстовое поле с меткой на изображении.
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, каждый вызов решения возвращает объект 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_countlist[int]Подсчет повторений упражнений по трекам из AI Gym (по одной записи на каждого отслеживаемого человека).
workout_anglelist[float]Углы упражнений по трекам из AI Gym (по одной записи на каждого отслеживаемого человека).
workout_stagelist[str]Текущий этап тренировки по трекам из AI Gym (по одной записи на каждого отслеживаемого человека).
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, Trackzone

Синтаксис

yolo SOLUTIONS SOLUTION_NAME ARGS
  • SOLUTIONS — обязательное ключевое слово.
  • SOLUTION_NAME — это одно из значений: ['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye', 'region', 'security', 'parking'].
  • 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 YOLO26 можно использовать для подсчета объектов в реальном времени, задействуя его расширенные возможности обнаружения объектов. Ты можешь следовать нашему подробному руководству по подсчету объектов, чтобы настроить YOLO26 для анализа видеопотока в реальном времени. Просто установи YOLO26, загрузи свою модель и обрабатывай видеокадры для динамического подсчета объектов.

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

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

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

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

Комментарии