Show HN:用于生成多样肤色的简单算法和色彩空间

一个新项目提出了一种简单、数学驱动的色彩空间,用于生成广泛范围的人类肤色,目标是服务于角色创建器、游戏和数字艺术工具。评论者称赞这种方法清晰且实用——它基于 PCA、拟合函数,以及一个可调参数,用来在“可信的人类肤色”和更奇幻的颜色之间权衡——同时也在探讨其局限性,例如对某些非常浅和非常深的肤色覆盖不足、人工标注带来的偏见,以及光照和次表面散射的影响。该工作被拿来与 Pantone 和 Google 的 Monk Skin Tone Scale 等现有系统比较,并被视为任务特定色彩建模的一个有前景的例子,尽管实现上存在一些问题,如深色模式干扰以及缺少伽马校正。

整体反响与使用场景

  • 许多评论者称赞该项目的清晰性、交互性和说明文。
  • 建议的应用包括 VR 头像、角色创建器、游戏、动画、化妆工具,以及更具表现力的 UI 颜色选择器。
  • 有几个人明确表示,他们希望在当前的角色创建器中用这个方案取代固定的色板集合。
  • 代码现在采用 MIT 许可证;有人有兴趣直接复用它。

色彩空间设计与控制

  • 这种方法(将 PCA 投影到二维基底,再拟合一个函数)被认为既巧妙又易于理解。
  • 新月形分布与其他经验数据集(例如粉底色号)相匹配。
  • R² 参数是核心:更高的值会允许更极端/离群的颜色;约 1.5–2.0 被认为是在真实性与多样性之间的折中。
  • 一些人一开始觉得它有点难懂,并建议默认开启“球体”可视化。
  • 也有技术性批评:XYZ→RGB 的转换没有做伽马校正,而且将 PCA 后的空间命名为 XYZ,可能会与标准的 CIE XYZ 色彩空间混淆。

真实性、范围与边缘情况

  • 用户注意到绿色、蓝色和紫色;回复强调了严格真实性与覆盖罕见或风格化肤色之间的权衡。
  • 有些人认为降低 R² 可以过滤掉不合理的颜色,同时保留罕见但真实的离群值。
  • 也有人指出,光照条件会让“异常”的肤色变得合理;一位评论者认为,讨论中对光照的限制说明得不够。
  • 边缘或角落颜色(例如非常青或非常苍白)是否会真实出现在人类身上,也受到质疑。

表征、偏见与社会语境

  • 有人觉得浅肤色的变化以及“红发透明感”等特征没有得到充分体现;也有人反驳说,透明感属于材质/光照,而非纯颜色。
  • 人工标注步骤受到质疑;有人担心会编码偏见,并问为什么不直接从照片中采样。作者(据线程所述)承认存在偏见,并表示未来工作可以采用多个标注者以及更严格的数据。
  • 对于更广泛的肤色表征关注,反应不一:有人欣赏其包容性和媒体史语境;另一些人则觉得这种文化上的执着本身令人不安或没有必要。
  • 线程中提到了商业色卡体系(Pantone、Monk)、成像标准中的历史偏见,以及此前的工业实践(Pinterest 的肤色建模)。