[討論] 李永樂 安卓高通手機AI計算攝影

行動通訊

60455

https://youtu.be/Ku-SdVCqopo

影片蠻紮實的,看完後可能要讀文字重新理解一下,影片全文如下,剛開始還以為是跟
某手機品牌合作,結果不是xD
先打預防針,以下是字幕全文,不喜可直接不看
https://i.imgur.com/1smJ0m1h.jpg




各位同學 大家好 我是李永樂老師

最近有一個小朋友跟我說

他新買了一臺手機

這個手機的拍照功能特別強大

簡直可以媲美單反

還有很多附加的神奇功能

他想問我這些功能到底是如何實現的呢

為此我還特意買了一臺小米11 Pro

我們來體會一下它的拍照功能

首先是神奇夜景模式

它能夠在夜晚拍到特別清晰的照片

再比如說還有120倍的超大變焦

能夠拍攝到很遠的物體

還有人像模式

能夠對背景進行虛化 凸顯出人像

還可以進行魔法換天

把天空換成你想要的樣子


那麼一個小小的手機

是如何具有這麼強大的功能的呢

我在拍照的時候發現有一個AI的標誌

這就表示的是

是否啟用人工智能系統來處理照片

原本需要在雲端進行的許多人工智能操作

現在在小小的手機上就可以完成了

目前最為普及的就是在拍攝影像方面

它可以極大地提升用戶的體驗

今天我們就來聊一聊人工智能在攝影上的應用

聊一聊AI計算攝影

AI 也就是人工智能

計算攝影

什麼叫計算攝影呢

首先我來放兩張圖

這個是沒有經過AI處理的圖片

然後我們經過AI處理之後

大家比較一下

這個也是沒有經過AI處理的

我們再把它處理一下

大家比較比較

大家看了之後是不是感覺到非常震撼呢

看了AI處理的圖之後

就不願意再看原圖了 對不對

因為差別實在是太大了

那麼在幾年以前我們還不具有這種技術

那主要是因為什麼呢

主要是因為那個時候AI的算力還不夠

那個時候我們使用的是傳統相機

傳統的相機不管是數碼相機 還是光學相機

它的基本原理其實都很簡單

那就是物體發出或者是反射的光線

經過了這個相機的鏡頭

進入到這個相機之中

然後通過鏡頭進入到感光的元件上

這個感光片可能是膠片

也可能是像CCD或者CMOS之類的電子元件

那麼就可以把一幅圖成像在這個感光片上

但是傳統相機其實是有一些問題的

首先傳統相機有一些復雜的參數

比如說光圈 焦距 什麼光這些

曝光時間等等這些東西

那麼你如果讓它自動調節的話

效果可能就不太好

如果你想拍出高質量的照片的話

就必須學習很復雜的攝影技術 對吧

對於我這種外行來講太復雜了

也就是說

在這過程中我可能需要手動調節一些東西

這個調節的過程是比較復雜的

如果調不好 效果就一般般

那麼第二個就是傳統的這種相機

它是存在物理極限的

它過於真實 存在物理極限

什麼叫過於真實存在物理極限呢

就是說因為鏡頭或者感光片的一些原因

它不可避免地會出現一些模糊

以及其他的一些問題

我們來簡單地介紹一下

說這個相機出現了模糊 原因是什麼

比如說有一個原因叫做光的衍射

光的衍射

我們知道這個相機成像

就是依靠鏡頭這個凸透鏡 對吧

那麼光線經過凸透鏡之後

其實並不是成為一個點 而是成一個光斑

這叫做艾裏斑

鏡頭越小 這個艾裏斑越大

那如果兩個艾裏斑重疊到一塊

我們就沒有辦法區分這兩條光線了 對吧

所以因為艾裏斑的存在

底片上呈現的像就會出現一定的模糊

所以你要想減小的這種模糊

你必須提高這個照相機的口徑 對吧

所以天文望遠鏡造得特別大

但是我們的相機不可能造得特別大

第二個就是因為它的感光片

比如說像CCD或者是CMOS

這種感光片它有一個分辨率的限製

分辨率的限製

什麼意思呢

比如說這個小米11 Pro這個手機

它的分辨率是5000萬像素 是怎麼回事呢

