0
本文作者: 汪思颖 | 2017-11-19 20:31 |
雷锋网消息,苹果 Vision 框架的发布,意味着开发者可以在 App 中使用深度学习算法和许多其他的计算机视觉技术。那么,支持这一创造性革新的背后,苹果团队面临了哪些挑战?日前,苹果在其官网发文,首次揭露了这些信息。详情如下,雷锋网编译整理:
苹果在 iOS 10 中开始使用深度学习技术。随着 Vision 框架的发布,开发者可以在 App 中使用深度学习技术和许多其他的计算机视觉算法。他们在开发 Vision 框架时,为了保护用户隐私,让算法能高效执行,面临着巨大的挑战。下面是对这些挑战的介绍。
苹果公司首先通过 CIDetector 类在 Core Image 框架中发布了人脸检测公共 API 。苹果内部应用程序也在使用这个 API ,例如 Photo 。CIDetector 最早版本使用的是一种基于 Viola-Jones 的检测算法,基于传统计算机视觉技术的进步,CIDetector 得到了持续改进。
随着深度学习的出现以及它在计算机视觉问题上的应用,这些顶尖技术在人脸检测的精准性上取得了前所未有的巨大进步。为了利用这些技术的所带来的转变,苹果彻底重新思考他们的方法。
与传统的计算机视觉相比,在深度学习中学到的模型需要更大的内存、更大的磁盘存储空间和更多的计算资源。
虽然手机发展到现在,已经具备各种各样的功能了,但传统的高端手机并不是一个适合训练深度学习视觉模型的平台。大多数行业通过云端的 API 提供深度学习解决方案来解决这个问题。在那种云端解决方案中,图像被发送到云端服务器,然后再利用深度学习来推理、检测人脸。
云端的服务通常使用性能强大的桌面级 GPU,具有大量可用内存。当碰到非常大的网络模型,或者可能要配置大型模型时,都可以在服务器端运行,这能保证客户端(可能是移动电话)可以在云端(在本地无法运行)运行大型的深度学习架构。
苹果 iCloud 照片库是一个基于云端的图片和视频存储解决方案。不过,由于苹果此前做出过承诺,绝不侵犯用户隐私,所以他们不能利用 iCloud 服务器来进行计算机视觉计算。所有发送到 iCloud 照片库的照片和视频在发送到云存储之前就在设备上进行了编码,而且只能通过注册过那个 iCloud 账户的设备进行解密。因此,为了带来深度学习的计算机视觉解决方案,必须直面在 iPhone 上运行深度学习算法的挑战。
除了这一点外,苹果还面临诸多挑战。
深度学习模型需要装配到操作系统中去,占用本来就很稀缺的 NAND 存储空间。
此外,它还需要加载到 RAM 中,使得 GPU/CPU 的计算时间大大延长。
与云端的服务不同,云上的资源可以分配,可以用来单独解决视觉问题,而想要在设备上进行计算,则需要在与其他正在运行的应用程序共享系统资源。
最后,计算必须足够高效,能够在相当短的时间内处理大型图片库,并且手机的电量不会消耗得过快,手机也不能产生明显发热。
via:apple.com
雷锋网编辑整理。
雷峰网版权文章,未经授权禁止转载。详情见转载须知。