普通扫描软件使用的技术看起来可能很简单:启动手机相机然后拍下照片。对于许多扫描应用来说,这种假设并没有错。

但当被扫描对象是实体照片时,事情就更为复杂了。如何区分照片和背景?如何检测照片边缘,裁去背景而只留下相关的影像内容?如果同时有多张照片呢?这就需要完全不同的计算过程:实时进行的独立计算、结论获取并采取合适的行动。

成功的照片扫描需要克服诸多技术障碍

手持设备照片扫描的挑战

使用手机拍摄照片可以将实体照片转为数码照片,但这种方式有一些缺点:您需要手动剪裁每张照片,而且每次只能拍摄一张照片。此外,您几乎无法保证拍摄照片的边角和实体照片一样是直角。

如果您只需将一两张照片转为数码照片,这种手动操作可能足够。但是大多数拥有实体相册的家庭都有成百上千张照片。为了使手持设备的照片拍摄达到要求,则需要采用更复杂的扫描方式。Photomyne投入大量时间和努力,研发了这一款包含人工智能技术的软件。

会思考的机器

“人工智能”(AI)并非不是一个新概念(由John McCarthy在1956年首次提出)。最近,它已然成为社会热点。这一通用术语可以指代不同的事物,具体取决于机器运行的过程。

《麻省理工科技评论》文章表示,AI的其中一个子集是“试图模仿(大脑)新皮层中神经元层活动”的深度学习网络。

深度学习网络在计算过程中应用了所谓的人工神经网络(简称ANN)。“深度学习模型旨在通过类似于人类得出结论的逻辑结构来持续分析数据。为实现这一目标,深度学习使用名为人工神经网络的分层算法结构”(Brett Grossfeld,Zendesk博客)。

在本质上,ANN是一种可以通过调查数据中的例子来“学习”如何执行任务的软件。

为了扫描照片,Photomyne已经训练了几个深度学习网络,以推动解决本文开头提到的照片检测和裁剪的挑战。在Photomyne应用程序中,以下算法组件构成了独特的超智能扫描软件。

1. 照片与背景间的细微差别

如何使软件成功区分照片和背景并保持不出错?Photomyne应用程序获得了官方授予的专利,程序的第一部分基于深度学习网络,能教会自己检测图像、“理解”图像边界位置以及背景的开始位置(如桌子或墙面)。

我们是怎么做到的?我们帮助网络训练自身识别复杂的照片检测模式。我们为它提供大量真实扫描的照片数据和清晰(手动)定义的边缘。经过几周的训练,网络开始学会“正确”、“准确”识别照片边缘的方式。

起点:以90度角拍摄整个相册页面 起点:以90度角拍摄整个相册页面
扫描算法计算的是相机拍摄图像内的照片部分 - 即检测照片的边缘 扫描算法计算的是相机拍摄图像内的照片部分 - 即检测照片的边缘

几年后,经过大量照片的训练,应用程序扫描仪的深度学习网络组件确定每张新扫描照片边缘的准确率达到了92%,并可以进行相应裁剪。即使扫描对象包括扫描算法首次遇到的各种相册类型、材质和照片尺寸,也能保持相同的准确率。

最终结果:自动检测、自动裁剪和自动旋转扫描照片 最终结果:自动检测、自动裁剪和自动旋转扫描照片

2. 照片透视

在使用手机扫描照片时,哪怕人们尽力将手机与照片保持平行,设备与照片间仍然会形成一定角度,产生粗糙的梯形输入图像。为了应对这一挑战,我们研发了融入扫描过程的透视校正机制。

在确定每张照片的边界后,扫描算法将每张照片转为梯形并进行透视校正。这是最终生成边角为直角的矩形照片的必要步骤。

换句话说,不论原始照片倾斜程度如何,扫描算法都知道如何在保持正确比例的同时拉直照片。

3. 智能自动照片旋转

在对图像输入进行透视校正后,应用程序的扫描算法继续识别是否有照片以及哪些照片需要旋转。

我们训练的人工神经网络已经教会自己区分“上”和“下”,知道了天空在顶部,地面在底部。如果它识别出需要旋转的照片,则会以90度为单位进行自动旋转。

这种先进的技术能力是通过向深度学习网络提供真实数据进行训练的结果。在此情况下,数据包含方向正确(人类认为的正确)的经过手动旋转的照片。

4. 研发中:褪色照片的色彩还原

Photomyne扫描算法的第四个组件仍在研发中,但这是一个特别令人兴奋的组件。实体旧照片经常会随着时间的推移而失去鲜艳的色彩,导致褪色或形成棕黄色调,有了复古的外观和感觉(难怪Instagram将其用作复古滤镜之一)。

我们目前正在努力训练另一个人工神经网络来识别这些照片,并尽可能自动校正褪色的照片。

  • 这些关键部件使Photomyne的扫描仪获得了复杂却高效的功能和思考能力。

这些功能使通过手机扫描任意数量的实体照片成为一个流畅的过程。