Facebook智慧攝像頭Portal研發背後的那些事

weixin_33806914發表於2019-03-20

去年 11 月份 Facebook 推出了兩款視訊通話裝置 Portal 和 Portal+,相比傳統的視訊通話相框,Portal 藉助人工智慧技術和更加靈活的攝像頭,讓使用者不必呆坐在裝置前,攝像頭就會自由、智慧地跟隨使用者的位置,並根據使用者的距離除錯攝像頭進行變焦。好神奇的裝置!這究竟是怎麼實現的呢?這裝置研發的背後又有什麼樣的故事呢?

Portal,是 Facebook 新出的視訊通話裝置,它的強大功能之一就是由人工智慧驅動的智慧攝像頭。智慧攝像頭能夠像經驗豐富的人類操作員那樣拍攝,這樣使用 Portal 的人就會覺得他們彷彿就在身邊。智慧攝像頭不依賴於通常用於高階機器學習任務的專用伺服器,而是完全在裝置上執行復雜的計算機視覺(Computer Vision,CV)建模,使用類似高階移動晶片組的處理能力。

在不到兩年的時間裡,從零開始為 Portal 硬體構建全新的智慧攝像頭系統,這對計算機視覺發起了巨大的挑戰。例如,即使在一間擁擠的房間裡,人們走動著,交流著,Portal 也必須決定何時縮放視訊畫面以容納新的物件,以及何時跟隨某人走出框架。這些決策是 Portal 基本用例的核心部分,而不僅僅是個外設功能。

為了讓智慧攝像頭能夠有效做到這一點,Portal AI 和 Mobile Vision 團隊利用了 Facebook 在人工智慧領域的長期投資。為了建立一個比現有系統效率高兩個數量級的新 2D 姿勢檢測模型,我們在我們開創性的 Mask R-CNN 模型上進行了創新。使用 Mask R-CNN2Go,2D 人體姿勢估計在 Portal 上以每秒 30 幀的速率實時執行。我們使用這個新模型來通知 Portal 有關何時進行數字平移和縮放的決策,然後將它與一個單獨的系統進行配對,以確保攝像頭的移動看上去很自然,讓人有身臨其境的感覺。

最終的效果是這樣的,這種視訊通話體驗適用於所有的人:父母不用拿著手機追著他們的小孩,小孩也可以參與打電話而不必站著不動,人們可以輕鬆地相互視訊。

\"image\"

\"Portal 智慧攝像頭演示視訊截圖,視訊地址:https://ai.facebook.com/1319742961447503/videos/382300642587504/?t=54)

在這篇博文中,我們將重點介紹建立智慧攝像頭的工作原理,首先回答一個簡單的問題:如果我們只需要一個小型的移動處理器,該如何構建一架能夠在各種環境展示人們的攝像頭呢?

機械式攝像頭與智慧攝像頭

Portal 是一種應用了計算機視覺技術的產品,但智慧攝像頭始於硬體挑戰。早期原型機是以物理方式進行旋轉來面對不同物件,但電動攝像頭的缺陷也很明顯:可靠性降低了,以及無法看到並響應遠離攝像頭指向的地方所發生的事情。鑑於此,我們決定開發一種固定的廣角攝像頭,它的動作完全是數字化的,但這樣的攝像頭需要一個真正靈活、高效的人工智慧控制系統,能夠做出快速而複雜的計算機視覺決策。智慧攝像頭一直是我們產品的關鍵組成部分,在我們重塑視訊通話體驗的計劃中,它變得越來越重要。

\"image\"

第一個 Portal 原型機是依靠電機以物理方式來移動攝像頭。

眼下的定位和跟蹤受試者的計算機視覺方法還不夠,現有的軟體工具和攝像頭硬體都不能滿足我們設定的產品需求。例如,標準計算機視覺系統設計為在幾英尺內執行,而這遠低於 Portal 要求的 10~20 英尺範圍。儘管 Facebook Reality Labs(FRL)用來捕捉詳細的 VR(Virtual Reality,虛擬現實)環境的深度攝像頭可以解決類似的挑戰(如考慮到日光的變化),但 FRL 的工作並不是為了實時操作而設計的。沒有一種方法或平臺能夠滿足 Portal 的所有需求。隨著團隊開發出了更先進的模型,他們整合了 Facebook 各團隊的研究和程式碼,建立智慧攝像頭更多樣化的迭代。

