Ultralytics YOLO27:
Компьютерное зрение на базе ИИ

Контейнеризация с помощью Docker для оптимизации развёртывания модели

Узнай, как использование Docker для контейнеризации делает развёртывание моделей компьютерного зрения, таких как Ultralytics YOLO11, более эффективным и простым.

ABAbirami Vina8 min read
Использование контейнеризации Docker для развёртывания моделей YOLO11

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

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

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

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

В этой статье мы рассмотрим, как контейнеризация и Docker упрощают развертывание моделей, обеспечивая бесшовную масштабируемость и эффективность приложений Vision AI, работающих в реальных условиях.

Что такое развертывание модели?#

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

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

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

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

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

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

Другой фактор — несоответствие среды, например различия в оборудовании, когда модель обучается на высокопроизводительных графических процессорах (GPU), а затем развертывается на устройствах с ограниченной вычислительной мощностью. Такие несоответствия при развертывании могут привести к непредсказуемому поведению модели. Для решения этих проблем можно использовать передовые методы, такие как контейнеризация.

Контейнеризация#

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

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

Обзор контейнеризации

Рис. 2. Обзор контейнеризации.

Вот некоторые ключевые преимущества контейнеризации:

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

Docker: упрощение контейнеризации#

Хотя контейнеризация — отличный способ запускать приложения в изолированных средах, ее настройка может быть сложной. Здесь на помощь приходит Docker. Docker — это платформа с открытым исходным кодом, которая упрощает создание, развертывание и управление контейнеризированными приложениями.

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

Многие отрасли активно используют Docker для эффективного развертывания и управления контейнеризированными приложениями. Развертывание моделей на основе Docker обычно включает три основных компонента:

  • Dockerfile: текстовый конфигурационный файл, служащий шаблоном для создания образа Docker. Он содержит все необходимые инструкции, включая базовый образ, требуемые зависимости, настройки среды и команды для запуска модели.

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

  • Контейнеры Docker: запущенные экземпляры образов Docker, предоставляющие изолированную и безопасную среду для выполнения модели. В этой среде модель можно обучать, тестировать и дообучать, не мешая работе других приложений или хост-системы.

Ключевые компоненты Docker

Рис. 3. Основные компоненты Docker.

Изучение приложения компьютерного зрения с использованием Docker#

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

Используя Docker, разработчики могут упаковать всю модель компьютерного зрения вместе с ее зависимостями, например AI-фреймворками вроде TensorFlow и пользовательскими скриптами, в контейнер. Это обеспечивает стабильную работу модели в разных средах: от локальной разработки до облачных серверов и даже периферийных устройств, установленных на камерах дорожного движения.

Как работает Docker

Рис. 4. Как работает Docker.

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

Развертывание Ultralytics YOLO11 с помощью Docker#

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

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

Мониторинг тренировки с помощью оценки позы Ultralytics YOLO11

Рис. 5. Мониторинг тренировки с помощью Ultralytics YOLO11.

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

Кратко рассмотрим преимущества развертывания Ultralytics YOLO11 с помощью Docker:

  • Упрощенное обслуживание: Docker упрощает обновление и обслуживание Ultralytics YOLO11 и его зависимостей. Обновления можно применять к образу контейнера, не затрагивая хост-систему, что обеспечивает плавное и эффективное управление моделью.
  • Упрощенное сотрудничество: разработчики и исследователи могут легко обмениваться предварительно настроенными контейнерами Docker, обеспечивая работу команд в одинаковой среде и избегая проблем совместимости.
  • Эффективное использование ресурсов: в отличие от традиционных виртуальных машин контейнеры Docker используют общую ОС хоста, снижая накладные расходы и повышая эффективность использования ресурсов, что особенно важно для задач вывода в реальном времени.

Приложения Ultralytics YOLO11, которые можно развернуть с помощью Docker#

Рассмотрим несколько примеров приложений компьютерного зрения, которые можно создавать с помощью Ultralytics YOLO11 и Docker.

Мониторинг дорожного движения с помощью Ultralytics YOLO11#

Ранее мы обсуждали мониторинг дорожного движения с помощью компьютерного зрения. Интересно, что поддержка отслеживания объектов в Ultralytics YOLO11 может помочь создать комплексную систему управления дорожным движением. Как это работает?

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

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

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

Рис. 6. Отслеживание и подсчет транспортных средств с помощью YOLO11.

Улучшение физиотерапии с помощью Ultralytics YOLO11#

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

Например, если пациент выполняет подъем руки, но не поднимает ее на нужную высоту или компенсирует движение неправильной осанкой, система может обнаружить эти ошибки и сразу предложить исправления. Это позволяет терапевтам корректировать лечение в реальном времени.

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

Мониторинг физиотерапии с помощью оценки позы Ultralytics YOLO11

Рис. 7. Пример мониторинга физиотерапии с помощью Ultralytics YOLO11.

При развертывании такого решения Docker обеспечивает стабильную работу в разных средах — как в клиниках, так и при удаленном мониторинге пациентов. Docker упрощает развертывание, повышает масштабируемость и поддерживает согласованность системы, делая инструменты физиотерапии на основе AI более надежными и доступными.

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

Развертывание модели компьютерного зрения — важный этап ее перехода от разработки к применению в реальных условиях. Плавный процесс развертывания обеспечивает надежную работу обученной модели в практических приложениях. Такие инструменты, как Docker и контейнеризация, упростили этот процесс, устранив многие традиционные сложности.

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

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

Explore solutions

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

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

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

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

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше
Компьютерное зрение для аэрофотоснимков

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

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

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

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

Добавь Vision AI в умное сельское хозяйство с моделями Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание поголовья и точное земледелие для более высоких и эффективных урожаев.
Узнать больше
Компьютерное зрение для аэрофотоснимков

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оптимизируй производство с моделями Ultralytics YOLO. Vision AI обеспечивает контроль качества, обнаружение дефектов, соблюдение требований к PPE и автоматизацию сборочной линии.
Узнать больше
Компьютерное зрение в автомобильной отрасли

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

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

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

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

Давай вместе создавать будущее AI!

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