Нажимая “Принять все файлы cookie”, вы соглашаетесь на сохранение файлов cookie на вашем устройстве с целью улучшения навигации по сайту, анализа использования сайта и помощи в наших маркетинговых усилиях. Подробнее
Настройки cookie
Нажимая “Принять все файлы cookie”, вы соглашаетесь на сохранение файлов cookie на вашем устройстве с целью улучшения навигации по сайту, анализа использования сайта и помощи в наших маркетинговых усилиях. Подробнее
Узнайте, как распознавание цветов связывает человеческое и компьютерное зрение, используя цветовые пространства RGB и HSV для автоматизации решений компьютерного зрения.
Цвета играют жизненно важную роль в том, как люди воспринимают мир, помогая нам распознавать, понимать и связываться с нашим окружением. Однако, в отличие от нас, машины не видят цвета — они обрабатывают их как данные, преобразуя оттенки и тона в числовые значения.
Автомобиль с автоматическим управлением не просто видит красный сигнал светофора – он обрабатывает цвет как сигнал к остановке. Эта способность распознавать и интерпретировать цвета помогает преодолеть разрыв между человеческим зрением и компьютерным зрением.
Компьютерное зрение — это раздел ИИ, который позволяет машинам анализировать и понимать визуальные данные. Ключевым аспектом этого является определение цвета, которое позволяет машинам идентифицировать и различать объекты на основе цвета. Анализируя значения пикселей в различных цветовых пространствах, определение цвета можно использовать в таких приложениях, как отслеживание объектов, медицинская визуализация и автоматизация.
В этой статье мы более подробно рассмотрим, как работает распознавание цветов, почему это важно и как оно используется в приложениях компьютерного зрения. Давайте начнем!
Что такое определение цвета?
Распознавание цвета помогает машинам идентифицировать объекты и понимать сцены на основе цвета. В сочетании с другими задачами компьютерного зрения оно повышает точность и расширяет возможности реальных приложений. Прежде чем углубляться в то, как работает распознавание цвета, полезно понять, как цвета представлены в цифровом виде.
Цифровые изображения состоят из крошечных квадратов, называемых пикселями, каждый из которых содержит информацию о цвете. Например, в цветовой модели RGB (красный, зеленый, синий) цвета создаются путем смешивания различных интенсивностей красного, зеленого и синего.
Каждый цвет определяется тремя значениями в диапазоне от 0 до 255, где 0 означает отсутствие цвета, а 255 означает полную интенсивность. Например, чистый красный цвет — (255, 0, 0), потому что он имеет самое высокое значение красного и не имеет зеленого или синего. Белый цвет — (255, 255, 255), потому что все три цвета имеют полную интенсивность.
Рис. 1. Пример того, как компьютер видит цвета яблока.
Если вы знакомы с такими моделями компьютерного зрения, как Ultralytics YOLO11то вы можете задаться вопросом, почему определение цвета - это отдельная техника от обнаружения объектов. Хотя обе эти техники анализируют изображения, они служат разным целям.
Распознавание цвета фокусируется на определении конкретных цветов на изображении, в то время как обнаружение объектов распознает и классифицирует объекты независимо от их цвета. В сценарии с самоуправляемым автомобилем распознавание цвета определяет красный цвет светофора, в то время как обнаружение объектов идентифицирует сам светофор, помогая автомобилю принимать безопасные решения при вождении.
Введение в цветовые пространства
Цветовая модель или цветовое пространство — это система, используемая для представления цветов в цифровых изображениях и являющаяся важной частью определения цвета. Она присваивает числовые значения цветам, позволяя компьютерам интерпретировать их единообразно на различных устройствах. Цветовые пространства обеспечивают структурированный способ хранения, настройки и отображения цветов в цифровых системах.
Некоторые часто используемые цветовые пространства включают RGB для цифровых дисплеев, HSV (тон, насыщенность, значение) для обработки изображений и CMYK (голубой, пурпурный, желтый, черный) для печати. RGB и HSV являются наиболее часто используемыми цветовыми пространствами для обнаружения цветов. Давайте углубимся в то, как они функционируют.
Обзор цветового пространства RGB
Цветовое пространство RGB широко используется в цифровой обработке изображений, встречается в экранах, камерах и устройствах отображения. Он работает путем объединения различных уровней красного, зеленого и синего света для создания различных цветов. Когда все три цвета находятся на полной интенсивности, получается белый цвет, а когда ни один из них не присутствует, он выглядит черным.
Это цветовое пространство часто визуализируется в виде цветового куба, где каждая ось представляет один из основных цветов. Углы куба показывают чистый красный, зеленый и синий цвета, а также их комбинации, в то время как внутри находятся все возможные оттенки.
Хотя RGB прост и популярен, у него есть некоторые ограничения. Цвета не всегда могут выглядеть одинаково для человеческого глаза, потому что RGB не соответствует равномерно тому, как мы воспринимаем различия в цветах. На него также влияют условия освещения, а это означает, что цвета могут выглядеть по-разному в зависимости от яркости и окружающей среды.
Цветовое пространство HSV (Hue, Saturation, Value) представляет цвета на основе трех компонентов: оттенок (тип цвета), насыщенность (его интенсивность) и значение (его яркость). В отличие от RGB, который смешивает интенсивности света, HSV ближе к тому, как люди воспринимают цвета, что делает его более практичным выбором для многих задач обработки изображений.
В частности, оттенок представляет собой фактический цвет и измеряется в градусах на цветовом круге, где красный цвет находится при 0°, а синий — при 240°. Между тем, насыщенность контролирует, насколько ярким или тусклым выглядит цвет, где 0% — это полностью серый, а 100% — полностью яркий. С другой стороны, значение определяет яркость, варьируясь от 0% (черный) до 100% (полная яркость).
Интересно, что цветовое пространство HSV часто визуализируется в виде конуса, где оттенок располагается по окружности, насыщенность увеличивается от центра к краю, а яркость увеличивается снизу вверх. Благодаря тому, что HSV разделяет цвет и яркость, оно широко используется в приложениях компьютерного зрения.
Чтобы сравнить RGB и HSV бок о бок, давайте возьмем в качестве примера оранжевый цвет. В цветовом пространстве RGB оранжевый цвет создается путем смешивания красного и зеленого с определенной интенсивностью, обычно представляемой как (255, 165, 0) - что означает полный красный, немного зеленого и отсутствие синего. Однако, поскольку RGB не отделяет цвет от яркости, он может быть менее интуитивным для задач, требующих точной манипуляции цветом.
В HSV оранжевый цвет определяется иначе. Его оттенок составляет около 30°, что определяет его положение на цветовом круге. Его насыщенность близка к 100%, что означает, что это яркий, чистый цвет, а его значение также составляет 100%, что указывает на полную яркость. Поскольку HSV отделяет цвет от яркости, он часто более полезен в приложениях для определения цвета, где условия освещения могут меняться.
Рис. 4. Сравнение значений RGB и HSV. Изображение автора.
Как работает распознавание цвета
Как правило, обнаружение цвета рассматривается как метод обработки изображений, используемый для идентификации и выделения цветов из изображений или видео. Цвета, обнаруженные на изображениях с помощью обработки изображений, основаны на цветовых пространствах и методах пороговой обработки для различения определенных оттенков, теней и интенсивностей.
Вот краткий обзор основных этапов, связанных с определением цвета с использованием обработки изображений:
Получение изображения: Процесс начинается со съемки изображения или видеокадра с помощью камеры. Изображение обычно хранится в формате RGB в виде матрицы пикселей.
Преобразование цветового пространства: Поскольку RGB не всегда идеально подходит для определения цвета, изображение преобразуется в цветовое пространство HSV. Это помогает отделить цвет от яркости, делая обнаружение более стабильным в различных условиях освещения.
Пороговая обработка цвета: Определяется конкретный диапазон для целевого цвета в формате HSV. Этот шаг создает бинарную маску, где пиксели в выбранном диапазоне цветов отображаются белым цветом, а все остальные — черным.
Маскирование: Двоичная маска применяется к исходному изображению, чтобы выделить обнаруженный цвет, отфильтровывая все остальное. Это выделяет только те области, которые соответствуют желаемому цвету.
После обнаружения и выделения цвета его можно использовать в различных задачах компьютерного зрения, таких как отслеживание объектов, сегментация изображений и автоматизированное принятие решений в таких приложениях, как робототехника, медицинская визуализация и автономные транспортные средства.
Роль распознавания цвета в компьютерном зрении
Теперь, когда мы узнали, как работает определение цвета, давайте рассмотрим, как оно поддерживает приложения компьютерного зрения.
В некоторых случаях определение цвета может быть более простой альтернативой моделям компьютерного зрения, особенно в контролируемых средах, где цвет является основным фактором различения объектов. Вместо обучения модели на огромном наборе данных, определение цвета предоставляет быстрое и эффективное решение без необходимости в обширной маркировке или высокой вычислительной мощности.
Например, в автоматизированной системе сортировки яблок модель компьютерного зрения, подобная YOLO11 , может быть обучена classify яблок по степени спелости, но для этого потребуется набор помеченных изображений для обработки вариаций освещения, текстуры и типов яблок.
Более простой подход - сначала detect яблоки с помощью распознавания объектов, а затем проанализировать их цвет, чтобы определить спелость. Поскольку этот метод опирается на предопределенные цветовые пороги, а не на обучение модели, он хорошо работает в стабильных условиях, когда освещение и фон не меняются резко.
Хотя модель, обученная по индивидуальному заказу, может быть лучше для более сложных и изменчивых сред, определение цвета — это быстрое, практичное и доступное решение для приложений, работающих в режиме реального времени. Это также отличная отправная точка для тех, кто изучает обработку изображений и компьютерное зрение, прежде чем перейти к более сложным решениям.
Реальные примеры использования обнаружения цвета
Распознавание цвета используется в широком спектре отраслей для различных применений. Давайте взглянем на некоторые реальные примеры использования.
Распознавание цвета для оценки качества ткани
Распознавание цвета имеет решающее значение в производстве тканей и текстиля. Оно обычно используется в автоматизированных системах контроля качества и выявления дефектов. В отличие от ручного контроля, который отнимает много времени и подвержен человеческим ошибкам, автоматизированные системы обеспечивают точное выявление дефектов в режиме реального времени.
В частности, анализируя изображения ткани, системы компьютерного зрения могут выявлять дефекты, такие как неравномерное распределение красителя, выцветание и загрязнение. Передовые методы определения цвета позволяют осуществлять более точный контроль качества, измеряя однородность цвета в различных партиях.
Рис. 5. Распознавание цветов играет ключевую роль в создании красочных тканей.
Использование цветового распознавания в сельском хозяйстве
Как упоминалось ранее, цвет является ключевым показателем зрелости, и технология определения цвета может использоваться в сельском хозяйстве для мониторинга здоровья урожая и улучшения сбора урожая.
Анализируя изменения цвета, фермеры могут оценить состояние растений, detect болезни и определить, когда урожай готов к сбору. Современные роботы, оснащенные датчиками цвета и компьютерным зрением, помогают автоматизировать процесс, обеспечивая сбор только спелых культур. Эти системы могут повысить эффективность и производительность, особенно в районах с нехваткой рабочей силы.
Рис. 6. Манго на разных стадиях зрелости: (a) испорченный, (b) спелый и (c) неспелый.
Основные выводы
Распознавание цвета — это инновационный метод компьютерного зрения, применяемый в сельском хозяйстве, производстве, здравоохранении и автоматизации. Он помогает машинам распознавать и интерпретировать цвета для отслеживания объектов, контроля качества и принятия решений.
Хотя передовые модели ИИ продолжают развиваться, определение цвета остается простым и эффективным решением, особенно в контролируемых средах. По мере развития технологий он, вероятно, продолжит играть ключевую роль в улучшении реальных приложений.