![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=1739141098-yqGoSwSd2ogmjAtP5Avb9ICAEfaJM9Qy-0-a44ad262000fdda74ae1629ee2c450a0)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P21_24374.jpg?sign=1739141098-bUmK30kebn5CjRUeb9xCo8B0PDFTQXsl-0-1b3051e7f817f8cc0cef3c747fde952f)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P22_24375.jpg?sign=1739141098-graGZfqdRdY7RmfkQTclmBsWIjkoyhwZ-0-b85a1128e1d674f7e6a9ebf507e76abc)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P23_24376.jpg?sign=1739141098-xeP5nOfr3dRfqwu2cReKosgRdaNi7zxI-0-a4dab46e9c7c90021771e036fcbdc2bd)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P24_24377.jpg?sign=1739141098-GkExa2qLUBuyC6d00nKsJcOmFeKZMWDB-0-7a91c1f9919815a933757533e1e5d4af)
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=1739141098-Ens8mEE0GXzZ3jxuyK7wY1aMxssWSNSm-0-5af0fe9cc5a10d38a2b950e1f5666aee)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P26_24381.jpg?sign=1739141098-g93IMNp01aNMO3GfEm1rnljXFK7YC1VB-0-43d856cf68f24a3cc5758b16492fcaa2)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P27_24382.jpg?sign=1739141098-ONpNLDi2ly5Dt450vHVee5B6dl1zFlIa-0-e0ff0d8baa8ccbc48cbd554508d680d9)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P28_24383.jpg?sign=1739141098-92fIr79WJ9FkGFWeHqBDPl7mT8Nt6th7-0-bf1a062f08406971f11cbc6ce30871fe)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P29_24384.jpg?sign=1739141098-7i6dlCUQrjxMWKFaUEV06jRYSQgKPZk2-0-3a00b12a2cd4099b8968888b713ef2f8)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P30_24385.jpg?sign=1739141098-wALjDw9DWtmgAj4fcRoa6sBN8I9WZ7dL-0-e7d01c4bdcef4134e4e9c1578c4795fe)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P31_24386.jpg?sign=1739141098-NdL10lHvD3JJ9wiTwnNaWngQ30EHWUwe-0-a80ba8223acb55c16cc79aeeba2c89b7)
SRGAN采用交替训练模式的方式,先训练生成器部分(SRResNet)模型,在该模型的基础上再训练SRGAN。相关代码如下:
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P31_24387.jpg?sign=1739141098-OvJbVaeoWMJArp6AaRE8Gq1T9dOPlhTs-0-5afaef491f6599cf38473aa1e6957fa1)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P32_24388.jpg?sign=1739141098-aEe31igimuwPeq6mu2ecGTLuFXHJWefi-0-8baecba54d71fbc3bcaf682706880870)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P33_24389.jpg?sign=1739141098-Zh0flmPzdLgCbjRQq2wsVRia8W9Ull2u-0-de2280df3c6e1aa1f5a5c89683489bec)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P34_24390.jpg?sign=1739141098-7STOwGdTfdlXQ090HS7jymcd7aFYgoyD-0-8f55db8e48a35dc6598f70e35077f9f2)
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P35_24391.jpg?sign=1739141098-Yzm33HJqGXF2EQwYtfJkIOD0hrRfvt4I-0-e66280567b8cbde9e4645f49736d5916)
3.模型生成
给定图像的输入和输出地址,并通过输入的放大倍数加载所需预训练模型得到输出。相关代码如下:
![](https://epubservercos.yuewen.com/631FC2/23721638301028906/epubprivate/OEBPS/Images/Figure-P35_24392.jpg?sign=1739141098-eaGwaADuNh8YRaQDSD2aqbSMRmodJBYL-0-b3b8c2b9002d4eabbb26236faeed5960)