Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Визуальный ИИ

Использование распознавания цветов в задачах компьютерного зрения

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

Абирами ВинаAbirami Vina8 мин. чтения
Обнаружение цветов в приложениях компьютерного зрения

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

Автономный автомобиль не просто видит красный сигнал светофора — он обрабатывает цвет как сигнал к остановке. Способность распознавать и интерпретировать цвета помогает сократить разрыв между человеческим зрением и компьютерным зрением.

Компьютерное зрение — это область ИИ, которая позволяет машинам анализировать и понимать визуальные данные. Один из ключевых аспектов этой области — обнаружение цветов: оно позволяет машинам распознавать объекты и различать их по цвету. Анализируя значения пикселей в разных цветовых пространствах, обнаружение цветов можно применять для отслеживания объектов, медицинской визуализации и автоматизации.

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

Что такое обнаружение цветов?#

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

Цифровые изображения состоят из крошечных квадратов — пикселей, каждый из которых содержит информацию о цвете. Например, в цветовой модели RGB (красный, зелёный, синий) цвета создаются путём смешивания красного, зелёного и синего каналов с разной интенсивностью.

Каждый цвет задаётся тремя значениями от 0 до 255, где 0 означает отсутствие цвета, а 255 — максимальную интенсивность. Например, чистый красный имеет значение (255, 0, 0): красный канал установлен на максимум, а зелёный и синий — на ноль. Белый цвет задаётся значением (255, 255, 255), поскольку все три канала имеют максимальную интенсивность.

Как компьютер видит цвета яблока

Рис. 1. Пример того, как компьютер видит цвета яблока.

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

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

Введение в цветовые пространства#

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

К часто используемым цветовым пространствам относятся RGB для цифровых дисплеев, HSV (тон, насыщенность, значение) для обработки изображений и CMYK (голубой, пурпурный, жёлтый, чёрный) для печати. Для обнаружения цветов чаще всего используют RGB и HSV. Вот как они работают.

Обзор цветового пространства RGB#

Цветовое пространство RGB широко применяется в цифровой съёмке и используется в экранах, камерах и устройствах отображения. Оно формирует разные цвета, сочетая свет красного, зелёного и синего каналов с разной интенсивностью. Если все три канала имеют максимальную интенсивность, получается белый цвет; если ни один из них не задействован — чёрный.

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

Несмотря на простоту и популярность, у RGB есть ограничения. Цвета не всегда выглядят одинаково для человеческого глаза, поскольку RGB не соответствует равномерно тому, как мы воспринимаем различия между цветами. Кроме того, на RGB влияют условия освещения: в зависимости от яркости и окружения цвета могут выглядеть по-разному.

Цветовой куб RGB

Рис. 2. Цветовой куб RGB.

Обзор цветового пространства HSV#

Цветовое пространство HSV представляет цвета с помощью трёх компонентов: тона (тип цвета), насыщенности (интенсивность цвета) и значения (яркость). В отличие от RGB, который смешивает световые каналы, HSV ближе к тому, как цвета воспринимает человек, поэтому для многих задач обработки изображений это более практичный выбор.

Тон обозначает собственно цвет и измеряется в градусах на цветовом круге: красный находится на отметке 0°, а синий — 240°. Насыщенность определяет, насколько ярким или тусклым выглядит цвет: при 0% цвет полностью серый, а при 100% — максимально насыщенный. Значение задаёт яркость в диапазоне от 0% (чёрный) до 100% (максимальная яркость).

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

Цветовой конус HSV: оттенок меняется по окружности, насыщенность растёт к краям, а значение увеличивается от чёрного цвета на вершине

Рис. 3. Конус HSV.

Сравнение цветовых пространств RGB и HSV#

Чтобы сравнить RGB и HSV, возьмём для примера оранжевый цвет. В цветовом пространстве RGB оранжевый получается при смешении красного и зелёного с определённой интенсивностью. Обычно его представляют как (255, 165, 0): максимальное значение красного, некоторое значение зелёного и нулевое значение синего. Однако RGB не отделяет цвет от яркости, поэтому это пространство может быть менее интуитивным для задач, требующих точной работы с цветами.

В HSV оранжевый цвет определяется иначе. Его оттенок составляет около 39°, что определяет его положение на цветовом круге. Насыщенность близка к 100%, поэтому цвет выглядит ярким и чистым, а значение также равно 100%, что указывает на максимальную яркость. Поскольку HSV отделяет цвет от яркости, этот формат часто удобнее для задач обнаружения цветов, где условия освещения могут меняться.

Сравнение значений RGB и HSV

Рис. 4. Сравнение значений RGB и HSV. Изображение предоставлено автором.

Как работает обнаружение цветов#

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

Вот краткий обзор основных этапов обнаружения цветов с помощью обработки изображений:

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

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

Роль обнаружения цветов в компьютерном зрении#

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

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

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

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

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

Практическое применение обнаружения цветов#

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

Обнаружение цветов для оценки качества ткани#

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

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

Распознавание цвета играет ключевую роль в создании ярких тканей

Рис. 5. Распознавание цвета играет ключевую роль в создании ярких тканей.

Использование распознавания цвета в сельском хозяйстве#

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

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

Манго на разных стадиях зрелости: испорченное, спелое и неспелое

Рис. 6. Манго на разных стадиях зрелости: (a) испорченное, (b) спелое и (c) неспелое.

Главные выводы#

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

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

Узнай больше об ИИ: загляни в наше сообщество и репозиторий GitHub. Узнай об инновациях в сфере ИИ в производстве и компьютерного зрения в здравоохранении, а также о том, как начать использовать ИИ на основе компьютерного зрения, с помощью наших вариантов лицензирования.

Автор

Abirami Vina
Abirami Vina

Создатель контента · Ultralytics

Начав карьеру инженером по компьютерному зрению, Абирами Вина заложила прочную основу в области ИИ для компьютерного зрения и машинного обучения. Она создает контент для Ultralytics и является основательницей и главным автором Scribe of AI, где готовит качественные технические материалы для компаний, работающих в сфере ИИ. Стремясь сделать ИИ понятным и увлекательным, она помогает связать передовые технологии с их практическим применением.

Комментарии

Задай вопрос, поделись результатами или помоги кому-нибудь.

Изучи решения

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

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

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

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

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

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

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

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

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