Решения Ultralytics: Используйте YOLO11 для решения реальных задач
Ultralytics Solutions предоставляют передовые приложения моделей YOLO, предлагая решения для реальных задач, такие как подсчет объектов, размытие и системы безопасности, повышая эффективность и точность в различных отраслях. Откройте для себя возможности YOLO11 для практических и эффективных реализаций.
Смотреть: Как запускать решения Ultralytics из командной строки (CLI) | Ultralytics YOLO11 🚀
Решения
Вот наш тщательно подобранный список решений Ultralytics, которые можно использовать для создания потрясающих проектов в области компьютерного зрения.
- Подсчет объектов: Научитесь выполнять подсчет объектов в реальном времени с помощью YOLO11. Получите знания для точного подсчета объектов в потоках живого видео.
- Обрезка объектов: Освойте обрезку объектов с помощью YOLO11 для точного извлечения объектов из изображений и видео.
- Размытие объектов: Применяйте размытие объектов с помощью YOLO11 для защиты конфиденциальности при обработке изображений и видео.
- Workouts Monitoring: Узнайте, как отслеживать тренировки с помощью YOLO11. Научитесь отслеживать и анализировать различные фитнес-программы в режиме реального времени.
- Подсчет объектов в регионах: Подсчитывайте объекты в определенных регионах с помощью YOLO11 для точного обнаружения в различных областях.
- Система охранной сигнализации: Создайте систему охранной сигнализации с помощью YOLO11, которая срабатывает при обнаружении новых объектов. Настройте систему в соответствии с вашими конкретными потребностями.
- Тепловые карты: Используйте тепловые карты обнаружения для визуализации интенсивности данных по матрице, обеспечивая четкое понимание задач компьютерного зрения.
- Сегментация экземпляров с отслеживанием объектов: Внедрите сегментацию экземпляров и отслеживание объектов с помощью YOLO11 для достижения точных границ объектов и непрерывного мониторинга.
- VisionEye View Objects Mapping: Разрабатывайте системы, имитирующие фокусировку человеческого глаза на определенных объектах, расширяя возможности компьютера по различению и приоритизации деталей.
- Оценка скорости: Оценивайте скорость объекта с помощью YOLO11 и методов отслеживания объектов, что имеет решающее значение для таких приложений, как автономные транспортные средства и мониторинг дорожного движения.
- Вычисление расстояния: Вычисление расстояний между объектами с использованием центроидов ограничивающих рамок в YOLO11, что необходимо для пространственного анализа.
- Управление очередью: Внедрите эффективные системы управления очередью, чтобы минимизировать время ожидания и повысить производительность с помощью YOLO11.
- Управление парковкой: Организуйте и направляйте поток транспортных средств на парковках с помощью YOLO11, оптимизируя использование пространства и удобство пользователей.
- Аналитика: Проводите всесторонний анализ данных для выявления закономерностей и принятия обоснованных решений, используя YOLO11 для описательной, прогнозной и предписывающей аналитики.
- Вывод в реальном времени с помощью Streamlit: Используйте возможности YOLO11 для обнаружения объектов в реальном времени непосредственно через ваш веб-браузер с помощью удобного интерфейса Streamlit.
- Отслеживание объектов в зоне: Узнайте, как отслеживать объекты в определенных зонах видеокадров с помощью YOLO11 для точного и эффективного мониторинга.
- Поиск по сходству 🚀 НОВОЕ: Включите интеллектуальный поиск изображений, объединив вложения OpenAI CLIP с Meta FAISS, что позволяет использовать запросы на естественном языке, такие как «человек с сумкой» или «транспортные средства в движении».
Аргументы решений
Аргумент | Тип | По умолчанию | Описание |
---|---|---|---|
model |
str |
None |
Путь к файлу модели Ultralytics YOLO. |
region |
list |
'[(20, 400), (1260, 400)]' |
Список точек, определяющих область подсчета. |
show_in |
bool |
True |
Флаг для управления отображением количества входящих объектов на видеопотоке. |
show_out |
bool |
True |
Флаг для управления отображением количества исходящих объектов на видеопотоке. |
analytics_type |
str |
line |
Тип графа, т.е. line , bar , area , или pie . |
colormap |
int |
cv2.COLORMAP_JET |
Цветовая карта для тепловой карты. |
json_file |
str |
None |
Путь к JSON-файлу, содержащему все данные о координатах парковки. |
up_angle |
float |
145.0 |
Пороговое значение угла для позы 'вверху'. |
kpts |
list[int, int, int] |
'[6, 8, 10]' |
Список ключевых точек, используемых для мониторинга тренировок. Эти ключевые точки соответствуют суставам или частям тела, таким как плечи, локти и запястья, для таких упражнений, как отжимания, подтягивания, приседания, упражнения для пресса. |
down_angle |
float |
90.0 |
Пороговое значение угла для позы 'внизу'. |
blur_ratio |
float |
0.5 |
Регулирует процент интенсивности размытия, со значениями в диапазоне 0.1 - 1.0 . |
crop_dir |
str |
'cropped-detections' |
Имя каталога для хранения обрезанных обнаружений. |
records |
int |
5 |
Общее количество обнаружений для запуска электронной почты с системой охранной сигнализации. |
vision_point |
tuple[int, int] |
(20, 20) |
Точка, в которой зрение будет отслеживать объекты и рисовать пути, используя VisionEye Solution. |
source |
str |
None |
Путь к входному источнику (видео, RTSP и т. д.). Используется только с интерфейсом командной строки (CLI) Solutions. |
figsize |
tuple[int, int] |
(12.8, 7.2) |
Размер фигуры для аналитических графиков, таких как тепловые карты или графики. |
fps |
float |
30.0 |
Количество кадров в секунду, используемое для расчетов скорости. |
max_hist |
int |
5 |
Максимальное количество исторических точек для отслеживания каждого объекта для вычисления скорости/направления. |
meter_per_pixel |
float |
0.05 |
Коэффициент масштабирования, используемый для преобразования расстояния в пикселях в физические единицы. |
max_speed |
int |
120 |
Максимальное ограничение скорости в визуальных наложениях (используется в оповещениях). |
data |
str |
'images' |
Путь к каталогу изображений, используемому для поиска по сходству. |
Отслеживать аргументы
Решения также поддерживают некоторые аргументы из track
, включая такие параметры, как conf
, line_width
, tracker
, model
, show
, verbose
и classes
.
Аргумент | Тип | По умолчанию | Описание |
---|---|---|---|
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_conf
, show_labels
, и другие упомянутые аргументы для настройки визуализации.
Аргумент | Тип | По умолчанию | Описание |
---|---|---|---|
show |
bool |
False |
Если True , отображает аннотированные изображения или видео в окне. Полезно для немедленной визуальной обратной связи во время разработки или тестирования. |
line_width |
None or int |
None |
Указывает ширину линии ограничивающих рамок. Если None , ширина линии автоматически регулируется в зависимости от размера изображения. Обеспечивает визуальную настройку для большей четкости. |
show_conf |
bool |
True |
Отображает оценку достоверности для каждого обнаружения рядом с меткой. Дает представление об уверенности модели для каждого обнаружения. |
show_labels |
bool |
True |
Отображает метки для каждого обнаружения в визуальном выводе. Обеспечивает немедленное понимание обнаруженных объектов. |
Использование SolutionAnnotator
Все решения Ultralytics используют отдельный класс SolutionAnnotator
, который расширяет основной Annotator
class и имеет следующие методы:
Метод | Тип возвращаемого значения | Описание |
---|---|---|
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 |
Аннотирует ограничивающие рамки метками классов объектов. |
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="yolo11n.pt", # model="yolo11n-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_im |
np.ndarray |
Изображение с визуальными наложениями, такими как счетчики, эффекты размытия или специфические для решения улучшения. |
in_count |
int |
Общее количество объектов, обнаруженных при входе в определенную зону в видеопотоке. |
out_count |
int |
Общее количество объектов, обнаруженных при выходе из определенной зоны в видеопотоке. |
classwise_count |
Dict[str, int] |
Словарь, записывающий количество входящих/исходящих объектов по классам для расширенной аналитики. |
queue_count |
int |
Количество объектов, находящихся в данный момент в предопределенной очереди или зоне ожидания (подходит для управления очередью). |
workout_count |
int |
Общее количество повторений тренировки, выполненных во время отслеживания упражнений. |
workout_angle |
float |
Вычисление угла сустава или позы во время тренировки для оценки формы. |
workout_stage |
str |
Текущая стадия тренировки или фаза движения (например, «вверх», «вниз»). |
pixels_distance |
float |
Расстояние между двумя объектами или точками в пикселях, например, ограничивающие рамки. (Подходит для вычисления расстояния). |
available_slots |
int |
Количество свободных мест в контролируемой зоне (подходит для управления парковкой). |
filled_slots |
int |
Количество занятых мест в контролируемой зоне (подходит для управления парковкой). |
email_sent |
bool |
Указывает, было ли успешно отправлено уведомление или предупреждающее электронное письмо (подходит для охранной сигнализации). |
total_tracks |
int |
Общее количество уникальных треков объектов, наблюдаемых во время анализа видео. |
region_counts |
Dict[str, int] |
Подсчет объектов в определяемых пользователем регионах или зонах. |
speed_dict |
Dict[str, float] |
Словарь скоростей объектов по трекам, полезный для анализа скорости. |
total_crop_objects |
int |
Общее количество обрезанных изображений объектов, сгенерированных решением ObjectCropper. |
speed |
Dict[str, float] |
Словарь, содержащий метрики производительности для отслеживания и обработки решений. |
Для получения более подробной информации обратитесь к SolutionResults
документацию класса.
Использование решений через CLI
Информация о команде
Большинство решений можно использовать непосредственно через интерфейс командной строки, в том числе:
Count
, Crop
, Blur
, Workout
, Heatmap
, Isegment
, Visioneye
, Speed
, Queue
, Analytics
, Inference
Синтаксис
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 source="path/to/video.mp4" # specify video file path
Внесите свой вклад в наши решения
Мы приветствуем вклад сообщества! Если вы освоили какой-либо конкретный аспект Ultralytics YOLO, который еще не освещен в наших решениях, мы рекомендуем вам поделиться своим опытом. Написание руководства — отличный способ внести свой вклад в сообщество и помочь нам сделать нашу документацию более полной и удобной для пользователя.
Для начала ознакомьтесь с нашим Руководством для участников, чтобы получить инструкции о том, как открыть запрос на внесение изменений (Pull Request, PR) 🛠️. Мы с нетерпением ждем ваших вкладов!
Давайте работать вместе, чтобы сделать экосистему Ultralytics YOLO более надежной и универсальной 🙏!
Часто задаваемые вопросы
Как я могу использовать Ultralytics YOLO для подсчета объектов в реальном времени?
Ultralytics YOLO11 можно использовать для подсчета объектов в реальном времени, используя его расширенные возможности обнаружения объектов. Вы можете следовать нашему подробному руководству по Подсчету объектов, чтобы настроить YOLO11 для анализа потокового видео в реальном времени. Просто установите YOLO11, загрузите свою модель и обработайте видеокадры для динамического подсчета объектов.
Каковы преимущества использования Ultralytics YOLO для систем безопасности?
Ultralytics YOLO11 повышает безопасность систем, предлагая обнаружение объектов в реальном времени и механизмы оповещения. Используя YOLO11, вы можете создать систему охранной сигнализации, которая срабатывает при обнаружении новых объектов в зоне наблюдения. Узнайте, как настроить Систему охранной сигнализации с помощью YOLO11 для надежного мониторинга безопасности.
Как Ultralytics YOLO может улучшить системы управления очередями?
Ultralytics YOLO11 может значительно улучшить системы управления очередями, точно подсчитывая и отслеживая людей в очередях, тем самым помогая сократить время ожидания и оптимизировать эффективность обслуживания. Следуйте нашему подробному руководству по Управлению очередью, чтобы узнать, как внедрить YOLO11 для эффективного мониторинга и анализа очередей.
Можно ли использовать Ultralytics YOLO для мониторинга тренировок?
Да, Ultralytics YOLO11 можно эффективно использовать для мониторинга тренировок, отслеживая и анализируя фитнес-программы в реальном времени. Это позволяет точно оценивать форму упражнений и производительность. Ознакомьтесь с нашим руководством по Мониторингу тренировок, чтобы узнать, как настроить систему мониторинга тренировок на основе искусственного интеллекта с использованием YOLO11.
Как Ultralytics YOLO помогает в создании тепловых карт для визуализации данных?
Ultralytics YOLO11 может генерировать тепловые карты для визуализации интенсивности данных по заданной области, выделяя области высокой активности или интереса. Эта функция особенно полезна для понимания закономерностей и тенденций в различных задачах компьютерного зрения. Узнайте больше о создании и использовании Тепловых карт с помощью YOLO11 для всестороннего анализа и визуализации данных.