Python圖片視頻超分模型RealBasicVSR的使用教程
前言
很久沒更新這個專欄了,最近比較忙。前段時間看到了這個模型覺著很有意思,弄下來自己玩了玩,但是沒時間寫文章,一直擱置到現(xiàn)在。
廢話不多說,先上Github地址: RealBasicVSR地址
從給出的效果來看,還是很不錯的,左側是超分后的畫面,右邊是原畫質,得到明顯提升。下面我說一下我的安裝過程,還有一些使用中的踩坑,讓大家去測試項目的時候可以提前規(guī)避。
安裝
項目拉下來之后,我們先打開README,看看說明。
安裝的步驟不多,但是還是有一些坑的,下面是我的安裝步驟,如果你們自己安裝的有問題的話,可以參考一下我的步驟。
1、虛擬環(huán)境創(chuàng)建
作者沒有給出需要的python版本,這里我用的python3.8
conda create -n real python=3.8 conda activate real
2、安裝pytorch
這里本來我以為我現(xiàn)在的最新版本可以跑的,后面發(fā)現(xiàn)不行,所以老老實實的按照作者的版本安裝。
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch
3、安裝openmim
這里沒什么好說的,裝就完了。
pip install openmim -i https://pypi.douban.com/simple
4、安裝mmcv-full
同上
mim install mmcv-full
5、安裝mmedit
同上
pip install mmedit -i https://pypi.douban.com/simple
6、安裝scipy
這個作者沒寫,但是要裝。
pip install scipy -i https://pypi.douban.com/simple
7、模型下載
嗯,在外網(wǎng)比較難下,我下好了,放到我的百度云盤。
鏈接 提取碼:1234
在項目中創(chuàng)建文件夾checkpoints,把下載的文件放進去。如下圖
使用
ok,環(huán)境裝好了,我們看看怎么使用。
作者提供了圖片文件夾處理方式和視頻處理方式,我們挨個測一下。
圖片超分
我就不準備用作者提供的demo圖了,我自己找了一張,如下圖。
圖片尺寸
放置目錄如下
執(zhí)行命令如下
python inference_realbasicvsr.py configs/realbasicvsr_x4.py checkpoints/RealBasicVSR_x4.pth data/demo_001 results/demo_001
執(zhí)行結果
2022-05-08 10:57:06,303 - mmedit - INFO - load checkpoint from torchvision path: torchvision://vgg19
load checkpoint from local path: checkpoints/RealBasicVSR_x4.pth
/home/zhangmaolin/.local/lib/python3.7/site-packages/torch/functional.py:445: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:2157.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
結果圖如下
可以看出明顯的清楚了很多。
結果圖尺寸
視頻超分
然后我們看看視頻超分的情況,這部分是有一些坑的,后面會說到。
首先我準備了一個視頻,視頻分別率如下。
可以看到視頻分辨率540p。
執(zhí)行命令如下,里面有作者給出樣例沒有的參數(shù),我后面注意里面會解釋。
python inference_realbasicvsr.py configs/realbasicvsr_x4.py checkpoints/RealBasicVSR_x4.pth data/12345.mp4 results/demo_123.mp4 --fps=25 --max_seq_len=2
執(zhí)行結果
2022-05-08 11:02:01,023 - mmedit - INFO - load checkpoint from torchvision path: torchvision://vgg19
load checkpoint from local path: checkpoints/RealBasicVSR_x4.pth
/home/zhangmaolin/.local/lib/python3.7/site-packages/torch/functional.py:445: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:2157.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
最終視頻分辨率情況
注意
1、首先,視頻原長度是2分鐘的,我截取到5s的視頻進行超分處理的。不然會顯存溢出。
2、--max_seq_len=2參數(shù)也是為了避免顯存溢出,總的來看,這個模型不太適合直接跑視頻,最好的方式還是跑圖片序列,然后最后壓縮圖片為視頻比較好。
壓縮圖片為對比視頻樣例
作者給了一個demo程序可以將輸出的圖片壓縮為前后對比視頻,如下圖說明。
我測試了一下,代碼這里需要改動一下,代碼框出的部分需要把注釋取消。
對比視頻如下圖,左邊為超分后效果,右邊為原圖效果。
總結
總的來說,該模型處理圖片還是效果很好的,可以稍微改造一下
以上就是Python圖片視頻超分模型RealBasicVSR的使用教程的詳細內容,更多關于Python RealBasicVSR的資料請關注腳本之家其它相關文章!
相關文章
Python算法輸出1-9數(shù)組形成的結果為100的所有運算式
這篇文章主要介紹了Python算法輸出1-9數(shù)組形成的結果為100的所有運算式,然后介紹了另外一個相關實例,具體內容請參閱正文,需要的朋友可以參考下。2017-11-11用Python程序抓取網(wǎng)頁的HTML信息的一個小實例
這篇文章主要介紹了用Python程序抓取網(wǎng)頁的HTML信息的一個小實例,用到的方法同時也是用Python編寫爬蟲的基礎,需要的朋友可以參考下2015-05-05Pandas DataFrame數(shù)據(jù)存儲格式比較分析
Pandas 支持多種存儲格式,在本文中將對不同類型存儲格式下的Pandas Dataframe的讀取速度、寫入速度和大小的進行測試對比,有需要的朋友可以借鑒參考下,希望能夠有所幫助2023-09-09Django+Bootstrap實現(xiàn)計算器的示例代碼
本文主要介紹了Django+Bootstrap實現(xiàn)計算器的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11