Google Camera使用Q&A

Q:我的手機到底能不能使用Google Camera?

A:如果你的手機的Camera 2 API支援到Level 3,那一定有很大的機率可以使用Google Camera

Google Camera底層演算法的完全依託於Camera 2 API,所以若你的手機如果不支援Camera 2 API,則一定不可能可以使用Google Camera
可不可使用Camera 2 API則可以使用這個APP進行檢測。
(如果沒有登入Google Play可使用APK Mirror連結安裝)

img

如果檢測結果為Level_3,那恭喜你,一般來說你的手機可以使用幾乎大部分的Google Camera移植版,趕快出門嘗試Google Camera帶來的強大夜拍效果吧。

如果檢測結果為Full,那代表廠商的驅動對Camera 2 API的支援並不不完整。
但還別放棄希望,如果下方欄位顯示你的手機有支援RAW Capture和Burst Capture的話,那你的手機有機會使用某一些特別為某款機型定制的移植版GCam。但前提是必須要有移植版GCAM開發者使用同樣型號或是廠牌的手機才有機會。

當然如果你的手機檢測結果不支援RAW Capture,那麼就不可能有任何移植版Google Camera能夠在拍攝之後完成後續的HDR+合成步驟了,也就是你可能能進到GCAM觀景窗畫面,但是按下拍攝鈕之後不會有任何反應或是拍攝起來完全沒有HDR+多幀合成降噪的效果。

Q:可是我的手機檢測結果顯示Legacy,卻可以用某些版本的GCAM?

A:這是早期那些移植GCAM開發者犯下的最大錯誤。

早期那些開發者為了讓沒有支援C2API的手機開啟他們的APP之後不會因為不支援C2API而發生閃退,特意讓他們移植的GCAM也相容了傳統的Legacy模式。

但這樣反而造成了大量的誤解,大量不明就裡的使用者的手機因為不支援Camera 2 API,安裝正常移植版的GCAM都一律發生閃退。

東翻西找一番......好不容易找到這些支援Legacy模式的移植版GCAM,安裝後沒有發生閃退,以為自己也終於能使用HDR+的魔法為自己的照片添色.....

然而結果是拍起來和任何一般的第三方相機都沒啥兩樣,甚至還會遜於有稍微針對個別機型調教的原廠相機。

而不幸的是這些不明究理的使用者,安裝了這些支援傳統Legacy模式的GCAM之後......想當然耳,在並沒有使用到Google Camera的演算法情況下,得到了大量比原廠相機還爛的照片。

於是他們就在各處發表了Google Camera不如原廠相機或是和原廠相機沒差多少的感想

推 dant****11  : 我怎麼覺得s8沒有差很多,而且拍完一張照片app就掛    12/19 13:35
推 dant****11  : 了                           12/19 13:35
→ kai***8   : https://imgur.com/Jy6rTKj 我拍是原廠比較好耶    04/29 01:46
→ kai***8   : 沒有夜間模式還是用原廠的就夠好了              04/29 01:47

這種情形特別以Sony、Samsung使用者最常見,因為截至目前為止Sony沒有任何一台手機支援GCAM(直至最近發表的Xperia 1依舊如此);而Samsung則是因為使用Exynos處理器讓其手機對GCAM支援度極度不佳

而這兩家的旗艦機相機的CMOS其實都用的不差,然而因為不支援Camera 2 API反倒被其他CMOS體質較差、卻支援Camera 2 API的手機利用Google Camera移植版超越,就是相當可惜的了~

Q:我要怎麼確認我有使用到Google Camera的演算法?

A:有幾樣最大的特徵可以看

  1. 在觀景窗畫面中將相機切到HDR+ enhance(強化),按下拍攝按鈕,如果畫面中有一個圓圈快速的轉過一圈,那麼表示你的手機有成功調用C2API進行拍攝。

    HDR+ enhance
  2. 拍攝完成後立刻點入右下角的相簿,會在右上角顯示照片正在合成,這代表APP有成功調用Google Camera演算法進行合成。

    HDR+ enhance

Q:越新版的Google Camera越好嗎?

A:越新版的Google Camera的確是功能越多,例如最近加入的夜視、AI白平衡、AI追焦、慢動作高速(240fps)攝影;還有之前的更改曝光時間、更改採樣幀數、人像模式。但是新加入的功能不一定能夠完全相容你目前手上手機的系統。

由於GCAM移植版一大主要開發者:@BSG滿手小米家的手機,所以一般來說小米家的手機在舊版(Redmi Note7前發表的手機)只要使用Magisk或是Root開啟Camera2 API,則對移植的Google Camera相容度實測接近95%以上,甚至連老邁的紅米Note 3也能順利使用5.1版的移植版GCam提升拍攝性能。而在Redmi Note7之後發布的手機則全部都已經預設開啟C2API支援,直接安裝這些移植版Google Camera APK就可以使用Google演算法魔法了。

但對於其他手機品牌來說,那可能就要碰運氣了,不一定最新的移植版GCam能夠和你的手機完全相容,所以可能還是要自行多加嘗試,在網路上詢問他牌手機使用者的心得就跟期待對方能夠隔空抓藥一樣啊!

Q:我該怎麼尋找我的手機品牌對應的版本下載安裝呢?

A:這通常要看移植版的開發者手上拿的是哪牌的手機,這裡有一個列表,可以參考各移植版開發者他們手上手機的對應品牌:

https://www.xda-developers.com/google-camera-port-hub/

由於上面這個列表更新速度較慢,因此建議參考開發者擁有的手機「品牌資訊」即可,如果要最新的版本請找這裡:

https://www.celsoazevedo.com/files/android/google-camera/

一樣,不同的機種的相容程度並不同,請自行測試囉!

Q:不同版本的移植版Google Camera拍起來會有差嗎?

A:簡單的說,只有功能性引進的時候不同版本的GCAM會有比較明顯的差異。主要影響有這幾類:

  1. 大版本之間功能性區別:

    例如3.X版疊圖後算出來的照片就會不如5.1版的疊圖後的成品噪點少,5.1版的HDR+功能性又不如6.X版引入夜視後在AI白平衡和AI降噪上的強大,這些是不同大版本間主要差異。

  2. 不同機型的相機模式區別:

    另外還有使用不同相機模式的採樣幀的合成算法、以及APP內部由RAW矩陣轉換成JPG的調整參數:
    Input Model

    也會在陰影和亮部校正還有色調曲線方面產生一些差異。如果前者選錯機型模式可能會直接在合成過程中APP直接閃退,後者選錯機型模式則會在成像的結果發現陰影偏綠、偏紫,或是細節對比過高的現象。

    當然有些開發者偷懶或是不想一直被使用者問這些機型模式是差在哪裡,後續版本就乾脆拿掉了機型模式的選單,這可能就沒法度囉~

  3. AI白平衡:

    img

    這應該是除了夜視之外另外一個能夠讓照片具有顯著不同的地方,手機羸弱的CMOS在夜晚中常常難以獲取足夠多的光線資訊,讓手機系統能夠正確的校正白平衡。
    於是Google乾脆另闢蹊徑,直接用深度學習學習每個場景的「哪些物體」應該是白色,並用以校正白平衡。
    AI白平衡在昏暗的黃光環境之中特別有用,拍攝的成果再也不會出現照片全部變成黃色而無法、或是難以後製校正的狀況(因為後期很多GCAM留下來的RAW檔都是壓縮DNG,經過壓縮而喪失的色彩資訊讓在極端環境下的白平衡校正變得困難)

  4. 可自訂的曝光時間:

    GCAM使用多幀短曝光試圖以DSP算力暴力解決雜訊的問題,但是使用短曝光的嚴重缺陷在於:

    如果快門短到讓收到的光線資訊低於CMOS可產生「有意義的資訊」閾值,那麼這些多張「垃圾雜訊」再怎麼疊圖平均也不會疊出任何圖像,或是造成明顯的「紫光」(這個我在早期使用Canon入門DSLR機身上拍星空時很有經驗.....)

    img

    而某些版本的移植版GCAM能夠強制將曝光時間訂在1秒、2秒、4秒甚至更長的秒數。

    img

    如果手機的韌體端API有支援較長秒數的快門,配上腳架之後,就可以在超低光源環境(如星空)下讓手機的CMOS接受到的光線資訊量超越「能產生有意義的資訊」閾值,不再疊圖疊出大量無意義的熱雜訊紅紫斑。讓手機拍攝清晰、無光軌的銀河這個過往不太可能達成的任務成為可能!

