Python 3.8 和 conda,如果想使用 GPU 環境,請取得 Conda CUDA
conda create -n $YOUR_PY38_ENV_NAME python=3.8
conda activate $YOUR_PY38_ENV_NAME
pip install -r requirements.txt
對於我們的項目,輸入採用形狀為 (B, T, C, H, W) 的數組形式,其中數組中的每個幀的固定大小為 128x128。每個影片中的幀數為 30,從而形成 (B, 30, 3,128, 128) 的形狀。在使用這個專案之前,您可能需要對視訊資料進行相應的預處理。該數組包含 Cityscape 資料集中來自波昂市的 46 個影片。下面是一個範例命令。
您可以透過選擇 start_idx 和 end_idx 的值來控制要處理的影片。確保所選範圍不超過 B 的值(資料集中的影片數量)。
python city_sender.py --data_npy "data_npy/city_bonn.npy" --output_path "your path" --start_idx 0 --end_idx 1
在基準部分,我們提供了計算 H.264 和 H.265 壓縮指標的程式碼。此程式碼的輸入應該是 30 幀 128x128 影像幀,最好以「frame%d」格式命名。
資料集的資料夾結構如下
/your path/
- frame0.png
- frame1.png
- ...
- frame29.png
對於project_str,這只是一個用來區分資料的字串。
python bench.py --dataset "your path" --output_path "your path" --project_str uvg
關於檢查點,我們使用兩組。一組包括“checkpoint_900000.pt”,用於視訊生成部分。另一組包含六組檢查點,這些檢查點將用於影像壓縮部分,對應六種不同的壓縮品質。
這六個權重需要移動到“checkpoints/neural network”資料夾中。
拉姆達 | 品質 |
---|---|
0.45 | q5 |
0.15 | q4 |
0.032 | q3 |
0.015 | q2 |
0.008 | q1 |
0.004 | q0 |
這個單獨的權重需要移動到「checkpoints/sender」資料夾中。
擴散模型的檢查點 |
---|
擴散模型的檢查點 |
下圖將我們的模型的壓縮性能與傳統視訊壓縮標準 H.264 和 H.265 進行了比較。可以看出,我們的模型在低位元率(bpp)下優於它們。這些數據是根據 city_bonn.npy 的前 24 個影片計算得出的。