运动估计算法的程序实现_偷天换日,逼真的天空置换算法
一、前言
天空,是攝像中的一個關鍵元素。
游戲的天空,我們可以隨意調節,可以是晴空萬里,也可以是風雨交加。
現實的天空,我們也可以使用算法進行調整,算法效果逼真(效果如下):
知乎視頻?www.zhihu.com萬里星空、皓月千里、電閃雷鳴,各種天氣特效,算法一鍵生成。
甚至,可以生成電影特效中才有的,移動城堡,天空之城。
這么好玩的 AI 算法,你想學嗎?
老規矩,今天,繼續手把手教學。
算法原理、環境搭建、效果實現,一條龍服務,盡在下文!
二、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
三、效果測試
Github 項目地址:https://github.com/jiupinjia/SkyAR
第一步,安裝依賴庫。
根據 Requirements.txt 安裝依賴庫即可,很簡單。
第二步,下載訓練好的模型權重文件。
下載地址(需翻墻):點擊查看
第三步,配置文件修改。
在 config 目錄下,有一些配置文件,可以根據自己的情況更改視頻和天空模版。
{ckptdir 為權重文件的解壓后的目錄,datadir 為輸入視頻的目錄,skybox 為使用的天空模版。
生成效果保存到 output_dir 目錄中。
修改好配置文件,使用指令直接運行:
python skymagic.py --path .configconfig-canyon-galaxy.json--path 指定使用的配置文件。
運行效果:
處理速度很快,一會兒就處理完了。
更多效果展示:
我將程序進行了打包,東西都已配置完成,可以直接使用。
下載地址(提取碼:jack):
https://pan.baidu.com/s/1sjwSRmqswFaOXb7xbHKNVA
四、最后
好玩的 AI 算法有很多,關注我帶你玩轉各種好玩的算法,我是 Jack Cui,我們下期見!
文章持續更新,可以微信公眾號搜索【JackCui-AI】第一時間閱讀,本文 GitHub https://github.com/Jack-Cherish/PythonPark已經收錄,有大廠面試完整考點,歡迎Star。總結
以上是生活随笔為你收集整理的运动估计算法的程序实现_偷天换日,逼真的天空置换算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 这是泰山什么系列的香烟,多少钱一包?
- 下一篇: 喷头的布置应满足哪些条件?