點贊再看,養成習慣,微信公眾號搜索【JackCui-AI】關注這個愛發技術干貨的程序員。本文 GitHub https://github.com/Jack-Cherish/PythonPark 已收錄,有一線大廠面試完整考點、資料以及我的系列文章。
1 前言
天空,是攝像中的一個關鍵元素。
游戲的天空,我們可以隨意調節,可以是晴空萬里,也可以是風雨交加。
現實的天空,我們也可以使用算法進行調整,算法效果逼真(效果如下):
萬里星空、皓月千里、電閃雷鳴,各種天氣特效,算法一鍵生成。
甚至,可以生成電影特效中才有的,移動城堡,天空之城。
這么好玩的 AI 算法,你想學嗎?
老規矩,今天,繼續手把手教學。
算法原理、環境搭建、效果實現,一條龍服務,盡在下文!
2 SkyAR
SkyAR 是一種用于視頻中天空置換與協調的視覺方法,該方法能夠在風格可控的視頻中自動生成逼真的天空背景。
該算法是一種完全基于視覺的解決方案,它的好處就是可以處理非靜態圖像,同時不受拍攝設備的限制,也不需要用戶交互,可以處理在線或離線視頻。
使用單卡 NVIDIA Titan XP GPU,SkyAR 處理 640 x 320 的視頻,可以達到 24 fps 的實時處理速度。
算法主要由三個核心組成:
- 天空摳圖網絡(Sky Matting Network):就是一種 Matting 圖像分隔,用于檢測視頻幀中天空區域的視頻,可以精確地獲得天空蒙版。
- 運動估計(Motion Estimation):恢復天空運動的運動估計器,使生成的天空與攝像機的運動同步。
- 圖像融合(Image Blending):將用戶指定的天空模板混合到視頻幀中。除此之外,還用于重置和著色,使混合結果在其顏色和動態范圍內更具視覺逼真感。
完整框架如下圖:
天空摳圖網絡:用來檢測視頻幀中的天空區域。與以往將此過程定義為二元像素級分類(前景 vs 天空)問題的方法不同,該研究設計了一種基于深度學習的由粗到細的預測 pipeline,以產生更精確的檢測結果和更悅目的混合效果。
運動估計:用于恢復天空的移動。虛擬攝像機捕獲的天空視頻需要在真實攝像機的運動下進行渲染和同步。該研究假設天空以及天空中的物體(例如,太陽、云等)位于無窮遠,并用 Affine 矩陣建模它們相對于前景的運動。
圖像融合:在預測天空蒙版時,輸出像素值越高,表示像素屬于天空背景的概率越高。在常規方法中,通常利用圖像遮罩方程,將新合成的視頻幀與背景進行線性組合,以作為它們的像素級組合權重。
但由于前景色和背景色可能具有不同的色調和強度,因此直接進行上述方法可能會導致不切實際的結果。因此,研究人員應用重新著色和重新照明技術將顏色和強度從背景轉移到前景。
更詳細的內容,可以直接看 paper:
https://arxiv.org/abs/2010.11800
3 效果測試
Github 項目地址:
https://github.com/jiupinjia/...
第一步,安裝依賴庫。
根據 Requirements.txt 安裝依賴庫即可,很簡單。
第二步,下載訓練好的模型權重文件。
下載地址(需翻墻):
https://drive.google.com/file.../_7mym6DL9LXhHQlJmJaV0J/view
第三步,配置文件修改。
在 config 目錄下,有一些配置文件,可以根據自己的情況更改視頻和天空模版。
{
ckptdir 為權重文件的解壓后的目錄,datadir 為輸入視頻的目錄,skybox 為使用的天空模版。
生成效果保存到 output/_dir 目錄中。
修改好配置文件,使用指令直接運行:
python skymagic.py --path ./config/config-canyon-galaxy.json
--path 指定使用的配置文件。
運行效果:
處理速度很快,一會兒就處理完了。
更多效果展示:
我將程序進行了打包,東西都已配置完成,可以直接使用。
下載地址(提取碼:jack):
https://pan.baidu.com/s/1sjwS...
4 最后
硬核的 AI 算法有很多,關注我帶你玩轉各種好玩的算法,我是 Jack Cui,我們下期見!
作者:Jack Cui
原文:https://mp.weixin.qq.com/s/we...
關注作者公眾號,獲取更多有趣AI應用~
系列篇
更多AIoT領域有趣的算法應用及產品請關注有趣的AIoT應用專欄。
審核編輯:符乾江
-
AI
+關注
關注
87文章
31491瀏覽量
270004 -
人工智能
+關注
關注
1796文章
47642瀏覽量
239809
發布評論請先 登錄
相關推薦
評論