就是它的這個感光片是1/1.12英寸

也就表示這個感光片的對角線長度

是16/1.12 毫米

這16毫米的出現是歷史原因

然後這個長寬之比又是4:3

所以我們就可以知道

它的這個長和寬

大約都是11.4毫米和8.6毫米

你就可以計算出它的感光片有效的面積了

然後它一個像素點的面積

是1.4微米x1.4微米的一個方塊兒

你這麼一算你就知道

它一共有多少個

大約5000萬個這個方塊兒

所以說就有5000萬個像素點

像素點的密度越高

對外界信息的描述就會越準確

但是這個像素點不可能做得無限小

對於外界特別細微的結構

因為分辨率的限製

也會出現模糊

那麼第三個原因就是運動模糊 運動模糊

這個就比較好理解了

我們在拍照的時候

會讓一定的光進到我們的這個鏡頭裏面去

那麼進光的時候

我們這個手機不能運動 對吧

如果我的手機一抖動了

出現了運動的話

那就會出現模糊

所以說專業的相機你得架到三腳架上

不讓這個相機動才能夠拍得比較清楚 對吧

那麼如果你在拍攝遠景的時候

把鏡頭拉得非常非常長

或者是在晚上的時候需要長曝光

這個運動的模糊就會更加明顯

那第四個就是噪點 噪點

什麼叫噪點呢

就是這個CCD也好 CMOS也好

由於它的這個物理特性

比如說電子的這個無規則運動

就會出現一些雜亂的膠原狀的點

而這些點就稱之為噪點或者說噪聲

那如果說外界的光信號比較強的話

有用的信息多

這個噪聲的影響就不明顯

但是如果外界的信息比較少


本來有用的信息就弱

你就會發現很多的噪點

或者我們利用小光圈長焦鏡頭

來拍攝景物的時候

你也會發現這個噪點的影響是比較明顯的

此外還有這個鏡頭色差 對焦不準等等

會造成一定的模糊

當然我們可以通過物理方法對它進行改進

你比如說我可以增大鏡頭的大小 對吧

我可以增大感光片兒

我可以減小每一個像素點的尺寸

讓像素點變得更多

但是這些方法同時也就意味著成本的上升

以及功耗的變大

或者是相機尺寸的變大

而且有的時候這些個改進方法是彼此矛盾的

你比如說

你讓每一個像素點越來越小

那它就越來越密

你就可以收集到更多的這個外界的信息了

但是一旦一個像素點小了的話

外界有用的信息少

它的噪聲影響就會變大 對吧

所以用硬件的方法來提升分辨率

它是存在極限的

那麼我們該如何處理這個問題呢

現在越來越多的人使用手機進行拍照了

因為手機比起單反

不光不需要進行復雜的設置

不需要頻繁的更換鏡頭

更重要的是

隨著手機移動平臺構架和計算能力的逐代提升

圖像信號處理器和AI處理引擎越來越強大

許多廠商都把人工智能引入到拍攝當中

我們一點開手機的拍照功能

這個人工智能算法

都在為我們拍出一張好看的照片而努力

這個過程我們就稱之為是計算攝影的過程

計算攝影

它是算出來的一張照片兒

具體來講

這個手機廠商選定了攝像頭 感光芯片

操作系統等等這些東西之後

會有算法廠商來設計人工智能的算法

他們首先會用大量的圖片來進行投餵這個系統

首先我們先收集一大堆的圖片

然後我們去投餵這個人工智能的系統

就是告訴這個人工智能的系統

這個好的圖片 美觀的圖片 不模糊的圖片

它長什麼樣子

這個過程我們就叫它訓練過程 對吧

這是人工智能的第一個步驟

那麼訓練好了之後

用戶拿到這個手機拍了一張照片兒

然後這個人工智能系統

就會對照片進行什麼呢

進行修飾

它會把這個照片進行一定的調整

修飾的過程我們稱之為推理

這就是一個人工智能的處理圖像的一個過程

讓我們看起來這張照片顏色更加鮮艷

飽和度更好

看起來細節更加清楚

用業內的話說

人工智能攝影

就是用人工智能來突破光學的物理限製

用強大的算力來創造全新的視覺想象

