0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Google的算法原理,Google是怎样训练神经网络的?

jmiy_worldofai 来源:lq 2018-12-03 16:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

比如以软件著称的 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 神经网络优化下识别方式。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 智能手机
    +关注

    关注

    66

    文章

    18711

    浏览量

    186421
  • Google
    +关注

    关注

    5

    文章

    1819

    浏览量

    60693
  • 神经网络
    +关注

    关注

    42

    文章

    4845

    浏览量

    108373

原文标题:通过 AI 自学习,Google 让 Pixel 3 的人像模式更优秀

文章出处:【微信号:worldofai,微信公众号:worldofai】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么 VisionFive V1 板上的 JH7100 中并存 NVDLA 引擎和神经网络引擎?

    我想知道为什么 VisionFive V1 板上的 JH7100 中并存 NVDLA 引擎和神经网络引擎,请问?您能否举一些关于他们的用例的例子?
    发表于 03-25 06:01

    神经网络的初步认识

    日常生活中的智能应用都离不开深度学习,而深度学习则依赖于神经网络的实现。什么是神经网络神经网络的核心思想是模仿生物神经系统的结构,特别是大脑中神经
    的头像 发表于 12-17 15:05 526次阅读
    <b class='flag-5'>神经网络</b>的初步认识

    CNN卷积神经网络设计原理及在MCU200T上仿真测试

    数的提出很大程度的解决了BP算法在优化深层神经网络时的梯度耗散问题。当x&gt;0 时,梯度恒为1,无梯度耗散问题,收敛快;当x&lt;0 时,该层的输出为0。 CNN
    发表于 10-29 07:49

    NMSIS神经网络库使用介绍

    NMSIS NN 软件库是一组高效的神经网络内核,旨在最大限度地提高 Nuclei N 处理器内核上的神经网络的性能并最​​大限度地减少其内存占用。 该库分为多个功能,每个功能涵盖特定类别
    发表于 10-29 06:08

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    , batch_size=512, epochs=20)总结 这个核心算法中的卷积神经网络结构和训练过程,是用来对MNIST手写数字图像进行分类的。模型将图像作为输入,通过卷积和池化层提取图像的特征,然后通过全连接层进行分类预
    发表于 10-22 07:03

    CICC2033神经网络部署相关操作

    在完成神经网络量化后,需要将神经网络部署到硬件加速器上。首先需要将所有权重数据以及输入数据导入到存储器内。 在仿真环境下,可将其存于一个文件,并在 Verilog 代码中通过 readmemh 函数
    发表于 10-20 08:00

    液态神经网络(LNN):时间连续性与动态适应性的神经网络

    1.算法简介液态神经网络(LiquidNeuralNetworks,LNN)是一种新型的神经网络架构,其设计理念借鉴自生物神经系统,特别是秀丽隐杆线虫的
    的头像 发表于 09-28 10:03 1692次阅读
    液态<b class='flag-5'>神经网络</b>(LNN):时间连续性与动态适应性的<b class='flag-5'>神经网络</b>

    炬芯科技正式支持Google Find Hub

    9月19日,炬芯科技宣布正式支持 Google Find Hub。依托炬芯科技在低功耗无线技术领域的深厚积累与持续突破,助力各类 AloT 终端设备高效、稳定地接入 Google 庞大的设备定位网络
    的头像 发表于 09-19 16:15 1560次阅读

    神经网络的并行计算与加速技术

    随着人工智能技术的飞速发展,神经网络在众多领域展现出了巨大的潜力和广泛的应用前景。然而,神经网络模型的复杂度和规模也在不断增加,这使得传统的串行计算方式面临着巨大的挑战,如计算速度慢、训练时间长等
    的头像 发表于 09-17 13:31 1378次阅读
    <b class='flag-5'>神经网络</b>的并行计算与加速技术

    谷歌查找我的设备配件(Google Find My Device Accessory)详解和应用

    物品。为了更好的理解它的工作原理,我们先来了解一下谷歌查找我的设备网络FMDN(Google find my device network)。FMDN由四部分组成:附件(Accessory),所有者
    发表于 08-31 21:10

    Google Fast Pair服务简介

    Google Fast Pair 是一项利用低功耗蓝牙(Bluetooth LE)技术,实现设备间快速安全配对及提供多种服务的协议。其主要功能包括: 设备处于配对模式时,显示半页通知,便于用户进行
    发表于 06-29 19:28

    无刷电机小波神经网络转子位置检测方法的研究

    摘要:论文通过对无刷电机数学模型的推导,得出转角:与三相相电压之间存在映射关系,因此构建了一个以三相相电压为输人,转角为输出的小波神经网络来实现转角预测,并采用改进遗传算法训练网络
    发表于 06-25 13:06

    神经网络专家系统在电机故障诊断中的应用

    的诊断误差。仿真结果验证了该算法的有效性。 纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:神经网络专家系统在电机故障诊断中的应用.pdf【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版
    发表于 06-16 22:09

    神经网络RAS在异步电机转速估计中的仿真研究

    众多方法中,由于其结构简单,稳定性好广泛受到人们的重视,且已被用于产品开发。但是MRAS仍存在在低速区速度估计精度下降和对电动机参数变化非常敏感的问题。本文利用神经网络的特点,使估计更为简单、快速
    发表于 06-16 21:54

    基于FPGA搭建神经网络的步骤解析

    本文的目的是在一个神经网络已经通过python或者MATLAB训练好的神经网络模型,将训练好的模型的权重和偏置文件以TXT文件格式导出,然后通过python程序将txt文件转化为coe
    的头像 发表于 06-03 15:51 1596次阅读
    基于FPGA搭建<b class='flag-5'>神经网络</b>的步骤解析