Q:如果同樣使用Google Camera,不同廠牌型號的手機表現會不一樣嗎?

A:當然會不一樣,雖然演算法能夠拉抬相機表現到很高一個臺階,不過各廠各型號的手機所使用的感光元件(CMOS)和鏡頭並不一樣,造成以下幾點的不同:

  1. 畫質表現不同

    具體來說,一個CMOS能夠提供的畫質好壞決定於他的單位像素大小,而不是所謂的畫素。

    單位像素越大,在光線不足的時候有效畫素(畫質)越高,像素越高的手機相機,夜拍越爛,詳情可以看這篇:
    手機的像素越高越好嗎?前後兩千萬到底是不是一個噱頭?

  2. 後製上的色彩豐富度不同

    色深表現基本上只有做RAW檔調整的時候會感受的到,一般人僅使用色域極窄的JPG直出不會感受到任何差異。而單位像素大小除了會關係到ISO表現之外,同樣的也會影響到當使用RAW檔做極限拉暗部和亮部時的色深表現。

    個人使用不同機型、相同版本的GCAM Mod的感受,單位像素大的機型色深比較寬,顏色細節(非像素細節)較豐富,做後製校正的時候比較輕鬆;而單位像素小的機型色深較淺,在亮部與暗部的區域顏色細節丟失嚴重,樹葉的顏色常化為一片螢光綠,夕陽變成大片單色的橘光。這是除了雜訊之外,不同機型在極限環境下體現到的色深上的區別。

  3. 鏡頭解析力、變形、紫邊表現不同

    一般來說這一項也是必須使用RAW檔後製重新提取更多的細節才能感受到的區別。
    手機的效能不比電腦,無法做與電腦運算規模相同的影像運算處理,只能透過取巧的方式例如:
    銳利化(例如三星和華為)和抹成油畫(例如Sony和小米)以降低手機的影像運算量來得到常人可以接受的運算時間,然而這樣的做法其實就會喪失許多影像細節。所以如果在手機端拍攝RAW檔,再後續使用電腦端軟體解RAW就可以得到更多豐富多解析度細節和色彩細節,當然影像缺陷也會同時被一起凸顯。

    紫邊是一個在解完RAW之後最常被發現到的缺陷,當手機鏡頭模組用的太爛的時候,即使在拍攝遠方點光源而不是亮暗差異明顯的區域,也會發現點光源周圍多出了一圈色環,這就是紫邊。

    照片使用紅米Note4X拍攝

    而紫邊問題雖然可以透過Lightroom手動調整盡量的消除,但想要希望Google後續的自動化調整就是不可能了,因為每顆鏡頭的光學特性不同,Google是不可能對這些「第三方」鏡頭有任何調整的。

    除紫邊之外,鏡頭解析力也是一個必須要靠解RAW檔才能體會區別的項目,因為在JPG直出的情況下大家的解析力都一樣爛,感受不到區別。而且比較有趣的是CMOS像素較高的機種(Zenfone Max Pro M1)配上爛鏡頭的話,解RAW之後的實際解析力會比CMOS像素較低的機種(紅米Note 5)還要低。

    這側面體現像素量在手機這種超小的CMOS上其實不是畫質的決定因素,使用到的演算法、CMOS單位像素面積和鏡頭模組的優劣才是真正會對手機畫質產生影響因素。(只是這十幾年來,宣傳畫素=畫質一直是一個很有效的行銷手段)。

  4. 移植版Google Camera Library對手機CMOS支援度不同

    其實這是最常遇到的問題,不過我最後才想到所以寫在下面。如果移植版GCAM Library對你手機的CMOS支援度不佳,造成紅綠藍原色偏移,最常看到的就是拍攝出來的畫面陰影會偏綠、偏紅、偏藍,或是前鏡頭乾脆無法開啟。這點可能就要去尋找有沒有其他的移植版本有針對你的手機CMOS修正Library,或是你只能透過拍RAW檔回去自行修正三原色偏移了。

結語

以上是大家使用第三方Google Camera時最常遇到的幾個問題,在這裡統一對一些常見的以訛傳訛的錯誤觀念做澄清和解答,如果之後遇到還有其他問題還會補充在這裡供大家參考,希望大家能夠在使用這個強大的移植版Google 相機少走一點歪路。