/djscc

Primary LanguagePython

Launch Records

Introduction

Reimplement Deep Joint Source-Channel Coding for Wireless Image Transmission in Pytorch.

awgn_performance slowfading_performance

Thanks to irdanish11's implemantation and Ahmedest61's implemantation.

Technical Solution

Using an AutoEncoderto compress image from [b, 3, H, W] to feature maps with shape of[b, c, h, w], feed into channels [AWGN, Slow Fading Channel] after power constraint and recover.

Experimental setup

Use Adam optimizer,batch size set to 64, learning rate set to 1e-3, and update to 1e-4 after the 640-th epoch. Train 1000 epochs in total.

Train with SNR and compression rate, whereSNRvaries in [0, 10, 20]compression rate varies in [0.04, 0.09, 0.17, 0.25, 0.33, 0.42, 0.49], namely channel width varies in [2, 4, 8, 12, 16, 20, 24].

Model Metric

  • Loss Function:MSE Loss

  • Performance Metric:PSNR

  • Computational Cost:20s * 1000 epochs / 3600 ~= 5.6h with single 4090Ti

Experimental results

Validation loss when training.

Training

Pre-fix "EXP" means the experimental results of this reimplement, "REP" means the performance reported in the lecture.

exp_performance

See Visualization for details.

BPG-LDPC simulation

