Orange-OpenSource / Cool-Chic

Low-complexity neural image & video codec.
https://orange-opensource.github.io/Cool-Chic/
BSD 3-Clause "New" or "Revised" License
108 stars 6 forks source link

The configs for different bpps #4

Closed Aiolus-X closed 9 months ago

Aiolus-X commented 9 months ago

Hallo dear author, I want to ask what's the configs for different bpps on image compression (like Kodak)? I am confused how to draw the RD curves.

theoladune commented 9 months ago

Hi,

The following parameters are a good starting point for Cool-chic 3.1 (i.e. the latest commit on the main branch) :

  1. Networks architecture:
    • --layers_synthesis=40-1-linear-relu,X-1-linear-relu,X-3-residual-relu,X-3-residual-none
    • --arm=24,2
    • --n_ft_per_res=1,1,1,1,1,1,1
    • --upsampling_kernel_size=8
  2. Training parameters
    • --n_itr=10000
    • --n_train_loops=1
    • --start_lr=1e-2
  3. Rate constraint: you must run the src/encode.pyscript several times with different lambdas to be able to draw a rate-distortion curve
    • --lmbda=1e-4 (high rate +/- 40 dB of PSNR on kodak) to --lmbda=1e-2 (low rate +/- 25 dB of PSNR on kodak)

This should gives better performance than HEVC on kodak and a decoder complexity of 2300 MAC / Pixel. You can get even better results by increasing the number of iterations to --n_itr=100000 and the number of training loops to --n_train_loops=3

Aiolus-X commented 9 months ago

Oh, I got it! Thank you very much!