![AI源码解读:数字图像处理案例(Python版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/118/44510118/b_44510118.jpg)
上QQ阅读APP看书,第一时间看更新
AI源码解读.数字图像处理案例:Python版
1.3.2 超分辨率模块
采用SRGAN算法,完成数据载入与处理、模型创建与训练及模型生成。因为训练过程对GPU性能要求高,所以在百度AI studio上运行。
1.数据载入与处理
本模块采用MS COCO数据集作为训练集,BSDS100和BSDS300数据集作为测试集,并创建json文件记录位置。将训练时数据集中的图片缩小作为高分辨率图像,用opencv放大原尺寸作为低分辨率图像。
MS COCO数据集包括82783张训练图像和40504张验证图像,下载地址为http://cocodataset.org/。
BSDS100和BSDS300数据集包含100张图像和300张图像,下载地址为https://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/。
相关代码如下:
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P20_24373.jpg?sign=1739297441-n1fW2fGIvohshtwa3cM31k7hhe69ZpFR-0-ad264610aa70d726698fe149fe925a63)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P21_24374.jpg?sign=1739297441-JlDakKCe18KKcdcOaKSR6XPNCRNznLu4-0-1f94054f857e9c1706e31f946cc4fa7e)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P22_24375.jpg?sign=1739297441-H6MsiH5II97I2ihn6q7bnyEPcaBktvRc-0-56bcec74e11b10ea4ea22f374e384b21)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P23_24376.jpg?sign=1739297441-EVPhn5hgYh3ldHkg6PFkU8pu7gvVDWGb-0-b8b98e0948d5c68c753004c72f0719d0)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P24_24377.jpg?sign=1739297441-2M0NGhDDCNKgzv4IfTB92f4BurWG4wUB-0-8f10b3d26a8931a86e465de5283bd8b5)
2.模型创建与训练
SRGAN模型结构分为生成网络和判别网络。生成网络(SRResNet)包含多个残差块,每个残差块中包含两个3×3的卷积层,卷积层后接批规范化层(batch normalization,BN)和PReLU作为激活函数,两个亚像素卷积层(sub-pixel convolution layers)被用来增大特征尺寸。判别网络包含8个卷积层,随着网络层数加深,特征个数不断增加,尺寸不断减小,选取激活函数为LeakyReLU,通过两个全连接层和最终的sigmoid激活函数得到预测为自然图像的概率。相关代码如下:
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P25_24380.jpg?sign=1739297441-UyNbRvgIgEJeP0JRAlwBa9BsA3e9nFPw-0-c5b319067e104fef171a14fcb8996faa)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P26_24381.jpg?sign=1739297441-tdPDaQaKh7noRFsqqGuJQqwPzs1AG8qk-0-1350c255a806c5a41c8395bcc47ae8db)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P27_24382.jpg?sign=1739297441-kgMfSqpDTiJgmlj49TVkeDCehhVJgXCg-0-6d2e32ebbaa3d276ef145c1ab911617f)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P28_24383.jpg?sign=1739297441-Jg0zrcWjpU0ZXUWk77n1kwyGUlhf867c-0-bcc054a004a99d6a3509566827399184)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P29_24384.jpg?sign=1739297441-D08zxLYLskPGfAtXAYHfS5RfHv977IOw-0-2f0e07c094f406cd4a22d318d6b149d0)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P30_24385.jpg?sign=1739297441-TYH2zLmSeoem2LRZdU6t952LkMjbVJC2-0-9d7e21eafd9a49aadb2f8a8528cf468d)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P31_24386.jpg?sign=1739297441-CPonvY6wCtgCzrwsl4Rw93zUGDxIO2hV-0-d0c94e67e6f141e035410dbae63eede5)
SRGAN采用交替训练模式的方式,先训练生成器部分(SRResNet)模型,在该模型的基础上再训练SRGAN。相关代码如下:
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P31_24387.jpg?sign=1739297441-gUsjLeznF9eQGg8OQcTztc66wnsLo2G3-0-5036a5344614553babfc50e910803ce0)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P32_24388.jpg?sign=1739297441-kNVS4ssXEtAdaHmujnGWpP2k17LUfJF6-0-210bebd3564ba3c168d4291b7c8a559b)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P33_24389.jpg?sign=1739297441-omlnJ0WQIeSekOVQNiveJ0nv1PNBEjfT-0-992e9c57cabba71e497e989a4757e0e4)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P34_24390.jpg?sign=1739297441-URTquANM8D3O1VrUTcKV0tu0Mj8mUq9H-0-1bd45a4805e4cb2b54826cfc089637a8)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P35_24391.jpg?sign=1739297441-Ps6I0IAQVoypAZnwWbS9xsmuUewhZQix-0-1d015d90ed54ef98514d29df8b7bad79)
3.模型生成
给定图像的输入和输出地址,并通过输入的放大倍数加载所需预训练模型得到输出。相关代码如下:
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P35_24392.jpg?sign=1739297441-n5h7V0k4cc45rHYuBTYnrafrrU622imm-0-4464c0adc8d7ad4c22fac1013990f431)