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

Абирами Вина

5 минут чтения

18 марта 2025 г.

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

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

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

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

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

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

Что такое Streamlit?

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

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

__wf_reserved_inherit
Рис. 1. Ключевые особенности Streamlit. Изображение автора.

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

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

Ultralytics YOLO11: универсальная модель искусственного интеллекта Vision

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

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

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

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

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

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

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

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

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

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

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

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

Установка пакета Ultralytics Python

Первым шагом будет установка пакета Ultralytics Python. Это можно сделать с помощью следующей команды:

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

Запуск приложения Streamlit с помощью YOLO11 

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

Запуск следующего сценария Python мгновенно запустит приложение Streamlit в вашем веб-браузере по умолчанию:

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

Выполнение выводов с помощью YOLO11 в приложении Streamlit

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Основные выводы

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

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

Благодаря возможностям YOLO11 и простоте развертывания Streamlit компании и разработчики могут быстро создавать прототипы, тестировать и совершенствовать приложения, основанные на искусственном интеллекте. 

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

Давайте вместе построим будущее
искусственного интеллекта!

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

Начните бесплатно
Ссылка копируется в буфер обмена