💪 专业从事且热爱图像处理,图像处理专栏更新如下👇:
📝《图像去噪》
📝《超分辨率重建》
📝《语义分割》
📝《风格迁移》
📝《目标检测》
📝《图像增强》
📝《模型优化》
📝《模型实战部署》
📝《图像配准融合》
📝《数据集》
📝《高效助手》
📝《C++》
📝《Qt》
一、MIRNet
论文《Learning Enriched Features for Real Image Restoration and Enhancement》提出了一种方法来提升真实世界图像的修复与增强效果。该研究的重点在于解决实际图像修复过程中遇到的挑战,例如图像模糊、噪声、压缩伪影等问题,尤其是在面对复杂退化模式时。
论文提出了一个Enriched Features Network (EFN),通过以下技术来提升图像修复与增强:
多尺度特征提取:模型在不同尺度上提取图像的特征,捕捉图像的全局和局部信息,从而更好地处理复杂的退化图像。
特征融合与增强:模型将低级特征(如边缘信息)与高级特征(如语义信息)进行融合,以便更有效地恢复图像细节。它引入了特征重用机制,使得网络能同时学习不同层次的特征。
多任务学习框架:EFN通过多任务学习方法,同时处理去噪、超分辨率、图像增强等任务。多任务学习的共享特征表示能帮助网络在多个相关任务上都表现良好。
二、源码包准备
作者开源了源码,作者提供的源码包github地址为:code
论文地址为:paper
在原作者源码基础上我小改了一点代码,并添加了几张真实拍摄的暗光场景。将图像增强相关的预训练模型和测试集都打包了,配套教程的源码包获取方式已在文章结尾提供,扫码到「视觉研坊」中回复关键字:图像增强MIRNet,会自动回复下载链接。
下面是预训练模型权重文件,比较大,一个模型有364M。
三、环境准备
下面是我在Ubuntu系统上测试的环境,仅供参考,其它版本也行。
四、测试
4.1 代码修改
作者源码中直接可读的图像为.png格式,自己测试时如果图片非.png格式,需要修改代码,否则会出现下面的情况,程序读不到图像:
从作者源码中可以看出,仅支持png格式,依据见下:
解决办法:
我自己的测试集图片格式为.bmp,修改源码见下:
将脚本dataset_rgb.py中的is_png_file(x)都修改为is_bmp_file(x),见下:
上面修改好后就可以正常测试.bmp格式图像了,其它格式的图像修改类似。
4.2 启动测试
在终端中输入下面命令启动测试:
python test_enhancement.py --save_images --input_dir ./datasets/lol/ --result_dir ./results/enhancement/lol/ --weights ./pretrained_models/enhancement/model_lol.pth
参数解析:
--save_images 表示运行代码时需要保存推理结果
--input_dir 表示待测试图像的路径
--result_dir 表示测试结果输出保存路径
--weights 表示测试的模型权重路径
启动测试命令后,在终端中正确的输出类似见下:
推理结果会报错到–result_dir指定的路径中,见下:
五、图像增强效果展示
5.1、通用测试集
下面测试图像中,左图为暗光图,中间图为原图,右侧图为MIRNet网络增强后的图:
5.2、真实测试集
下面是我自己用手机采集了几张真实暗光场景,用于测试。
左图为原图,中间为MIRNet网络增强效果,右侧为传统算法伽马校正增强效果,关于传统算法伽马校正的详细方法见我另外一篇博文:伽马校正实现暗光增强
六、总结
从第五章节的对比中可以看出,MIRNet方法在调参后的测试集暗光场景下增强效果挺好的,应用于真实的暗光图像,处理效果较差。
本教程主要讲解图像增强部分的测试方法,其它两种去噪和超分功能,参考官网实现。
感谢您阅读到最后!😊总结不易,多多支持呀🌹 点赞👍收藏⭐评论✍️,您的三连是我持续更新的动力💖
关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!