用深度學習來超越人眼可見的細節

那麼以往的手機為什麼沒有人工智能攝影呢

這是因為以往的手機它支持的AI算力太少

難以支持理想的人工智能攝影效果

當然你可以把影像傳到雲端

利用雲端的計算能力來進行AI計算

不過這個過程一來是浪費時間 浪費流量

二來 它有泄露隱私的問題

所以手機終端側的AI算力就變得至關重要

那麼下面我們就來具體說一說

這個AI攝影到底在哪些方面改進了傳統攝影

我們首先來說一下超分辨率技術

超分辨率技術

大家可能沒有聽說過這個詞 是吧

什麼叫超分辨率呢

我們在電影裏面經常可能看到過這樣的情景

說這個警察拍到了一個嫌疑犯的影像

不清楚

然後按了幾個按鈕

結果這個影像就變得特別清楚

這就是超分技術

它可以從一個低分辨率的照片

變成一個高分辨率的照片

有人說這怎麼能做到呢

低分辨率變高分辨率

那這些細節你怎麼補充上呢

其實答案就是一個字 猜

比如說大家看這張照片

這張照片

你很顯然就知道它是個足球的照片 對吧

所以你腦子中有足球的影像

你就可以按照腦子中的這個形象

把這個足球的細節補充上去

於是就把這個模糊的 不清楚的照片

變成了一個清晰的 信息量更大的照片兒

這就是一個超分的過程

那麼近年來

隨著人工智能和深度學習的突破

在2014年的時候

香港大學的董超提出了一種

基於卷積神經網絡的超分過程

我們稱之為SRCNN

那現在

這個很多手機上使用的這個超分技術

大多都是SRCNN的一個變種

我們就來重點介紹一下

這個技術的原理是什麼樣子

首先我們要對這個人工智能系統進行訓練

我要告訴它

給你一張低分辨率圖片

那麼相應的高分辨率是什麼樣的

我得先給你一大堆高低分辨的對照圖

讓你去訓練

讓你系統了解這個事兒 對吧

所以首先我有一張

比如說一張圖片

這個圖片我們管它叫x

這個X是一張高分辨率圖片

比如說這個X是512x512的這麼一張圖

512x512的

那然後你首先通過一些方法

把它變成一個低分辨率的圖片x' 是吧

它比如說是128x128的

那你怎麼變成低分變率圖片呢

很簡單

你就丟掉一些信息就行了 是不是

它就變成了一個低分辨率的

好了 我們有了一個高分辨率 一個低分辨率

然後怎麼進行訓練呢

是這樣的一個過程

首先這個董超說

你先把這個x'進行上采樣

就是你再把它變回到一張512x512的

這麼一張這個分辨率比較高的圖片

這個圖片叫做Y

但大家註意

這個過程其實沒有太大意義

因為你只是把這個尺寸變大

它就變模糊了 對吧

你得把細節補充上去

讓這個Y跟x一樣才行

怎麼做呢

董超說 你可以這樣

你首先對它進行卷積操作

大家還記得什麼叫卷積嗎

我們在以前講人工智能的時候談到過這個事兒

就這個圖

在計算機看來它實際上是一個矩陣 對吧

它是512x512的一個矩陣

這個矩陣上每一個像素點就是一個數字 對吧

對這個數字進行一大堆的加法和乘法運算

我們稱之為卷積

卷積有個卷積核 叫W

對它進行卷積操作

然後再加上一個偏置

叫做B

進行了這些操作之後還要進行激活

然後就得到了一個新的這樣的一個信息

這個信息我們稱之為F (Y)

這個F (Y)

它就能夠提取出這張圖片的一些特征

比如說什麼這個橫著的線條 豎著的線條等等

如果你把這個公式寫出來

大概長這個樣子

就是說F (Y)

它等於max

這是激活造成的

0 然後這個W 卷積Y

然後再加上一個B

就這個公式比較復雜

大家不理解也沒有關系

反正意思就是你通過這樣的一個操作

提取出了這個圖像的一些特征 對吧

好 這是第一步

圖像特征提取

然後第二步

就是我再利用一個卷積核和一個偏置

我再做一次這個操作

就變成了F (Y)

這個操作跟第一個操作一樣

