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

Абирами Вина

5 минут чтения

28 февраля 2025 г.

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

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

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

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

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

Что такое определение цвета?

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

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

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

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

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

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

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

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

Некоторые часто используемые цветовые пространства включают RGB для цифровых дисплеев, HSV (Hue, Saturation, Value) для обработки изображений и CMYK (Cyan, Magenta, Yellow, Black) для печати. RGB и HSV - наиболее часто используемые цветовые пространства для определения цветов. Давайте разберемся, как они функционируют.

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

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

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

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

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

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

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

В частности, оттенок представляет собой фактический цвет и измеряется в градусах на цветовом круге: красный - 0°, синий - 240°. Между тем, насыщенность определяет, насколько ярким или тусклым выглядит цвет, где 0% - полностью серый, а 100% - полностью яркий. С другой стороны, значение определяет яркость, варьируясь от 0% (черный) до 100% (полная яркость).

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

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

Сравнение цветового пространства RGB и HSV

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

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

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

Как работает определение цвета

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

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

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

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

Роль распознавания цвета в компьютерном зрении

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

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

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

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

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

Реальные приложения для определения цвета

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

Определение цвета для оценки качества ткани

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

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

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

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

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

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

__wf_reserved_inherit
Рис. 6. Манго в разной степени спелости: (а) гнилой, (б) спелый и (в) недозрелый.

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

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

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

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

Давайте вместе построим будущее
искусственного интеллекта!

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

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