0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Google的算法原理,Google是怎樣訓(xùn)練神經(jīng)網(wǎng)絡(luò)的?

jmiy_worldofai ? 來源:lq ? 2018-12-03 16:59 ? 次閱讀

雖然雙攝手機(jī)已經(jīng)在市場(chǎng)上普及,其所帶來的人像模式、多倍變焦也成為了不少智能手機(jī)的「標(biāo)配」,但仍然有廠商依然堅(jiān)持用一個(gè)攝像頭的配置。

比如以軟件著稱的 Google,從 Pixel 手機(jī)的初代到今天的 Pixel 3 / 3XL,在往今的兩年時(shí)間里(初代 Pixel 于 2016 年發(fā)布),他們?nèi)詧?jiān)持采用單攝配置。

有意思的是,Pixel 不但是 DxOMark 榜單前列的??停咕氨憩F(xiàn)長期吊打各旗艦, 而且還帶來了比雙攝出品更優(yōu)秀的人像模式出品。

這些其實(shí)都是要?dú)w功于軟件算法AI 神經(jīng)網(wǎng)絡(luò)。昨天,Google 就在他們的 Google AI Blog 上解析了 Pixel 3「人像模式」(Portrait Mode)的算法原理。實(shí)際上,他們?cè)谶@套算法上下了不少功夫。

Google 的算法原理

如果你對(duì) Google 的相機(jī)算法陌生,不妨先來了解一下 Pixel 2 的人像算法原理。

去年,Google 通過 AI(神經(jīng)網(wǎng)絡(luò))算法,讓 Pixel 2 / 2XL 在僅一顆攝像頭的硬件條件下,拍出能與雙攝手機(jī)媲美的人像背景虛化照片。

▲ 圖片來自:Google

通過去年 Google公布的這組對(duì)比圖,我們能快速區(qū)分出左邊的 HDR+ 樣張和右邊 Portrait Mode「人像模式」下的樣張?jiān)诒尘疤摶系牟煌?/p>

正如你所見那樣,在「人像模式」下,人像后的背景被進(jìn)行了軟件虛化處理,與正常 HDR+ 對(duì)比看上去視覺沖擊更強(qiáng),同時(shí)也避免了背景對(duì)拍攝主體的視覺干擾。

拍攝一張 HDR+ 照片

根據(jù) Google 去年在 AI Blog 的介紹,Pixel 2 的相機(jī)會(huì)先拍攝一組 HDR+ 照片,通過多幀合成,從而提升最終成片的動(dòng)態(tài)范圍、細(xì)節(jié)保留、高光表現(xiàn)。

通過下面這組 HDR+ 的對(duì)比圖,我們能看到該功能在開啟前后的區(qū)別(注意右上角遠(yuǎn)景曝光及地板線條細(xì)節(jié))。

▲ 左:HDR+ 前;右:HDR+ 后 圖片來自:Google

分割遠(yuǎn)近景

如果你想拍攝一張「人像模式」照片,那么在得到一張 HDR+ 成片后,相機(jī)會(huì)使用 TensorFlow 的 AI 神經(jīng)網(wǎng)絡(luò)將人物像素點(diǎn)、物體的像素點(diǎn)、遠(yuǎn)近物的像素點(diǎn)篩選出來。

Google 在 AI Blog 給出的這組對(duì)比圖能看到更直觀的展示效果:

左邊是 HDR+ 拍攝的原圖,右邊黑色部分是 AI 識(shí)別出來的背景部分,白色部分是被識(shí)別出來的主體人物輪廓(包括人物五官細(xì)節(jié)以及在該輪廓內(nèi)的物體)。

有意思的是,從最終成片中我們能看到,桌上的餅干在 AI 識(shí)別下是屬于「非人」部分,但最終這部分沒有被虛化。這是因?yàn)橄到y(tǒng)除了將主體和背景識(shí)別出來以外,還識(shí)別出了主體周邊的物體,因此 AI 最終沒有將人物下方的物體虛化。因?yàn)檫@部分雖然不屬于對(duì)焦主體,屬于近景,但是這種效果還不是最完美的。

得到深度優(yōu)化圖并合成最終成片

雖然去年的 Pixel 2 和今年的 Pixel 3 系列都沒有配置雙攝像頭,但 Google 似乎一直都不是以硬件取勝的公司,他們更擅長于用軟件和算法去解決問題。