SNR=0, bw=0.083333, k=3072, n=6144, m=02, PSNR=19.61, SSIM=0.59
SNR=0, bw=0.083333, k=3072, n=6144, m=04, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.083333, k=3072, n=6144, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.083333, k=3072, n=6144, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.083333, k=3072, n=4608, m=02, PSNR=7.79, SSIM=0.10
SNR=0, bw=0.083333, k=3072, n=4608, m=04, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.083333, k=3072, n=4608, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.083333, k=3072, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.083333, k=1536, n=4608, m=02, PSNR=19.61, SSIM=0.59
SNR=0, bw=0.083333, k=1536, n=4608, m=04, PSNR=20.09, SSIM=0.62
SNR=0, bw=0.083333, k=1536, n=4608, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.083333, k=1536, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.166667, k=3072, n=6144, m=02, PSNR=21.56, SSIM=0.71
SNR=0, bw=0.166667, k=3072, n=6144, m=04, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.166667, k=3072, n=6144, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.166667, k=3072, n=6144, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.166667, k=3072, n=4608, m=02, PSNR=7.64, SSIM=0.09
SNR=0, bw=0.166667, k=3072, n=4608, m=04, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.166667, k=3072, n=4608, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.166667, k=3072, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.166667, k=1536, n=4608, m=02, PSNR=20.09, SSIM=0.62
SNR=0, bw=0.166667, k=1536, n=4608, m=04, PSNR=22.40, SSIM=0.75
SNR=0, bw=0.166667, k=1536, n=4608, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.166667, k=1536, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.250000, k=3072, n=6144, m=02, PSNR=22.90, SSIM=0.77
SNR=0, bw=0.250000, k=3072, n=6144, m=04, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.250000, k=3072, n=6144, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.250000, k=3072, n=6144, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.250000, k=3072, n=4608, m=02, PSNR=7.60, SSIM=0.08
SNR=0, bw=0.250000, k=3072, n=4608, m=04, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.250000, k=3072, n=4608, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.250000, k=3072, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.250000, k=1536, n=4608, m=02, PSNR=21.56, SSIM=0.71
SNR=0, bw=0.250000, k=1536, n=4608, m=04, PSNR=24.17, SSIM=0.82
SNR=0, bw=0.250000, k=1536, n=4608, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.250000, k=1536, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.333333, k=3072, n=6144, m=02, PSNR=24.17, SSIM=0.82
SNR=0, bw=0.333333, k=3072, n=6144, m=04, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.333333, k=3072, n=6144, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.333333, k=3072, n=6144, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.333333, k=3072, n=4608, m=02, PSNR=7.54, SSIM=0.08
SNR=0, bw=0.333333, k=3072, n=4608, m=04, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.333333, k=3072, n=4608, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.333333, k=3072, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.333333, k=1536, n=4608, m=02, PSNR=22.40, SSIM=0.75
SNR=0, bw=0.333333, k=1536, n=4608, m=04, PSNR=25.49, SSIM=0.86
SNR=0, bw=0.333333, k=1536, n=4608, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.333333, k=1536, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.500000, k=3072, n=6144, m=02, PSNR=26.19, SSIM=0.88
SNR=0, bw=0.500000, k=3072, n=6144, m=04, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.500000, k=3072, n=6144, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.500000, k=3072, n=6144, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.500000, k=3072, n=4608, m=02, PSNR=7.50, SSIM=0.07
SNR=0, bw=0.500000, k=3072, n=4608, m=04, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.500000, k=3072, n=4608, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.500000, k=3072, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.500000, k=1536, n=4608, m=02, PSNR=24.17, SSIM=0.82
SNR=0, bw=0.500000, k=1536, n=4608, m=04, PSNR=27.94, SSIM=0.91
SNR=0, bw=0.500000, k=1536, n=4608, m=16, PSNR=6.57, SSIM=0.12
SNR=0, bw=0.500000, k=1536, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=10, bw=0.083333, k=3072, n=6144, m=02, PSNR=19.61, SSIM=0.59
SNR=10, bw=0.083333, k=3072, n=6144, m=04, PSNR=21.56, SSIM=0.71
SNR=10, bw=0.083333, k=3072, n=6144, m=16, PSNR=24.17, SSIM=0.82
SNR=10, bw=0.083333, k=3072, n=6144, m=64, PSNR=6.57, SSIM=0.12
SNR=10, bw=0.083333, k=3072, n=4608, m=02, PSNR=20.09, SSIM=0.62
SNR=10, bw=0.083333, k=3072, n=4608, m=04, PSNR=22.40, SSIM=0.75
SNR=10, bw=0.083333, k=3072, n=4608, m=16, PSNR=25.12, SSIM=0.85
SNR=10, bw=0.083333, k=3072, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=10, bw=0.083333, k=1536, n=4608, m=02, PSNR=19.61, SSIM=0.59
SNR=10, bw=0.083333, k=1536, n=4608, m=04, PSNR=20.09, SSIM=0.62
SNR=10, bw=0.083333, k=1536, n=4608, m=16, PSNR=22.40, SSIM=0.75
SNR=10, bw=0.083333, k=1536, n=4608, m=64, PSNR=24.17, SSIM=0.82
SNR=10, bw=0.166667, k=3072, n=6144, m=02, PSNR=21.56, SSIM=0.71
SNR=10, bw=0.166667, k=3072, n=6144, m=04, PSNR=24.17, SSIM=0.82
SNR=10, bw=0.166667, k=3072, n=6144, m=16, PSNR=27.94, SSIM=0.91
SNR=10, bw=0.166667, k=3072, n=6144, m=64, PSNR=6.57, SSIM=0.12
SNR=10, bw=0.166667, k=3072, n=4608, m=02, PSNR=22.40, SSIM=0.75
SNR=10, bw=0.166667, k=3072, n=4608, m=04, PSNR=25.49, SSIM=0.86
SNR=10, bw=0.166667, k=3072, n=4608, m=16, PSNR=29.75, SSIM=0.94
SNR=10, bw=0.166667, k=3072, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=10, bw=0.166667, k=1536, n=4608, m=02, PSNR=20.09, SSIM=0.62
SNR=10, bw=0.166667, k=1536, n=4608, m=04, PSNR=22.40, SSIM=0.75
SNR=10, bw=0.166667, k=1536, n=4608, m=16, PSNR=25.49, SSIM=0.86
SNR=10, bw=0.166667, k=1536, n=4608, m=64, PSNR=27.94, SSIM=0.91
SNR=10, bw=0.250000, k=3072, n=6144, m=02, PSNR=22.90, SSIM=0.77
SNR=10, bw=0.250000, k=3072, n=6144, m=04, PSNR=26.19, SSIM=0.88
SNR=10, bw=0.250000, k=3072, n=6144, m=16, PSNR=30.55, SSIM=0.95
SNR=10, bw=0.250000, k=3072, n=6144, m=64, PSNR=6.59, SSIM=0.12
SNR=10, bw=0.250000, k=3072, n=4608, m=02, PSNR=24.17, SSIM=0.82
SNR=10, bw=0.250000, k=3072, n=4608, m=04, PSNR=27.94, SSIM=0.91
SNR=10, bw=0.250000, k=3072, n=4608, m=16, PSNR=32.85, SSIM=0.97
SNR=10, bw=0.250000, k=3072, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=10, bw=0.250000, k=1536, n=4608, m=02, PSNR=21.56, SSIM=0.71
SNR=10, bw=0.250000, k=1536, n=4608, m=04, PSNR=24.17, SSIM=0.82
SNR=10, bw=0.250000, k=1536, n=4608, m=16, PSNR=27.94, SSIM=0.91
SNR=10, bw=0.250000, k=1536, n=4608, m=64, PSNR=30.55, SSIM=0.95
SNR=10, bw=0.333333, k=3072, n=6144, m=02, PSNR=24.17, SSIM=0.82
SNR=10, bw=0.333333, k=3072, n=6144, m=04, PSNR=27.94, SSIM=0.91
SNR=10, bw=0.333333, k=3072, n=6144, m=16, PSNR=32.85, SSIM=0.97
SNR=10, bw=0.333333, k=3072, n=6144, m=64, PSNR=6.57, SSIM=0.12
SNR=10, bw=0.333333, k=3072, n=4608, m=02, PSNR=25.49, SSIM=0.86
SNR=10, bw=0.333333, k=3072, n=4608, m=04, PSNR=29.75, SSIM=0.94
SNR=10, bw=0.333333, k=3072, n=4608, m=16, PSNR=35.25, SSIM=0.98
SNR=10, bw=0.333333, k=3072, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=10, bw=0.333333, k=1536, n=4608, m=02, PSNR=22.40, SSIM=0.75
SNR=10, bw=0.333333, k=1536, n=4608, m=04, PSNR=25.49, SSIM=0.86
SNR=10, bw=0.333333, k=1536, n=4608, m=16, PSNR=29.75, SSIM=0.94
SNR=10, bw=0.333333, k=1536, n=4608, m=64, PSNR=32.85, SSIM=0.97
SNR=10, bw=0.500000, k=3072, n=6144, m=02, PSNR=26.19, SSIM=0.88
SNR=10, bw=0.500000, k=3072, n=6144, m=04, PSNR=30.55, SSIM=0.95
SNR=10, bw=0.500000, k=3072, n=6144, m=16, PSNR=36.48, SSIM=0.98
SNR=10, bw=0.500000, k=3072, n=6144, m=64, PSNR=6.57, SSIM=0.12
SNR=10, bw=0.500000, k=3072, n=4608, m=02, PSNR=27.94, SSIM=0.91
SNR=10, bw=0.500000, k=3072, n=4608, m=04, PSNR=32.85, SSIM=0.97
SNR=10, bw=0.500000, k=3072, n=4608, m=16, PSNR=38.58, SSIM=0.97
SNR=10, bw=0.500000, k=3072, n=4608, m=64, PSNR=6.57, SSIM=0.12
SNR=10, bw=0.500000, k=1536, n=4608, m=02, PSNR=24.17, SSIM=0.82
SNR=10, bw=0.500000, k=1536, n=4608, m=04, PSNR=27.94, SSIM=0.91
SNR=10, bw=0.500000, k=1536, n=4608, m=16, PSNR=32.85, SSIM=0.97
SNR=10, bw=0.500000, k=1536, n=4608, m=64, PSNR=36.48, SSIM=0.98