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

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

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

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

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

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

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

Что такое распознавание цвета?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Логотип FacebookЛоготип ТвиттераЛоготип LinkedInСимвол копирования-ссылки

Читайте больше в этой категории

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

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