Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас

Практическое знакомство с YOLO-World

Абирами Вина

4 мин чтения

5 апреля 2024 г.

Узнайте о YOLO-World, инновационной модели обнаружения объектов, которая может идентифицировать объекты с помощью текстовых запросов. Узнайте, как работает YOLO-World и каковы ее приложения, а также получите практический опыт работы с быстрым примером кода.

Проекты компьютерного зрения часто связаны с большими затратами времени на аннотирование данных и обучение моделей обнаружения объектов. Но, возможно, это скоро уйдет в прошлое. Лаборатория искусственного интеллекта Tencent выпустила YOLO-World, модель обнаружения объектов с открытым словарем в реальном времени, 31 января 2024 года. YOLO-World — это модель zero-shot, что означает, что вы можете запускать логический вывод об обнаружении объектов на изображениях без необходимости ее обучения.

Модели Zero-shot могут изменить наш подход к приложениям компьютерного зрения. В этом блоге мы рассмотрим, как работает YOLO-World, ее потенциальное использование и поделимся практическим примером кода, чтобы помочь вам начать работу.

Взгляд на YOLO-World

Вы можете передать изображение и текстовый запрос, описывающий, какие объекты вы ищете, через модель YOLO-World. Например, если вы заинтересованы в поиске «человека в красной рубашке» на фотографии, YOLO-World принимает этот ввод и приступает к работе.

Уникальная архитектура модели сочетает в себе три основных элемента:

  • Детектор на основе модели обнаружения объектов Ultralytics YOLOv8, предназначенный для анализа визуального содержания изображения.
  • Текстовый энкодер, предварительно обученный CLIP от OpenAI и разработанный специально для понимания текстовых запросов. 
  • Сеть Vision-Language Path Aggregation Network (RepVL-PAN), которая объединяет обработанные данные изображения с текстовыми данными.

Детектор YOLO сканирует входное изображение для выявления потенциальных объектов. Текстовый энкодер преобразует описание в формат, понятный модели. Затем эти два потока информации объединяются через RepVL-PAN с использованием многоуровневого кросс-модального слияния. Это позволяет YOLO-World точно обнаруживать и локализовать объекты, описанные в запросе, на изображении.

Пример результатов работы YOLO-World.

Преимущества выбора YOLO-World

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

Вот еще несколько преимуществ использования YOLO-World:

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

Области применения YOLO-World

Модели YOLO-World можно использовать для самых разных задач. Рассмотрим некоторые из них.

Контроль качества в производстве

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

Модели YOLO-World — это большой шаг вперед в этой области. Они могут находить дефекты в продуктах, даже если они не были обучены для решения этой конкретной проблемы, используя свои возможности zero-shot. Например, фабрика по производству бутылок с водой может легко определить, правильно ли запечатана бутылка крышкой, или крышка отсутствует или неисправна, используя YOLO-World.

Пример проверки крышки бутылки.

Робототехника

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

В дополнение к обнаружению объектов, YOLO-World может также определять состояние этих объектов благодаря своей функции 'prompt-then-detect'. Например, в сельскохозяйственной робототехнике ее можно использовать для определения спелых и неспелых фруктов, запрограммировав робота на их обнаружение.

Искусственный интеллект в автомобильной промышленности

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

Другим применением является обнаружение объектов zero-shot в самоуправляемых автомобилях. Возможности обнаружения zero-shot в YOLO-World могут улучшить способность автономного транспортного средства обнаруживать и классифицировать объекты на дороге, такие как пешеходы, дорожные знаки и другие транспортные средства, в режиме реального времени. Тем самым он может помочь обнаружить препятствия и предотвратить несчастные случаи для более безопасного путешествия. 

Пример обнаружения объектов на дороге.

Управление запасами для розничных магазинов

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

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

Все приложения уникальны и показывают, насколько широко можно использовать YOLO-World. Далее давайте перейдем к практическому использованию YOLO-World и рассмотрим пример кода.

Разбор кода

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

С помощью YOLO-World вы можете идентифицировать различные детали автомобиля на изображении менее чем за 5 минут. Вы также можете расширить этот код, чтобы опробовать различные приложения, используя YOLO-World! Для начала нам нужно будет установить пакет Ultralytics с помощью pip, как показано ниже.

Для получения дополнительных инструкций и рекомендаций, связанных с процессом установки, ознакомьтесь с нашим руководством по установке Ultralytics. Если у вас возникнут какие-либо трудности при установке необходимых пакетов для YOLOv8, ознакомьтесь с нашим руководством по распространенным проблемам для получения решений и советов.

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

Наше входное изображение.

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

Затем мы будем использовать метод predict, предоставляя путь к изображению вместе с параметрами для максимального количества обнаружений и пороговыми значениями для intersection over union (IoU) и confidence (conf) для запуска логического вывода на изображении. Наконец, обнаруженные объекты сохраняются в файл с именем 'result.jpg'.

Следующее выходное изображение будет сохранено в ваших файлах.

Наше выходное изображение.

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

Прочтите нашу страницу документации по YOLO-World, чтобы узнать, как сохранить модель с пользовательскими классами, чтобы ее можно было использовать непосредственно позже, не вводя пользовательские классы повторно.

Вы заметили, что двери автомобиля не были обнаружены?

Если вы снова посмотрите на выходное изображение, вы заметите, что пользовательский класс «дверь автомобиля» не был обнаружен. Несмотря на свои большие достижения, YOLO-World имеет определенные ограничения. Чтобы бороться с этими ограничениями и эффективно использовать модель YOLO-World, важно использовать правильные типы текстовых подсказок. 

Вот немного информации об этом:

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

Возможности безграничны

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

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

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

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

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