\"image\"

對複雜、健壯的計算機視覺的需求

視訊通話是一項特別棘手的計算機視覺應用,沒有反悔的機會。當智慧手機全景照片出現失真時,我們可以很輕鬆地刪除照片並再來一遍。但通話中的關鍵時刻可不能像這樣 “再來一遍” 的。由於 Portal 會在視訊通話過程中做出所有計算機視覺決策,因此它不能從頭到尾檢視整個視訊來確定如何處理意外事件。如果系統可以窺探未來的話,那麼它就可以預測某人何時出入房間,或者在有人開始興奮地四處走動之前,就搶先重構場景。

現實世界的各種情況也構成了重大挑戰。對計算機視覺系統來說,識別出祖母在光線充足的地方將孫女抱在膝上,這場景可能不是特別需要處理器進行處理。但如果這個蹣跚學步的孩子如果爬到房間的陰影角落,然後被媽媽抱起來並走出視線外時,會發生什麼呢?智慧攝像頭必須動態響應多個變數,並確定何時進行縮放和平移,以及要忽略的內容。

由於視訊通話過程中的中斷錯誤和延遲是不可接受的,因此計算機視覺系統必須完全在裝置上執行。在本地處理視訊也提供了增強的隱私,因為姿勢檢測或其他人工智慧建模都不會離開裝置。此外,Facebook 不會訪問到 Portal 視訊通話中任何內容,也不會將其用於廣告。

智慧攝像頭的核心:Mask R-CNN2Go

為了創造滿足這些需求的視訊通話體驗,智慧攝像頭依靠 2D 姿勢檢測,並輔以額外的計算機視覺技術。智慧攝像頭通過不斷搜尋要包含的相關物件,主動為給定場景進行幀化。由於它分析視訊中的每一幀,Portal 能夠忽略長時間未移動的潛在物件,如掛在牆壁上的肖像。它還可以優先考慮其視野範圍內的內容,如,選擇一個與聽眾交談的物件,而不是背景中經過的人。

一個簡單的計算機視覺系統,比如只使用頭部檢測或者圍繞人身周圍的邊界框,可能很容易實現。但智慧攝像頭需要足夠的準確度來考慮不同的姿勢,因為有非常不同的取景選擇,例如,某人是躺著還是站立著,就有非常不同的框架選擇。

當 Facebook AI Research (FAIR)小組於 2017 年釋出 Mask R-CNN 模型時,這是業界在簡化例項細分方面的一個突破,在國際計算機視覺大會(International Conference on Computer Vision)斬獲最佳論文獎。但 Mask R-CNN 是基於 GPU 的方法,因此與 Portal 的移動晶片組不相容。去年,Facebook 的團隊合作建立了 Mask R-CNN2Go,這是一種全身姿勢檢測系統,只有幾兆位元組大小。這一來它可以做到足夠小,從而能夠在移動處理器上執行,非常適合在 Portal 中使用。

\"image\"

Mask R-CNN2Go 是一種高效輕量級框架。上圖概述了模型的五個主要組成部分。

智慧攝像頭由 Mask R-CNN2Go 驅動,保持了 Mask R-CNN 的高姿勢檢測準確度。同時執行速度也比這個模型快 400 倍。將姿勢檢測模型進行壓縮 —— 從執行在桌面 CPU 到移動晶片 —— 迫使我們在模型質量上進行權衡。低質量的關鍵點(在幀變化過程中可能會引入抖動或其他視覺錯誤)對於我們所針對的穩定、自然的視訊通話體驗來說是不可接受的。為了彌補這一不足,我們開發了幾種策略,包括通過對訓練資料集中的低光樣本應用資料增強及平衡多種姿勢檢測方法(如檢測物件的頭部、軀幹和整個身體)來改善低光拍照效能。我們使用額外的預處理來區分彼此相鄰的多個人。

我們還用別的方式推進了 Portal 移動晶片組的極限,包括開發 Qualcomm 的 Snapdragon Neural Processing Engine(SNPE)的手動優化。這些增加了軟體已經在加速的深度神經網路的執行,以應對操作條件和 Portal 的特定硬體。這個過程的最終結果是,在 FAIR 最初的 Mask R-CNN2Go 研究發表不到兩年之後,在商店中就推出了新的消費產品。

除了利用我們在 Mask R-CNN 上的工作外,Portal 還利用了我們對 AR 上的長期投資。Facebook、Messenger 和 Instagram 上已經部署了互動式 AR,得益於我們的 Spark AR 平臺以及我們多年來在身體跟蹤和細分方面所做的工作,我們能夠以最小權重提升來整合即開即用的 AR,尤其是新的故事時間模式。這種簡化的 AR 整合是我們整體戰略的一部分,它為所有 Facebook 產品提供了一個通用的 AR 平臺,包括 Messenger、Instagram 和現在的 Portal,讓創作者創作一次效果,然後廣泛部署,無論是今天的螢幕,還是未來的頭戴顯示器。

利用人類專業知識增強人工智慧能力

即使我們解決了所有與響應實時姿勢檢測的的攝像頭運動相關的極限挑戰,早期原型的結果仍然讓人感覺僵硬、機械。智慧攝像頭可以精確地縮放、平移和跟蹤相關物件,但它的實際動作並不像我們在電影和電視中習慣的那種由人類控制的相機那樣順滑、流暢、直觀。我們要明白這點:數學家和科學家是可以改進計算機視覺模型的,但不一定了解人們在情感層面上如何與攝像頭體驗互動,儘管我們有創意。或者,更確切地說,我們得向創意專業人士尋求幫助。

我們合作的電影製作人分享了一系列見解,其中一些是成熟的技術:例如專家如何進行構圖,以及這些決定如何影響觀眾的期望;而另一些則更傾向於本能,更難以用人工智慧來複制。在一項實驗中,我們要求一組專業攝像頭操作員拍攝一系列難以從單一角度捕捉動作的場景。分析結果發現,雖然經驗豐富的專業人士拍攝特定場景的方式並不一致(儘管拍攝角度和拍攝物件相同,但不同攝影師經常做出不同的決定),但電影製作人會本能地使用微妙的動作來產生更自然、更直觀的拍攝體驗。我們仔細分析了這些動作,並將它們提煉成軟體模型,目的是讓智慧攝像頭模擬這種體驗。事實證明,這種做法比簡單的數學策略指導的運動更為有效。

例如,攝像頭操作員通常只在全景模式下進行拍攝,但我們要求專家在全景模式和肖像模式下拍攝每個樣本場景。根據他們如何為這兩種模式進行構圖,我們很快就意識到,必須提供兩種截然不同的體驗。在肖像模式下,他們的構圖和鏡頭移動優先考慮給定場景中的關鍵人物。為了創造出一個更親密的體驗,他們使用更緊密的框架來展示這個人和他的表情,而不是他所在的環境。在全景模式下,攝像頭操作員可以更輕鬆地捕捉場景中的更多動作。他們傾向於使用更廣泛的構圖,尤其是中景和 “牛仔鏡頭”,即從大腿中部向上取景。(這鏡頭的名字來自經典的西部電影,因為它可以包括演員的臉和槍套。)

我們將這些選擇整合到智慧攝像頭中,利用全景模式展示場景中更多的活動,然後當有人將 Portal+ 轉為肖像模式時,我們會切換到更近的、更傾向於一對一的構圖。

智慧攝像頭的下一步是什麼

智慧攝像頭是我們廣泛多樣的計算機視覺專業知識的結晶,包括我們首創的姿勢檢測技術以及我們在 Portal 開發過程中學到的硬體實現。但這也是基於人工智慧的系統的一個例子,它由一組人類技能提供資訊,將電影和攝影的細微差別融入到一個特徵中,否則可能會對 Portal 為之設計的自然、輕鬆的面對面交流造成震動和擾亂。它簡化了計算機視覺的方法,降低了計算強度(使用 Mask R-CNN2Go),展示了我們在這一領域繼續取得的進展。

由於攝像頭控制與人們及其環境的背景理解緊密相關,我們將繼續推進計算機視覺和其他人工智慧技術,以幫助我們更好地瞭解裝置周圍的世界。例如,當一個人在廚房做飯時,與他在沙發上看電視時相比,我們可能想要以不同的鏡頭,使用不同型別的攝像頭動作。最終,Portal 不僅僅是用於視訊通話,而是和你關心的人共度美好時光。為了更好促進這一點,我們還在尋找新的方法來構建人們可以通過 Portal 享受的共享體驗。

原文連結:
https://ai.facebook.com/blog/under-the-hood-portals-smart-camera

\"image\"

相關文章