分享一篇有趣的文章。
我们为何使用糟糕的色彩映射(colormap),以及该如何应对?
Kenneth Moreland; Sandia National Laboratories; Albuquerque, New Mexico, USA
”
1 摘要
学界早已公认 rainbow 色彩映射效果极差,可视化领域对其持明确反对态度,但其实际应用却持续存在。为何仍沿用这种存在诸多已知缺陷的感知编码方式?本文立场声明并未聚焦于“为何不应使用彩虹色”,而是探讨“尽管存在缺陷,人们为何仍选择这些颜色”的内在动因。决策常受知识匮乏影响,但即便具备专业知识者有时亦会做出欠妥选择。更深层的问题在于:彩虹色映射已被无意中塑造成一种便捷默认选项。厘清其被广泛采用的原因,有助于推动实践转向更优替代方案。教育固然重要,但显然尚不充分。真正有效的路径在于,让合理、易用的色彩替代方案成为更自然的选择。强制用户接受某种色彩映射并不可行。本文目标是使 rainbow 色彩映射逐步退出通用标准之列;实践表明,即便长期依赖该映射的用户,最终亦将主动迁移至更优方案。
2 引言
科学可视化中一种广泛应用的技术称为伪彩色(pseudocoloring),即依据某一数值变量为对象赋予相应变化的色彩。伪彩色技术需定义一个从数值到色彩的映射函数(或称色彩映射)。色彩映射通常通过选取一组连续色彩实现,这些色彩在线性对应于某数值区间时构成映射关系。图1展示了一个简单示例:数值区间[-1, 0]线性映射为不同明度的蓝色,而[0, 1]则映射为红色。

伪彩色可视化的有效性,取决于人类观察者能否准确将所见色彩还原为其代表的数值。伪彩色映射中色彩的选择,对这一逆向解译过程具有重大影响。因此,大量研究致力于探索色彩感知机制及其对数据视觉呈现的影响。正如预期,色彩选择会显著影响观察者将色彩解读为数值的能力,为此已设计出多种高效可用的色彩集合。
基于对色彩感知的深入理解,人们或可推断现代可视化技术已能高效运用色彩。遗憾的是,当前许多可视化仍采用已知存在严重问题的色彩集合。尤其典型的是 rainbow 色彩映射——因其直接采用彩虹光谱中的全部色相而得名——尽管大量证据表明其数据表征能力极差,却仍在可视化实践中被广泛采用。
本文旨在回溯此类不良色彩被普遍选用的根本原因,并提出从业者可采取的有效举措,以切实推动优质色彩应用。
3 rainbow色彩映射的问题

