使用深度学习从分割图生成图像

简介: 使用深度学习从分割图生成图像

一、前言
使用 pix2pixHD 条件生成对抗网络 (CGAN) 从语义分割映射生成场景的合成图像。
Pix2pixHD由两个同时训练的网络组成,以最大限度地提高两者的性能。生成器和鉴别器网络在训练期间相互竞争。当两个网络都无法进一步改进时,训练就会收敛。

二、下载视频数据集
此示例使用CamVid 数据集进行训练。该数据集是 701 张图像的集合,其中包含驾驶时获得的街道视图。该数据集为 32 个语义类提供像素标签,包括汽车、行人和道路。从这些 URL 下载 CamVid 数据集。下载时间取决于您的互联网连接。

三、预处理训练数据
创建一个图像数据存储,以将图像存储在CamVid数据集中。

使用辅助函数定义数据集中 32 个类的类名和像素标签 ID。使用辅助函数获取数据集的标准颜色图。创建像素标签数据存储以存储像素标签图像。

预览像素标签图像和相应的真实地面场景图像。使用 label2rgb 函数将标签从分类标签转换为 RGB 颜色,然后在蒙太奇中显示像素标签图像和真实图像。
1.png

使用帮助程序函数将数据划分为训练集和测试集。此函数作为支持文件附加到示例。帮助程序函数将数据拆分为 648 个训练文件和 32 个测试文件。

使用组合函数将像素标签图像和真实地面场景图像合并到单个数据存储中。通过将转换函数与帮助程序函数指定的自定义预处理操作一起使用来扩充训练数据。此帮助程序函数作为支持文件附加到示例。该函数执行以下操作:将真实数据缩放到范围 [-1, 1]。此范围与生成器网络中最终 tanhLayer(深度学习工具箱)的范围相匹配。将图像和标注调整为网络的输出大小(576 x 768 像素),分别使用双三次和最近邻缩减采样。使用 onehotencode(深度学习工具箱)函数将单通道分割图转换为 32 通道独热编码分割图。在水平方向上随机翻转图像和像素标签对。

在蒙太奇中预览独热编码分割图的通道。每个通道代表一个对应于唯一类像素的热图。
2.png

四、创建发电机网络
定义一个 pix2pixHD 发生器网络,该网络从深度一级的独热编码分割图生成场景图像。此输入具有与原始分割图相同的高度和宽度,以及与类相同的通道数。

显示网络架构。请注意,此示例显示了如何使用 pix2pixHD 全局生成器生成大小为 576 x 768 像素的图像。要创建以更高分辨率(如 1152 x 1536 像素甚至更高)生成图像的本地增强器网络,可以使用函数。本地增强器网络有助于以非常高的分辨率生成精细的细节。

五、创建鉴别器网络
定义将输入图像分类为真实 (1) 或虚假 (0) 的补丁 GAN 鉴别器网络。此示例使用不同输入尺度的两个鉴别器网络,也称为多尺度鉴别器。第一个比例与图像大小的大小相同,第二个比例是图像大小的一半。

判别器的输入是独热编码分割图和待分类场景图像的深度串联。将输入到鉴别器的通道数指定为标记类和图像颜色通道的总数。

指定第一个鉴别器的输入大小。将第二个鉴别器的输入大小指定为图像大小的一半,然后创建第二个补丁 GAN 鉴别器。可视化网络。

六、定义模型梯度和损失函数
帮助器函数计算生成器和鉴别器的梯度和对抗损失。

七、加载特征提取网络
此示例修改了预训练的 VGG-19 深度神经网络,以提取真实图像和生成图像在各个层的特征。这些多层特征用于计算发生器的感知损耗。

八、指定训练选项
指定 Adam 优化的选项。训练60个时代。为生成器和鉴别器网络指定相同的选项。

九、训练网络
默认情况下,该示例使用帮助程序函数为 CamVid 数据集下载 pix2pixHD 发生器网络的预训练版本。

十、评估从测试数据生成的图像
这种经过训练的Pix2PixHD网络的性能是有限的,因为CamVid训练图像的数量相对较小。此外,某些图像属于图像序列,因此与训练集中的其他图像相关。为了提高Pix2PixHD网络的有效性,请使用具有大量没有相关性的训练图像的不同数据集来训练网络。

由于这些限制,此Pix2PixHD网络为某些测试图像生成比其他图像更逼真的图像。为了演示结果的差异,请比较第一个和第三个测试图像的生成图像。第一个测试图像的相机角度具有不常见的有利位置,其面向比典型训练图像更垂直于道路的视角。相比之下,第三个测试图像的相机角度具有沿道路面向的典型有利位置,并显示带有车道标记的两条车道。与第一个测试图像相比,网络为第三个测试图像生成逼真的图像的性能明显更好。

从测试数据中获取第一个地面实况场景图像。使用双三次插值调整图像大小。

从测试数据中获取对应的像素标签图像。使用最近邻插值调整像素标签图像的大小。创建将数据输入生成器的对象。如果支持的 GPU 可用于计算,则通过将数据转换为对象在 GPU 上执行推理。发电机网络的最后一层产生 [-1, 1] 范围内的激活。对于显示,将激活重新缩放到范围 [0, 1]。以蒙太奇形式显示 RGB 像素标签图像、生成的场景图像和真实场景图像。
3.png

