当前位置: 首页 > 后端技术 > Python

Python+AI给老照片上色

时间:2023-03-25 20:58:26 Python

今天分享一下利用NoGAN的图像增强技术给老照片上色。NoGAN是一种新型的GAN,其训练GAN所需的时间最少。今天分享的项目是GitHub上的一个开源项目,下面运行一下。准备工作首先,使用gitclone命令下载源码gitclonehttps://github.com/jantic/DeOldify.git进入项目根目录,安装Python依赖包pip3install-rrequirements.txt编写前代码和运行项目,需要下载预装的训练好的模型。ColorizeArtistic_gen.pthColorizeStable_gen.pthColorizeVideo_gen.pth区别如下ColorizeArtistic_gen.pth:在有趣的细节和活力方面达到最高质量的图像着色效果,该模型使用resnet34作为UNet上的主干,通过NoGAN/GAN预训练5个评论家再训练ColorizeStable_gen.pth:风景和肖像的最佳结果,使用resnet101作为主干的UNet模型,通过NoGAN/GAN进行3个评论家预训练预训练/GANNoGAN。由于追求流畅的速度,所以颜色比前两者少。将下载好的模型文件放在项目根目录下的models目录下。编写代码在项目根目录下创建一个Python文件,并编写代码加载刚刚下载的模型文件。fromDeOldify.deoldify.generatorsimportgen_inference_widefromDeOldify.deoldify.filtersimportMasterFilter,ColorizerFilter#指定模型文件learn=gen_inference_wide(root_folder=Path('./DeOldify'),weights_name='ColorizeVideo_gen')#加载模型deoldfly_model[MasterFilter(ColorizerFilter(learn=learn)],render_factor=10)root_folder指定项目的根目录,weights_name指定接下来使用哪个模型给照片上色。读取旧照片进行着色deoldfly_model。过滤器(pil_img,pil_img,render_factor=35,post_process=True)result_img=np。)使用cv2读取老照片,使用PIL.Image模块将图片转换成模型输入需要的格式,发送给模型着色,完成后保存。以上代码摘自项目源码。可以看到,运行代码还是很简单的。以上就是本次分享的全部内容。想了解更多python知识,请前往公众号:Python编程学习圈,发“J”免费领取,每日干货分享