Нажимая “Принять все файлы cookie”, вы соглашаетесь на сохранение файлов cookie на вашем устройстве с целью улучшения навигации по сайту, анализа использования сайта и помощи в наших маркетинговых усилиях. Подробнее
Настройки cookie
Нажимая “Принять все файлы cookie”, вы соглашаетесь на сохранение файлов cookie на вашем устройстве с целью улучшения навигации по сайту, анализа использования сайта и помощи в наших маркетинговых усилиях. Подробнее
Узнайте, как запускать инференс YOLO11 внутри интерфейса Streamlit и создавать интерактивный AI-интерфейс для задач компьютерного зрения без опыта программирования.
Модели компьютерного зрения - это эффективные инструменты искусственного интеллекта, которые позволяют машинам интерпретировать и анализировать визуальные данные, выполняя такие задачи, как обнаружение объектов, классификация изображений и сегментация экземпляров с высокой точностью. Однако для их развертывания и обеспечения доступа для более широкой аудитории иногда требуются дополнительные технические знания, такие как навыки веб-разработки или разработки мобильных приложений.
Возьмем, к примеру, Ultralytics YOLO11. Это модель, поддерживающая различные задачи и полезная в широком спектре приложений. Однако, без определенных технических знаний, создание и развертывание удобного интерфейса для бесперебойного взаимодействия может показаться сложной задачей для некоторых AI-инженеров.
Streamlit — это платформа с открытым исходным кодом, цель которой — упростить этот процесс. Это инструмент на базе Python для создания интерактивных приложений без сложной front-end разработки. В сочетании с YOLO11 он позволяет пользователям загружать изображения, обрабатывать видео и визуализировать результаты в реальном времени с минимальными усилиями.
Ultralytics делает еще один шаг вперед, предлагая решение Live Inference, которое упрощает интеграцию Streamlit. С помощью одной команды пользователи могут запустить готовую Streamlit-приложение для YOLO11, избавляя от необходимости ручной настройки и кодирования.
В этой статье мы расскажем, как настроить и запустить YOLO11 с помощью решения Ultralytics Live Inference со Streamlit, что делает развертывание AI в реальном времени быстрее и доступнее.
Что такое Streamlit?
Streamlit — это Python-фреймворк, который упрощает создание интерактивных веб-приложений. Разработчики ИИ могут создавать приложения на основе ИИ, не сталкиваясь со сложностями front-end разработки.
Он разработан для бесперебойной работы с моделями AI и машинного обучения. Всего с помощью нескольких строк кода Python разработчики могут создать интерфейс, в котором пользователи могут загружать изображения, обрабатывать видео и взаимодействовать с AI-моделями.
Рис. 1. Ключевые особенности Streamlit. Изображение автора.
Одной из ключевых особенностей является динамическая отрисовка. Когда пользователи вносят изменения, приложение автоматически обновляется без необходимости ручной перезагрузки страницы.
Кроме того, поскольку Streamlit является легким и простым в использовании, он эффективно работает как на локальных машинах, так и на облачных платформах. Это делает его отличным выбором для развертывания приложений ИИ, обмена моделями с другими и обеспечения интуитивно понятного интерактивного пользовательского опыта.
Ultralytics YOLO11: Универсальная модель Vision AI
Прежде чем углубляться в то, как запускать живые инференсы с Ultralytics YOLO11 в приложении Streamlit, давайте подробнее рассмотрим, что делает YOLO11 таким надежным.
Ultralytics YOLO11 — это модель, разработанная для задач компьютерного зрения в реальном времени, таких как обнаружение объектов, сегментация экземпляров и оценка позы. Она обеспечивает высокую скорость работы с впечатляющей точностью.
Рис. 2. Пример использования YOLO11 для обнаружения объектов.
Одним из самых больших преимуществ YOLO11 является простота использования. Нет необходимости в сложных настройках; разработчики могут установить пакет Ultralytics Python и начать делать прогнозы всего несколькими строками кода.
Python-пакет Ultralytics предоставляет ряд функций, позволяющих пользователям точно настраивать модели и регулировать параметры обнаружения. Он также помогает оптимизировать производительность на различных устройствах для более плавной работы.
Помимо гибкости, Python-пакет Ultralytics поддерживает интеграции на различных платформах, включая периферийные устройства, облачные среды и системы с поддержкой NVIDIA GPU. Независимо от того, развернута ли YOLO11 на небольшом встроенном устройстве или на масштабном облачном сервере, она легко адаптируется, делая передовое машинное зрение более доступным, чем когда-либо.
Преимущества использования Streamlit с Ultralytics YOLO11
Вам может быть интересно, как узнать, подходит ли мне Streamlit в качестве варианта развертывания? Если вы ищете простой и эффективный с точки зрения кода способ запуска YOLO11 без необходимости заниматься разработкой внешнего интерфейса, Streamlit — хороший вариант, особенно для прототипирования, проектов proof-of-concept (PoC) или развертываний, предназначенных для небольшого числа пользователей.
Он упрощает процесс работы с YOLO11, устраняя ненужную сложность и предоставляя интуитивно понятный интерфейс для взаимодействия в реальном времени. Вот некоторые другие ключевые преимущества:
Настраиваемые элементы управления AI: Вы можете добавлять ползунки, раскрывающиеся списки и кнопки в свой интерфейс, позволяя пользователям точно настраивать параметры обнаружения и легко фильтровать определенные объекты.
Интеграция с другими инструментами ИИ: Streamlit поддерживает интеграцию с NumPy, OpenCV, Matplotlib и другими библиотеками машинного обучения, расширяя возможности рабочего процесса ИИ.
Интерактивная визуализация данных: Встроенная поддержка диаграмм и графиков позволяет пользователям легко визуализировать результаты обнаружения объектов, сегментации или аналитики отслеживания.
Удобство для совместной работы: Приложениями Streamlit можно легко поделиться с членами команды, заинтересованными сторонами или клиентами через простую ссылку, что обеспечивает мгновенную обратную связь и итерацию.
Пошаговое руководство по развертыванию YOLO11 в веб-приложении Streamlit
Теперь, когда мы рассмотрели преимущества использования Streamlit с YOLO11, давайте разберем, как выполнять задачи компьютерного зрения в реальном времени в браузере с помощью Streamlit и YOLO11.
Установка пакета Ultralytics Python
Первый шаг — установить пакет Ultralytics Python. Это можно сделать с помощью следующей команды:
После установки YOLO11 готова к использованию без какой-либо сложной настройки. Если у вас возникнут какие-либо проблемы при установке необходимых пакетов, вы можете обратиться к нашему Руководству по распространенным проблемам для получения советов и решений по устранению неполадок.
Запуск приложения Streamlit с YOLO11
Обычно вам нужно было бы разработать скрипт Python с использованием компонентов Streamlit для запуска YOLO11. Однако Ultralytics предоставляет простой способ запуска YOLO11 с помощью Streamlit.
Запуск следующего скрипта Python немедленно запустит приложение Streamlit в вашем веб-браузере по умолчанию:
Дополнительная настройка не требуется. Интерфейс приложения Streamlit включает раздел загрузки изображений и видео, раскрывающееся меню для выбора интересующего вас варианта модели YOLO11 и ползунки для настройки достоверности обнаружения. Все аккуратно организовано, что позволяет пользователям без труда выполнять выводы, не написав дополнительного кода.
Запуск инференсов с использованием YOLO11 в приложении Streamlit
Теперь, когда приложение Streamlit запущено в вашем веб-браузере, давайте рассмотрим, как использовать его для выполнения выводов с помощью YOLO11.
Например, предположим, мы хотим проанализировать видеофайл для обнаружения объектов. Вот шаги для загрузки файла, выбора модели и просмотра результатов в реальном времени:
Загрузите видеофайл: Выберите «видео» в раскрывающемся списке конфигурации пользователя, который сообщает приложению, что нужно обрабатывать предварительно записанный файл, а не поток с веб-камеры.
Выберите модель YOLO11: Выберите "YOLO11l" из раскрывающегося списка моделей для обнаружения объектов с использованием большой модели YOLO11.
Запустите процесс обнаружения: Нажмите «Start», чтобы YOLO11 анализировала видео покадрово и обнаруживала объекты в режиме реального времени.
Просмотр обработанного видео: Смотрите, как видео появляется на экране с обновлениями в реальном времени, отображая обнаруженные объекты с ограничивающими рамками.
Взаимодействие с результатами в Streamlit: Используйте интерфейс для настройки параметров или анализа обнаружений без дополнительной настройки или кодирования.
Мы рассмотрели, насколько Streamlit подходит для создания прототипов, исследовательских инструментов и приложений малого и среднего размера. Он предлагает простой способ развертывания моделей ИИ без сложной разработки внешнего интерфейса.
Однако, запуск YOLO11 со Streamlit не всегда является готовым решением, если вы не используете приложение Ultralytics YOLO Streamlit, которое мы настроили в шагах выше. В большинстве случаев требуется некоторая доработка для адаптации приложения к конкретным потребностям. Хотя Streamlit упрощает развертывание, вам все равно потребуется настроить необходимые компоненты, чтобы обеспечить бесперебойную работу YOLO11.
Давайте рассмотрим два практических примера того, как Ultralytics YOLO11 можно эффективно развернуть с помощью Streamlit в реальных сценариях.
Подсчет объектов для проверки запасов с помощью YOLO11
Отслеживание запасов в розничных магазинах, складских помещениях или офисных зонах может отнимать много времени и быть подвержено ошибкам. Используя YOLO11 со Streamlit, компании могут быстро и эффективно автоматизировать подсчет объектов, что делает его отличным вариантом для проверки концепции (PoC) перед переходом к крупномасштабному развертыванию.
С помощью этой настройки пользователи могут загружать изображение или использовать прямую трансляцию с камеры, а YOLO11 может помочь мгновенно обнаруживать и подсчитывать объекты. Подсчет в реальном времени может отображаться в интерфейсе Streamlit, предоставляя простой способ отслеживать уровень запасов без ручного труда.
Например, владелец магазина может отсканировать полку и сразу увидеть, сколько бутылок, коробок или упакованных товаров присутствует, без необходимости считать их вручную. Используя YOLO11 и Streamlit, предприятия могут сократить ручной труд, повысить точность и изучить возможности автоматизации с минимальными инвестициями.
Рис. 4. Обнаружение бутылок в холодильнике с помощью YOLO11.
Повышение безопасности с помощью YOLO11 и Streamlit
Обеспечение безопасности в зонах ограниченного доступа в офисах, на складах или в местах проведения мероприятий может быть затруднено, особенно при ручном мониторинге. Используя YOLO11 со Streamlit, компании могут создать простую систему безопасности на базе искусственного интеллекта для обнаружения несанкционированного доступа в режиме реального времени.
Видеопоток с камеры можно подключить к интерфейсу Streamlit, где YOLO11 используется для идентификации и отслеживания людей, входящих в запрещенные зоны. При обнаружении постороннего система может активировать оповещение или зарегистрировать событие для проверки.
Например, менеджер склада может контролировать доступ к зонам хранения с высоким уровнем безопасности, а офис может отслеживать перемещения в закрытых секциях без необходимости постоянного надзора.
Это может стать отличным проектом для компаний, желающих изучить возможности мониторинга безопасности на основе Vision AI, прежде чем переходить к более крупной, полностью автоматизированной системе. Интегрируя YOLO11 со Streamlit, компании могут повысить безопасность, свести к минимуму ручной мониторинг и более эффективно реагировать на несанкционированный доступ.
Советы по мониторингу интерактивного приложения ИИ с помощью Streamlit
Использование таких инструментов, как Streamlit, для развертывания моделей компьютерного зрения помогает создать интерактивный и удобный интерфейс. Однако после настройки интерактивного интерфейса важно обеспечить эффективную работу системы и получение точных результатов с течением времени.
Вот некоторые ключевые факторы, которые следует учитывать после развертывания:
Регулярный мониторинг: Отслеживайте точность обнаружения, скорость инференса и использование ресурсов. Настройте параметры модели или обновите оборудование, если производительность снижается.
Управление несколькими пользователями и масштабируемость: По мере роста пользовательского спроса оптимизация инфраструктуры является ключом к поддержанию производительности. Облачные платформы и масштабируемые решения для развертывания помогают обеспечить бесперебойную работу.
Поддержание модели в актуальном состоянии: Поддержание модели и библиотек в актуальном состоянии повышает точность, безопасность и доступ к новым функциям.
Основные выводы
Ultralytics упрощает развертывание YOLO11 с помощью готового к использованию Streamlit live-интерфейса, который запускается одной командой — программирование не требуется. Это позволяет пользователям мгновенно начать использовать обнаружение объектов в реальном времени.
Интерфейс также включает встроенную настройку, позволяющую пользователям с легкостью переключать модели, регулировать точность обнаружения и фильтровать объекты. Все управляется в простом, удобном интерфейсе, устраняя необходимость в ручной разработке пользовательского интерфейса. Благодаря объединению
Благодаря возможностям YOLO11 и простоте развертывания Streamlit, предприятия и разработчики могут быстро создавать прототипы, тестировать и совершенствовать приложения на основе искусственного интеллекта.