尽管色彩误用形式多样,本文重点聚焦于图2所示的 rainbow 色彩在科学可视化中的应用。原因在于: rainbow 色彩映射已被深入研究,且公认属于数据表征效果极差的方案;然而它在科学可视化中依然频繁出现。
已有诸多权威文献系统阐述 rainbow 色彩映射存在的问题,故本文不再展开详尽分析,仅简要概述其三大类缺陷:非自然的色序、感知不均匀性,以及对色觉缺陷的敏感性。
第一类问题是: rainbow 色彩序列缺乏任何自然的感知顺序。
尽管色相的顺序可以习得,但人类并未天生具备对色相“高低”的感知能力。
第二个问题是彩虹色标中各颜色的感知变化并不均匀:在黄色区域,颜色变化显得远快于绿色区域。这既可能因非数据固有特征而引入视觉伪影,干扰数据解读;又可能掩盖数据中本应凸显的重要特征。
第三个问题是彩虹色标对视觉缺陷较为敏感。虽然正常人眼能够区分彩虹中的全部色相,但约 5% 的人群存在色觉辨别障碍(通常表现为红绿色分辨困难)。这类观察者将严重误读该色标所呈现的信息。
4 为何采用不恰当的色彩方案
研究表明,受试者往往高估自身对彩虹色标的解读能力。换言之,用户主观上认为自己对彩虹色标的理解优于其他替代方案,而实际表现却更差。这无疑是彩虹色标广泛流行的重要成因之一,但并非全部原因。那么,为何可视化领域自身的出版物中仍大量使用彩虹色标?这个本应更了解其缺陷的专业群体,为何也如此普遍地采用该方案?
5 简便性
一种解释在于构建彩虹色标本身极为简便。计算机图形界面中的绝大多数色彩选择均基于 RGB (红-绿-蓝)通道实现。 RGB 是计算机图形学中的自然选择,因其三元组数值直接对应多数显示设备中红、绿、蓝三色光的强度组合。然而, RGB 色彩空间带来了一个非预期后果:在完全激活与完全关闭各通道的不同组合之间进行插值,恰好是最易生成的连续色彩序列——而这正是彩虹色标所呈现的序列。此外,许多计算机图形界面还支持通过 HSV (色调-饱和度-明度)通道选取颜色。在 HSV 色彩空间中,生成彩虹色标更为便捷:只需将饱和度(saturation)与明度(value)保持在最大值,仅调节色调(hue)即可。
彩虹色谱的构建如此简便,加之用户倾向于将其默认视为一种良好的数据表征方式,因此不难理解:在可视化软件包开发初期,彩虹色标往往最先被实现,并极有可能成为默认选项。这些初始阶段的欠佳色彩选择,会因回归测试与向后兼容性要求而迅速固化于软件之中;后续新增的软件模块亦持续沿用该默认设置,最终导致应用程序面向终端用户时,仍将彩虹色标设为默认选项。鲜有用户既具备相关知识,又有意愿主动更改默认色彩方案,因而彩虹色标便在各类可视化成果中被广泛采用。
5.1 审美因素
然而,简便性并非彩虹色标广为流行的根本原因。倘若确系如此,仅需提供一种更优的替代方案,便可彻底淘汰不恰当的色彩方案。但至少从经验案例来看,事实并非如此。以科学可视化软件 ParaView 的第7024号缺陷报告为例1:当 ParaView 将默认色标由彩虹色标更换为图1所示色标后,一名用户随即提交了该缺陷报告。图1所示色标在设计上力求与其所取代的彩虹色标保持外观上的相似性,同时具备更优的感知特性[13]。尽管改进后的色标已更易获取,该缺陷报告却恰恰反映出用户为恢复使用彩虹色标而额外付出的操作努力。
对彩虹色标效能的高估,或许能促使用户投入精力重新启用它;但这种动机很可能并不强烈。事实上,其他经验性事例表明:即便部分用户清楚认知彩虹色标的缺陷,仍对其保有使用偏好。
请参考图3所示的示例可视化图像,该图由我在桑迪亚国家实验室(Sandia National Laboratories)的一位同事制作。他与我曾就色彩使用展开过多次热烈讨论,但他仍不时选用彩虹色系。他的理由是:这一特定可视化图像并非用于科学研究,而是面向非专业人士进行传播与互动;而这些引人注目的色彩,恰恰最契合该用途。
归根结底,正是彩虹色系本身强烈的视觉吸引力,使其反复被选用。无论我们如何解读这些色彩,其明亮且富于变化的纯色无疑极具感染力(尽管有时可能分散注意力),单就美学效果而言,要超越这些色彩,往往需要大量时间投入与深厚的专业经验。

