Python 3.8 y conda, obtenga Conda CUDA si desea utilizar el entorno GPU
conda create -n $YOUR_PY38_ENV_NAME python=3.8
conda activate $YOUR_PY38_ENV_NAME
pip install -r requirements.txt
Para nuestro proyecto, la entrada tiene la forma de una matriz con la forma (B, T, C, H, W), donde cada cuadro de la matriz tiene un tamaño fijo de 128x128. El número de fotogramas de cada vídeo es 30, lo que da como resultado una forma de (B, 30, 3,128, 128). Antes de usar este proyecto, es posible que necesites preprocesar tus datos de video en consecuencia. En el código, proporcionamos una matriz de ejemplo "city_bonn.npy" con una forma de (46, 30, 3, 128, 128). Esta matriz contiene 46 vídeos de la ciudad de Bonn en el conjunto de datos Cityscape. A continuación se muestra un comando de ejemplo.
Puedes controlar qué vídeos procesar eligiendo los valores de start_idx y end_idx. Asegúrese de que el rango seleccionado no exceda el valor de B (la cantidad de videos en su conjunto de datos).
python city_sender.py --data_npy "data_npy/city_bonn.npy" --output_path "your path" --start_idx 0 --end_idx 1
En la sección Comparativa, proporcionamos código para calcular métricas de compresión para H.264 y H.265. La entrada para este código debe ser 30 cuadros de imagen de 128x128, preferiblemente nombrados en el formato "cuadro%d".
la estructura de carpetas del conjunto de datos es como
/your path/
- frame0.png
- frame1.png
- ...
- frame29.png
Para project_str, esto es simplemente una cadena utilizada para distinguir sus datos. Aquí estamos usando "uvg".
python bench.py --dataset "your path" --output_path "your path" --project_str uvg
En cuanto a los puntos de control, utilizamos dos conjuntos de ellos. Un conjunto incluye "checkpoint_900000.pt", que se utiliza para la parte de generación de vídeo. El otro conjunto contiene seis grupos de puntos de control, y estos puntos de control se utilizarán para la parte de compresión de imágenes, correspondientes a seis calidades de compresión diferentes.
Los seis pesos deben moverse a la carpeta "puntos de control/red neuronal".
lambda | calidad |
---|---|
0,45 | q5 |
0,15 | q4 |
0.032 | q3 |
0,015 | q2 |
0.008 | q1 |
0.004 | q0 |
Este peso individual debe moverse a la carpeta "puntos de control/remitente".
punto de control del modelo de difusión |
---|
punto de control del modelo de difusión |
Las siguientes imágenes comparan el rendimiento de compresión de nuestro modelo con los estándares de compresión de vídeo tradicionales, H.264 y H.265. Se puede observar que nuestro modelo los supera a velocidades de bits bajas (bpp). Estos datos se calcularon en los primeros 24 videos de city_bonn.npy.