Вывод в реальном времени с приложением Streamlit с использованием Ultralytics YOLO11
Введение
Streamlit упрощает создание и развертывание интерактивных веб-приложений. Сочетание этого с Ultralytics YOLO11 обеспечивает обнаружение объектов и анализ в реальном времени прямо в вашем браузере. Высокая точность и скорость YOLO11 обеспечивают бесперебойную работу с потоковым видео, что делает его идеальным для приложений в сфере безопасности, розничной торговли и других областях.
Смотреть: Как использовать Streamlit с Ultralytics для в режиме реального времени Компьютерное зрение в Вашем браузере
Аквакультура | Животноводство |
---|---|
![]() |
![]() |
Обнаружение рыбы с использованием Ultralytics YOLO11 | Обнаружение животных с использованием Ultralytics YOLO11 |
Преимущества Live-инференса
- Бесшовная объектная детекция в реальном времени: Streamlit в сочетании с YOLO11 обеспечивает обнаружение объектов в реальном времени непосредственно с веб-камеры. Это позволяет проводить немедленный анализ и получать информацию, что делает его идеальным для приложений, требующих немедленной обратной связи.
- Удобное развертывание: Интерактивный интерфейс Streamlit упрощает развертывание и использование приложения без обширных технических знаний. Пользователи могут начать инференс в реальном времени простым щелчком мыши, что повышает доступность и удобство использования.
- Efficient Resource Utilization: Оптимизированные алгоритмы YOLO11 обеспечивают высокоскоростную обработку с минимальными вычислительными ресурсами. Эта эффективность обеспечивает плавный и надежный вывод с веб-камеры даже на стандартном оборудовании, делая передовое компьютерное зрение доступным для более широкой аудитории.
Код приложения Streamlit
Установка Ultralytics
Прежде чем начать создание приложения, убедитесь, что у вас установлен пакет Ultralytics Python. Вы можете установить его с помощью команды pip install ultralytics.
Инференс с использованием Streamlit с Ultralytics YOLO
yolo solutions inference
yolo solutions inference model="path/to/model.pt"
from ultralytics import solutions
inf = solutions.Inference(
model="yolo11n.pt", # you can use any model that Ultralytics support, i.e. YOLO11, or custom trained model
)
inf.inference()
# Make sure to run the file using command `streamlit run path/to/file.py`
Это запустит приложение Streamlit в вашем веб-браузере по умолчанию. Вы увидите главный заголовок, подзаголовок и боковую панель с параметрами конфигурации. Выберите желаемую модель YOLO11, установите пороги уверенности и NMS и нажмите кнопку "Start", чтобы начать обнаружение объектов в реальном времени.
Как это работает
Под капотом приложение Streamlit использует модуль решений Ultralytics для создания интерактивного интерфейса. Когда вы запускаете логический вывод, приложение:
- Захватывает видео с вашей веб-камеры или загруженного видеофайла
- Обрабатывает каждый кадр с помощью модели YOLO11
- Применяет обнаружение объектов с указанными вами порогами уверенности и IoU
- Отображает как исходные, так и аннотированные кадры в режиме реального времени
- При выборе дополнительно включает отслеживание объектов
Приложение предоставляет понятный, удобный интерфейс с элементами управления для настройки параметров модели и запуска/остановки логического вывода в любое время.
Заключение
Следуя этому руководству, вы успешно создали приложение для обнаружения объектов в реальном времени с использованием Streamlit и Ultralytics YOLO11. Это приложение позволяет вам ощутить всю мощь YOLO11 в обнаружении объектов через вашу веб-камеру, с удобным интерфейсом и возможностью остановить видеопоток в любое время.
Для дальнейшего улучшения вы можете добавить больше функций, таких как запись видеопотока, сохранение аннотированных кадров или интеграция с другими библиотеками компьютерного зрения.
Поделитесь своими мыслями с сообществом
Взаимодействуйте с сообществом, чтобы узнать больше, устранить неполадки и поделиться своими проектами:
Где найти помощь и поддержку
- Проблемы на GitHub: Посетите репозиторий Ultralytics на GitHub, чтобы задавать вопросы, сообщать об ошибках и предлагать функции.
- Сервер Ultralytics Discord: Присоединяйтесь к серверу Ultralytics Discord, чтобы общаться с другими пользователями и разработчиками, получать поддержку, делиться знаниями и генерировать идеи.
Официальная документация
- Документация Ultralytics YOLO11: Обратитесь к официальной документации YOLO11 для получения исчерпывающих руководств и советов по различным задачам и проектам компьютерного зрения.
Часто задаваемые вопросы
Как я могу настроить приложение для обнаружения объектов в реальном времени, используя Streamlit и Ultralytics YOLO11?
Настройка приложения для обнаружения объектов в реальном времени с использованием Streamlit и Ultralytics YOLO11 довольно проста. Сначала убедитесь, что у вас установлен пакет Ultralytics Python, используя:
pip install ultralytics
Затем вы можете создать базовое приложение Streamlit для запуска инференса в реальном времени:
Приложение Streamlit
from ultralytics import solutions
inf = solutions.Inference(
model="yolo11n.pt", # you can use any model that Ultralytics support, i.e. YOLO11, YOLOv10
)
inf.inference()
# Make sure to run the file using command `streamlit run path/to/file.py`
yolo solutions inference
Для получения более подробной информации о практической настройке обратитесь к разделу Код приложения Streamlit в документации.
Каковы основные преимущества использования Ultralytics YOLO11 со Streamlit для обнаружения объектов в реальном времени?
Использование Ultralytics YOLO11 со Streamlit для обнаружения объектов в реальном времени предлагает несколько преимуществ:
- Бесшовное обнаружение в реальном времени: Достигайте высокой точности обнаружения объектов в реальном времени непосредственно с веб-камеры.
- Удобный интерфейс: Интуитивно понятный интерфейс Streamlit обеспечивает простоту использования и развертывания без обширных технических знаний.
- Эффективность использования ресурсов: Оптимизированные алгоритмы YOLO11 обеспечивают высокоскоростную обработку с минимальными вычислительными ресурсами.
Узнайте больше об этих преимуществах в разделе Преимущества Live Inference.
Как развернуть приложение обнаружения объектов Streamlit в моем веб-браузере?
После кодирования вашего приложения Streamlit, интегрирующего Ultralytics YOLO11, вы можете развернуть его, запустив:
streamlit run path/to/file.py
Эта команда запустит приложение в вашем веб-браузере по умолчанию, позволяя вам выбирать модели YOLO11, устанавливать пороги уверенности и NMS и запускать обнаружение объектов в реальном времени простым щелчком мыши. Подробное руководство см. в разделе Код приложения Streamlit.
Каковы некоторые варианты использования обнаружения объектов в реальном времени с использованием Streamlit и Ultralytics YOLO11?
Обнаружение объектов в реальном времени с использованием Streamlit и Ultralytics YOLO11 может применяться в различных секторах:
- Безопасность: Мониторинг несанкционированного доступа в реальном времени и системы охранной сигнализации.
- Розничная торговля: Подсчет клиентов, управление полками и отслеживание запасов.
- Дикая природа и сельское хозяйство: Мониторинг животных и состояния посевов для усилий по сохранению.
Более подробные примеры использования и варианты применения можно найти в разделе Решения Ultralytics.
Как Ultralytics YOLO11 соотносится с другими моделями обнаружения объектов, такими как YOLOv5 и RCNN?
Ultralytics YOLO11 предоставляет ряд улучшений по сравнению с предыдущими моделями, такими как YOLOv5 и RCNN:
- Более высокая скорость и точность: Улучшенная производительность для приложений реального времени.
- Простота использования: Упрощенные интерфейсы и развертывание.
- Эффективность использования ресурсов: Оптимизировано для повышения скорости при минимальных вычислительных требованиях.
Для получения подробного сравнения ознакомьтесь с документацией Ultralytics YOLO11 и соответствующими записями в блоге, где обсуждается производительность модели.