Beta 发布 Adaptive Wide Angle

3 月 21 日 Photoshop CS6 beta 开始公开下载。随之和用户见面的包括 Adobe 中国 Photoshop 团队开发的首个 Photoshop 主要功能 [1] —— Adaptive Wide Angle。这是我们工作一年半的成果。从用户的反应来看结果和前景都令人兴奋。

Adaptive Wide Angle 不仅是 Photoshop CS6 的主要功能,在图像处理方面也是新的突破。Photoshop 一般用来弥补照片的瑕疵或者制作各种超现实效果。Adaptive Wide Angle 面对的是一个较少为人了解的领域 —— 摄影与人主观视觉的差异。

除了人眼的双视立体效果外,普通人对摄影和主观视觉的差异了解不多。Adaptive Wide Angle 处理的问题正是双视立体之外的主观视觉(可以简单视为闭上一只眼之后感受到的视觉效果)和摄影的差异。所以 Adaptive Wide Angle 面临双重挑战:除了提供强大 UI,还需要向用户传达新领域的概念。另一方面,我从一开始就认为传达新概念这个任务并不全属于 UI 设计本身,因为新概念很快会成为被广为接受的普通概念,而 UI 演进要求一定的稳定性。所以,在总结工作心得的同时,这篇 blog 也是对这个新概念的简单介绍。

人的单眼视觉可以达到 100 度左右的视角(和视线中心轴成 50 度夹角的锥形)。这 100 度的视角投射到视网膜上,经过视神经和大脑的处理,最终具备下面近乎完美的特性:

  1. 所有直线仍然是「直线」;
  2. 局部不变形。物体的大小变化只和物体离开人眼的距离有关,在以人为球心的球面上移动物体,观察到的大小不会发生变化。

摄影技术无法完全还原单眼视觉。3D 全息技术固然可以,但在无需双视立体效果的情况下并无必要采用这种复杂昂贵的技术。完全还原单眼视觉的最简技术是把场景投影在以人为球心的球面上(称为视面球,view-sphere)。这种方法的关键在于直线并不真正投影为直线,但是也不像 fisheye 之类的镜头投影为平面上的曲线,而是投影为球面上的「侧地线」[2]。所以既可以保证主观感受的直线不弯曲,也能保证局部不变形。这正是大幅电影采用弧面银幕(部分球面或者部分柱面)的原因。但是这种做法代价仍然很大,以人为球心并且半径不能太小的球面不可能便于携带,也难于在建筑物平面上安置。

画家们在 16 世纪发明了灵活变通技术:对于包含明显直线的大尺度物体,比如背景建筑物,采用保证直线的透视投影 (perspective projection,等价于 pin-hole projection);对于本身不包含明显直线的小尺度物体,采用它们在视面球上的形式(由于球面的小部分可视为近似于平面)。比如这幅油画 [3]。这种技术称为「自由透视」或者「移动视角」[4],是即能避免球面投影又接近主观视觉效果的最佳折衷。但是没有经过透视画法和艺术创意训练的普通人显然和这种技术无缘。美国的图形学家找到了一种可以由计算机实现的数学方法。这篇论文的作者中的 Aseem Agarwala 和 Robert Caroll 和中国团队合作完成了 Photoshop CS6 Adaptive Wide Angle。中国团队从两位图形学家手中得到了质量很高的偏微分方程的线性方程逼近算法代码。

我们的第一个目标是让 Adaptive Wide Angle 和整个 Photoshop 平台风格高度一致。Photoshop 在过去的几十年中不断加入的新功能以及与 Filter 的交互方式,Adaptive Wide Angle 都给予了支持,主要包括:

  • Smart Object(同时也是对 action 的支持);
  • LAB,CMYK 等色彩模式;
  • 每通道 16 位色;
  • 透明通道。

Adaptive Wide Angle 还克隆了一些较新的 Filter 辅助功能,比如 Liquify 按住/放开 X 可以将 Preview 面板的放大系数增加四倍/恢复原状,同时不打断任何正在进行的 on-canvas 元素编辑。

第二个目标是在渲染能力上的扩展。Adaptive Wide Angle 既使用显卡加速渲染,又避免渲染的图片大小受到显存和内存大小的限制。

第三个目标也是中国团队投入精力最多的环节是界面的可用性。Aaptive Wide Angle 是目前 Photoshop 中界面最复杂的 Filter。我们尽量让它的界面简洁直观。Adaptive Wide Angle 的界面上先后存在过 30 多个不同控件,在不减少功能和灵活性的前提下减少到现在的十几个。更多的任务通过在 Preview 面板上编辑 on-canvas 元素来完成。

Adaptive Wide Angle 面临的最大的可用性挑战是如何让用户准确的输入照片的焦距 (focal length) 和投影类型 (比如 perspective, fisheye) 。在这方面我们体会到了 Photoshop 平台的强大威力。Adaptive Wide Angle 充分利用了 Photoshop 的资源:

  • 对于 Photoshop 支持的镜头/机身组合,Adaptive Wide Angle 自动根据 Lens Profile 数据计算焦距(同时弥补镜头的光学畸变);
  • 对于 meta-data 中同时提供 focal length 和 crop factor 的照片直接采用这些数据;
  • 通过增强 Auto-Align Layer 功能,把 Photomerge 生成的全景图的虚拟焦距存入 PSD 文档(或者其它任何支持 Adobe XMP 标准的文件);
  • 对于没有任何 meta-data 的 fisheye 镜头,中国团队发明了在 Preview 面板上一次成功的估测方法。

经过这些努力,大多数用户根本不必了解焦距和投影类型这两个概念。克服这个可用性障碍是中国团队的努力和 Photoshop 平台的巨大资源积累的合力。

最后,我们如愿以偿地看到很多用户通过 UI 本身和简单介绍能理解这个工具所实现的新概念。甚至于有些用户评价,由于这个工具直观的 UI 和结果的可预测性,一些理论上能够由 non-adaptive 工具 [5] 完成的任务,也可以通过 Adaptive Wide Angle 来完成。

脚注:

  1. Photoshop 中国团队之前开发过 Adobe Lens Profile Creator 和 Adobe Lens Profile Downloader。都是配合 Photoshop 使用的独立工具应用。
  2. Great circle。球面上连接两点最短的弧。可以看作两点和球心所在的平面与球面的部分交线。
  3. 注意此画两侧和中央的人物大小相同,而桌子的透视灭点又说明观察者距离场景并不远(不是长焦效果),这在相同视角的普通照片上是不可能的。
  4. 这个功能中的 adaptive 就是表示根据图像的内容自适应的进行自由透视投影。
  5. Non-adaptive 表示所进行的图像变形是有解析形式的统一数学变换,和 adaptive 算法进行的自由透视方法相对(后者是由用户输入和图像性质共同决定的偏微分方程逼近结果,没有解析形式)。Lens Correction 和 Perspective Transform 是常用的 non-adaptive 工具。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google+ photo

You are commenting using your Google+ account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s


%d 博主赞过: