日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

衡兰芷若成绝响,人间不见周海媚(4k修复基于PaddleGan)

發布時間:2023/12/24 windows 45 coder
生活随笔 收集整理的這篇文章主要介紹了 衡兰芷若成绝响,人间不见周海媚(4k修复基于PaddleGan) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一代人有一代人的經典回憶,1994年由周海媚、馬景濤、葉童主演的《神雕俠侶》曾經風靡一時,周海媚所詮釋的周芷若凝聚了漢水之鐘靈,峨嵋之毓秀,遇雪尤清,經霜更艷,俘獲萬千觀眾,成為了一代人的共同記憶。

如今美人仙去,回望經典,雪膚依然,花貌如昨,白璧微瑕之處是九十年代電視劇的分辨率有些低,本次我們利用百度自研框架PaddleGan的視頻超分SOTA算法來對九十年代電視劇進行4K修復。

配置PaddlePaddle框架

PaddlePaddle框架需要本地環境支持CUDA和cudnn,具體請參照:聲音好聽,顏值能打,基于PaddleGAN給人工智能AI語音模型配上動態畫面(Python3.10),囿于篇幅,這里不再贅述。

接著去PaddlePaddle官網查看本地cudnn對應的paddlepaddle版本:

https://www.paddlepaddle.org.cn/

輸入命令查看本地cudnn版本:

nvcc --version  
nvcc: NVIDIA (R) Cuda compiler driver  
Copyright (c) 2005-2022 NVIDIA Corporation  
Built on Tue_Mar__8_18:36:24_Pacific_Standard_Time_2022  
Cuda compilation tools, release 11.6, V11.6.124  
Build cuda_11.6.r11.6/compiler.31057947_0

可以看到版本是11.6

隨后安裝對應11.6的最新paddle-gpu版本:



python -m pip install paddlepaddle-gpu==2.5.2.post116 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html


注意這里的最新版是paddlepaddle-gpu2.5.2.post116,而非之前的paddlepaddle-gpu2.4.2.post116

安裝成功后,進行檢測:

PS C:\Users\zcxey> python  
Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)] on win32  
Type "help", "copyright", "credits" or "license" for more information.  
>>> import paddle  
>>> paddle.utils.run_check()  
Running verify PaddlePaddle program ...  
I1214 14:38:08.825912  4800 interpretercore.cc:237] New Executor is Running.  
W1214 14:38:08.827040  4800 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.9, Driver API Version: 12.3, Runtime API Version: 11.6  
W1214 14:38:08.829569  4800 gpu_resources.cc:149] device: 0, cuDNN Version: 8.4.  
I1214 14:38:12.468061  4800 interpreter_util.cc:518] Standalone Executor is Used.  
PaddlePaddle works well on 1 GPU.  
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.

說明PaddlePaddle的配置沒有問題。

隨后克隆項目并且進行編譯:

git clone https://gitee.com/PaddlePaddle/PaddleGAN  
cd PaddleGAN   
pip3 install -v -e .

視頻修復超分模型

關于視頻修復超分模型的選擇,這里我們使用百度自研SOTA超分系列模型PP-MSVSR、業界領先的視頻超分模型還包括EDVR、BasicVSR,IconVSR和BasicVSR++等等。

百度自研的PP-MSVSR是一種多階段視頻超分深度架構,具有局部融合模塊、輔助損失和細化對齊模塊,以逐步細化增強結果。具體來說,在第一階段設計了局部融合模塊,在特征傳播之前進行局部特征融合, 以加強特征傳播中跨幀特征的融合。在第二階段中引入了一個輔助損失,使傳播模塊獲得的特征保留了更多與HR空間相關的信息。在第三階段中引入了一個細化的對齊模塊,以充分利用前一階段傳播模塊的特征信息。大量實驗證實,PP-MSVSR在Vid4數據集性能優異,僅使用 1.45M 參數PSNR指標即可達到28.13dB。

PP-MSVSR提供兩種體積模型,開發者可根據實際場景靈活選擇:PP-MSVSR(參數量1.45M)與PP-MSVSR-L(參數量7.42)。

關于EDVR:

EDVR模型在NTIRE19視頻恢復和增強挑戰賽的四個賽道中都贏得了冠軍,并以巨大的優勢超過了第二名。視頻超分的主要難點在于(1)如何在給定大運動的情況下對齊多個幀;(2)如何有效地融合具有不同運動和模糊的不同幀。首先,為了處理大的運動,EDVR模型設計了一個金字塔級聯的可變形(PCD)對齊模塊,在該模塊中,從粗到精的可變形卷積被使用來進行特征級的幀對齊。其次,EDVR使用了時空注意力(TSA)融合模塊,該模塊在時間和空間上同時應用注意力機制,以強調后續恢復的重要特征。

關于BasicVSR:

BasicVSR在VSR的指導下重新考慮了四個基本模塊(即傳播、對齊、聚合和上采樣)的一些最重要的組件。 通過添加一些小設計,重用一些現有組件,得到了簡潔的 BasicVSR。與許多最先進的算法相比,BasicVSR在速度和恢復質量方面實現了有吸引力的改進。 同時,通過添加信息重新填充機制和耦合傳播方案以促進信息聚合,BasicVSR 可以擴展為 IconVSR,IconVSR可以作為未來 VSR 方法的強大基線 .

關于BasicVSR++:

