Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Ultralytics YOLO

Запусти интерактивное приложение ИИ с Streamlit и Ultralytics YOLO11

Узнай, как запускать инференс Ultralytics YOLO11 в веб-приложении Streamlit с помощью короткого скрипта и создавать интерактивные демонстрации компьютерного зрения без фронтенд-кода.

Абирами ВинаAbirami Vina9 мин. чтения
Запуск интерактивного приложения ИИ с Streamlit и Ultralytics YOLO11

Модели компьютерного зрения — это эффективные инструменты ИИ, позволяющие машинам интерпретировать и анализировать визуальные данные и с высокой точностью выполнять такие задачи, как обнаружение объектов, классификация изображений и сегментация экземпляров. Однако для развертывания таких моделей и предоставления доступа к ним широкой аудитории иногда требуются дополнительные технические навыки, например в веб-разработке или создании мобильных приложений.

Возьмём, к примеру, Ultralytics YOLO11. Эта модель поддерживает разные задачи и подходит для множества приложений. Однако без технических знаний в области фронтенд-разработки некоторым инженерам ИИ может быть непросто создать и развернуть удобный интерфейс.

Streamlit — это фреймворк с открытым исходным кодом, призванный упростить этот процесс. Этот инструмент на базе Python позволяет создавать интерактивные приложения без сложной фронтенд-разработки. В сочетании с Ultralytics YOLO11 он дает пользователям возможность загружать изображения, обрабатывать видео и визуализировать результаты в реальном времени, затрачивая минимум усилий.

Ultralytics развивает эту идею дальше благодаря решению Live Inference, которое еще больше упрощает интеграцию со Streamlit. Одной команды достаточно, чтобы запустить готовое приложение Streamlit для YOLO11 без ручной настройки и написания кода.

В этой статье мы расскажем, как настроить и запустить YOLO11 с помощью решения Ultralytics Live Inference и Streamlit, чтобы ускорить развертывание ИИ в реальном времени и сделать его доступнее.

Что такое Streamlit?#

Streamlit — это фреймворк Python, упрощающий создание интерактивных веб-приложений. Разработчики ИИ могут создавать приложения на базе ИИ, не разбираясь во всех тонкостях фронтенд-разработки.

Она хорошо работает с моделями ИИ и машинного обучения. Всего за несколько строк кода на Python разработчики могут создать интерфейс, в котором пользователи смогут загружать изображения, обрабатывать видео и взаимодействовать с моделями ИИ.

Основные возможности Streamlit

Рис. 1. Основные возможности Streamlit. Изображение предоставлено автором.

Одна из ключевых возможностей Streamlit — динамическая отрисовка. Когда пользователи вносят изменения, приложение обновляется автоматически, без ручной перезагрузки страниц.

Кроме того, Streamlit — легкий и простой в использовании фреймворк, который эффективно работает как на локальных компьютерах, так и в облаке. Это отличный выбор для развертывания приложений ИИ, обмена моделями и создания интуитивно понятного интерактивного интерфейса.

Ultralytics YOLO11: универсальная модель визуального ИИ#

Прежде чем перейти к запуску инференса в реальном времени с Ultralytics YOLO11 в приложении Streamlit, подробнее рассмотрим, что делает YOLO11 такой надежной моделью.

Ultralytics YOLO11 — модель для задач компьютерного зрения в реальном времени, таких как обнаружение объектов, сегментация экземпляров и оценка позы. Она обеспечивает высокую скорость и точность.

Ultralytics YOLO обнаруживает номерные знаки автомобилей на многополосном шоссе

Рис. 2. Пример использования YOLO11 для обнаружения объектов.

Одно из главных преимуществ YOLO11 — простота использования. Сложная настройка не нужна: разработчики могут установить пакет Ultralytics для Python и начать выполнять предсказания всего несколькими строками кода.

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

Помимо гибкости, пакет Ultralytics для Python поддерживает интеграции с различными платформами, включая периферийные устройства, облачные среды и системы с GPU NVIDIA. При развертывании на небольшом встраиваемом устройстве или крупном облачном сервере YOLO11 адаптируется к целевому оборудованию, делая передовые технологии компьютерного зрения на базе ИИ доступнее.

Преимущества использования Streamlit с Ultralytics YOLO11#

Возможно, ты задаешься вопросом: как понять, подходит ли мне Streamlit для развертывания? Если ты ищешь простой способ запускать Ultralytics YOLO11 с минимальным объемом кода и без разработки интерфейса, Streamlit — хороший вариант, особенно для прототипирования, проектов с проверкой концепции (PoC) или развертываний для небольшого числа пользователей.