图3.尽管该可视化图像的设计者拥有多年从业经验,并充分了解彩虹色图存在的诸多问题,仍选择采用该色图,而非其他在感知性能方面更优的备选方案。
5.2 惯性效应
最后,彩虹色图得以长期沿用的一个重要原因,在于它已在科学可视化领域根深蒂固。以广受欢迎的可视化库VTK为例:尽管已有多种性能更优的色图被应用于VTK并贡献至其代码库中,其默认着色方案却依然沿用彩虹色图。问题在于,向VTK中添加新功能相对容易,但修改诸如默认配色等核心功能则十分困难。VTK包含数百个回归测试用例,一旦更改默认配色,其中许多测试即可能失败;而逐一更新这些测试用例又极为耗时。此外,此类变更必然破坏向后兼容性,因此必须获得整个VTK社区的批准——这又是一个耗时漫长的过程。这类软件开发中的细节问题,共同构成了改变色图使用习惯的惯性阻力。
类似惯性效应亦存在于使用可视化工具的各科学共同体内部。科学家常将当前结果与既往结果进行比对;若既往科研成果仅以彩虹色图呈现,则整个共同体便不得不继续沿用该色图方案。
6 如何推动合理用色
在可视化中提供并倡导合理用色,是一场持续不断的实践。可视化研发与研究界可采取多种举措,且其中大多数措施均需不同程度地协同实施。
6.1 教育普及
大量研究表明,使用者普遍高估彩虹色图的有效性。因此,对可视化从业者开展关于色彩恰当应用的系统教育至关重要。
值得庆幸的是,近年来可视化界已高度关注自身从业者的色彩应用能力培养,相关进展亦有据可查。Borland与Taylor的统计显示:2005年IEEE可视化会议论文集中,采用伪彩色(pseudocoloring)方式展示数据的论文中,有52%使用了彩虹色图;而至2014年IEEE可视化会议论文集,涉及三维标量场伪彩色渲染的论文共28篇,其中仅8篇(占29%)采用彩虹色图;在全部62篇涉及任意顺序型数据(sequential data)色彩表达的论文中,仅10篇(占16%)使用彩虹色图。可见,相关工作已取得切实进展。
然而,教育普及亦有其局限性。尽管对可视化从业者开展系统培训尚属可行,但要覆盖所有潜在的可视化使用者则几乎不可能。可视化已是计算科学不可或缺的组成部分,许多工具在设计之初即预设其用户为可视化领域的非专业人士。此外,如前所述,即便用户已充分了解彩虹色图的缺陷,实践中仍倾向于继续使用该色图。
教育是必要的,但仅靠教育并不足够。
6.2 警示与劝诫
当教育尚不足以防止不当的色彩使用时,有时需要施加一点推动力。一旦发现已知存在缺陷的配色方案,应主动花时间尝试促使设计者加以修正。这种干预有时仅需向相关人员说明问题;有时则需明确予以警示与劝诫。
除与同事面对面交流外,纠正偏离正轨的可视化表达还有诸多机会。其中最有效的途径之一,便是对学术出版物进行审阅。同行评审人员的一项重要职责,是确保文稿(包括其中所有图件)能够有效、真实地传达信息。因此,对采用感知误导性色彩的图形展示提出批评完全恰当;作为出版流程中的一道把关环节,评审人可通过这一方式为作者提供切实的改进动力。
除逐个审查具体可视化案例外,还应审视用于生成可视化的软件工具。这些工具是否致力于生成高质量的色彩方案?抑或默认采用彩虹色系(rainbow colormap),从而进一步助长其滥用?若属后者,则用户与观察者均应指出这一缺陷。一种可行机制是向开发团队提交缺陷报告(bug report)或功能改进建议(feature request);另一种机制是在开发者可能参与的公开场合指出该问题。事实上,Borland 与 Taylor [5] 所发表论文中的公开警示,其影响力远超其他因素,直接推动 ParaView 开发团队将彩虹色系从默认设置中移除。
借此机会,VisIt、EnSight、VTK、VAPOR 以及 MayaVi ,特此正式警示:请停止继续将彩虹色系设为默认配色方案。
6.3 简化
如前所述,彩虹色系之所以长期成为可视化领域的首选方案,主要原因在于其生成过程极为简便。然而,高质量色彩方案的创建越简单,用户实际采用它的可能性就越高。理想状态下,应使优质着色方案比劣质方案更易于应用。
第一步,是从事可视化色彩设计的专家须确保其所研发的色彩方案具备良好的可及性。制作示例并发表文献固然重要,但若要真正影响可视化领域的发展,这些色彩方案必须以非专业人士也能便捷使用的格式交付。
Brewer 等人的工作,堪称提升色彩研究成果可及性的典范。该研究产出大量适用于数值到色彩映射的配色方案。而对可视化实践者而言,Brewer 工作的真正价值在于:其提供了一个网页界面(见图 4),操作简洁直观,便于用户选取整套配色方案;选定后,网站即刻输出可直接导入任意程序、API 或网页界面的色彩数值。该网站的建设与持续维护工作,其投入远超任何单一学术出版物;而它对可视化领域所产生的实际影响,亦远非任何出版物所能比拟。这一色彩资源库成效卓著,尽管其最初设计目标专为制图学(cartography)服务,如今“Color Brewer”网站已成为各类可视化工作的标准参考。

