0
本文作者: 楊曉凡 | 2017-09-04 10:29 |
雷鋒網(wǎng) AI 科技評論按:最近微博上的全景照片很火呀,相比各位都已經(jīng)在自己的iPhone或者iPad上品鑒了多家IT公司的辦公室、游玩了多個旅游勝地、享受了被小貓小狗環(huán)繞的感覺了。太平洋那頭的Facebook也沒閑著,從去年上線類似的功能以后,全世界 Facebook 用戶們已經(jīng)上傳了七千萬張全景照片了。
Facebook 支持多種全景照片和全景視頻的拍攝方式,可以讓人們把自己的全方位感受分享給好朋友們。如果用戶有一個專門的全景攝像機,比如理光Theta S或者Giroptic iO,還可以直接把相機里的照片發(fā)布到Facebook上去。如今,多數(shù)高端安卓和iOS智能手機的內(nèi)置相機也都有了全景模式,可以用來拍全景照片。
Facebook 在過去的一年中開發(fā)并上線了多種技術(shù)給用戶提供更好的全景照片創(chuàng)建和分享體驗,包括全景拍照、全景視頻防抖,以及重新設(shè)計如何存儲高分辨率媒體。最近,F(xiàn)acebook 還用到了深度神經(jīng)網(wǎng)絡(luò)來自動矯正全景照片的方向,可以給手機拍攝的照片直接帶來更真實的包圍感。雷鋒網(wǎng) AI 科技評論對這篇介紹文章做了編譯如下。
最近 Facebook 剛剛在 Facebook app中上線了一個新功能,用戶可以在一個新的、能夠無限滑動的界面里拍攝完整的360度全景照片。
由于全景照片會比一般的照片大很多,F(xiàn)acebook 首先需要解決的難題就是保證信息流里出現(xiàn)了一張全景照片的時候也能讓用戶流暢地在界面中拖拉滑動;同時,當(dāng)用戶停止滑動,移動手機或者轉(zhuǎn)動手機看這張全景照片的時候,也能立即把全分辨率的照片加載出來。在屏幕立即上呈現(xiàn)全分辨率的照片或占用很多內(nèi)存,所以當(dāng)用戶繼續(xù)滑動頁面往下看的時候,又會給加載新的內(nèi)容帶來延遲。
面對著這些挑戰(zhàn),F(xiàn)acebook 的工程師們重新設(shè)計了 Facebook 的底層照片處理機制,便于存儲信息流中“拼貼”的照片以及呈現(xiàn)照片內(nèi)容。
每張全景照片都會被轉(zhuǎn)換為一張立方映射圖,F(xiàn)acebook 之前也有類似的方法用在全景視頻中。然后這些立方映射圖會以多種不同的分辨率存儲下來,而且每一個分辨率的版本都會分割為許多張小的 512x512 分辨率的圖像。
當(dāng)用戶在信息流里刷到一張全景照片的時候,程序就會計算當(dāng)前窗口渲染時需要哪種分辨率、以及用哪些小圖像來拼貼成大圖。如果當(dāng)前需要的分辨率不可用,程序就會暫時渲染一個低分辨率的樣子,同時等待網(wǎng)絡(luò)把高分辨率的內(nèi)容傳過來。當(dāng)用戶進入全景照片移動手機和在屏幕上縮放觀看的時候,程序會不停地做這樣的全套計算。這樣,原來的用戶體驗上不會有什么可感知的變化,卻實現(xiàn)了千萬甚至上億像素的高分辨率全景圖像顯示。
用戶公開上傳到 Facebook 的上千萬張全景照片形成了一個強有力的新數(shù)據(jù)集,F(xiàn)acebook 的研發(fā)人員們也就可以利用這個數(shù)據(jù)集改善自家的產(chǎn)品。這些數(shù)據(jù)可以和機器學(xué)習(xí)的方法聯(lián)合起來,給用戶帶來更好的使用體驗。
讓人覺得全景照片不夠真實的最常見的原因之一就是拍照的時候相機沒有端平,然后最終的照片中也沒有修復(fù)過來這些傾斜。比如下面就是照片傾斜的例子,拍照的時候相機拿歪了。呈現(xiàn)在照片里的地平線是傾斜的,完全破壞了照片的真實感。
對于傳統(tǒng)的照片,用照片編輯軟件修正這種傾斜是一件簡單直接的事情,但是能夠用于全景照片的這類工具并不多,而且修正球面上的傾斜旋轉(zhuǎn)相當(dāng)不直觀。在拍攝全景照片的過程中,相機的旋轉(zhuǎn)可以用 x 軸旋轉(zhuǎn)(tilt)和 z 軸旋轉(zhuǎn)(roll)兩個參數(shù)來描述,如下方示意圖所示。第三個方向的旋轉(zhuǎn),y 軸旋轉(zhuǎn)(yaw),影響的是全景照片的起始點,但是這個方向上的旋轉(zhuǎn)是不會造成照片內(nèi)容的傾斜的。Facebook 的研發(fā)人員們就想開發(fā)出一種能夠自動修正這些相機的旋轉(zhuǎn)帶來的照片傾斜旋轉(zhuǎn)問題的方法。
為了解決這個問題,F(xiàn)acebook 的研究人員們使用了著名的深度神經(jīng)網(wǎng)絡(luò)架構(gòu) AlexNet,并對它做了一些相應(yīng)的修改。用于網(wǎng)絡(luò)訓(xùn)練的數(shù)據(jù)就是像前文中那樣的照片,它包含了360x180度的完整球面環(huán)境,然后用等距離長方圓柱(equirectangular)投影轉(zhuǎn)換為了一張矩形的照片。Facebook 的研究人員們首先假設(shè)這個問題的幾何本質(zhì)不需要顏色信息的參與,這樣訓(xùn)練數(shù)據(jù)就可以簡化為256x128分辨率的黑白照片。AlexNet 本來的設(shè)計是為了解決超過1000個類別的圖像分類問題的,所以它最終的全連接層就有4096個輸入和1000個輸出。在 Facebook 的這個問題中,他們要解決的是一個回歸問題,所以他們修改后的網(wǎng)絡(luò)中,全連接層變成了4096個輸入和 x 軸旋轉(zhuǎn)、z 軸旋轉(zhuǎn)兩個值的連續(xù)值輸出。
Facebook 的研究人員們用帶有 x 軸和 z 軸旋轉(zhuǎn)標(biāo)簽的圖像訓(xùn)練了這個網(wǎng)絡(luò)模型。訓(xùn)練數(shù)據(jù)集中包含了五十萬張投影轉(zhuǎn)換過的矩形照片,這些照片是研究人員們挑出來,總體沒有旋轉(zhuǎn)、傾斜的;換句話說,這些照片的 x 軸和 z 軸旋轉(zhuǎn)全部都是0。在訓(xùn)練過程中,研究人員們?nèi)斯さ赜秒S機生成的 x 軸和 z 軸旋轉(zhuǎn)值對訓(xùn)練樣本做旋轉(zhuǎn)。如下的這個損失函數(shù)就會測量出這些隨機生成的標(biāo)簽和網(wǎng)絡(luò)模型預(yù)測結(jié)果之間的差值,并把減小這個差值作為網(wǎng)絡(luò)的訓(xùn)練目標(biāo)。
為了測試訓(xùn)練效果,研究人員們用一組給定的 x 軸和 z 軸旋轉(zhuǎn)值對測試集中的圖像做合成旋轉(zhuǎn)。然后他們用訓(xùn)練過的網(wǎng)絡(luò)模型分析這些旋轉(zhuǎn)過的圖像并記錄模型給出的結(jié)果。這些已知的旋轉(zhuǎn)值和模型給出的結(jié)果之間的差別可以歸結(jié)為兩個原因,1,模型沒能完全解決這個旋轉(zhuǎn)問題;2,所用的數(shù)據(jù)集還有一些問題,影響了模型的表現(xiàn)。這第二個原因也是真實存在的,F(xiàn)acebook 的研究人員們假定了選用的數(shù)據(jù)集總體是平直的,但是單獨看其中的某個樣本都還是有一些固有的旋轉(zhuǎn)的。
所以,研究人員們用 [-4,-2,0,2,4] 度幾種 x 軸和 z 軸旋轉(zhuǎn)值中的所有組合在每一張照片都做了一遍,這就是用模型對每一張照片都過25遍。對于每一次所用的 x 軸和 z 軸旋轉(zhuǎn)值,他們都會計算對應(yīng)的旋轉(zhuǎn)量。表示這種旋轉(zhuǎn)量的最好的方法就是用3D圖像中的一個常用工具:四元數(shù)(quaternion)。然后,模型會根據(jù)圖像計算出另一個四元數(shù)旋轉(zhuǎn)量。如果模型和數(shù)據(jù)中都不存在剛才提到的兩個問題,那么這兩個四元數(shù)就應(yīng)當(dāng)是相等的。實際中其實并不相等,所以在每一次計算中,他們都會把兩個四元數(shù)相除,計算兩者間的差值。最后,用以下公式算出每張圖像在所有組合的下的差值的平均值。
以上公式中的計算都使用了四元數(shù),因為它們用于計算差值和3D旋轉(zhuǎn)的均值時非常好用。但是,這樣就需要給每張圖片計算新的 x 軸和 z 軸旋轉(zhuǎn)值,因為數(shù)據(jù)集中的圖像一開始的時候并不是完全平直的。這種平均差值就是對每張訓(xùn)練圖像的真實方向的很好的預(yù)測。那么,研究人員們接下來簡單地把四元數(shù)格式的平均差值轉(zhuǎn)換為 x、y、z 軸旋轉(zhuǎn)就可以更新圖像的標(biāo)簽了。
在圖像標(biāo)簽更新以后,就可以對模型做新一輪訓(xùn)練。模型一共經(jīng)歷了四輪訓(xùn)練和微調(diào)。在微調(diào)過程的最后,模型對全景照片算出的旋轉(zhuǎn)值誤差達到了0.1度的水平。每個階段的訓(xùn)練都是從一個未經(jīng)初始化的模型開始的,可以從下圖明顯地看到每個階段中模型都收斂到了更小的訓(xùn)練損失。在另一項對抗測試中,模型也表現(xiàn)出了類似的收斂和誤差值水平。模型的收斂表現(xiàn)足以讓研究人員們得出結(jié)論:這樣的“訓(xùn)練 - 微調(diào)”循環(huán)確實讓模型學(xué)到了理想的旋轉(zhuǎn)方程。
如下是一些經(jīng)過旋轉(zhuǎn)的全景照片結(jié)果,而且都是訓(xùn)練集之外的照片。從幾組圖片中可以看到,模型對于不同的內(nèi)容類別都有出色的表現(xiàn),不論有建筑這樣的人造景觀還是完全的自然風(fēng)光。
結(jié)論
Facebook 的照片、視頻、直播產(chǎn)品中都已經(jīng)可以使用全景媒體。在這個過程中,具有沉浸感的內(nèi)容也會帶來一些特有的問題。這篇文章僅僅介紹了 Facebook 的研究人員們解決的問題里的幾個。隨著用戶往 Facebook 上傳這樣的具有沉浸感的內(nèi)容的速度越來越快,F(xiàn)acebook 也對研究的前景充滿期待,他們相信類似這樣的技術(shù)可以讓用戶用新的方式感受不同的地點和事件。
via Facebook Blog,雷鋒網(wǎng) AI 科技評論編譯
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。