单帧hdr。对于该文章网上有很多相关解读。这里不主要说文章内容,主要从代码执行的角度来分享。
简单看一下网络结构,是一个经典的UNet baseline的网络,对模型部署是比较友好的。
有残差,有注意力机制,有权重选择,,具体结构不分析了,并不复杂,没有bn。
模型最优效果,21年的第二名,比之前的网络更简洁效果更好,比21年的第一名只差0.00几的精度。
项目类似这样,作者给了预训练模型,虽然精度只有psnr-all = 30 psnr-mu=20上下。
首先是数据集,作者的意思是强烈希望我们跑他的比赛数据,这个数据可以在比赛官网找到。
找到之后,我们打开某一个文件夹下,会看到一组gt,long,mid,short,alignratio.npy,exposure.npy。这里要说的是gt是16位的png,这个没问题,然后这个alignratio.npy,这是作者提出的对齐率,说是65535/max(pic),这里其实是比较疑惑的地方,对齐率打开发现大约的值都在20000-40000这样,那么也就是说pic max应该在2-3这样,那我只能理解为原始的.hdr格式的图像最大值是2-3左右的浮点数,这样是可以解释的,但是问题在于,我又找到了其他的单帧hdr数据集,比如台湾大学的数据,他们给到的是标准的0-1之间的hdr数据,我同样给他们转化成png16位,发现台大和比赛的数据png16位是可以对的上的,但是台大的数据的alignratio是多少我不知道该怎样确定了,我默认全部位65535,拿去训练发现效果不对,现在还在训练比赛数据,比赛数据的loss以及psnr的涨幅是符合预期的,但是台大的数据真不想浪费,最近就想思考这个alignratio到底要怎样取值,有明白的老哥可以交流一下。。
训练,#python train.py -opt options/train/train_HDRUNet.yml
执行这个yml就行,里面给定好路径,这里作者没有详细说明,其实要的都是png的图片。名字要对的上就行。
test:#python test.py -opt ./codes/options/test/test_HDRUNet.yml
通用的yml,指定路径的权重即可。。
这里有个tonemap也是需要alignratio的,这个alignratio是自动生成的、这里也是我打算仔细看一下的地方。。
等待第一版结果。。。