Нажав кнопку "Принять все файлы cookie", вы соглашаетесь с сохранением файлов cookie на вашем устройстве для улучшения навигации по сайту, анализа его использования и помощи в наших маркетинговых усилиях. Дополнительная информация
Настройки файлов cookie
Нажав кнопку "Принять все файлы cookie", вы соглашаетесь с сохранением файлов cookie на вашем устройстве для улучшения навигации по сайту, анализа его использования и помощи в наших маркетинговых усилиях. Дополнительная информация
Узнайте о YOLO-World, инновационной модели обнаружения объектов, которая позволяет идентифицировать объекты по текстовым подсказкам. Узнайте, как работает YOLO-World и каково ее применение, а также получите практические навыки на примере быстрого кода.
Проекты в области компьютерного зрения часто требуют много времени на аннотирование данных и обучение моделей обнаружения объектов. Но скоро это может уйти в прошлое. Лаборатория искусственного интеллекта Tencent выпустила YOLO-World, модель обнаружения объектов в реальном времени с открытым словарем, 31 января 2024 года. YOLO-World - это модель "нулевого выстрела", то есть вы можете делать выводы об обнаружении объектов на изображениях без необходимости их обучения.
Модели с нулевыми снимками способны изменить наш подход к приложениям компьютерного зрения. В этом блоге мы расскажем о том, как работает YOLO-World, о возможностях его использования и поделимся практическим примером кода, который поможет вам начать работу.
Заглянуть в мир YOLO
Вы можете передать в модель YOLO-World изображение и текстовую подсказку, описывающую, какие объекты вы ищете. Например, если вам нужно найти на фотографии "человека в красной рубашке", YOLO-World примет эти данные и приступит к работе.
Уникальная архитектура модели сочетает в себе три основных элемента:
Детектор, основанный на модели обнаружения объектов Ultralytics YOLOv8, для анализа визуального содержимого изображения.
Кодировщик текста, предварительно обученный в OpenAI's CLIP, специально разработанный для понимания вашего текстового запроса.
Сеть 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 - большое достижение в этой области. Они могут находить дефекты в продуктах, даже если не были обучены этой конкретной проблеме, используя свои способности "нулевого выстрела". Например, на заводе, производящем бутылки для воды, с помощью YOLO-World можно легко отличить правильно запечатанную крышкой бутылку от бутылки, в которой крышка была пропущена или неисправна.
Пример проверки крышки бутылки.
Робототехника
Модели YOLO-World позволяют роботам взаимодействовать с незнакомым окружением. Не будучи обученными конкретным объектам, которые могут находиться в комнате, они все же могут определить, какие объекты там присутствуют. Допустим, робот входит в комнату, в которой он никогда раньше не был. С помощью модели YOLO-World он сможет распознать и идентифицировать такие объекты, как стулья, столы или лампы, даже если он не был специально обучен этим предметам.
Помимо обнаружения объектов, YOLO-World может определять их состояние благодаря функции "подсказать, затем обнаружить". Например, в сельскохозяйственной робототехнике ее можно использовать для определения спелых и недозрелых фруктов, запрограммировав робота на их обнаружение.
ИИ в автомобильной промышленности
Автомобильная промышленность включает в себя множество движущихся частей, и YOLO-World может быть использован в различных автомобильных приложениях. Например, когда речь идет о техническом обслуживании автомобиля, способность YOLO-World распознавать широкий спектр объектов без ручного нанесения меток или длительного предварительного обучения оказывается чрезвычайно полезной. YOLO-World можно использовать для определения деталей автомобиля, которые нуждаются в замене. Он может даже автоматизировать такие задачи, как проверка качества, выявление дефектов или недостающих деталей в новых автомобилях.
Еще одно применение - обнаружение объектов с нулевого снимка в самоуправляемых автомобилях. Возможности YOLO-World по обнаружению объектов с нулевого снимка могут улучшить способность автономного автомобиля обнаруживать и классифицировать объекты на дороге, такие как пешеходы, дорожные знаки и другие транспортные средства, в режиме реального времени. Это поможет обнаружить препятствия и предотвратить аварии для более безопасного движения.
Пример обнаружения объектов на дороге.
Управление запасами для розничных магазинов
Идентификация объектов на полках в розничных магазинах является важной частью отслеживания запасов, поддержания запасов и автоматизации процессов. Способность Ultralytics YOLO-World распознавать широкий спектр объектов без ручного нанесения меток или длительного предварительного обучения чрезвычайно полезна для управления запасами.
Например, при управлении запасами YOLO-World может быстро обнаружить и классифицировать товары на полке, такие как различные марки энергетических напитков. Розничные магазины могут вести точный учет, эффективно управлять запасами и оптимизировать работу цепочки поставок.
Все приложения уникальны и показывают, насколько широко можно использовать YOLO-World. Далее давайте познакомимся с YOLO-World и рассмотрим пример кодирования.
Знакомство с кодом
Как мы уже говорили, YOLO-World можно использовать для обнаружения различных частей автомобиля, требующих технического обслуживания. Приложение компьютерного зрения, определяющее необходимость ремонта, должно сфотографировать автомобиль, определить его детали, осмотреть каждую из них на предмет повреждений и дать рекомендации по ремонту. Каждая часть этой системы будет использовать различные методы и подходы ИИ. Для целей данного обзора кода давайте сосредоточимся на части, в которой определяются детали автомобиля.
С помощью YOLO-World вы сможете определить различные части автомобиля на изображении менее чем за 5 минут. Вы можете расширить этот код, чтобы попробовать различные приложения с использованием YOLO-World! Чтобы начать, нам нужно установить пакет Ultralytics с помощью pip, как показано ниже.
Для получения дополнительных инструкций и лучших практик, связанных с процессом установки, ознакомьтесь с нашим руководством по установке Ultralytics. При установке необходимых пакетов для YOLOv8, если у вас возникнут какие-либо трудности, обратитесь к нашему руководству по общим проблемам, чтобы найти решения и советы.
Установив нужный пакет, мы можем загрузить из Интернета изображение, на котором будем проводить наши умозаключения. Мы будем использовать изображение, приведенное ниже.
Наше входное изображение.
Затем мы импортируем необходимый пакет, инициализируем нашу модель и зададим классы, которые мы ищем во входном изображении. В данном случае нас интересуют следующие классы: автомобиль, колесо, дверь автомобиля, зеркало автомобиля и номерной знак.
Затем мы используем метод предсказания, предоставляя путь изображения вместе с параметрами для максимального количества обнаружений, а также пороговые значения для пересечения над объединением (IoU) и уверенности (conf), чтобы выполнить вывод по изображению. Наконец, обнаруженные объекты сохраняются в файл с именем 'result.jpg'.
Следующее выходное изображение будет сохранено в ваших файлах.
Наше выходное изображение.
Если вы хотите посмотреть, что YOLO-World может делать без кодирования, вы можете перейти на демонстрационную страницу YOLO-World, загрузить изображение для ввода и ввести пользовательские классы.
Прочитайте нашу страницу документации по YOLO-World, чтобы узнать, как сохранить модель с пользовательскими классами, чтобы впоследствии использовать ее напрямую, без повторного ввода пользовательских классов.
Вы заметили, что двери машины не были обнаружены?
Если вы снова посмотрите на выходное изображение, то заметите, что пользовательский класс "дверь автомобиля" не был обнаружен. Несмотря на большие достижения, YOLO-World имеет определенные ограничения. Чтобы бороться с этими ограничениями и эффективно использовать модель YOLO-World, важно использовать правильные типы текстовых подсказок.
Вот некоторые сведения об этом:
Возможно, YOLO-World не нужны высокие уровни доверия для точных предсказаний, поэтому снижение порогов доверия может улучшить показатели обнаружения.
Добавьте классы, которые вас не интересуют. Это поможет улучшить обнаружение первичных объектов и уменьшить количество ложных срабатываний для вторичных объектов.
Обнаружение сначала крупных объектов, а затем мелких деталей позволяет повысить точность обнаружения.
Упоминайте цвета в своих уроках, чтобы обнаружить объекты по цветовым признакам.
Описание размеров объектов в подсказках также поможет YOLO-World более точно идентифицировать конкретные объекты.
Методы постобработки, такие как фильтрация прогнозов по размеру или настройка уровней доверия для каждого класса, могут еще больше улучшить результаты обнаружения объектов.
Пределы бесконечны
В целом, модели YOLO-World можно превратить в мощный инструмент с их расширенными возможностями обнаружения объектов. Они обеспечивают высокую эффективность, точность и помогают автоматизировать различные задачи в различных приложениях, как в примере с идентификацией деталей автомобиля, который мы уже обсуждали.
Не стесняйтесь изучить наш репозиторий GitHub, чтобы узнать больше о нашем вкладе в компьютерное зрение и ИИ. Если вам интересно узнать, как ИИ меняет такие отрасли, как здравоохранение , загляните на страницы наших решений. Возможности таких инноваций, как YOLO-World, кажутся бесконечными!