并非所有人都能像 Color Brewer 那样出色,但即便是一些即用型简易资源,也能产生实质性影响。以笔者早前关于发散型色标(diverging color maps)的研究论文为例:论文发表时,同步上线了一个配套网站,提供可直接导入各类软件的示例色彩数值,并公开了论文撰写过程中所使用的全部软件与工具。该网站至今持续维护,并陆续整合了多位读者贡献的补充内容。
尽管构建和维护本页面需要投入一定精力,但它极大地推动了相关研究成果在实践中的落地应用,既整体提升了可视化领域的研究水平,也显著增强了个人可视化工作的可见度。
归根结底,几乎所有可视化成果均依赖某种软件工具生成;而通过优化这些工具的色彩设计,使其更科学、更合理地运用颜色,我们便能产生最为显著的积极影响。例如,ParaView 和 MATLAB 等工具近期已将其默认配色方案从彩虹色系(rainbow colors)调整为更适宜的方案。此类调整显著提升了大量可视化成果的质量。
6.4 时间维度
由于工具与社区在可视化实践方式上具有惯性,色彩使用方式不可能立即发生转变。这需要耐心,但只要持续施加时间积累与外部推力,终将促成切实改变。当前进展已然显现,可视化领域专家须持续推进教育普及、规范引导与方法简化。
7 简明实用建议
本文余下部分面向初学者提供简明、实用的指导建议。设计优质色图(color map)本身是一项复杂任务:它不仅要求扎实的色彩理论与视觉感知知识,还需协调彼此冲突的设计目标,甚至在一定程度上依赖艺术直觉。即便是经验丰富的专家,选取恰当的配色方案亦需耗费大量时间。
本建议旨在绕过上述全部复杂性,转而直接采用现成的成熟配色方案。由于并不存在适用于所有场景的“完美”色图,文中将提供若干选项,但为兼顾简洁性,力求将选项数量控制在较低水平。
7.1 Color Brewer
任何配色决策的首要参考资源,应为前述卓越的在线工具——Color Brewer 网页 [1](见图4)。该网站提供的色图集合组织极为清晰,用户可便捷地为各类可视化任务匹配适宜的配色方案。其庞大的色图库几乎可满足各种可视化需求;且每套配色均由专家精心设计,在保证视觉吸引力的同时,兼具高度实用性。
7.2 三维可视化
在科学可视化中,对三维曲面或体数据施加伪彩色(pseudocoloring)是一种常见操作。在三维环境中应用伪彩色时,需格外审慎地选择颜色,因为色彩的明暗变化会传递关键的空间线索;色彩映射与表面明暗(shading)效果必须协同一致,不可相互干扰。
部分实践者主张采用等亮度(isoluminant)色图,以确保伪彩色完全不干扰原有明暗结构。然而,等亮度色图通常难以构成优良的线性映射,因其对比度偏低。此外,人类视觉系统具备极强的分辨能力,可清晰区分由纹理引起的明暗变化与由光照条件引起的明暗变化,如图5所示。

图5. 爱德华·H·阿德尔森(Edward H. Adelson)首次发表的“棋盘阴影错觉”。尽管标记为 A 和 B 的两个方块实际亮度完全相同,人类视觉系统仍能轻松区分地板上棋盘纹理本身的明暗变化与圆柱体投下的阴影。
需要指出的是,三维明暗效果的有效呈现依赖于表面具备良好的光线反射能力。暗色表面易显模糊、缺乏形体感,因此用于三维可视化的色图须在整个取值范围内保持一定亮度。凡下探至纯黑色的色图,在三维几何体上均无法有效使用。
针对无特殊中间值的标量场映射,常规建议是选用明度(brightness)单调递增的色图——因明度天然表征数值顺序,且能提供高对比度。理论上可实现的最大明度范围即从纯黑到纯白(其间可包含任意数量的色相过渡)。
然而,由于最深的颜色会干扰三维着色效果,较暗的颜色无法使用,从而降低了色图的感知分辨率。
一种替代单调亮度色图的方案是发散型色图(diverging color map),即一种双端色图:两端分别采用不同色相的颜色,并在中间汇合于一种明亮的中性色。传统上,发散型色图专为呈现具有中间特殊意义数值的标量数据而设计(例如,高程数据中的海平面,或温度数据中的冰点)。
早期建议曾反对将发散型色图用于展示均匀取值范围的数据,因其亮度不具单调性。但近期研究指出,可采用带有低/高提示性色相(如冷暖色调)的发散型色图,以自然传达相对数值。近期的感知研究表明,发散型色图在可视化任务中具有良好的有效性。
Color Brewer 网站提供了若干适用于三维可视化的发散型色图。此外,还存在支持在整个色域内平滑插值的发散型色图资源,如图 6 所示。

