颜色直方图是对数字图像中颜色分布的统计表示。它统计落入一组已定义颜色区间(通常基于RGB、HSV或Lab等颜色空间)中的像素数量。生成的直方图提供了图像颜色内容的紧凑摘要,与空间布局无关。这使其成为计算机视觉、图像处理以及基于内容的图像检索等领域的基础工具,在这些领域中,它被用于图像匹配、分割和分析等任务。
这一概念伴随着20世纪末数字成像和计算机图形学的发展而出现。在Xerox PARC和MIT CSAIL等机构进行的早期图像处理工作探索了用于图像分析的统计方法。颜色直方图在20世纪90年代随着多媒体数据库的兴起而获得 prominence,成为索引和搜索图像的关键特征。Michael I. Jordan等机器学习领域的研究者为其理论基础做出了贡献,将其与概率分布和相似性度量联系起来。
构建与颜色空间
要构建颜色直方图,首先需将图像转换到选定的颜色空间。RGB空间常见,但对光照变化较为敏感。HSV(色调、饱和度、明度)空间通常更受青睐,因为它将色度信息与强度分离,使直方图对光照变化更具鲁棒性。Lab空间设计用于近似人类感知,也被使用。每个像素的颜色被映射到一个区间,并累加区间计数。区间数量影响直方图的粒度;较少的区间产生粗略摘要,而较多的区间提供更精细的细节,但会增加维度。
在计算机视觉中的应用
颜色直方图用于图像检索系统,其中查询图像的直方图通过直方图交集或卡方距离等度量与数据库中的直方图进行比较。这种方法高效且具有尺度不变性,但忽略了空间信息。在目标检测和跟踪中,直方图建模目标区域的颜色分布,使算法能够在后续帧中定位目标。例如,均值漂移跟踪算法依赖颜色直方图在视频序列中跟踪对象。在图像分割中,直方图有助于识别主导颜色簇,可用于将图像划分为区域。
局限性与扩展
标准颜色直方图的一个主要局限性是缺乏空间上下文。具有相同颜色分布但布局不同的两幅图像会产生相同的直方图。为解决此问题,颜色相关图和空间直方图等扩展引入了位置信息。颜色相关图记录在距某颜色像素给定距离处找到另一种颜色像素的概率。另一个问题是噪声和量化敏感性;平滑技术和自适应分箱可缓解这些影响。在Machine learning和Deep learning中,颜色直方图常被用作经典模型的输入特征,但已在很大程度上被来自Neural network的学习表示所取代,后者能同时捕捉颜色和空间模式。
在机器学习与人工智能中的作用
在Artificial intelligence的背景下,颜色直方图在图像分类和场景识别等任务中充当简单而有效的特征,尤其在标注数据稀缺时。它们也用于数据增强流程,其中颜色抖动等变换会改变直方图以提高模型鲁棒性。在Generative AI中,直方图可通过将输出分布匹配到目标来指导着色或风格迁移。然而,使用Convolutional neural network(一种Neural network)的现代方法通常隐式学习颜色表示,使显式直方图变得不那么核心。尽管如此,它们对可解释性以及嵌入式设备上的轻量级应用仍具价值,例如Qualcomm或Arm Holdings开发的那些设备。
计算考量
计算颜色直方图在计算上成本低廉,只需对图像像素进行单次遍历。对于高分辨率图像,可通过GPU上的并行处理进行优化,如NVIDIA(尽管未列出,但概念适用)或Amazon Web Services和Google Cloud等云服务所支持的框架。直方图的大小由区间数量决定;例如,每通道256区间的RGB直方图产生1670万维向量,通常通过量化减少到每通道8或16个区间。这种紧凑性使直方图适用于实时系统,例如Waymo自动驾驶车辆中的系统,在其中辅助场景理解。
参见
- Data Augmentation
- image-segmentation(未列出,但相关)
- Content-based image retrieval(未列出,但相关)