▲ 圖片來自:Google

盡管沒有硬件上的雙攝,但 Pixel 的相機(jī)都配備了 PDAF 雙核相位對(duì)焦技術(shù),Google 便可以通過像素點(diǎn)劃分將一顆攝像頭「一分為二」:

鏡頭左側(cè)拍攝到的畫面會(huì)和右側(cè)的畫面約有 1mm 的不同視覺間距,如果是在縱向拍攝下,鏡頭則是分為上下兩部分排列。

在拍攝后,系統(tǒng)會(huì)并排兩側(cè)鏡頭拍攝到的像素。通過 Google 自家的 Jump Assembler 算法去得出立體演算的深度優(yōu)化圖,利用雙向求解器將深度圖轉(zhuǎn)變成高解析度。

▲ 圖 1 、2 為上半部分、下半部分相機(jī)拍攝,圖 3 動(dòng)圖為前面兩圖區(qū)別 圖片來自:Google

上圖左邊是通過 PDAF 拍攝并演算得到的深度圖,白色部分越深,代表與鏡頭距離越近;右邊是決定像素模糊程度,黑色部分為「不需模糊」范圍,紅色部分為「需模糊范圍」,通過紅色的深淺,系統(tǒng)會(huì)自動(dòng)判斷出背景虛化的力度。

▲ 最終效果圖

最后系統(tǒng)會(huì)將第 2 步驟分割出的背景圖和第 3 步驟得出的深度圖合并。在 AI 物體的判別下,系統(tǒng)能估算出近景的餅干和瓷盤到對(duì)焦(人物)主體的距離,并進(jìn)行虛化。最終得到了比步驟 2 的初級(jí)處理更全面和自然的人像照片。

對(duì)比步驟 2 和步驟 3 最終的效果圖,你能看到位于近景的餅干也被適當(dāng)虛化了。通過軟件算法,我們能將虛化范圍「捏造」成任何形狀。

Google 是怎樣訓(xùn)練神經(jīng)網(wǎng)絡(luò)的?

了解了 Pixel 2 的人像模式原理,那么 Pixel 3 的優(yōu)化就不難理解了。

通過軟件算法,相機(jī)系統(tǒng)可大致估算出對(duì)焦主體和背景的距離,并對(duì)遠(yuǎn)景進(jìn)行虛化。但在手持拍攝時(shí),手機(jī)難免會(huì)出現(xiàn)輕微的抖動(dòng),因而影響到最終虛化效果。正是如此,此前有不少用戶在 Pixel 2 系列上遇到了景深識(shí)別錯(cuò)誤的問題。

據(jù) Google AI Blog 的介紹,基于神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的特性,在 Pixel 3 上,Google 正通過增加對(duì) AI 系統(tǒng)的識(shí)別提示和訓(xùn)練 AI 神經(jīng)網(wǎng)絡(luò)的算法,去修復(fù)「人像模式」中的識(shí)別誤差問題。

例如,通過像素點(diǎn)數(shù)量去判斷物體與鏡頭的遠(yuǎn)近距離,得出給 AI 更精準(zhǔn)的距離判斷結(jié)果;或者通過對(duì)焦點(diǎn)內(nèi)外的清晰情況,給 AI 提供散焦提示。

Franken Phone」是 Google 用于訓(xùn)練由 TensorFlow 編寫的神經(jīng)網(wǎng)絡(luò)系統(tǒng)的裝置,這套裝置由 5 臺(tái) Pixel 3 和 WiFi 組成。

在測(cè)試時(shí),Google 會(huì)用 Franken Phone 里的 5 臺(tái)手機(jī)在不同的角度同時(shí)拍攝,最終得出一張由多個(gè)角度、和立體算法合成的動(dòng)態(tài)深度圖。從而達(dá)到模擬拍攝動(dòng)態(tài)、在復(fù)雜場(chǎng)景下訓(xùn)練神經(jīng)網(wǎng)絡(luò)精準(zhǔn)識(shí)別出人物(近景)和背景(遠(yuǎn)景)的目的。

▲ 圖一為 Google Franken Phone。圖片來自:Google

當(dāng)然,如果您對(duì) Google 這套算法感興趣,也可以自己動(dòng)手去親自研究他們。Google AI Blog表示,在使用 Google Camera App 6.1 版本的「人像模式」拍攝后,通過 Google Photos 能查看照片的深度圖了。