图 6. 科学可视化中使用的平滑发散型色图。颜色在极坐标系下的 Mesh 色彩空间中插值。
7.3 平面标量场
科学可视化中某些应用场景涉及对二维平面而非三维空间上的场进行伪彩色映射。典型应用包括地理空间场、稠密数组或矩阵,以及二维函数。此时,伪彩色可直接施加于图像的平面表面,该技术有时称为热力图(heat map)。由于二维平面无需着色处理,因此不受三维数据所面临的色彩限制约束。
因此,为最大化平面场的感知分辨率,有时宜选用从零亮度(黑色)到最大亮度(白色)渐变的色图。尽管灰度渐变满足这一要求,但同时对比效应往往导致其感知精度下降。引入变化的色相有助于缓解同时对比带来的问题。

图 7. 黑体辐射色图。所提供的颜色可在 CIELAB 色彩空间中插值。
一种从黑至白且感知效果优良的色图称为黑体辐射色图(black body radiation color map),如图 7 所示。该色图灵感源自物体在不同温度下所发射光的颜色。红、橙、黄等色相的变化有助于在不同背景中区分颜色,而色相的连续过渡亦有助于强化对颜色含义的理解。

图 8. 一种感知线性色图,除黑体辐射色图中的红色与黄色外,还融入蓝色与紫色色相。所提供的颜色可在 CIELAB 色彩空间中插值。
尽管该色图感知效果良好,但许多观察者更倾向包含更多色相的配色方案。图 8 所示色图借鉴了 gnuplot 默认调色板的设计,混合蓝、紫等色相,以生成更具视觉吸引力的颜色。

图 9. Kindlmann 色图。所提供的颜色在 CIELAB 色彩空间中插值效果良好。
另一种提升色图中颜色区分能力的方法,是在黑至白之间实现最大程度的色相变化。具体做法类似于彩虹色图(rainbow color map)中的色相旋转,但需针对每种颜色调整其亮度,使其与在色图中的位置相匹配,如图 9 所示。该色图常被称为 Kindlmann 色图,因其最早由 Kindlmann 等人在一篇论文中提出。
类似的变体还有 cubehelix 颜色映射等。此类颜色映射表现优异,尤其相较于彩虹(rainbow)颜色映射。

图 10. Francesca Samsel 设计的一组发散型(diverging)颜色映射。端点处的深色增强了二维可视化中的感知范围,但这些深色在三维曲面着色中效果不佳。
另一种方法是采用与三维可视化中讨论的发散型颜色映射相似的设计。然而,对于二维平面场,可将颜色范围进一步扩展至更深的色调。图 10 展示了若干适用于二维可视化的颜色映射,其感知范围大于对应的三维版本。
8 结论
尽管彩虹色存在诸多缺陷,它仍在大量科学可视化中被沿用。不过,我们可采取一些简单措施来减少其使用。必须持续向用户普及基础的色彩应用知识,并对滥用色彩的行为予以警示。
最重要的是,应尽可能降低优质颜色映射的使用门槛。本文提供了一些实用建议,并辅以清晰示例,介绍在科学可视化中普遍适用的颜色映射。为补充上述信息并进一步提升这些颜色映射的可用性,已建立以下网站,以方便用户直接将这些颜色映射集成至可视化流程中。
在开发可视化工具与库时,应参考此类资料,为终端用户提供优质的默认配色方案。
原文地址:https://www.kennethmoreland.com/color-advice/BadColorMaps.pdf
”
(完)

本篇文章来源于微信公众号: CFD之道








评论前必须登录!
注册