通过AI自学习,Google让Pixel 3的人像模式更优秀

Link: https://news.cnblogs.com/n/613720/

  虽然双摄手机已经在市场上普及,其所带来的人像模式、多倍变焦也成为了不少智能手机的「标配」,但仍然有厂商依然坚持用一个摄像头的配置。

  比如以软件著称的 Google,从 Pixel 手机的初代到今天的 Pixel 3 / 3XL,在往今的两年时间里(初代 Pixel 于 2016 年发布),他们仍坚持采用单摄配置。

  有意思的是,Pixel 不但是 DxOMark 榜单前列的常客,夜景表现长期吊打各旗舰, 而且还带来了比双摄出品更优秀的人像模式出品。

  这些其实都是要归功于软件算法和 AI 神经网络。昨天,Google 就在他们的 Google AI Blog 上解析了 Pixel 3「人像模式」(Portrait Mode)的算法原理。实际上,他们在这套算法上下了不少功夫。

  Google 的算法原理

  如果你对 Google 的相机算法陌生,不妨先来了解一下 Pixel 2 的人像算法原理

  去年,Google 通过 AI(神经网络)算法,让 Pixel 2 / 2XL 在仅一颗摄像头的硬件条件下,拍出能与双摄手机媲美的人像背景虚化照片。

  ▲ 图片来自:Google

  通过去年 Google 公布的这组对比图,我们能快速区分出左边的 HDR+ 样张和右边 Portrait Mode「人像模式」下的样张在背景虚化上的不同。

  正如你所见那样,在「人像模式」下,人像后的背景被进行了软件虚化处理,与正常 HDR+ 对比看上去视觉冲击更强,同时也避免了背景对拍摄主体的视觉干扰。

  • 拍摄一张 HDR+ 照片

  根据 Google 去年在 AI Blog 的介绍,Pixel 2 的相机会先拍摄一组 HDR+ 照片,通过多帧合成,从而提升最终成片的动态范围、细节保留、高光表现。

  通过下面这组 HDR+ 的对比图,我们能看到该功能在开启前后的区别(注意右上角远景曝光及地板线条细节)。

  ▲ 左:HDR+ 前;右:HDR+ 后图片来自:Google

  • 分割远近景

  如果你想拍摄一张「人像模式」照片,那么在得到一张 HDR+ 成片后,相机会使用 TensorFlow 的 AI 神经网络将人物像素点、物体的像素点、远近物的像素点筛选出来。

  Google 在 AI Blog 给出的这组对比图能看到更直观的展示效果:

  左边是 HDR+ 拍摄的原图,右边黑色部分是 AI 识别出来的背景部分,白色部分是被识别出来的主体人物轮廓(包括人物五官细节以及在该轮廓内的物体)。

  有意思的是,从最终成片中我们能看到,桌上的饼干在 AI 识别下是属于「非人」部分,但最终这部分没有被虚化。这是因为系统除了将主体和背景识别出来以外,还识别出了主体周边的物体,因此 AI 最终没有将人物下方的物体虚化。因为这部分虽然不属于对焦主体,属于近景,但是这种效果还不是最完美的。

  • 得到深度优化图并合成最终成片

  虽然去年的 Pixel 2 和今年的 Pixel 3 系列都没有配置双摄像头,但 Google 似乎一直都不是以硬件取胜的公司,他们更擅长于用软件和算法去解决问题。

  ▲ 图片来自:Google

  尽管没有硬件上的双摄,但 Pixel 的相机都配备了 PDAF 双核相位对焦技术,Google 便可以通过像素点划分将一颗摄像头「一分为二」:

  镜头左侧拍摄到的画面会和右侧的画面约有 1mm 的不同视觉间距,如果是在纵向拍摄下,镜头则是分为上下两部分排列。

  在拍摄后,系统会并排两侧镜头拍摄到的像素。通过 Google 自家的 Jump Assembler 算法去得出立体演算的深度优化图,利用双向求解器将深度图转变成高解析度。

  ▲ 图 1 、2 为上半部分、下半部分相机拍摄,图 3 动图为前面两图区别图片来自:Google

  上图左边是通过 PDAF 拍摄并演算得到的深度图,白色部分越深,代表与镜头距离越近;右边是决定像素模糊程度,黑色部分为「不需模糊」范围,红色部分为「需模糊范围」,通过红色的深浅,系统会自动判断出背景虚化的力度。

  ▲ 最终效果图

  最后系统会将第 2 步骤分割出的背景图和第 3 步骤得出的深度图合并。在 AI 物体的判别下,系统能估算出近景的饼干和瓷盘到对焦(人物)主体的距离,并进行虚化。最终得到了比步骤 2 的初级处理更全面和自然的人像照片。