或者,您也可以通過第三方軟件提取深度圖,去看看在 AI 神經(jīng)網(wǎng)絡(luò)優(yōu)化下識(shí)別方式。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 智能手機(jī)
    +關(guān)注

    關(guān)注

    66

    文章

    18373

    瀏覽量

    179536
  • Google
    +關(guān)注

    關(guān)注

    5

    文章

    1752

    瀏覽量

    57333
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4726

    瀏覽量

    100344

原文標(biāo)題:通過 AI 自學(xué)習(xí),Google 讓 Pixel 3 的人像模式更優(yōu)秀

文章出處:【微信號(hào):worldofai,微信公眾號(hào):worldofai】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    脈沖神經(jīng)網(wǎng)絡(luò)怎么訓(xùn)練

    脈沖神經(jīng)網(wǎng)絡(luò)(SNN, Spiking Neural Network)的訓(xùn)練是一個(gè)復(fù)雜但充滿挑戰(zhàn)的過程,它模擬了生物神經(jīng)元通過脈沖(或稱為尖峰)進(jìn)行信息傳遞的方式。以下是對(duì)脈沖神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-12 10:13 ?401次閱讀

    怎么對(duì)神經(jīng)網(wǎng)絡(luò)重新訓(xùn)練

    重新訓(xùn)練神經(jīng)網(wǎng)絡(luò)是一個(gè)復(fù)雜的過程,涉及到多個(gè)步驟和考慮因素。 引言 神經(jīng)網(wǎng)絡(luò)是一種強(qiáng)大的機(jī)器學(xué)習(xí)模型,廣泛應(yīng)用于圖像識(shí)別、自然語言處理、語音識(shí)別等領(lǐng)域。然而,隨著時(shí)間的推移,數(shù)據(jù)分布可能會(huì)
    的頭像 發(fā)表于 07-11 10:25 ?378次閱讀

    BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)和訓(xùn)練過程

    網(wǎng)絡(luò)結(jié)構(gòu),通過誤差反向傳播算法(Error Backpropagation Algorithm)來訓(xùn)練網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)復(fù)雜問題的學(xué)習(xí)和解決。以下將詳細(xì)闡述BP
    的頭像 發(fā)表于 07-10 15:07 ?2444次閱讀
    BP<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的基本結(jié)構(gòu)和<b class='flag-5'>訓(xùn)練</b>過程

    神經(jīng)網(wǎng)絡(luò)如何用無監(jiān)督算法訓(xùn)練

    標(biāo)記數(shù)據(jù)的處理尤為有效,能夠充分利用互聯(lián)網(wǎng)上的海量數(shù)據(jù)資源。以下將詳細(xì)探討神經(jīng)網(wǎng)絡(luò)如何用無監(jiān)督算法進(jìn)行訓(xùn)練,包括常見的無監(jiān)督學(xué)習(xí)算法、訓(xùn)練
    的頭像 發(fā)表于 07-09 18:06 ?645次閱讀

    如何利用Matlab進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練

    Matlab作為一款強(qiáng)大的數(shù)學(xué)計(jì)算軟件,廣泛應(yīng)用于科學(xué)計(jì)算、數(shù)據(jù)分析、算法開發(fā)等領(lǐng)域。其中,Matlab的神經(jīng)網(wǎng)絡(luò)工具箱(Neural Network Toolbox)為用戶提供了豐富的函數(shù)和工具
    的頭像 發(fā)表于 07-08 18:26 ?1406次閱讀

    bp神經(jīng)網(wǎng)絡(luò)算法的基本流程包括哪些

    BP神經(jīng)網(wǎng)絡(luò)算法,即反向傳播神經(jīng)網(wǎng)絡(luò)算法,是一種常用的多層前饋神經(jīng)網(wǎng)絡(luò)訓(xùn)練
    的頭像 發(fā)表于 07-04 09:47 ?382次閱讀

    bp神經(jīng)網(wǎng)絡(luò)算法過程包括

    算法過程,包括網(wǎng)絡(luò)結(jié)構(gòu)、激活函數(shù)、訓(xùn)練過程、反向傳播算法、權(quán)重更新策略等。 網(wǎng)絡(luò)結(jié)構(gòu) BP神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-04 09:45 ?292次閱讀

    神經(jīng)網(wǎng)絡(luò)反向傳播算法的優(yōu)缺點(diǎn)有哪些

    神經(jīng)網(wǎng)絡(luò)反向傳播算法(Backpropagation Algorithm)是一種廣泛應(yīng)用于深度學(xué)習(xí)和機(jī)器學(xué)習(xí)領(lǐng)域的優(yōu)化算法,用于訓(xùn)練多層前饋神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-03 11:24 ?523次閱讀

    神經(jīng)網(wǎng)絡(luò)反向傳播算法的原理、數(shù)學(xué)推導(dǎo)及實(shí)現(xiàn)步驟

    神經(jīng)網(wǎng)絡(luò)反向傳播算法(Backpropagation Algorithm)是一種用于訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)算法,其基本原理是通過梯度下降法來最小
    的頭像 發(fā)表于 07-03 11:16 ?560次閱讀

    BP神經(jīng)網(wǎng)絡(luò)算法的基本流程包括

    BP神經(jīng)網(wǎng)絡(luò)算法,即反向傳播(Backpropagation)神經(jīng)網(wǎng)絡(luò)算法,是一種多層前饋神經(jīng)網(wǎng)絡(luò),通過反向傳播誤差來
    的頭像 發(fā)表于 07-03 09:52 ?340次閱讀

    神經(jīng)網(wǎng)絡(luò)算法的優(yōu)缺點(diǎn)有哪些

    的優(yōu)點(diǎn) 自學(xué)習(xí)能力:神經(jīng)網(wǎng)絡(luò)算法具有強(qiáng)大的自學(xué)習(xí)能力,能夠從大量數(shù)據(jù)中自動(dòng)提取特征,無需人工干預(yù)。這使得神經(jīng)網(wǎng)絡(luò)算法在處理復(fù)雜問題時(shí)具有很高的靈活性和適應(yīng)性。 泛化能力強(qiáng):
    的頭像 發(fā)表于 07-03 09:47 ?840次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的是什么

    訓(xùn)練過程以及應(yīng)用場(chǎng)景。 1. 卷積神經(jīng)網(wǎng)絡(luò)的基本概念 1.1 卷積神經(jīng)網(wǎng)絡(luò)的定義 卷積神經(jīng)網(wǎng)絡(luò)是一種前饋深度學(xué)習(xí)模型,其核心思想是利用卷積操作提取輸入數(shù)據(jù)的局部特征,并通過多層結(jié)構(gòu)進(jìn)
    的頭像 發(fā)表于 07-03 09:15 ?276次閱讀

    神經(jīng)網(wǎng)絡(luò)反向傳播算法原理是什么

    神經(jīng)網(wǎng)絡(luò)反向傳播算法(Backpropagation Algorithm)是一種用于訓(xùn)練多層前饋神經(jīng)網(wǎng)絡(luò)的監(jiān)督學(xué)習(xí)算法。它通過最小化損失函數(shù)
    的頭像 發(fā)表于 07-02 14:16 ?338次閱讀

    如何訓(xùn)練和優(yōu)化神經(jīng)網(wǎng)絡(luò)

    神經(jīng)網(wǎng)絡(luò)是人工智能領(lǐng)域的重要分支,廣泛應(yīng)用于圖像識(shí)別、自然語言處理、語音識(shí)別等多個(gè)領(lǐng)域。然而,要使神經(jīng)網(wǎng)絡(luò)在實(shí)際應(yīng)用中取得良好效果,必須進(jìn)行有效的訓(xùn)練和優(yōu)化。本文將從神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-01 14:14 ?337次閱讀

    Kaggle知識(shí)點(diǎn):訓(xùn)練神經(jīng)網(wǎng)絡(luò)的7個(gè)技巧

    科學(xué)神經(jīng)網(wǎng)絡(luò)模型使用隨機(jī)梯度下降進(jìn)行訓(xùn)練,模型權(quán)重使用反向傳播算法進(jìn)行更新。通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型解決的優(yōu)化問題非常具有挑戰(zhàn)性,盡管這些
    的頭像 發(fā)表于 12-30 08:27 ?598次閱讀
    Kaggle知識(shí)點(diǎn):<b class='flag-5'>訓(xùn)練</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的7個(gè)技巧