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

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

Проекты в области компьютерного зрения часто требуют много времени на аннотирование данных и обучение моделей обнаружения объектов. Но скоро это может уйти в прошлое. Лаборатория искусственного интеллекта Tencent выпустила YOLO, модель обнаружения объектов в реальном времени с открытым словарем, 31 января 2024 года. YOLO- это модель "нулевого выстрела", то есть вы можете делать выводы об обнаружении объектов на изображениях без необходимости их обучения.
Модели с нулевыми снимками способны изменить наш подход к приложениям компьютерного зрения. В этом блоге мы расскажем о том, как работает YOLO, о возможностях его использования и поделимся практическим примером кода, который поможет вам начать работу.
Вы можете передать в модель YOLO изображение и текстовую подсказку, описывающую, какие объекты вы ищете. Например, если вам нужно найти на фотографии "человека в красной рубашке", YOLO примет эти данные и приступит к работе.
Уникальная архитектура модели сочетает в себе три основных элемента:
Детектор YOLO сканирует ваше входное изображение, чтобы определить потенциальные объекты. Кодировщик текста преобразует ваше описание в формат, понятный модели. Затем эти два потока информации объединяются в RepVL-PAN с помощью многоуровневого кросс-модального слияния. Это позволяет YOLO точно detect и находить на изображении объекты, описанные в вашей подсказке.

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

Модели YOLO позволяют роботам взаимодействовать с незнакомым окружением. Не будучи обученными конкретным объектам, которые могут находиться в комнате, они все же могут определить, какие объекты там присутствуют. Допустим, робот входит в комнату, в которой он никогда раньше не был. С помощью модели YOLO он сможет распознать и идентифицировать такие объекты, как стулья, столы или лампы, даже если он не был специально обучен этим предметам.
Помимо обнаружения объектов, YOLO может определять их состояние благодаря функции "подсказать, а detect обнаружить". Например, в сельскохозяйственной робототехнике ее можно использовать для определения спелых и недозрелых фруктов, запрограммировав робота на их detect .
Автомобильная промышленность включает в себя множество движущихся частей, и YOLO может быть использован в различных автомобильных приложениях. Например, когда речь идет о техническом обслуживании автомобиля, способность YOLO распознавать широкий спектр объектов без ручного нанесения меток или длительного предварительного обучения оказывается чрезвычайно полезной. YOLO можно использовать для определения деталей автомобиля, которые нуждаются в замене. Он может даже автоматизировать такие задачи, как проверка качества, выявление дефектов или недостающих деталей в новых автомобилях.
Еще одно применение - обнаружение объектов с нулевого снимка в самоуправляемых автомобилях. Возможности YOLO по обнаружению объектов с нулевого снимка могут улучшить способность автономного автомобиля detect и classify объекты на дороге, такие как пешеходы, дорожные знаки и другие транспортные средства, в режиме реального времени. Это поможет detect препятствия и предотвратить аварии для более безопасного движения.

Идентификация объектов на полках в розничных магазинах является важной частью отслеживания запасов, поддержания запасов и автоматизации процессов. Способность Ultralytics YOLO распознавать широкий спектр объектов без ручного нанесения меток или длительного предварительного обучения чрезвычайно полезна для управления запасами.
Например, при управлении запасами YOLO может быстро обнаружить и классифицировать товары на полке, такие как различные марки энергетических напитков. Розничные магазины могут вести точный учет, эффективно управлять запасами и оптимизировать работу цепочки поставок.
Все приложения уникальны и показывают, насколько широко можно использовать YOLO. Далее давайте познакомимся с YOLO и рассмотрим пример кодирования.
Как мы уже говорили, YOLO можно использовать для detect различных частей автомобиля, требующих технического обслуживания. Приложение компьютерного зрения, определяющее необходимость ремонта, должно сфотографировать автомобиль, определить его детали, осмотреть каждую из них на предмет повреждений и дать рекомендации по ремонту. В каждой части этой системы будут использоваться различные методы и подходы ИИ. Для целей данного обзора кода давайте сосредоточимся на части, в которой определяются детали автомобиля.
С помощью YOLO вы сможете определить различные части автомобиля на изображении менее чем за 5 минут. Вы можете расширить этот код, чтобы попробовать различные приложения с использованием YOLO! Чтобы начать, нам нужно установить пакетUltralytics с помощью pip, как показано ниже.
Для получения дополнительных инструкций и лучших практик, связанных с процессом установки, ознакомьтесь с нашим руководством по установкеUltralytics . При установке необходимых пакетов для YOLOv8, если вы столкнетесь с какими-либо трудностями, обратитесь к нашему руководству по общим проблемам, чтобы найти решения и советы.
После того, как вы установили необходимый пакет, мы можем загрузить изображение из Интернета для запуска наших выводов. Мы собираемся использовать изображение ниже.

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

Если вы хотите посмотреть, что YOLO может делать без кодирования, вы можете перейти на демонстрационную страницу YOLO, загрузить изображение для ввода и ввести пользовательские классы.
Прочитайте нашу страницу документации по YOLO, чтобы узнать, как сохранить модель с пользовательскими классами, чтобы впоследствии использовать ее напрямую, без повторного ввода пользовательских классов.
Если вы снова посмотрите на выходное изображение, то заметите, что пользовательский класс "дверь автомобиля" не был обнаружен. Несмотря на большие достижения, YOLO имеет определенные ограничения. Чтобы бороться с этими ограничениями и эффективно использовать модель YOLO, важно использовать правильные типы текстовых подсказок.
Вот немного информации об этом:
В целом, модели YOLO можно превратить в мощный инструмент с их расширенными возможностями обнаружения объектов. Они обеспечивают высокую эффективность, точность и помогают автоматизировать различные задачи в различных приложениях, как в примере с идентификацией деталей автомобиля, который мы уже обсуждали.
Не стесняйтесь изучить наш репозиторий GitHub, чтобы узнать больше о нашем вкладе в компьютерное зрение и ИИ. Если вам интересно узнать, как ИИ меняет такие отрасли, как здравоохранение , загляните на страницы наших решений. Возможности таких инноваций, как YOLO, кажутся бесконечными!