绿色检查
链接复制到剪贴板

在计算机视觉应用中利用色彩检测

探索色彩检测如何在人类和计算机视觉之间架起桥梁,利用 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 与我们感知颜色差异的方式并不一致。此外,它还会受到光线条件的影响,这意味着颜色会因亮度和环境的不同而呈现出不同的效果。

图 2.RGB 色彩立方体

HSV 色彩空间概述

HSV(色相、饱和度、值)色彩空间根据色相(色彩类型)、饱和度(色彩强度)和值(色彩亮度)三个部分来表示色彩。与混合光强度的 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.不同成熟度的芒果:(a)腐烂,(b)成熟,(c)未成熟。

主要收获

色彩检测是一种创新的计算机视觉技术,可应用于农业、制造业、医疗保健和自动化领域。它可以帮助机器识别和解释颜色,以进行物体跟踪、质量控制和决策。 

虽然先进的人工智能模型在不断发展,但颜色检测仍然是一种简单有效的解决方案,尤其是在受控环境中。随着技术的进步,它将继续在改善现实世界的应用中发挥关键作用。

探索我们的社区GitHub 存储库,深入了解人工智能。了解制造领域的人工智能创新和医疗保健领域的计算机视觉创新,并了解如何通过我们的许可选项开始利用视觉人工智能。

Facebook 徽标Twitter 徽标LinkedIn 徽标复制链接符号

在此类别中阅读更多内容

让我们共同打造人工智能的未来

开始您的未来机器学习之旅