Googolxx / STF

Pytorch implementation of the paper "The Devil Is in the Details: Window-based Attention for Image Compression".
Apache License 2.0
161 stars 20 forks source link

Visualization of WAM, NLAM, and w/o attention mod- ule for the channel with maximal entropy. #17

Closed Jerrry-Li closed 1 year ago

Jerrry-Li commented 1 year ago

作者你好,看了您论文中的 WAM和NLAM之间的比特分配情况对比,我想知道您是怎么实现的,这个问题困扰我好久了,希望您能帮我解惑,非常感谢!!

Googolxx commented 1 year ago

你可以参考这里,如果还有疑问可以提出来。

Jerrry-Li commented 1 year ago

好的谢谢!!

Jerrry-Li commented 1 year ago

大神,请问您论文里的折线图使用什么绘制的,我自己绘制的和您论文里的简直没法比

Googolxx commented 1 year ago

你可以使用seaborn绘制。我论文中的图用的好像是matplotlib.pyplot

Jerrry-Li commented 1 year ago

谢谢大神😙

Jerrry-Li commented 1 year ago

大神,我看了大多数论文他们都有和VTM以及BPG做对比,请问BPG和VTM您知道怎么可以复现么?

Googolxx commented 1 year ago

VVC我当时是在这个平台VVC上下载源码然后编译好,然后调用Compressai测试的,我也不太清楚有没有其他更方便的方法。bpg就方便很多,网上有很多编译好的bpg编解码器,你可以去找找。

Jerrry-Li commented 1 year ago

谢谢,我按照您的指导在windows下去复现了以下bpg -q50,得到的bpp是4.617,psnr是30.5 觉得有点不正常,搞了一天也没发现错误在哪 def calculate_psnr(original, compressed): mse = np.mean((original - compressed) * 2) if mse == 0: return 100 max_pixel = 255.0 psnr = 20 np.log10(max_pixel / np.sqrt(mse)) return psnr

def calculate_bpp(img_path, compressed_path): img_size = os.path.getsize(img_path) compressed_size = os.path.getsize(compressed_path) img_shape = cv2.imread(img_path).shape bpp = compressed_size 8 / (img_shape[0] img_shape[1]) return bpp 大神能不能帮忙看看是哪里出错了,对比了一下Compressai中的这两个指标的计算方法,也没发现错误,崩溃了

Googolxx commented 1 year ago

psnr看起来是正常的,bpp不太对,但计算过程看起来是没问题的。你解决这个问题了吗?compressed_path你指向的是xxx.bin对吧?

Jerrry-Li commented 1 year ago

大神!他指向的是解码后的图像文件夹

Googolxx commented 1 year ago

那就不对,你应该要指向编码完生成的比特流,也就是那个.bin文件