对比步骤 2 和步骤 3 最终的效果图,你能看到位于近景的饼干也被适当虚化了。通过软件算法,我们能将虚化范围「捏造」成任何形状。

  Google 是怎样训练神经网络的?

  了解了 Pixel 2 的人像模式原理,那么 Pixel 3 的优化就不难理解了。

  通过软件算法,相机系统可大致估算出对焦主体和背景的距离,并对远景进行虚化。但在手持拍摄时,手机难免会出现轻微的抖动,因而影响到最终虚化效果。正是如此,此前有不少用户在 Pixel 2 系列上遇到了景深识别错误的问题。

  根据 Google AI Blog 的介绍,基于神经网络学习的特性,在 Pixel 3 上,Google 正通过增加对 AI 系统的识别提示和训练 AI 神经网络的算法,去修复「人像模式」中的识别误差问题。

例如,通过像素点数量去判断物体与镜头的远近距离,得出给 AI 更精准的距离判断结果;或者通过对焦点内外的清晰情况,给 AI 提供散焦提示。

  「Franken Phone」是 Google 用于训练由 TensorFlow 编写的神经网络系统的装置,这套装置由 5 台 Pixel 3 和 WiFi 组成。

  在测试时,Google 会用 Franken Phone 里的 5 台手机在不同的角度同时拍摄,最终得出一张由多个角度、和立体算法合成的动态深度图。从而达到模拟拍摄动态、在复杂场景下训练神经网络精准识别出人物(近景)和背景(远景)的目的。

  ▲ 图一为 Google Franken Phone。图片来自:Google

  当然,如果您对 Google 这套算法感兴趣,也可以自己动手去亲自研究他们。Google AI Blog 表示,在使用 Google Camera App 6.1 版本的「人像模式」拍摄后,通过 Google Photos 能查看照片的深度图了。

  或者,您也可以通过第三方软件提取深度图,去看看在 AI 神经网络优化下识别方式。

