在计算机视觉中,显著性图是一种图像,它突出显示人眼首先关注的区域或对机器学习模型最相关的区域。显著性图的目标是反映像素对人类视觉系统或否则不透明的机器学习模型的重要程度。例如,在一幅风景图像中,人可能首先看向堡垒和明亮的云朵,因此这些区域会在显著性图上被突出显示。显著性图广泛应用于从图像压缩到可解释人工智能的各种应用中,在这些应用中,它们提供模型决策的视觉解释。
显著性的概念源于对人类视觉注意的研究。根据V1显著性假说,初级视觉皮层(V1)似乎负责生成显著性图。在机器学习中,显著性图通常为深度神经网络生成,尤其是卷积神经网络和变换器,以指示输入的哪些部分对输出影响最大。
人眼应用
显著性图在多种不同问题中具有应用。对于人眼注意,它们用于:
- 图像和视频压缩:人眼只关注帧中的一小块感兴趣区域。因此,没有必要以均匀质量压缩整个帧。使用显著性图可以在相同视觉感知下减小视频的最终大小。
- 图像和视频质量评估:图像或视频质量指标的主要任务是高相关性与用户意见。显著区域的差异被赋予更多重要性,从而对质量分数贡献更大。
- 图像重定向:这旨在通过扩展或收缩非信息区域来调整图像大小。重定向算法依赖于显著性图的可用性,这些图能准确估计所有显著的图像细节。
- 对象检测和识别:与其将计算复杂的算法应用于整个图像,不如将其应用于最可能包含对象的图像显著区域。
可解释人工智能
显著性图是可解释人工智能中的突出工具,提供机器学习模型(尤其是深度神经网络)决策过程的视觉解释。这些图突出显示输入数据中对模型输出影响最大的区域,有效指示模型在做出预测时“看”哪里。例如,在图像分类任务中,显著性图可以识别对特定类别决策贡献最大的像素或区域。
为卷积神经网络开发的显著性映射技术范围从简单地对类别分数相对于输入数据取梯度,到更复杂的算法,如积分梯度和类别激活映射。在变换器架构中,注意力机制导致了类似的显著性图,如注意力图、注意力展开和类别判别注意力图。
显著性作为分割问题
显著性估计可以被视为图像分割的一个实例。在计算机视觉中,图像分割是将数字图像划分为多个片段(像素集,也称为超像素)的过程。分割的目标是简化或改变图像的表示,使其更有意义且更易于分析。图像分割通常用于定位图像中的对象和边界(线、曲线等)。更准确地说,图像分割是为图像中的每个像素分配标签的过程,使得具有相同标签的像素共享某些特征。
经典算法
OpenCV中实现了三种形式的经典显著性估计算法:
- 静态显著性:依赖于图像特征和统计信息来定位图像的感兴趣区域。
- 运动显著性:依赖于视频中的运动,通过光流检测。移动的对象被认为是显著的。
- 对象性:对象性反映图像窗口覆盖对象的可能性。这些算法生成一组可能包含对象的边界框。
除了经典方法,基于神经网络的方法也很流行。有用于运动显著性估计的神经网络示例:
- TASED-Net:由两个构建块组成。首先,编码器网络提取低分辨率时空特征,然后后续的预测网络解码空间编码特征,同时聚合所有时间信息。
- STRA-Net:强调两个基本问题。首先,通过外观和光流耦合集成时空特征,然后通过注意力机制学习多尺度显著性。
- STAViS:结合时空视觉和听觉信息。这种方法使用单一网络,学习定位声源并融合两种显著性以获得最终显著性图。
有一种较新的静态显著性方法称为视觉失真敏感性。它基于这样的想法:真实边缘,即对象轮廓,比其他复杂纹理区域更显著。它以一种不同于经典边缘检测算法的方式检测边缘。它使用相当小的梯度幅度阈值来考虑梯度的存在。它获得垂直、水平和两个对角线方向的四个二值图。对二值图像应用形态学闭运算和开运算以闭合小间隙。为了清除斑点状形状,它利用距离变换。最后,连接的像素组是单个边缘(或轮廓)。使用连接像素集大小的阈值来确定图像块是否包含可感知的边缘(显著区域)。
示例实现
可以通过计算每个像素到同一帧中其他像素的距离来计算简单的显著性图。像素\(I_k\)的显著性值由下式给出:
\(\mathrm{SALS}(I_k) = \sum_{i=1}^{N} |I_k - I_i|\)
其中\(I_i\)是像素\(i\)的值,范围在[0,255]内。展开形式为:
\(\mathrm{SALS}(I_k) = |I_k - I_1| + |I_k - I_2| + ... + |I_k - I_N|\)
其中N是当前帧中的总像素数。该公式可以通过按相同强度值分组像素来重构:
\(\mathrm{SALS}(I_k) = \sum_{n=0}^{255} F_n \times |I_k - I_n|\)
其中\(F_n\)是强度值\(I_n\)的频率。频率以直方图形式表示,直方图的计算时间为\(O(N)\)。这种方法高效,并构成许多经典显著性检测方法的基础。
神经网络方法
现代显著性图生成通常依赖于深度学习。对于卷积神经网络,基于梯度的方法计算类别分数相对于输入图像的导数,生成突出显示最强影响像素的显著性图。积分梯度和类别激活映射(CAM)是更先进的技术,提供更平滑和更具判别性的图。在变换器中,注意力机制产生注意力图,这些图可以跨层聚合,称为注意力展开,以创建视觉和文本输入的显著性图。这些方法广泛用于Machine learning和Deep learning中的模型可解释性。
其他领域的应用
虽然显著性图在计算机视觉中最常见,但它们已被改编到其他领域。在自然语言处理中,显著性图可以突出显示对模型预测影响最大的单词或标记,尤其是在Transformer (architecture)-based模型如Large language model中。在音频处理中,显著性图可以指示与分类相关的时间-频率区域。基本原则保持不变:识别对输出最重要的输入部分。
挑战与局限性
显著性图并非没有批评。它们可能对输入中的小扰动敏感,导致不稳定的解释。一些方法产生的图不是类别判别性的,意味着它们突出显示一般显著的区域,而不是特定于特定预测。此外,评估显著性图的质量很困难,因为没有模型注意力的地面真值。研究人员继续开发新技术以提高可靠性和可解释性,通常借鉴Neural network研究和Artificial intelligence伦理的见解。
未来方向
随着Artificial intelligence模型变得更加复杂,对透明解释的需求也在增长。显著性图可能仍然是可解释人工智能中的关键工具,尤其是在医学成像和自动驾驶等高风险应用中。Generative AI和多模态模型的进展可能导致结合视觉、文本和听觉线索的新形式显著性。在MIT CSAIL、Stanford AI Lab和BAIR (Berkeley AI Research)等机构的研究继续推动可解释性的边界,显著性图作为基础技术发挥着作用。