BasicVSR++通過提出二階網格傳播和導流可變形對齊來重新設計BasicVSR。通過增強傳播和對齊來增強循環框架,BasicVSR++可以更有效地利用未對齊視頻幀的時空信息。 在類似的計算約束下,新組件可提高性能。特別是,BasicVSR++ 以相似的參數數量在 PSNR 方面比 BasicVSR 高0.82dB。BasicVSR++ 在NTIRE2021的視頻超分辨率和壓縮視頻增強挑戰賽中獲得三名冠軍和一名亞軍。

在當前參數量小于6M的輕量化視頻超分模型在 UDM10 數據集上的PSNR指標對比上,PP-MSVSR可謂是“遙遙領先”:

視頻修復實踐

PP-MSVSR提供兩種體積模型,開發者可根據實際場景靈活選擇:PP-MSVSR(參數量1.45M)與PP-MSVSR-L(參數量7.42)。這里推薦使用后者,因為該大模型的參數量更大,修復效果更好:

ppgan.apps.PPMSVSRLargePredictor(output='output', weight_path=None, num_frames)

參數說明:

output_path (str,可選的): 輸出的文件夾路徑,默認值:output.  
weight_path (None,可選的): 載入的權重路徑,如果沒有設置,則從云端下載默認的權重到本地。默認值:None.  
num_frames (int,可選的): 模型輸入幀數,默認值:10.輸入幀數越大,模型超分效果越好。

隨后進入項目的根目錄:

cd PaddleGAN

編寫test.py來查看視頻參數:

import cv2  
import imageio  
import numpy as np  
import matplotlib.pyplot as plt  
import matplotlib.animation as animation  
from IPython.display import HTML  
import warnings  
warnings.filterwarnings("ignore")  
  
def display(driving, fps, size=(8, 6)):  
    fig = plt.figure(figsize=size)  
  
    ims = []  
    for i in range(len(driving)):  
        cols = []  
        cols.append(driving[i])  
  
        im = plt.imshow(np.concatenate(cols, axis=1), animated=True)  
        plt.axis('off')  
        ims.append([im])  
  
    video = animation.ArtistAnimation(fig, ims, interval=1000.0/fps, repeat_delay=1000)  
  
    plt.close()  
    return video  
  
video_path = 'd:/倚天屠龍記.mp4'  
video_frames = imageio.mimread(video_path, memtest=False)  
  
# 獲得視頻的原分辨率  
cap = cv2.VideoCapture(video_path)  
fps = cap.get(cv2.CAP_PROP_FPS)  
      
  
HTML(display(video_frames, fps).to_html5_video())

如此,就可以獲得視頻的原分辨率。

隨后,進入項目的根目錄,執行修復命令:

python3 tools/video-enhance.py --input d:/倚天屠龍記.mp4 \  
                               --process_order PPMSVSR \  
                               --output d:/output_dir \  
                               --num_frames 100

這里使用PPMSVSR模型對該視頻進行修復,input參數表示輸入的視頻路徑;output表示處理后的視頻的存放文件夾;proccess_order 表示使用的模型和順序;num_frames 表示模型輸入幀數。

隨后展示修復后的視頻:

output_video_path = 'd:/倚天屠龍記_PPMSVSR_out.mp4'  
  
video_frames = imageio.mimread(output_video_path, memtest=False)  
  
# 獲得視頻的原分辨率  
cap = cv2.VideoCapture(output_video_path)  
fps = cap.get(cv2.CAP_PROP_FPS)  
      
  
HTML(display(video_frames, fps, size=(16, 12)).to_html5_video())

修復效果:

除了視頻超分外,PaddleGAN中還提供了視頻上色與補幀的功能,配合上述的PP-MSVSR一起使用,即可實現視頻清晰度提高、色彩豐富、播放更加行云流水。

補幀模型DAIN

DAIN 模型通過探索深度的信息來顯式檢測遮擋。并且開發了一個深度感知的流投影層來合成中間流。在視頻補幀方面有較好的效果:

ppgan.apps.DAINPredictor(  
                        output_path='output',  
                        weight_path=None,  
                        time_step=None,  
                        use_gpu=True,  
                        remove_duplicates=False)

參數:

output_path (str,可選的): 輸出的文件夾路徑,默認值:output.  
weight_path (None,可選的): 載入的權重路徑,如果沒有設置,則從云端下載默認的權重到本地。默認值:None。  
time_step (int): 補幀的時間系數,如果設置為0.5,則原先為每秒30幀的視頻,補幀后變為每秒60幀。  
remove_duplicates (bool,可選的): 是否刪除重復幀,默認值:False.

上色模型DeOldifyPredictor

DeOldify 采用自注意力機制的生成對抗網絡,生成器是一個U-NET結構的網絡。在圖像的上色方面有著較好的效果:

ppgan.apps.DeOldifyPredictor(output='output', weight_path=None, render_factor=32)

參數:

output_path (str,可選的): 輸出的文件夾路徑,默認值:output.  
weight_path (None,可選的): 載入的權重路徑,如果沒有設置,則從云端下載默認的權重到本地。默認值:None。  
render_factor (int): 會將該參數乘以16后作為輸入幀的resize的值,如果該值設置為32, 則輸入幀會resize到(32 * 16, 32 * 16)的尺寸再輸入到網絡中。

結語

AI技術通過分析視頻中的圖像信息并應用圖像處理和修復算法,自動修復視頻中的缺陷、噪聲、模糊等問題,以提高視頻的觀看質量和可用性,配合語音克隆等技術,從而讓演員在某種程度上實現“數字永生”。

總結

以上是生活随笔為你收集整理的衡兰芷若成绝响,人间不见周海媚(4k修复基于PaddleGan)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。