Streamlit упрощает работу с Ultralytics YOLO11: он устраняет ненужную сложность и предоставляет интуитивно понятный интерфейс для взаимодействия в реальном времени. Вот еще несколько ключевых преимуществ:

  • Настраиваемые элементы управления ИИ: Ты можешь добавить в интерфейс ползунки, раскрывающиеся списки и кнопки, чтобы пользователи могли легко настраивать параметры обнаружения и фильтровать определенные объекты.
  • Интеграция с другими инструментами ИИ: Streamlit поддерживает интеграцию с NumPy, OpenCV, Matplotlib и другими библиотеками машинного обучения, расширяя возможности рабочих процессов ИИ.
  • Интерактивная визуализация данных: встроенная поддержка диаграмм и графиков позволяет визуализировать обнаруженные объекты, результаты сегментации и данные отслеживания.
  • Удобство совместной работы: Приложениями Streamlit можно легко делиться с коллегами, заинтересованными сторонами или клиентами по простой ссылке, чтобы сразу получать отзывы и вносить изменения.

Пошаговое руководство по развертыванию Ultralytics YOLO11 в веб-приложении Streamlit#

Теперь, когда мы рассмотрели преимущества использования Streamlit с Ultralytics YOLO11, давай разберемся, как запускать задачи компьютерного зрения в реальном времени в браузере с помощью Streamlit и YOLO11.

Установка пакета Ultralytics для Python#

Первый шаг — установить пакет Ultralytics для Python. Для этого выполни следующую команду:

pip install ultralytics

После установки YOLO11 готова к использованию — сложная настройка не требуется. Если при установке необходимых пакетов возникнут проблемы, обратись к нашему руководству «Распространенные проблемы», чтобы найти советы по устранению неполадок и решения.

Запуск приложения Streamlit с Ultralytics YOLO11#

Обычно для запуска YOLO11 нужно написать скрипт на Python с компонентами Streamlit. Однако Ultralytics предлагает простой способ запустить YOLO11 с помощью Streamlit.

Запусти следующий скрипт Python с помощью streamlit run path/to/file.py, чтобы открыть приложение Streamlit в браузере по умолчанию:

from ultralytics import solutions

inf = solutions.Inference(
    model="yolo11n.pt",  # ты можешь использовать любую модель, поддерживаемую Ultralytics, или модель, обученную на пользовательских данных
)

inf.inference()

Дополнительная настройка не требуется. Интерфейс приложения Streamlit включает раздел для загрузки изображений и видео, выпадающее меню для выбора нужного варианта модели Ultralytics YOLO11 и ползунки для настройки уверенности обнаружения. Всё удобно организовано, поэтому пользователи могут запускать инференс без дополнительного кода.

Запуск инференса с помощью Ultralytics YOLO11 в приложении Streamlit#

Теперь, когда приложение Streamlit запущено в браузере, давай разберемся, как использовать его для запуска инференса с Ultralytics YOLO11.

Например, допустим, мы хотим проанализировать видеофайл для обнаружения объектов. Вот как загрузить файл, выбрать модель и просмотреть результаты в реальном времени:

  • Загрузи видеофайл: В раскрывающемся списке настроек пользователя выбери «видео». Так приложение будет обрабатывать предварительно записанный файл, а не изображение с веб-камеры.
  • Выбери модель YOLO11: В раскрывающемся списке моделей выбери «YOLO11l», чтобы обнаруживать объекты с помощью большой модели YOLO11.
  • Запусти обнаружение: нажми «Start», чтобы Ultralytics YOLO11 анализировала видео покадрово и обнаруживала объекты в реальном времени.
  • Просмотри обработанное видео: Смотри, как видео отображается на экране с обновлениями в реальном времени, а обнаруженные объекты выделяются ограничивающими рамками.
  • Работай с результатами в Streamlit: Используй интерфейс для настройки параметров или анализа обнаруженных объектов — дополнительная настройка и программирование не нужны.

Интерфейс приложения Ultralytics YOLO для Streamlit

Рис. 3. Интерфейс приложения Ultralytics YOLO для Streamlit.

Примеры использования Streamlit и Ultralytics YOLO11#

Мы рассмотрели, как Streamlit подходит для создания прототипов, исследовательских инструментов и приложений малого и среднего масштаба. Он позволяет легко развертывать модели ИИ без сложной разработки интерфейса.

