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

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

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

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

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

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

比如以軟件著稱的 Google,從 Pixel 手機的初代到今天的 Pixel 3 / 3XL,在往今的兩年時間里(初代 Pixel 于 2016 年發(fā)布),他們?nèi)詧猿植捎脝螖z配置。

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

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

Google 的算法原理

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

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

▲ 圖片來自:Google

通過去年 Google公布的這組對比圖,我們能快速區(qū)分出左邊的 HDR+ 樣張和右邊 Portrait Mode「人像模式」下的樣張在背景虛化上的不同。

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

拍攝一張 HDR+ 照片

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

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

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

分割遠近景

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

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

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

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

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

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

▲ 圖片來自:Google

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

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

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

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

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

▲ 最終效果圖

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

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

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

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

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

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

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

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

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

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

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

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

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

    關(guān)注

    66

    文章

    18543

    瀏覽量

    180868
  • Google
    +關(guān)注

    關(guān)注

    5

    文章

    1772

    瀏覽量

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

    關(guān)注

    42

    文章

    4779

    瀏覽量

    101082

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

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    bp神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)區(qū)別是什么

    結(jié)構(gòu)、原理、應(yīng)用場景等方面都存在一定的差異。以下是對這兩種神經(jīng)網(wǎng)絡(luò)的比較: 基本結(jié)構(gòu) BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),由輸入層、隱藏層和輸出層組成。每個神經(jīng)元之間通過權(quán)重連接,并通
    的頭像 發(fā)表于 07-03 10:12 ?1326次閱讀

    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 ?577次閱讀

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

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

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

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

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

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

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

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