十一、评估从自定义像素标签图像生成的图像
要评估网络对 CamVid 数据集之外的像素标签图像的泛化程度,请从自定义像素标签图像生成场景图像。像素标签图像作为支持文件附加到示例中。没有可用的地面实况图像。
创建一个像素标签数据存储,用于读取和处理当前示例目录中的像素标签图像。

4.png
5.png

目录
相关文章
|
机器学习/深度学习 TensorFlow 算法框架/工具
深度学习中的图像风格迁移
【9月更文挑战第26天】本文将探讨如何利用深度学习技术,实现图像风格的转换。我们将从基础的理论出发,然后逐步深入到具体的实现过程,最后通过代码实例来展示这一技术的实际应用。无论你是初学者还是有经验的开发者,都能在这篇文章中找到有价值的信息。让我们一起探索深度学习的奥秘吧!
|
6月前
|
机器学习/深度学习 算法 vr&ar
【深度学习】基于最小误差法的胸片分割系统(Matlab代码实现)
【深度学习】基于最小误差法的胸片分割系统(Matlab代码实现)
147 0
|
机器学习/深度学习 人工智能 TensorFlow
利用深度学习实现图像风格迁移
【8月更文挑战第73天】本文通过深入浅出的方式,介绍了一种使用深度学习技术进行图像风格迁移的方法。我们将探讨如何将一张普通照片转化为具有著名画作风格的艺术作品。文章不仅解释了背后的技术原理,还提供了一个实际的代码示例,帮助读者理解如何实现这一过程。
|
机器学习/深度学习 编解码 算法
什么是超分辨率?浅谈一下基于深度学习的图像超分辨率技术
超分辨率技术旨在提升图像或视频的清晰度,通过增加单位长度内的采样点数量来提高空间分辨率。基于深度学习的方法,如SRCNN、VDSR、SRResNet等,通过卷积神经网络和残差学习等技术,显著提升了图像重建的质量。此外,基于参考图像的超分辨率技术通过利用高分辨率参考图像,进一步提高了重建图像的真实感和细节。
|
机器学习/深度学习 并行计算 PyTorch
图像检测【YOLOv5】——深度学习
Anaconda的安装配置:(Anaconda是一个开源的Python发行版本,包括Conda、Python以及很多安装好的工具包,比如:numpy,pandas等,其中conda是一个开源包和环境管理器,可以用于在同一个电脑上安装不同版本的软件包,并且可以在不同环境之间切换,是深度学习的必备平台。) 一.Anaconda安装配置. 1.首先进入官网:https://repo.anaconda.com,选择View All Installers. 2.打开看到的界面是Anaconda的所以安装包版本,Anaconda3就代表是Python3版本,后面跟的是发行日期,我选择了最近的2022
267 26
|
机器学习/深度学习 数据挖掘 数据处理
深度学习之卫星图像中的环境监测
基于深度学习的卫星图像环境监测是指通过使用深度学习模型处理和分析来自卫星的遥感数据,以实现对地球环境的自动化监测和分析。这项技术极大提升了环境监测的效率、精度和规模,应用于气候变化研究、生态保护、自然灾害监测、城市扩张评估等多个领域。
597 1
|
机器学习/深度学习 编解码 监控
算法金 | 深度学习图像增强方法总结
**图像增强技术概括** 图像增强聚焦于提升视觉效果和细节,广泛应用于医学、遥感等领域。空间域增强包括直方图均衡化(增强对比度)、对比度拉伸、灰度变换、平滑滤波(均值、中值)和锐化滤波(拉普拉斯、高通)。频率域增强利用傅里叶变换、小波变换,通过高频和低频滤波增强图像特征。现代方法涉及超分辨率重建、深度学习去噪(如CNN、Autoencoder)、图像修复(如GAN)和GANs驱动的多种图像处理任务。
1008 14
算法金 | 深度学习图像增强方法总结
|
机器学习/深度学习 自然语言处理 计算机视觉
深度学习之文本引导的图像编辑
基于深度学习的文本引导的图像编辑(Text-Guided Image Editing)是一种通过自然语言文本指令对图像进行编辑或修改的技术。
352 9
|
机器学习/深度学习 自然语言处理 并行计算
深度学习之图像描述生成
基于深度学习的图像描述生成(Image Captioning)是一种将计算机视觉与自然语言处理结合的任务,其目标是通过自动生成自然语言来描述输入的图像。该技术能够理解图像中的视觉内容,并生成相应的文本描述,广泛应用于视觉问答、辅助盲人、自动视频字幕生成等领域。
681 7
|
机器学习/深度学习 算法 搜索推荐
利用深度学习实现图像风格迁移
【9月更文挑战第21天】本文将介绍一种使用深度学习技术,特别是卷积神经网络(CNN)和生成对抗网络(GAN)来实现图像风格迁移的方法。我们将探索如何将这些技术应用于艺术创作,以及它们如何影响现代视觉艺术的发展。

热门文章

最新文章