Однако запуск YOLO11 с Streamlit не всегда работает без дополнительной настройки — если только ты не используешь приложение Ultralytics YOLO для Streamlit, которое мы подготовили в шагах выше. В большинстве случаев приложение нужно доработать под конкретные задачи. Streamlit упрощает развертывание, но тебе все равно потребуется настроить необходимые компоненты, чтобы YOLO11 работала без сбоев.

Рассмотрим два практических примера эффективного развертывания Ultralytics YOLO11 с помощью Streamlit в реальных условиях.

Подсчет объектов для инвентаризации с помощью Ultralytics YOLO11#

Учет запасов в магазинах, кладовых или офисных помещениях может отнимать много времени и приводить к ошибкам. Используя Ultralytics YOLO11 со Streamlit, компании могут быстро и эффективно автоматизировать подсчет объектов. Это отличный вариант для проверки концепции (PoC) перед переходом к крупномасштабному развертыванию.

При такой настройке пользователи могут загрузить изображение или использовать видеопоток с камеры, а Ultralytics YOLO11 поможет мгновенно обнаружить и подсчитать объекты. Результат подсчета в реальном времени можно отобразить в интерфейсе Streamlit, чтобы легко отслеживать уровень запасов без ручной работы.

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

Обнаружение бутылок в холодильнике с помощью Ultralytics YOLO11

Рис. 4. Обнаружение бутылок в холодильнике с помощью Ultralytics YOLO11.

Повышение безопасности с помощью Ultralytics YOLO11 и Streamlit#

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

К интерфейсу Streamlit можно подключить видеопоток с камеры, а Ultralytics YOLO11 будет распознавать и отслеживать людей, входящих в закрытые зоны. Если система обнаружит постороннего, она может отправить оповещение или записать событие для последующего просмотра.

Например, управляющий складом может контролировать доступ в защищенные зоны хранения, а офис — отслеживать перемещения в закрытых помещениях без постоянного наблюдения.

Этот проект может стать полезным пилотным решением для компаний, которые хотят изучить возможности мониторинга безопасности на базе Vision AI, прежде чем переходить к более масштабной и полностью автоматизированной системе. Интеграция Ultralytics YOLO11 со Streamlit позволяет повысить безопасность, сократить объём ручного мониторинга и эффективнее реагировать на несанкционированный доступ.

Советы по мониторингу интерактивного приложения ИИ со Streamlit#

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

Вот несколько важных факторов, которые нужно учитывать после развертывания:

  • Регулярный мониторинг: Отслеживай точность обнаружения, скорость инференса и использование ресурсов. Если производительность снизится, скорректируй параметры модели или обнови оборудование.
  • Управление числом пользователей и масштабированием: По мере роста спроса со стороны пользователей важно оптимизировать инфраструктуру, чтобы поддерживать производительность. Облачные платформы и масштабируемые решения для развертывания помогают обеспечить бесперебойную работу.
  • Обновление модели: Обновление модели и библиотек повышает точность и безопасность, а также открывает доступ к новым функциям.

Главные выводы#

Ultralytics упрощает развертывание YOLO11: готовый интерфейс Streamlit для работы в реальном времени запускается одной командой, и программирование не требуется. Благодаря этому пользователи могут сразу начать обнаруживать объекты в реальном времени.

Интерфейс также позволяет настраивать систему: легко переключать модели, менять пороги уверенности и фильтровать объекты. Всё управление происходит в простом и удобном интерфейсе, поэтому вручную разрабатывать пользовательский интерфейс не нужно.

Объединив возможности Ultralytics YOLO11 с простотой развёртывания Streamlit, компании и разработчики могут быстро создавать прототипы приложений на базе ИИ, тестировать их и дорабатывать.

Присоединяйся к нашему сообществу и изучай наш репозиторий GitHub, чтобы узнать больше об ИИ. Посети страницы наших решений и узнай больше о таких инновациях, как ИИ в производстве и компьютерное зрение в здравоохранении. Ознакомься с нашими вариантами лицензирования и начни уже сегодня!

Автор

Abirami Vina
Abirami Vina

Создатель контента · Ultralytics

Начав карьеру инженером по компьютерному зрению, Абирами Вина заложила прочную основу в области ИИ для компьютерного зрения и машинного обучения. Она создает контент для Ultralytics и является основательницей и главным автором Scribe of AI, где готовит качественные технические материалы для компаний, работающих в сфере ИИ. Стремясь сделать ИИ понятным и увлекательным, она помогает связать передовые технологии с их практическим применением.

Комментарии

Задай вопрос, поделись результатами или помоги кому-нибудь.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

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

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения