![Google開源框架AutoFlip 實現視頻智能剪裁](http://static.javashuo.com/static/loading.gif)
Photo by Kyle Loftus from Pexelshtml
Google宣佈開源視頻剪裁框架AutoFlip,實現智能化自動裁剪視頻。git
編譯:鄭雲飛 & Coco Lianggithub
技術審校:鄭雲飛算法
原文連接:https://ai.googleblog.com/2020/02/autoflip-open-source-framework-for.htmlapi
隨着移動設備的進一步普及,愈來愈多的消費者選擇在移動設備上觀看視頻。據eMarketer2019年的數據,美國消費者天天平均在移動設備上花費3小時43分鐘,比花在看電視上的時間還多了8分鐘,這也是人們第一次被發現花費在移動設備上的時間多於看電視的時間。緩存
然而,傳統的內容生產設備製做的視頻大多數是橫屏(landscape)的,而移動顯示設備默認是豎屏的(portrait),這就致使橫屏內容在豎屏設備上的播放體驗並非很好。架構
視頻裁剪是解決這個問題的方法之一。然而,人工的視頻裁剪是一件很是枯燥、耗時且精細的工做,普通人很難勝任。所以,誕生了許多智能視頻裁剪的算法,指望經過算法能夠自動、快速地完成優質的視頻裁剪。Google AI 13日在官博宣佈開源框架AutoFlip,就是實現影片智能化自動剪裁的一個解決方案。框架
AutoFlip是一個基於MediaPipe框架的智能視頻剪裁工具。它能夠根據指定的寬高比,對影片內容進行分析,制定最佳裁剪策略,並自動輸出相同時長的新視頻。dom
![Google開源框架AutoFlip 實現視頻智能剪裁](http://static.javashuo.com/static/loading.gif)
左:原始視頻(16:9)。中:使用靜態的居中裁剪(9:16)從新構圖。右:使用AutoFlip(9:16)從新構圖。經過檢測感興趣的目標物,AutoFlip能夠避免裁剪掉重要的內容。機器學習
其中,MediaPipe是一款由Google Research 開發並開源的多媒體機器學習模型應用框架。目前,YouTube、ARCore、Google Home 以及Nest等,都已經與MediaPipe深度整合。
咱們也很幸運地聯繫到了MediaPipe 團隊,對有關AutoFlip移動端的適用性提出了一些疑問,其中,軟件工程師@jiuqiant表示,根據本身的經驗,因爲MediaPipe自己是跨平臺框架,所以AutoFlip能夠輕鬆移植到Android和iOS。AutoFlip演示依賴於MediaPipe的對象檢測和麪部跟蹤子圖,它們都是Android和iOS上MediaPipe的實時應用程序。所以,AutoFlip在移動平臺上也應具備相似的性能。
AutoFlip爲智能視頻剪裁提供了一套全自動的解決方案,它利用先進的目標檢測與追蹤技術理解視頻內容,同時會檢測視頻中的場景變化以便分場景進行處理。在每個場景中,視頻分析會先分析場景中的顯著性內容,而後經過選擇不一樣的相機模式以及對這些顯著性內容在視頻中連成的路徑進行優化,從而達到場景的裁剪與重構。
![Google開源框架AutoFlip 實現視頻智能剪裁](http://static.javashuo.com/static/loading.gif)
如圖所示,AutoFlip剪裁影片有三個重要的步驟:鏡頭邊界檢測、影片內容分析以及從新取景。
1)鏡頭邊界檢測
場景或者鏡頭是連續的影像序列,不存在任何剪輯。爲了偵測鏡頭變化的發生,AutoFlip會計算每一幀顏色的直方圖,並與前一幀進行比較。當直方圖在一個歷史的窗口中以明顯不一樣於以往的速率變化時,則表示鏡頭切換。爲了對整個場景進行優化,AutoFlip會在得出剪輯策略前緩存整個視頻。
2)鏡頭內容分析
Google利用基於深度學習技術的檢測模型在視頻幀中找出有趣、突出的內容,這些內容一般包括人和動物。但根據應用程序不一樣,其餘元素也會被檢測出來,包括文本和廣告 logo、運動中的球和動做等。
![Google開源框架AutoFlip 實現視頻智能剪裁](http://static.javashuo.com/static/loading.gif)
左:體育錄像中的人物檢測。右:兩個臉部框(「核心」和「全部」臉部標識)
人臉和物體檢測模型經過MediaPipe整合到AutoFlip中,這是在CPU上使用了TensorFlow Lite 。這個架構使得AutoFlip的可擴展性更大,開發者們也所以能夠便捷地爲不一樣的使用場景和視頻內容添加新的檢測算法。
3)從新取景
在肯定每一幀上感興趣的目標物以後,就能夠作出如何從新剪裁視頻內容的邏輯決策了。AutoFlip會根據物體在鏡頭中的行爲,自動選擇靜止、平移或追蹤等最佳取景策略。其中,追蹤模式能夠在目標對象在畫面內移動時對其進行連續和穩定的跟蹤。
![Google開源框架AutoFlip 實現視頻智能剪裁](http://static.javashuo.com/static/loading.gif)
如上圖所示,第一行是 AutoFlip 根據幀級的邊界框追蹤到的相機路徑,第二行是平滑後的相機路徑。左側是目標對象在畫面中移動的場景,須要一個追蹤相機路徑;右側是目標物體停留在近乎相同位置的場景,一個固定攝像機便可拍攝在整個場景中所有時長的內容。
AutoFlip 有一個屬性圖,能夠提供最佳效果或自定義需求的剪輯。若是發現剪輯出來的鏡頭沒法覆蓋整個影片區域的狀況時(例如目標在某一幀視頻中顯得太大),AutoFlip會自動切換到相對不那麼激進的策略上。它會使用信箱效應,在保持原始視頻尺寸的同時用黑邊模式填充影片,使畫面看起來更天然。
![Google開源框架AutoFlip 實現視頻智能剪裁](http://static.javashuo.com/static/loading.gif)
隨着人們用來觀看視頻的設備愈來愈多樣化,讓任何視頻格式都能快速適應不一樣屏幕比例的能力也顯得愈加重要。而AutoFlip可以快速地自動剪輯影像,適合在各類設備上播放。
和其它機器學習算法同樣,AutoFlip 的性能會隨着目標檢測等能力的提高而大大增強,尤爲是衍生出來的能力,例如採訪鏡頭中的說話人檢測或動漫中的動物臉檢測等等。
Google稱接下來會繼續改進AutoFlip,尤爲是針對影片前景文字或圖標由於從新取景而被裁掉的狀況。同時,Google也但願 AutoFlip 能進一步融合天然語言處理等技術,從而實現更合理的視頻智能剪裁。
References:
- https://insights.digitalmediasolutions.com/articles/digital-mobile-dominate
- https://github.com/google/mediapipe/issues/471