相當於是深度學習的第二層網絡

通過這種方法我可以進一步提取出我要的特征

比如說一些輪廓等等

如果具體寫出來這個F (Y)

它等於取最大值

0 然後W 卷積F (Y)

然後再加上B

這個看不懂也沒關系

反正就是繼續提取特征

第三步就是把它再變回一張圖

把它再變回一張圖

叫做F(Y)

那在這過程中我們又需要第三個卷積核

和第三個偏置

同樣道理

F(Y)它又等於max

0 然後W 卷積F (Y)

然後再加上一個B 是吧

反正通過這三個步驟的操作

我就把原來的這個比較低分辨率的圖

變成了一個比較高分辨率的512的圖

但是大家註意 經過這麼一大堆操作

這一張圖它不一定跟原來一樣

除非W B W B W B

這些個參數取得合適它才會一樣 對不對

於是下一個步驟幹什麼

下一步我就把這兩個圖進行比較

你把原來的這張圖

和你後來猜出來的這個圖進行比較

如果它們兩個是一模一樣的

就說明這些個參數調得非常合適

如果這兩個不一樣

就得調整W B W B 和W B

讓這兩張圖比較接近 是吧

至於說具體怎麼比較

還記得嗎

我們在上次講人工智能的時候說過這事

其實你就是算一個函數

這個函數叫損失函數

損失函數等於(1/n)Σ[x -F(Y )]2 是吧

這什麼亂七八糟的

其實很簡單

就意思是你用這個原圖x它的每一個像素點

和我算出來的這個圖的每一個像素點做差

把這個差值平方了取加和

加和完了之後再除以這個圖片的個數

因為你不是有很多張訓練圖片嗎

然後讓這個損失函數怎麼著

最小

它如果不是最小呢

你就通過這個BP算法

去調整這些參數讓它最小

這就訓練完成了 對不對

好 訓練完成了之後

你再給我一張低分辨率的圖

我沒有上面這個 沒有關系

你給我一張低分辨率的圖

相當於從這開始

我就可以直接算出來一個高分辨率的圖

然後我就認為

這張高分辨率的圖應該最接近事實 對不對

這就是所謂的推理過程

你給我一張低分辨率的

我就可以變成一個高分辨率的

超分辨率問題

現在的手機能夠進行大範圍的變焦

其實很大程度上是歸功於超分的

因為你把鏡頭拉得非常遠了之後

它這個有效的光信息會比較少

抖動也好 噪聲也好

都會占得比例比較大

所以你正是因為有這個超分辨率

你可以修正這個噪聲和抖動

你才讓圖片看起來非常清楚

比如大家看這幾張圖

這就是一個算法的廠商叫做慧鯉

它實現的這個圖片的超分效果

沒有超分的和超分的咱們比較一下

效果還是非常的明顯 對吧

再比如我們有時候遠距離掃描二維碼

如果要是沒有超分功能

你很有可能會掃描失敗

有同學在大學上課的時候坐在後排

你想拍老師前面板書

如果沒有超分的話可能板書也拍得不清楚

而且現在隨著移動平臺AI算力的不斷提升

許多的算法廠商

也在不停地改進自己的超分算法

可以支持規模更大 處理能力更強的算法

實時處理能力也變得更好

典型處理時間是300到400毫秒

用戶基本沒有感覺

我們甚至都不知道點開相機的時候

背後已經啟用了AI的超分算法

而且許多廠商已經開始使用了AI視頻技術

視頻超分也是其中一部分的基礎功能

或者是AR VR等交互領域

同時還得包含視頻和聲音的多路程處理

這就對AI芯片的處理能力提出了更高的要求

說完了超分咱們再來說說另外一個功能

超級夜景

在傳統拍攝夜景的時候其實面臨了很多的問題

比如說因為在晚上的時候有效的光線不足

所以這個噪聲就會非常的明顯

因此 我們經常會看到有很多的斑點

如果你要是想讓進光量足一點 就得長曝光

而長曝光的時候抖動造成的模糊就會很明顯

如果曝光時間不夠的話

整個畫面就會非常昏暗

而且如果這個場景中有燈的話

你就會發現長曝光的時候這個燈就會過曝

短曝光的時候那個暗的地方根本就看不清楚

你很難把所有的地方都看清

那麼這個問題在以前是怎麼解決的呢

我們說一下

傳統的解決方案

就是這個專業的攝影師

首先會用一個三腳架去固定這個相機 對吧

你不固定 手拿著 它就會晃

固定了之後進行長時間的曝光

比如說十幾秒的這種曝光 長曝光

同時還要同時拍攝一組短曝光的照片

因為長曝光的時候

那個特別亮的地方它就過曝 是吧

特別暗的地方能夠看清

然後短曝光是亮的地方比較合適

最後你還得進行後期處理

就是把這些個圖片

一張一張的全都導到photoshop裏邊去

把那些特別亮的過曝的地方去掉

把那些特別暗的地方也去掉

然後把這多張照片合到一起變成一張照片

整個這過程非常復雜 是吧

所以 如果你要想搞出一張高質量的照片的話

可能需要折騰好幾個小時

可是現在一切都不一樣了

在手機端AI的加持下

手機攝像頭可以在第六代高通AI引擎的控製下

自動的進行多次長短曝光

並且進行如下的操作

第一個

就是在用人工智能的方法來進行什麼呢

人工智能的方法來降噪

首先 我們把這個圖像上的噪聲可以進行去掉

第二 就是它可以自動的拍攝

很多張的長曝光 短曝光相結合的一些照片

然後它還可以自動的拍攝

很多組的長曝光 短曝光的照片 是吧

那這個長曝光

也遠遠沒有剛才傳統攝影師十幾秒那麼長

一般就2到3秒

把這些照片合到一塊 是吧

去掉那些過曝的部分 特別暗的部分

把它合到一起

這就稱之為什麼

稱之為高動態 高動態

在一張照片裏邊既能看到特別亮的部分

也能夠看到比較暗的部分

叫HDR 是吧 高動態

整個過程兩三秒鐘就完事

相比於傳統攝影可能需要幾個小時

這個時間就大大的縮短了

但是你怎麼知道哪些地方是噪點

哪些地方是圖像

哪些地方應該保留

哪些地方應該去掉呢

這就是要依靠人工智能的算法了

下面我們再來聊一聊背景虛化

剛才我們還演示了這個背景虛化的功能

我們知道這個傳統的單反相機

可以依靠大光圈來完成一個人像的背景虛化

這樣一來 看起來可以凸顯人像效果非常好

那麼這個手機是如何實現背景虛化的呢

這實際上是要區分前景和背景

就是我們區分人站在前面 以及他的背景

然後對前景和背景進行不同的處理

這樣就可以進行虛化了

傳統的這個手機處理方法是利用雙目攝像頭

手機上有好幾個攝像頭

這個至少有兩個攝像頭就可以進行背景虛化了

就好像人的兩只眼睛

人的兩只眼睛看同一個物體的時候

這個角度不太一樣

所以咱們就能感受到誰在前誰在後了 對不對

這就是所謂的雙目攝像頭來判斷這個深度信息

但是這種方法有兩個問題

第一個問題 就是如果這個距離特別遠的話

遠距離的時候這種方法是行不通的

咱們可以想象一下

如果兩個人離我們都很遠的話

你能判斷這兩個人誰在前 誰在後嗎

很困難的 對不對

第二個就是功率的問題

開一個攝像頭

電流就得幾百毫安

你開兩個攝像頭功率就更大

如果長時間開兩個攝像頭

或者說你拍攝視頻

想對視頻的背景進行虛化的話

那這個功耗就非常高

可能會造成手機的這個溫度超標

手機溫度一旦超標了

它就會自動降頻保護這個手機

所以感覺就會很卡

所以這個功率的問題

也是雙目攝像頭這種方法的一個限製

那麼為了解決這個問題

這個極感科技等公司就設計了一種方法

就是利用單目攝像頭再加上人工智能的方法

去解決深度計算的問題來區分前景和背景

那麼具體來講它的步驟是什麼呢

它是這樣 首先它先搭建

用軟件搭建一個3D的場景

搭建一個虛擬的3D場景

這個虛擬的3D場景是不存在的

是在計算機裏邊的

搭建一個虛擬的3D的場景

搭建好了之後

我們再用計算機對這個虛擬的3D場景

拍攝多角度的2D照片

你在計算機裏邊完成這個過程

拍攝2D的這個照片

現在你就有了一大堆的素材了

3D的場景是什麼樣的 深度信息你知道

2D的照片又是什麼樣的

你把這些玩意 把它統統送到什麼呢

送到卷積神經網絡裏面去

對這個卷積神經網絡進行計算

你訓練好了之後

你這個系統就具有了一種能力

看一張2D的照片

你就能區分這裏邊誰在前誰在後了

而且通過這種方法

你還可以實現人像和背景的一個精確分割

可以把這個人的圖整個的摳出來

同時還能對前景和背景做不同的處理

比如說魔法幻天或者背景虛化

這就是對背景進行處理的

魔法消除就是對前景進行處理的

而且你還可以把背景變成黑白的

前景是彩色的

就形成了《辛德勒的名單》的那種效果

總而言之 就只有你想不到沒有它做不到

甚至於這個算法還可以是實時進行的

也就是在拍錄像的過程中

也可以實時地對畫面中的人物進行追蹤

實現前景和背景的分割

對背景進行實時虛化 改色

對前景進行實時追焦等等

總之新一代的手機拍照幾乎都是AI計算攝影

它不光可以模擬出單反的效果

還能在一瞬之間

完成很多專業攝影師很長時間的工作

滿足用戶的各種需求

要實現這些功能需要算法算力

還有大量數據的支持

我們看到的是許多的熱銷手機

比如小米11 vivo X60 OPPO Find X3等等

它們強大的拍照功能

看不到的是實現這些功能所需要的算法

以及這些驍龍888手機上

所集成的高通第六代AI引擎

高達每秒26萬億次AI運算速度

讓很多有趣的攝像功能成為可能

你還發現了在手機上有哪些神奇的AI功能呢

歡迎在評論區裏面留言

我們在以後再給大家一起來聊一聊

手機上那些神奇的AI應用


--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.220.67 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1628780855.A.014.html
pakingko1樓靠這篇文章可以成為PTT大富翁ㄇ 08/12 23:10
RG56782樓太長,end 08/12 23:10
skyangle06073樓職階拉到最底,略 08/12 23:10
本人4樓 08/12 23:10
本人5樓我不做這種事的啦 08/12 23:11
Gavatzky6樓李永樂老師 中國物理奧林匹克金牌得主 08/12 23:12
square47樓相機) 08/12 23:18
square48樓手機攝影在解析變焦透視虛化有瓶頸,看畸形相機模 08/12 23:18
square49樓組就知道,只能ai修圖來補 08/12 23:18
本人10樓AI自動修圖也算是AI計算攝影吧 08/12 23:22
dxzy11樓光看字幕覺得業配 看影片就沒那味了 雖說也太長 08/12 23:22
kaoru756812樓逐字稿XDDDDDDDDDD 08/12 23:39
gannilouds13樓文章也太長XD 08/12 23:44
本人14樓沒辦法,我講不出比這更有內涵的話,文本內容薰陶一 08/12 23:48
本人15樓下大家可能還比較好 08/12 23:48
qss0516樓這是在練聽打吧XD 另外限制好像都打錯了 08/13 00:04
good1074017樓助眠影片 拿來練打字 強!! 08/13 00:24
oread16818樓太長了,還是用聽的好了== 08/13 00:26
sad0soul19樓 08/13 00:27
sakala20樓也簡短一下 有看逐字稿的時間我就直接看影片了 08/13 00:49
frfreedom21樓too long 08/13 00:57
Yuwuen22樓逐字稿真低猛 08/13 01:47
diablohinet23樓推 逐字稿 XDDDDDDDDDD 08/13 02:16
speed702224樓推逐字稿,也推影片 08/13 02:47
saedn25樓這篇好長!!! 有引言嗎 QQ 08/13 03:08
zhttp26樓不需要自己打啊 抓一下字幕就好了 這篇才7P幣 08/13 03:54
zhttp27樓不過全部貼上來是要幹嘛? 08/13 03:54
iorittn28樓 08/13 07:38
rfadslakk29樓推逐字稿 08/13 07:46
TZephyr30樓推李永樂老師 08/13 07:56