通过AI自学习,Google让Pixel 3的人像模式更优秀的更多相关文章

  1. 自己动手做AI:Google AIY开发工具包解析

    2018年国际消费性电子展(CES)上,最明显的一个趋势是Amazon与Google的语音技术进驻战,如AmazonAlexa进驻到Acer笔电内,Google Assist进驻到KIA汽车内,其他如 ...

  2. Run Your Tensorflow Deep Learning Models on Google AI

    People commonly tend to put much effort on hyperparameter tuning and training while using Tensoflow& ...

  3. 浅析初等贪吃蛇AI算法

    作为小学期程序设计训练大作业的一部分,也是自己之前思考过的一个问题,终于利用小学期完成了贪吃蛇AI的一次尝试,下作一总结. 背景介绍: 首先,我针对贪吃蛇AI这一关键词在百度和google上尽心了检索 ...

  4. 谷歌AI涉足艺术、太空、外科手术,再强调AI七原则

    谷歌AI涉足艺术.太空.外科手术,再强调AI七原则 https://mp.weixin.qq.com/s/MJG_SvKCEBKRvL3IWpL0bA 9月18日上午,Google在上海的2018世界 ...

  5. 对世界首款“人工智能”ERP系统HUE的初步了解 - AI ERP - WAP - 万革始

    偶然的机会,刚好在查找机器人王国[奇妙的餐厅]的时候,看到开发[光的王国],[奇妙的宾馆],[奇妙的餐厅]等豪斯登堡集团在3月17日采用了这个传说中的世界首款人工智能ERP系统AI WORKS的下面4 ...

  6. H2O Driverless AI

    H2O Driverless AI(H2O无驱动人工智能平台)是一个自动化的机器学习平台,它给你一个有着丰富经验的“数据科学家之盒”来完成你的算法. 使AI技术得到大规模应用 各地的企业都意识到人工智 ...

  7. 详解Google第二代TPU 既能推理又能训练 性能霸道

    详解Google第二代TPU 既能推理又能训练 性能霸道 转自:http://www.cnbeta.com/articles/tech/613639.htm 5月18日凌晨,Google CEO Su ...

  8. 谷歌AI中国中心成立,人工智能势不可挡?

    昨日,谷歌在上海举办了一年一度的Google中国开发者大会.在本届大会上,谷歌云首席科学家李飞飞宣布了一个重磅消息,即在北京将成立谷歌AI中国中心.对于这个即将成立的AI中心谷歌寄予厚望,希望与中国本 ...

  9. 谷歌 AI 中国中心成立,人工智能势不可挡?

    昨日,谷歌在上海举办了一年一度的Google中国开发者大会.在本届大会上,谷歌云首席科学家李飞飞宣布了一个重磅消息,即在北京将成立谷歌AI中国中心.对于这个即将成立的AI中心谷歌寄予厚望,希望与中国本 ...

随机推荐

  1. Spring MVC controller返回值类型

    SpringMVC controller返回值类型: 1 String return "user":将请求转发到user.jsp(forword) return "red ...

  2. 给 Windows 文件菜单添加 "用XX程序打开" "用XX编辑" "用XX运行"

    有什么用就不用多说了,这可是个很有用的技巧.可以创造自己的文件格式,也可以给已有的文件添加多种打开方式 在注册表[HKEY_CLASSES_ROOT]下找到或者建立对应的扩展名 如果想对所有文件都生效 ...

  3. Device supprts x86,armeabi-v7a,but APK only aupports armeabi;模拟机不能运行。

    在真机可以运行,模拟机却不可以: 这个是模拟机: 修改: defaultConfig { ndk{ abiFilters "armeabi" } } 为: defaultConfi ...

  4. solr7.1.0学习笔记(10)---Solr发布到Tomcat

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/weixin_39082031/article/details/79069554 将solr作为一个单 ...

  5. MySQL免安装配置(亲测过,请放心借鉴)

    下载地址:https://dev.mysql.com/downloads/mysql 1.mysqld --initialize-insecure  初始化 2.mysqld install  安装服 ...

  6. WPF 操作XML 读写

    来自:http://blog.sina.com.cn/s/blog_633d0e170100xyc6.html XML(可扩展标记语言) 定义:用于标记电子文件使其具有结构性的标记语言,可以用来标记数 ...

  7. django之视图系统 views.py-->主要内容(FBV和CBV、dispath、request对象和request.FILES、JsonResponse)

    一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 一 视图的实现可以基于两种方法: 1 基于函数的形式 FBV 使用装饰器装饰FBV  直接在上 ...

  8. C#找出第n到m个素数之间所有之和

    static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); //开始的数 int m = int.Parse(Co ...

  9. tpc资料汇总

    官方资料 TPC官网  http://www.tpc.org/ 配置文档 大家一起来测试,benchmark起来(MySQL下的TPC-C,TPC-H,TPC-W)  http://www.itpub ...

  10. 【函数】SAS宏的特殊字符引用【转载】

    原文地址  :  http://blog.chinaunix.net/uid-675476-id-2076827.html 在SAS宏中,字符串是用双引号括起来的,但如果字符串中要包含双引号或百分号等 ...