导航:首页 > 使用方法 > 深度学习中常用几何变换方法

深度学习中常用几何变换方法

发布时间:2022-12-31 04:40:45

❶ 点云数据处理

三维计算视觉研究内容包括:

(1)三维匹配:两帧或者多帧点云数据之间的匹配,因为激光扫描光束受物体遮挡的原因,不可能通过一次扫描完成对整个物体的三维点云的获取。因此需要从不同的位置和角度对物体进行扫描。三维匹配的目的就是把相邻扫描的点云数据拼接在一起。三维匹配重点关注匹配算法,常用的算法有 最近点迭代算法 ICP 和各种全局匹配算法。

(2)多视图三维重建:计算机视觉中多视图一般利用图像信息,考虑多视几何的一些约束,相关研究目前很火,射影几何和多视图几何是视觉方法的基础。在摄影测量中类似的存在共线方程,光束平差法等研究。这里也将点云的多视匹配放在这里,比如人体的三维重建,点云的多视重建不仅强调逐帧的匹配,还需要考虑不同角度观测产生误差累积,因此也存在一个优化或者平差的过程在里面。通常是通过观测形成闭环进行整体平差实现,多视图重建强调整体优化。可以只使用图像,或者点云,也可以两者结合(深度图像)实现。重建的结果通常是Mesh网格。

(3)3D SLAM:点云匹配(最近点迭代算法 ICP、正态分布变换方法 NDT)+位姿图优化( g2o 、LUM、ELCH、Toro、SPA);实时3D SLAM算法 (LOAM);Kalman滤波方法。3D SLAM通常产生3D点云,或者Octree Map。基于视觉(单目、双目、鱼眼相机、深度相机)方法的SLAM,比如orbSLAM,lsdSLAM...

(4)目标识别:无人驾驶汽车中基于激光数据检测场景中的行人、汽车、自行车、以及道路和道路附属设施(行道树、路灯、斑马线等)。

(5)形状检测与分类:点云技术在逆向工程中有很普遍的应用。构建大量的几何模型之后,如何有效的管理,检索是一个很困难的问题。需要对点云(Mesh)模型进行特征描述,分类。根据模型的特征信息进行模型的检索。同时包括如何从场景中检索某类特定的物体,这类方法关注的重点是模型。

(6)语义分类:获取场景点云之后,如何有效的利用点云信息,如何理解点云场景的内容,进行点云的分类很有必要,需要为每个点云进行Labeling。可以分为基于点的方法,基于分割的分类方法。从方法上可以分为基于监督分类的技术或者非监督分类技术,深度学习也是一个很有希望应用的技术。

(7)立体视觉与立体匹配 ZNCC

(8)SFM(运动恢复结构)

1、点云滤波方法(数据预处理):

双边滤波、高斯滤波、条件滤波、直通滤波、随机采样一致性滤波。

VoxelGrid

2、关键点

ISS3D、Harris3D、NARF

SIFT3D、

3、特征和特征描述

法线和曲率计算 NormalEstimation 、特征值分析Eigen-Analysis、 EGI

PFH、FPFH、3D Shape Context、Spin Image

4、 点云匹配

ICP 、稳健ICP、point to plane ICP、Point to line ICP、MBICP、GICP

NDT 3D 、Multil-Layer NDT

FPCS、KFPCS、SAC-IA

Line Segment Matching 、ICL

5、点云分割与分类

分割:区域生长、Ransac线面提取、NDT-RANSAC、

K-Means、Normalize Cut(Context based)

3D Hough Transform(线、面提取)、连通分析、

分类:基于点的分类,基于分割的分类;监督分类与非监督分类

6、SLAM图优化

g2o 、LUM、ELCH、Toro、SPA

SLAM方法:ICP、MBICP、IDC、likehood Field、 Cross Correlation 、NDT

7、目标识别、检索

Hausdorff 距离计算(人脸识别)

8、变化检测

基于八叉树的变化检测

9. 三维重建

泊松重建、Delaunay triangulations

表面重建,人体重建,建筑物重建,树木重建。

实时重建:重建植被或者农作物的4D(3D+时间)生长态势;人体姿势识别;表情识别;

10.点云数据管理

点云压缩,点云索引(KD、Octree),点云LOD(金字塔),海量点云的渲染

点云驱动的计算机图形学主要研究应用

http://vcc.szu.e.cn/research/2015/Points/

❷ python需要学习什么内容

Python的学习内容还是比较多的,我们将学习的过程划分为4个阶段,每个阶段学习对应的内容,具体的学习顺序如下:

Python学习顺序:

①Python软件开发基础

互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。

想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,中博软件学院、南京课工场、南京北大青鸟等开设python专业的学校都是不错的,建议实地考察对比一下。

祝你学有所成,望采纳。

❸ AI数学基础18——常见的正则化方法

1,L2 regularization(权重衰减) L2正则化就是在代价函数后面再加上一个正则化项λ ,使得权重在更新的时候,乘以一个小于1的因子(1-a(λ/m)),这个可以防止W过大。正则化项里面有一个系数1/2,1/2经常会看到,主要是为了后面求导的结果方便,后面那一项求导会产生一个2,与1/2相乘刚好凑整。

过拟合的时候,拟合函数的系数往往非常大。过拟合,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大

L2 Regularization 防止了系数W过大,也就防止了拟合函数导数值过大,也就防止了函数导数值波动过大,也就解决了过拟合问题。

L2正则化是训练深度学习模型中最常用的一种解决过拟合问题的方法。

2,L1 regularization, L1正则化的正则项是所有权重w的绝对值的和,乘以λ/n(这里不像L2正则化项那样,需要再乘以1/2);消除过拟合的原因与L2类似。使用频率没有L2正则化高。

3,Dropout正则化

L1、L2正则化是通过修改代价函数来实现的,而Dropout则是通过修改神经网络本身来实现的。

Dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络。

运用了dropout的训练过程,相当于训练了很多个只有半数隐层单元的神经网络(后面简称为“半数网络”),每一个这样的半数网络,都可以给出一个分类结果,这些结果有的是正确的,有的是错误的。随着训练的进行,大部分半数网络都可以给出正确的分类结果,那么少数的错误分类结果就不会对最终结果造成大的影响。

dropout率的选择:经过交叉验证, 隐含节点dropout率等于0.5的时候效果最好 ,原因是0.5的时候dropout随机生成的网络结构最多

具体细节,推荐Alex和Hinton的论文《 ImageNet Classification with Deep Convolutional Neural Networks 》

4,数据集扩增(data augmentation)

在深度学习方法中,更多的训练数据,意味着可以用更深的网络,训练出更好的模型。

但是很多时候,收集更多的数据意味着需要耗费更多的人力物力,非常困难。

所以,可以在原始数据上做些改动,得到更多的数据,以图片数据集举例,可以做各种变换,如:

1,水平翻转或任意角度旋转;2,裁剪;3,添加噪声

更多数据意味着什么?

用50000个MNIST的样本训练SVM得出的accuracy94.48%,用5000个MNIST的样本训练NN得出accuracy为93.24%,所以更多的数据可以使算法表现得更好。在机器学习中,算法本身并不能决出胜负,不能武断地说这些算法谁优谁劣,因为数据对算法性能的影响很大。

5,提前停止训练神经网络(Early Stop)

在一个适中的迭代次数,W不是很大的时候,dev set error接近最小,train set error适中的时候,提前停止训练,如下图所示

参考文献:Andrew Ng《Prractical aspects of Deep learning》1.1~1.8

❹ Python如何图像识别

1. 简介。

图像处理是一门应用非常广的技术,而拥有非常丰富第三方扩展库的 Python 当然不会错过这一门盛宴。PIL (Python Imaging Library)是 Python 中最常用的图像处理库,目前版本为 1.1.7,我们可以在这里下载学习和查找资料。

Image 类是 PIL 库中一个非常重要的类,通过这个类来创建实例可以有直接载入图像文件,读取处理过的图像和通过抓取的方法得到的图像这三种方法。

2. 使用。

导入 Image 模块。然后通过 Image 类中的 open 方法即可载入一个图像文件。如果载入文件失败,则会引起一个 IOError ;若无返回错误,则 open 函数返回一个 Image 对象。现在,我们可以通过一些对象属性来检查文件内容,即:

1 >>> import Image
2 >>> im = Image.open("j.jpg")
3 >>> print im.format, im.size, im.mode
4 JPEG (440, 330) RGB

这里有三个属性,我们逐一了解。

format : 识别图像的源格式,如果该文件不是从文件中读取的,则被置为 None 值。

size : 返回的一个元组,有两个元素,其值为象素意义上的宽和高。

mode : RGB(true color image),此外还有,L(luminance),CMTK(pre-press image)。

现在,我们可以使用一些在 Image 类中定义的方法来操作已读取的图像实例。比如,显示最新载入的图像:

1 >>>im.show()
2 >>>

输出原图:

3. 函数概貌。

3.1 Reading and Writing Images : open( infilename ) , save( outfilename )

3.2 Cutting and Pasting and Merging Images :

crop() : 从图像中提取出某个矩形大小的图像。它接收一个四元素的元组作为参数,各元素为(left, upper, right, lower),坐标系统的原点(0, 0)是左上角。

paste() :

merge() :

3.5 更多关于图像文件的读取。

最基本的方式:im = Image.open("filename")

类文件读取:fp = open("filename", "rb"); im = Image.open(fp)

字符串数据读取:import StringIO; im = Image.open(StringIO.StringIO(buffer))

从归档文件读取:import TarIO; fp = TarIo.TarIO("Image.tar", "Image/test/lena.ppm"); im = Image.open(fp)

基本的 PIL 目前就练习到这里。其他函数的功能可点击这里进一步阅读。

❺ 医学图像配准

图像配准时指对一幅图进行一定的的几何变换映射到另一幅图中,使得两幅图像中的相关点达到空间上的一致。
将施加变换的图像定义为浮动图像F,另一幅不动的图像定义为参考图像R,图像配准的本质是寻找一个空间变换T,使得

一般配准的步骤如下:

特征空间
特征空间指从参考图像和浮动图像中提取可用于配准的特征。根据特征可以归纳出两种方法:

搜索空间
搜索空间是指在配准过程中对图像进行变换的范围和方式。

搜索算法
图像配准要在给定搜索空间上寻求相似性测度函数的最优解,搜索算法包括:

相似性度量

传统的基于强度的相似性度量包括平方和距离(sum-of-square distance,SSD)、均方距离(mean square distance, MSD)、归一化互相关(normalized cross correlation,NCC)和互信息(mutual information,MI)。

变换

常用的医学图像配准方法
基于互信息的图像配准

基于傅里叶变换的图像配准
傅里叶变换用于配准的原理:图像的平移不影响傅里叶变换的幅值,旋转相遇对其傅里叶变换做相同的旋转。

基于小波变换的图像配准
对两幅图像的伸缩、旋转、平移等转化为对其作小波分解后,两幅图近似分量的伸缩、旋转、平移。

基于深度学习的图像配准方法可以大致分为以下三类:深度相似性度量+迭代配准、有监督的变换估计和无监督的变换估计。

通过深度学习估计移动图片和基准图片的相似性度量,这个相似性度量会被插入到传统的配准框架内,进行迭代优化。

也有一些方法是基于强化学习方法,让一个被训练过的 agent 来代替优化算法进行配准。基于强化学习的配准通常用于适合刚性变换的模型。

有监督学习需要提供真实的变形场,也就是ground truth,网络输入为图像,输出为变换的参数。流程可以总结如下图。

对于有监督的学习,重要的是对用于网络训练的标签。许多人提出了用于生成变换的数据增强技术,大致可以分为三类:

Miao等人首先提出使用深度学习来预测刚性变换参数。他们使用 CNN 来预测 2D/3D 刚性配准的变换矩阵。他们提出了分层回归,其中六个变换参数被划分为三组,分别为平面内参数( ),平面外旋转参数( ), 平面外平移参数( )。网络输入为预定大小的ROI,网络结构是一个包括了卷积和全连接操作的回归器。训练期间要最小化的目标函数是欧几里得损失。

刚性变换需要6个参数来表示,而自由变形需要一个密集的变形向量场。

无监督学习可以很好的解决配准缺少有标签(有已知变换)图像的问题。

2015 年,Jaderberg 等人提出了空间变换网络 (spatial transformer network,STN),它允许在网络内对数据进行空间操作,而且STN是一个可微分模块,可以插入到现有的 CNN 架构中。 STN 的发布启发了许多无监督的图像配准方法,因为 STN 可以在训练过程中进行图像相似度损失计算。

典型的 DIR(deformation image registration) 无监督变换预测网络以图像对作为输入,直接输出密集 DVF,STN 使用该 DVF 对运动图像进行变换曲。然后将扭曲的图像与固定图像进行比较以计算图像相似度损失。 DVF 平滑约束通常用于正则化预测的 DVF。

利用 GAN 的 discriminator 来进行相似性度量也近些年的一个思路[4]。

GAN 在医学图像配准中的使用通常可以分为两类:

❻ [CVPR2020]论文翻译SwapText: Image Based Texts Transfer in Scenes

由于不同因素之间的复杂作用,在保留原始字体,颜色,大小和背景纹理的同时在场景图像中交换文本是一项具有挑战性的任务。在这项工作中,我们提出了一个三阶段框架SwapText,用于跨场景图像传输文本。 首先,提出了一种新颖的文本交换网络来仅替换前景图像中的文本标签。 其次,背景完成网络来学习以重建背景图像。 最后,通过融合网络将生成的前景图像和背景图像用于生成文字图像。 使用提出的框架,即使出现严重的几何失真,我们也可以巧妙的处理输入图像的文本。 定性和定量结果显示在几个场景文本数据集上,包括规则和不规则文本数据集。 我们进行了广泛的实验以证明我们的方法的有效性,例如基于图像的文本翻译,文本图像合成等。

想象一下,能够在场景图像中交换文本,同时在几秒钟内保持原始字体,颜色,大小和背景纹理,而无需花费数小时进行图像编辑。 在这项工作中,我们旨在通过自动替换场景图像中文本的算法来实现此目标。文本交换的核心挑战在于生成视觉逼真的文本并与原始文本保持一致的样式。

文本交换或文本替换在许多情况下都涉及到,包括文本检测,文本识别,海报中的文本转换和其他创造性应用。 对于文本检测和识别任务,文本交换是一种非常有用的数据增强方法。 见证了深度神经网络(DNN)在各种计算机视觉任务中的巨大成功,获得大量带注释的训练图像已成为训练DNN模型的瓶颈。最简单,使用最广泛的方法是通过几何变换来增加训练图像,例如平移,旋转和翻转等。近来,已经提出了基于图像合成的方法[11、7、39]来训练文本检测和识别模型。这些方法通过结合不同的渲染技术对光和能量的物理行为进行建模来从无文本图像中创建新图像。但是, 合成图像无法与场景中的图像完全融合,这在将合成图像应用于DNN模型训练时至关重要。

近年来,许多图像生成模型,例如生成对抗网络(GAN)[6],可变自动编码器(VAE)[17]和自回归模型[25],为现实的图像生成任务提供了强大的工具。在[9,38,33]中,GAN用于图像补全,可为缺失区域生成视觉上逼真的和语义上合理的像素。 [21,8,28,22]已经利用这些网络生成具有不同姿势或服装的新颖人物图像。

我们的贡献总结如下:

文本图像合成
图像合成已在计算机图形学研究中得到了广泛的研究[4]。文本图像合成被研究为一种数据增强方法,用于训练准确而健壮的DNN模型。例如,Jaderberg等[11]使用单词生成器来生成用于文本识别任务的合成单词图像。Gupta等 [7]开发了一个健壮的引擎来生成用于文本检测和识别任务的合成文本图像。 文本图像合成的目标是将文本插入背景图像中语义上敏感的区域。许多因素都影响合成文本图像的真实相似度,例如文本大小,文本视角,环境光照等。 在[39]中,Zhanet等人通过结合语义连贯,视觉注意力和自适应文本外观这三种设计来实现文本文本图像合成。尽管文本图像合成在视觉上是逼真的,但合成图像与真实图像之间仍存在许多差异。例如, 与真实图像相比,合成图像中文本字体和背景图像非常有限。

在最近,基于GAN的图像合成技术得到了进一步的探索。在[41]中,Zhan等人提出了一种将几何合成器和外观合成器组合在一起的空间融合GAN,以在几何和外观空间中实现合成现实。Yang等人[36]使用双向形状匹配框架通过可调整的参数来控制字形的关键风格。 GA-DAN [40]提出了一项有趣的工作,能够同时在几何空间和外观空间中对跨域移位进行建模。[2]中提出了MC-GAN来实现从A到Z的字母集的字体样式转换。 Wu等人 [34]提出了一个端到端的可训练样式保留网络来编辑自然图像中的文本。

图像生成
随着生成模型(例如GAN [6],VAE [17]和自动回归模型[25])的巨大成功,逼真而清晰的图像生成最近吸引了越来越多的关注。传统的生成模型使用GAN [6]或VAE [17]来将噪声z生成的分布映射到实际数据的分布。例如,GANs [6]用于生成真实面孔[37、3、15]和鸟类[29]。

为了控制所生成的结果,Mirzaet等人[23]提出了有条件的GAN。它们会生成在类别标签上进行分类的MNIST数字。在[12]中,karacanet等。根据语义布局和场景属性(例如日夜,晴天雾天)生成逼真的室外场景图像。 Lassneretal [19]基于细粒度的身体和衣服片段生成了穿着者的全身图像。完整模型可以以姿势,形状或颜色为条件。Ma[21,22]基于图像和姿势生成人图像。在[18]中提出了快速人脸交换,以将输入身份转换为目标身份,同时保留姿势,面部表情和光照。

图像完成
最近,基于GAN的方法已经成为图像完成的一种有希望的范例。 Iizuka等 [9]提议使用全局和局部判别器作为对抗性损失,在其中全局和本地一致性都得到了加强。Yu等人 [38]使用上下文注意力层来显式地参与远距离空间位置上的相关特征补丁。 Wang等 [33]使用多列网络以并行方式生成不同的图像分量,并采用隐式的多样化MRF正则化来增强局部细节。

给定场景文本图像Is,我们的目标是在保持原始样式的基础上基于内容图像Ic替换文本。 如图2所示,我们的框架由文本交换网络,背景完成网络和融合网络组成。文本交换网络首先从Is中提取样式特征从Ic中提取内容特征,然后通过自注意网络合并这两个特征。 为了更好地表示内容,我们使用内容形状转换网络(CSTN)根据样式图像Is的几何属性来转换内容图像Ic。背景完成网络用于重建样式图像Is的原始背景图像Ib。 最后,文本交换网络和背景完成网络的输出被融合网络融合以生成最终的文本图像。

现实情况下的文本实例具有多种形状,例如,呈水平,定向或弯曲形式。 文本交换网络的主要目的是在保留原始样式(尤其是文本形状)的同时替换样式图像Is的内容。 为了提高不规则文本图像生成的性能,我们提出了一个内容形状转换网络(CSTN)将内容图像映射到样式图像的相同几何形状中,然后通过3个下采样卷积层和几个残差块对样式图像和转换后的内容图像进行编码。 为了充分融合样式和内容特征,我们将它们馈入了一个自注意网络。 对于解码,使用3个上采样反卷积层来生成前景图像If。

文本形状的定义对于内容形状的转换至关重要。 受文本检测[20]和文本识别[35]领域中的文本形状定义的启发,可以使用2 K个基准点P = {p1,p2,...,p2K}定义文本的几何尺寸属性,如图3所示。

在对内容和样式图像进行编码之后,我们将两个特征图都馈送到自注意网络,该网络会自动学习内容特征图Fc和样式特征图Fs之间的对应关系。 输出特征图是Fcs,图5(a)给出了自注意力的网络结构。

内容特征Fc和样式特征Fs首先沿其深度轴连接。 然后,我们遵循[42]中类似的自注意力机制来生成输出特征图Fcs。

除了这种单级样式化之外,我们还开发了多级样式化管道,如图5(b)所示。 我们将自注意力网络依次应用于多个特征图层,以生成更逼真的图像。

文本交换网络主要侧重于前景图像生成,而背景图像在最终图像生成中也起着重要作用。为了生成更逼真的文字图像,我们使用背景完成网络来重建背景图像,其结构如表1所示。大多数现有的图像完成方法都是通过借用或复制周围区域的纹理来填充图像的像素。一般的结构遵循编码器-解码器结构,我们在编码器之后使用膨胀卷积层来计算具有较大输入区域的输出像素。通过使用较低分辨率的膨胀卷积,模型可以有效地“看到”输入图像的较大区域。

在此阶段,将文本交换网络和背景完成网络的输出融合以生成完整的文本图像。 如图2所示,融合网络遵循编码器-解码器结构。 类似于[34],我们在融合解码器的上采样阶段将背景完成网络的解码特征图连接到具有相同分辨率的相应特征图。 我们使用Gfuse和Dfuse分别表示生成器和判别器网络。 融合网络的损失函数可计算如下:

为了制作更逼真的图像,我们还遵循样式迁移网络[5,26]的类似思想,将VGG-loss引入融合模块。 VGG损失分为两部分,即知觉损失和风格损失,如下所示:

我们遵循[34]中的类似思想来生成具有相同样式的成对合成图像。我们使用超过1500个字体和10000个背景图像来生成总共100万个狮子训练图像和10000个测试图像。输入图像的大小调整为64×256,批处理大小为32。从权重为零的正态分布初始化所有权重,标准差为0.01。使用β1= 0.9和β2= 0.999的Adam优化器[16]来优化整个框架。在训练阶段将学习率设置为0.0001。我们在Ten-sorFlow框架[1]下实现我们的模型。我们的方法中的大多数模块都是GPU加速的。

我们在几个公共基准数据集上评估了我们提出的方法。

我们采用图像生成中常用的指标来评估我们的方法,其中包括:

在本节中,我们将通过经验研究不同的模型设置如何影响我们提出的框架的性能。我们的研究主要集中在以下方面:内容形状转换网络,自注意力网络和背景完成网络中的膨胀卷积。图6给出了一些定性结果。

自注意力网络
使用自注意力网络来充分结合内容特征和风格特征。根据表2,使用单层自注意力网络,平均l2误差减少约0.003,平均PSNR增加约0.3,平均SSIM增加约0.012。为了使用样式和内容特征的更多全局统计信息,我们采用了一个多层的自注意力网络来融合全局和局部模式。借助多级自我关注网络,所有的度量方法都得到了改进。

膨胀卷积
膨胀卷积层可以扩大像素区域以重建背景图像,因此更容易生成更高质量的图像。 根据表2,具有膨胀卷积层的背景完成网络在所有指标上均具有更好的性能。

为了评估我们提出的方法,我们将其与两种文本交换方法进行了比较:[10]中提出的pix2pix和Wuet等人[34]提出的SRNet。 我们使用生成的数据集来训练和测试这两个模型。根据论文,两种方法都保持相同的配置。

定量结果
在表2中,我们给出了本方法和其他两种竞争方法的定量结果。显然,我们提出的方法在不同语言的所有指标上都有显着改进,平均l2误差减少了0.009以上,平均PSNR增加了0.9以上,平均SSIM增加了0.04以上。第二个最好的方法。

基于图像的翻译是任意文本样式传输的最重要应用之一。在本节中,我们提供一些基于图像的翻译示例,如图7所示。我们在英语和中文之间进行翻译。从结果可以看出,无论目标语言是中文还是英文,都可以很好地保持颜色,几何变形和背景纹理,并且字符的结构与输入文本相同。

在图9中,我们还展示了在场景文本数据集上评估的模型的一些示例结果。根据图9, 我们的模型可以替换输入图像中的文本,同时保留原始字体,颜色,大小和背景纹理。

我们的方法有以下局限性。由于训练数据量有限,因此无法充分利用几何属性空间和字体空间。当样式图像中的文本出现波动时,我们提出的方法将失败,请参见图8(顶部)。图8(底部)显示了使用WordArt中的样式图像的失败案例。

在这项研究中,我们提出了一种健壮的场景文本交换框架SwapText,以解决用预期的文本替换场景文本图像中的文本的新任务。我们采用分而治之的策略,将问题分解为三个子网络,即文本交换网络,背景完成网络和融合网络。在文本交换网络中,内容图像和样式图像的特征被同时提取,然后通过自注意网络进行组合。为了更好地学习内容图像的表示,我们使用内容形状转换网络(CSTN)根据样式图像的几何属性对内容图像进行转换。然后,使用背景完成网络来生成内容图像的背景图像样式图片。最后,将文本交换网络和背景完成网络的输出馈送到融合网络中,以生成更真实和语义一致的图像。在几个公共场景文本数据集上的定性和定量结果证明了我们方法的优越性。在未来的工作中,我们将探索基于字体和颜色生成更多可控制的文本图像。

❼ 深度学习之卷积神经网络经典模型

LeNet-5模型 在CNN的应用中,文字识别系统所用的LeNet-5模型是非常经典的模型。LeNet-5模型是1998年,Yann LeCun教授提出的,它是第一个成功大规模应用在手写数字识别问题的卷积神经网络,在MNIST数据集中的正确率可以高达99.2%。

下面详细介绍一下LeNet-5模型工作的原理。
LeNet-5模型一共有7层,每层包含众多参数,也就是卷积神经网络中的参数。虽然层数只有7层,这在如今庞大的神经网络中可是说是非常少的了,但是包含了卷积层,池化层,全连接层,可谓麻雀虽小五脏俱全了。为了方便,我们把卷积层称为C层,下采样层叫做下采样层。
首先,输入层输入原始图像,原始图像被处理成32×32个像素点的值。然后,后面的隐层计在卷积和子抽样之间交替进行。C1层是卷积层,包含了六个特征图。每个映射也就是28x28个神经元。卷积核可以是5x5的十字形,这28×28个神经元共享卷积核权值参数,通过卷积运算,原始信号特征增强,同时也降低了噪声,当卷积核不同时,提取到图像中的特征不同;C2层是一个池化层,池化层的功能在上文已经介绍过了,它将局部像素值平均化来实现子抽样。
池化层包含了六个特征映射,每个映射的像素值为14x14,这样的池化层非常重要,可以在一定程度上保证网络的特征被提取,同时运算量也大大降低,减少了网络结构过拟合的风险。因为卷积层与池化层是交替出现的,所以隐藏层的第三层又是一个卷积层,第二个卷积层由16个特征映射构成,每个特征映射用于加权和计算的卷积核为10x10的。第四个隐藏层,也就是第二个池化层同样包含16个特征映射,每个特征映射中所用的卷积核是5x5的。第五个隐藏层是用5x5的卷积核进行运算,包含了120个神经元,也是这个网络中卷积运算的最后一层。
之后的第六层便是全连接层,包含了84个特征图。全连接层中对输入进行点积之后加入偏置,然后经过一个激活函数传输给输出层的神经元。最后一层,也就是第七层,为了得到输出向量,设置了十个神经元来进行分类,相当于输出一个包含十个元素的一维数组,向量中的十个元素即0到9。
AlexNet模型
AlexNet简介
2012年Imagenet图像识别大赛中,Alext提出的alexnet网络模型一鸣惊人,引爆了神经网络的应用热潮,并且赢得了2012届图像识别大赛的冠军,这也使得卷积神经网络真正意义上成为图像处理上的核心算法。上文介绍的LeNet-5出现在上个世纪,虽然是经典,但是迫于种种复杂的现实场景限制,只能在一些领域应用。不过,随着SVM等手工设计的特征的飞速发展,LeNet-5并没有形成很大的应用状况。随着ReLU与dropout的提出,以及GPU带来算力突破和互联网时代大数据的爆发,卷积神经网络带来历史的突破,AlexNet的提出让深度学习走上人工智能的最前端。
图像预处理
AlexNet的训练数据采用ImageNet的子集中的ILSVRC2010数据集,包含了1000类,共1.2百万的训练图像,50000张验证集,150000张测试集。在进行网络训练之前我们要对数据集图片进行预处理。首先我们要将不同分辨率的图片全部变成256x256规格的图像,变换方法是将图片的短边缩放到 256像素值,然后截取长边的中间位置的256个像素值,得到256x256大小的图像。除了对图片大小进行预处理,还需要对图片减均值,一般图像均是由RGB三原色构成,均值按RGB三分量分别求得,由此可以更加突出图片的特征,更方便后面的计算。
此外,对了保证训练的效果,我们仍需对训练数据进行更为严苛的处理。在256x256大小的图像中,截取227x227大小的图像,在此之后对图片取镜像,这样就使得原始数据增加了(256-224)x(256-224)x2= 2048倍。最后对RGB空间做PCA,然后对主成分做(0,0.1)的高斯扰动,结果使错误率下降1%。对测试数据而言,抽取以图像4个角落的大小为224224的图像,中心的224224大小的图像以及它们的镜像翻转图像,这样便可以获得10张图像,我们便可以利用softmax进行预测,对所有预测取平均作为最终的分类结果。
ReLU激活函数
之前我们提到常用的非线性的激活函数是sigmoid,它能够把输入的连续实值全部确定在0和1之间。但是这带来一个问题,当一个负数的绝对值很大时,那么输出就是0;如果是绝对值非常大的正数,输出就是1。这就会出现饱和的现象,饱和现象中神经元的梯度会变得特别小,这样必然会使得网络的学习更加困难。此外,sigmoid的output的值并不是0为均值,因为这会导致上一层输出的非0均值信号会直接输入到后一层的神经元上。所以AlexNet模型提出了ReLU函数,公式:f(x)=max(0,x)f(x)=max(0,x)。

用ReLU代替了Sigmoid,发现使用 ReLU 得到的SGD的收敛速度会比 sigmoid快很多,这成了AlexNet模型的优势之一。
Dropout
AlexNet模型提出了一个有效的模型组合方式,相比于单模型,只需要多花费一倍的时间,这种方式就做Dropout。在整个神经网络中,随机选取一半的神经元将它们的输出变成0。这种方式使得网络关闭了部分神经元,减少了过拟合现象。同时训练的迭代次数也得以增加。当时一个GTX580 GPU只有3GB内存,这使得大规模的运算成为不可能。但是,随着硬件水平的发展,当时的GPU已经可以实现并行计算了,并行计算之后两块GPU可以互相通信传输数据,这样的方式充分利用了GPU资源,所以模型设计利用两个GPU并行运算,大大提高了运算效率。
模型分析

AlexNet模型共有8层结构,其中前5层为卷积层,其中前两个卷积层和第五个卷积层有池化层,其他卷积层没有。后面3层为全连接层,神经元约有六十五万个,所需要训练的参数约六千万个。
图片预处理过后,进过第一个卷积层C1之后,原始的图像也就变成了55x55的像素大小,此时一共有96个通道。模型分为上下两块是为了方便GPU运算,48作为通道数目更加适合GPU的并行运算。上图的模型里把48层直接变成了一个面,这使得模型看上去更像一个立方体,大小为55x55x48。在后面的第二个卷积层C2中,卷积核的尺寸为5x5x48,由此再次进行卷积运算。在C1,C2卷积层的卷积运算之后,都会有一个池化层,使得提取特征之后的特征图像素值大大减小,方便了运算,也使得特征更加明显。而第三层的卷积层C3又是更加特殊了。第三层卷积层做了通道的合并,将之前两个通道的数据再次合并起来,这是一种串接操作。第三层后,由于串接,通道数变成256。全卷积的卷积核尺寸也就变成了13×13×25613×13×256。一个有4096个这样尺寸的卷积核分别对输入图像做4096次的全卷积操作,最后的结果就是一个列向量,一共有4096个数。这也就是最后的输出,但是AlexNet最终是要分1000个类,所以通过第八层,也就是全连接的第三层,由此得到1000个类输出。
Alexnet网络中各个层发挥了不同的作用,ReLU,多个CPU是为了提高训练速度,重叠pool池化是为了提高精度,且不容易产生过拟合,局部归一化响应是为了提高精度,而数据增益与dropout是为了减少过拟合。
VGG net
在ILSVRC-2014中,牛津大学的视觉几何组提出的VGGNet模型在定位任务第一名和分类任务第一名[[i]]。如今在计算机视觉领域,卷积神经网络的良好效果深得广大开发者的喜欢,并且上文提到的AlexNet模型拥有更好的效果,所以广大从业者学习者试图将其改进以获得更好地效果。而后来很多人经过验证认为,AlexNet模型中所谓的局部归一化响应浪费了计算资源,但是对性能却没有很大的提升。VGG的实质是AlexNet结构的增强版,它侧重强调卷积神经网络设计中的深度。将卷积层的深度提升到了19层,并且在当年的ImageNet大赛中的定位问题中获得了第一名的好成绩。整个网络向人们证明了我们是可以用很小的卷积核取得很好地效果,前提是我们要把网络的层数加深,这也论证了我们要想提高整个神经网络的模型效果,一个较为有效的方法便是将它的深度加深,虽然计算量会大大提高,但是整个复杂度也上升了,更能解决复杂的问题。虽然VGG网络已经诞生好几年了,但是很多其他网络上效果并不是很好地情况下,VGG有时候还能够发挥它的优势,让人有意想不到的收获。

与AlexNet网络非常类似,VGG共有五个卷积层,并且每个卷积层之后都有一个池化层。当时在ImageNet大赛中,作者分别尝试了六种网络结构。这六种结构大致相同,只是层数不同,少则11层,多达19层。网络结构的输入是大小为224*224的RGB图像,最终将分类结果输出。当然,在输入网络时,图片要进行预处理。
VGG网络相比AlexNet网络,在网络的深度以及宽度上做了一定的拓展,具体的卷积运算还是与AlexNet网络类似。我们主要说明一下VGG网络所做的改进。第一点,由于很多研究者发现归一化层的效果并不是很好,而且占用了大量的计算资源,所以在VGG网络中作者取消了归一化层;第二点,VGG网络用了更小的3x3的卷积核,而两个连续的3x3的卷积核相当于5x5的感受野,由此类推,三个3x3的连续的卷积核也就相当于7x7的感受野。这样的变化使得参数量更小,节省了计算资源,将资源留给后面的更深层次的网络。第三点是VGG网络中的池化层特征池化核改为了2x2,而在AlexNet网络中池化核为3x3。这三点改进无疑是使得整个参数运算量下降,这样我们在有限的计算平台上能够获得更多的资源留给更深层的网络。由于层数较多,卷积核比较小,这样使得整个网络的特征提取效果很好。其实由于VGG的层数较多,所以计算量还是相当大的,卷积层比较多成了它最显着的特点。另外,VGG网络的拓展性能比较突出,结构比较简洁,所以它的迁移性能比较好,迁移到其他数据集的时候泛化性能好。到现在为止,VGG网络还经常被用来提出特征。所以当现在很多较新的模型效果不好时,使用VGG可能会解决这些问题。
GoogleNet
谷歌于2014年Imagenet挑战赛(ILSVRC14)凭借GoogleNet再次斩获第一名。这个通过增加了神经网络的深度和宽度获得了更好地效果,在此过程中保证了计算资源的不变。这个网络论证了加大深度,宽度以及训练数据的增加是现有深度学习获得更好效果的主要方式。但是增加尺寸可能会带来过拟合的问题,因为深度与宽度的加深必然会带来过量的参数。此外,增加网络尺寸也带来了对计算资源侵占过多的缺点。为了保证计算资源充分利用的前提下去提高整个模型的性能,作者使用了Inception模型,这个模型在下图中有展示,可以看出这个有点像金字塔的模型在宽度上使用并联的不同大小的卷积核,增加了卷积核的输出宽度。因为使用了较大尺度的卷积核增加了参数。使用了1*1的卷积核就是为了使得参数的数量最少。

Inception模块
上图表格为网络分析图,第一行为卷积层,输入为224×224×3 ,卷积核为7x7,步长为2,padding为3,输出的维度为112×112×64,这里面的7x7卷积使用了 7×1 然后 1×7 的方式,这样便有(7+7)×64×3=2,688个参数。第二行为池化层,卷积核为3×33×3,滑动步长为2,padding为 1 ,输出维度:56×56×64,计算方式:1/2×(112+2×1?3+1)=56。第三行,第四行与第一行,第二行类似。第 5 行 Inception mole中分为4条支线,输入均为上层产生的 28×28×192 结果:第 1 部分,1×1 卷积层,输出大小为28×28×64;第 2 部分,先1×1卷积层,输出大小为28×28×96,作为输入进行3×3卷积层,输出大小为28×28×128;第 3部分,先1×1卷积层,输出大小为28×28×32,作为输入进行3×3卷积层,输出大小为28×28×32;而第3 部分3×3的池化层,输出大小为输出大小为28×28×32。第5行的Inception mole会对上面是个结果的输出结果并联,由此增加网络宽度。
ResNet
2015年ImageNet大赛中,MSRA何凯明团队的ResialNetworks力压群雄,在ImageNet的诸多领域的比赛中上均获得了第一名的好成绩,而且这篇关于ResNet的论文Deep Resial Learning for Image Recognition也获得了CVPR2016的最佳论文,实至而名归。
上文介绍了的VGG以及GoogleNet都是增加了卷积神经网络的深度来获得更好效果,也让人们明白了网络的深度与广度决定了训练的效果。但是,与此同时,宽度与深度加深的同时,效果实际会慢慢变差。也就是说模型的层次加深,错误率提高了。模型的深度加深,以一定的错误率来换取学习能力的增强。但是深层的神经网络模型牺牲了大量的计算资源,学习能力提高的同时不应当产生比浅层神经网络更高的错误率。这个现象的产生主要是因为随着神经网络的层数增加,梯度消失的现象就越来越明显。所以为了解决这个问题,作者提出了一个深度残差网络的结构Resial:

上图就是残差网络的基本结构,可以看出其实是增加了一个恒等映射,将原本的变换函数H(x)转换成了F(x)+x。示意图中可以很明显看出来整个网络的变化,这样网络不再是简单的堆叠结构,这样的话便很好地解决了由于网络层数增加而带来的梯度原来越不明显的问题。所以这时候网络可以做得很深,到目前为止,网络的层数都可以上千层,而能够保证很好地效果。并且,这样的简单叠加并没有给网络增加额外的参数跟计算量,同时也提高了网络训练的效果与效率。
在比赛中,为了证明自己观点是正确的,作者控制变量地设计几个实验。首先作者构建了两个plain网络,这两个网络分别为18层跟34层,随后作者又设计了两个残差网络,层数也是分别为18层和34层。然后对这四个模型进行控制变量的实验观察数据量的变化。下图便是实验结果。实验中,在plain网络上观测到明显的退化现象。实验结果也表明,在残差网络上,34层的效果明显要好于18层的效果,足以证明残差网络随着层数增加性能也是增加的。不仅如此,残差网络的在更深层的结构上收敛性能也有明显的提升,整个实验大为成功。

除此之外,作者还做了关于shortcut方式的实验,如果残差网络模块的输入输出维度不一致,我们如果要使维度统一,必须要对维数较少的进行増维。而增维的最好效果是用0来填充。不过实验数据显示三者差距很小,所以线性投影并不是特别需要。使用0来填充维度同时也保证了模型的复杂度控制在比较低的情况下。
随着实验的深入,作者又提出了更深的残差模块。这种模型减少了各个层的参数量,将资源留给更深层数的模型,在保证复杂度很低的情况下,模型也没有出现梯度消失很明显的情况,因此目前模型最高可达1202层,错误率仍然控制得很低。但是层数如此之多也带来了过拟合的现象,不过诸多研究者仍在改进之中,毕竟此时的ResNet已经相对于其他模型在性能上遥遥领先了。
残差网络的精髓便是shortcut。从一个角度来看,也可以解读为多种路径组合的一个网络。如下图:

ResNet可以做到很深,但是从上图中可以体会到,当网络很深,也就是层数很多时,数据传输的路径其实相对比较固定。我们似乎也可以将其理解为一个多人投票系统,大多数梯度都分布在论文中所谓的effective path上。
DenseNet
在Resnet模型之后,有人试图对ResNet模型进行改进,由此便诞生了ResNeXt模型。

这是对上面介绍的ResNet模型结合了GoogleNet中的inception模块思想,相比于Resnet来说更加有效。随后,诞生了DenseNet模型,它直接将所有的模块连接起来,整个模型更加简单粗暴。稠密相连成了它的主要特点。

我们将DenseNet与ResNet相比较:

从上图中可以看出,相比于ResNet,DenseNet参数量明显减少很多,效果也更加优越,只是DenseNet需要消耗更多的内存。
总结
上面介绍了卷积神经网络发展史上比较着名的一些模型,这些模型非常经典,也各有优势。在算力不断增强的现在,各种新的网络训练的效率以及效果也在逐渐提高。从收敛速度上看,VGG>Inception>DenseNet>ResNet,从泛化能力来看,Inception>DenseNet=ResNet>VGG,从运算量看来,Inception<DenseNet< ResNet<VGG,从内存开销来看,Inception<ResNet< DenseNet<VGG。在本次研究中,我们对各个模型均进行了分析,但从效果来看,ResNet效果是最好的,优于Inception,优于VGG,所以我们第四章实验中主要采用谷歌的Inception模型,也就是GoogleNet。

❽ 数据增强的方法有哪些

1 什么是数据增强?

数据增强也叫数据扩增,意思是在不实质性的增加数据的情况下,让有限的数据产生等价于更多数据的价值。

比如上图,第1列是原图,后面3列是对第1列作一些随机的裁剪、旋转操作得来。

每张图对于网络来说都是不同的输入,加上原图就将数据扩充到原来的10倍。假如我们输入网络的图片的分辨率大小是256×256,若采用随机裁剪成224×224的方式,那么一张图最多可以产生32×32张不同的图,数据量扩充将近1000倍。虽然许多的图相似度太高,实际的效果并不等价,但仅仅是这样简单的一个操作,效果已经非凡了。

如果再辅助其他的数据增强方法,将获得更好的多样性,这就是数据增强的本质。

数据增强可以分为,有监督的数据增强和无监督的数据增强方法。其中有监督的数据增强又可以分为单样本数据增强和多样本数据增强方法,无监督的数据增强分为生成新的数据和学习增强策略两个方向。

2 有监督的数据增强

有监督数据增强,即采用预设的数据变换规则,在已有数据的基础上进行数据的扩增,包含单样本数据增强和多样本数据增强,其中单样本又包括几何操作类,颜色变换类。

2.1. 单样本数据增强

所谓单样本数据增强,即增强一个样本的时候,全部围绕着该样本本身进行操作,包括几何变换类,颜色变换类等。

(1) 几何变换类

几何变换类即对图像进行几何变换,包括翻转,旋转,裁剪,变形,缩放等各类操作,下面展示其中的若干个操作。

水平翻转和垂直翻转

随机旋转

随机裁剪

变形缩放

翻转操作和旋转操作,对于那些对方向不敏感的任务,比如图像分类,都是很常见的操作,在caffe等框架中翻转对应的就是mirror操作。

翻转和旋转不改变图像的大小,而裁剪会改变图像的大小。通常在训练的时候会采用随机裁剪的方法,在测试的时候选择裁剪中间部分或者不裁剪。值得注意的是,在一些竞赛中进行模型测试时,一般都是裁剪输入的多个版本然后将结果进行融合,对预测的改进效果非常明显。

以上操作都不会产生失真,而缩放变形则是失真的。

很多的时候,网络的训练输入大小是固定的,但是数据集中的图像却大小不一,此时就可以选择上面的裁剪成固定大小输入或者缩放到网络的输入大小的方案,后者就会产生失真,通常效果比前者差。

(2) 颜色变换类

上面的几何变换类操作,没有改变图像本身的内容,它可能是选择了图像的一部分或者对像素进行了重分布。如果要改变图像本身的内容,就属于颜色变换类的数据增强了,常见的包括噪声、模糊、颜色变换、擦除、填充等等。

基于噪声的数据增强就是在原来的图片的基础上,随机叠加一些噪声,最常见的做法就是高斯噪声。更复杂一点的就是在面积大小可选定、位置随机的矩形区域上丢弃像素产生黑色矩形块,从而产生一些彩色噪声,以Coarse Dropout方法为代表,甚至还可以对图片上随机选取一块区域并擦除图像信息。

添加Coarse Dropout噪声

颜色变换的另一个重要变换是颜色扰动,就是在某一个颜色空间通过增加或减少某些颜色分量,或者更改颜色通道的顺序。

颜色扰动

还有一些颜色变换,本文就不再详述。

几何变换类,颜色变换类的数据增强方法细致数还有非常多,推荐给大家一个git项目:

https://github.com/aleju/imgaug

预览一下它能完成的数据增强操作吧。

2.2. 多样本数据增强

不同于单样本数据增强,多样本数据增强方法利用多个样本来产生新的样本,下面介绍几种方法。

(1) SMOTE[1]

SMOTE即Synthetic Minority Over-sampling Technique方法,它是通过人工合成新样本来处理样本不平衡问题,从而提升分类器性能。

类不平衡现象是很常见的,它指的是数据集中各类别数量不近似相等。如果样本类别之间相差很大,会影响分类器的分类效果。假设小样本数据数量极少,如仅占总体的1%,则即使小样本被错误地全部识别为大样本,在经验风险最小化策略下的分类器识别准确率仍能达到99%,但由于没有学习到小样本的特征,实际分类效果就会很差。

SMOTE方法是基于插值的方法,它可以为小样本类合成新的样本,主要流程为:

第一步,定义好特征空间,将每个样本对应到特征空间中的某一点,根据样本不平衡比例确定好一个采样倍率N;

第二步,对每一个小样本类样本(x,y),按欧氏距离找出K个最近邻样本,从中随机选取一个样本点,假设选择的近邻点为(xn,yn)。在特征空间中样本点与最近邻样本点的连线段上随机选取一点作为新样本点,满足以下公式:

第三步,重复以上的步骤,直到大、小样本数量平衡。

该方法的示意图如下。

在python中,SMOTE算法已经封装到了imbalanced-learn库中,如下图为算法实现的数据增强的实例,左图为原始数据特征空间图,右图为SMOTE算法处理后的特征空间图。

(2) SamplePairing[2]

SamplePairing方法的原理非常简单,从训练集中随机抽取两张图片分别经过基础数据增强操作(如随机翻转等)处理后经像素以取平均值的形式叠加合成一个新的样本,标签为原样本标签中的一种。这两张图片甚至不限制为同一类别,这种方法对于医学图像比较有效。

经SamplePairing处理后可使训练集的规模从N扩增到N×N。实验结果表明,因SamplePairing数据增强操作可能引入不同标签的训练样本,导致在各数据集上使用SamplePairing训练的误差明显增加,而在验证集上误差则有较大幅度降低。

尽管SamplePairing思路简单,性能上提升效果可观,符合奥卡姆剃刀原理,但遗憾的是可解释性不强。

(3) mixup[3]

mixup是Facebook人工智能研究院和MIT在“Beyond Empirical Risk Minimization”中提出的基于邻域风险最小化原则的数据增强方法,它使用线性插值得到新样本数据。

令(xn,yn)是插值生成的新数据,(xi,yi)和(xj,yj)是训练集随机选取的两个数据,则数据生成方式如下

λ的取值范围介于0到1。提出mixup方法的作者们做了丰富的实验,实验结果表明可以改进深度学习模型在ImageNet数据集、CIFAR数据集、语音数据集和表格数据集中的泛化误差,降低模型对已损坏标签的记忆,增强模型对对抗样本的鲁棒性和训练生成对抗网络的稳定性。

SMOTE,SamplePairing,mixup三者思路上有相同之处,都是试图将离散样本点连续化来拟合真实样本分布,不过所增加的样本点在特征空间中仍位于已知小样本点所围成的区域内。如果能够在给定范围之外适当插值,也许能实现更好的数据增强效果。

3 无监督的数据增强

无监督的数据增强方法包括两类:

(1) 通过模型学习数据的分布,随机生成与训练数据集分布一致的图片,代表方法GAN[4]。

(2) 通过模型,学习出适合当前任务的数据增强方法,代表方法AutoAugment[5]。

3.1 GAN

关于GAN(generative adversarial networks),我们已经说的太多了。它包含两个网络,一个是生成网络,一个是对抗网络,基本原理如下:

(1) G是一个生成图片的网络,它接收随机的噪声z,通过噪声生成图片,记做G(z) 。

(2) D是一个判别网络,判别一张图片是不是“真实的”,即是真实的图片,还是由G生成的图片。

GAN的以假乱真能力就不多说了。

2 Autoaugmentation[5]

AutoAugment是Google提出的自动选择最优数据增强方案的研究,这是无监督数据增强的重要研究方向。它的基本思路是使用增强学习从数据本身寻找最佳图像变换策略,对于不同的任务学习不同的增强方法,流程如下:

(1) 准备16个常用的数据增强操作。

(2) 从16个中选择5个操作,随机产生使用该操作的概率和相应的幅度,将其称为一个sub-policy,一共产生5个sub-polices。

(3) 对训练过程中每一个batch的图片,随机采用5个sub-polices操作中的一种。

(4) 通过模型在验证集上的泛化能力来反馈,使用的优化方法是增强学习方法。

(5) 经过80~100个epoch后网络开始学习到有效的sub-policies。

(6) 之后串接这5个sub-policies,然后再进行最后的训练。

总的来说,就是学习已有数据增强的组合策略,对于门牌数字识别等任务,研究表明剪切和平移等几何变换能够获得最佳效果。

❾ 计算机图形学复习

第一章
1. 计算机图形:用数学方法描述,通过计算机生成、处理、存储和显示的对象。
2. 图形和图像的主要区别是表示方法不同:图形是用矢量表示;图像是用点阵表示的。图形和图像也可以通过光栅显示器(或经过识别处理)可相互转化。
3. 于计算机图形学紧密相关的学科主要包括 图像处理、计算几何和计算机视觉模式识别。它们的共同点是 以图形/图像在计算机中的表示方法为基础。
4. 交互式计算机图形系统的发展可概括为以下4个阶段:字符、矢量、二维光栅图形、三维图形。
5. 图形学研究的主要内容有:①几何造型技术 ②图形生成技术 ③图形处理技术 ④图形信息的存储、检索与交换技术 ⑤人机交互技术 ⑥动画技术 ⑦图形输入输出技术 ⑧图形标准与图形软件包的研发。
6. 计算机辅助设计和计算机辅助制造 是计算机图形学最广泛最活跃的应用领域。
7. 计算机图形学的基本任务:一是如何利用计算机硬件来实现图形处理功能;二是如何利用好的图形软件;三是如何利用数学方法及算法解决实际应用中的图行处理问题。
8. 计算机图形系统是由硬件系统和软件系统组成的。
9. 计算机图形系统包括处理、存储、交互、输入和输出五种基本功能。
10. 键盘和鼠标是最常用的图形输入设备。鼠标根据测量位移部件的不同,分为光电式、光机式和机械式3种。
11. 数字化仪分为电子式、超声波式、磁伸缩式、电磁感应式等。小型的数字化仪也称为图形输入板。
12. 触摸屏是一种 定位设备,它是一种对于触摸能产生反应的屏幕。
13. 扫描仪由3部分组成:扫描头、控制电路和移动扫描机构。扫描头由光源发射和光鲜接收组成。按移动机构的不同,扫描仪可分为平板式和滚筒式2种。
14. 显示器是计算机的标准输出设备。彩色CRT的显示技术有2种:电子穿透法和荫罩法。
15. 随机扫描是指电子束的定位及偏转具有随意性,电子束根据需要可以在荧光屏任意方向上连续扫描,没有固定扫描线和扫描顺序限制。它具有局部修改性和动态性能。
16. 光栅扫描显示器是画点设备。
17. 点距是指相邻像素点间的距离,与分辨指标相关。
18. 等离子显示器一般有三层玻璃板组成,通常称为等离子显示器的三层结构。
19. 用以输出图形的计算机外部设备称为硬拷贝设备。
20. 打印机是廉价的硬拷贝设备,从机械动作上常为撞击式和非撞击式2种。
21. 常用的喷墨头有:压电式、气泡式、静电式、固体式。
22. 绘图仪分为静电绘图仪和笔式绘图仪。
23. 图形软件的分层。由下到上分别是:①图形设备指令、命令集、计算机操作系统 ②零级图形软件 ③一级图形软件 ④二级图形软件 ⑤三级图形软件。
24. 零级图形软件是面向系统的、最底层的软件,主要解决图形设备与主机的通信与接口问题,又称设备驱动程序。
25. 一级图形软件即面向系统又面向用户,又称基本子系统。
26. 图形应用软件是系统的核心部分。
27. 从物理学角度,颜色以主波长、色纯度和辉度来描述;从视觉角度来看,颜色以色彩、饱和度和亮度来描述。
28. 用适当比列的3种颜色混合,可以获得白色,而且这3种颜色中的任意2种的组合都不能生成第三种颜色,称为三原色理论。
29. RGB模型的匹配表达式是:c=rR+gG+bB。
30. 常用颜色模型
颜色模型名称 使用范围
RGB 图形显示设备(彩色CRT和光栅显示器)
CMY 图形打印、绘制设备
HSV 对应画家本色原理、直观的颜色描述
HSL 基于颜色参数的模型
用基色青、品红、黄定义的CMY颜色模型用来描述硬拷贝设备的输出颜色。它从白光中滤去某种颜色,故称为减色性原色系统。

第二章
31. 直线生成的3个常用算法:数值微分法(DDA)、中点划线法和Bresenham算法。
32. DDA算法的C语言实现:
DDA算法生成直线,起点(x0,y0),终点(x1,y1).
Void CMy View ::OnDdaline()
{
CDC *pDC=GetDC(); //获得设备指针
int x0=100,y0=100,x1=300,y1=200,c=RGB(250,0,0);//定义直线两端点和直线颜色
int x,y,i;
float dx,dy,k;
dx=(float)(x1-x0);
dy=(float)(y1-y0);
k=dy/dx;
x=x0;
y=y0;
if(abs(k)<1)
{ for(;x<=x1;x++)
{pDC—>SetPixel(x,int(y+0.5),c);
y=y+k;}
}
if(abs(k)>=1)
{ for(;y<=y1;y++)
{pDC—>SetPixel(int(x+0.5),y,c);
x=x+1/k;}
}
ReleaseDC(pDC); //释放设备指针
}
33. 任何影响图元显示方法的参数称为属性参数。图元的基本表现是线段,其基本属性包括线型、线宽和色彩。
34. 最常见的线型包括实线、虚线、细线和点划线等,通常默认的线型是实线。
35. 线宽控制的实线方法:垂直线刷子、水平线刷子、方形线刷子。生成具有宽度的线条还可以采用区域填充算法。
36. 用离散量表示连续量时引起的失真现象称为走样。为了提高图形显示质量,减少或消除走样现象的技术称为反走样。
37. 反走样技术有:提高分辨率(硬件方法和软件方法)、简单区域取样、加权区域取样。
38. 区域连通情况分为四连通区域和八连通区域。四连通区域是指从区域上某一点出发,可通过上下左右4个方向移动,在不越出区域的前提下到达区域内的任意像素;八连通区域是指从区域内某一像素出发,可通过上下左右、左上左下、右上右下8个方向的移动,在不越出区域的前提下到达区域内的任意像素。
39. 字符的图形表示可以分为点阵式和矢量式两种形式。
40. 在图形软件中,除了要求能生成直线、圆等基本图形元素外,还要求能生成其他曲线图元、多边形及符号等多种图元。
41. 在扫描线填充算法中,对水平边忽略而不予处理的原因是实际处理时不计其交点。
42. 关于直线生成算法的叙述中,正确的是:Bresenham算法是对中点画线算法的改进。
43. 在中点画圆算法中叙述错误的是:为了减轻画圆的工作量,中点画圆利用了圆的四对称性性质。
44. 多边形填充时,下列论述错误的是:在判断点是否在多边形内时,一般通过在多变形外找一点,然后根据该线段与多边形的交点数目为偶数即可认为在多边形内部,若为奇数则在多边形外部,且不考虑任何特殊情况。
第三章
1. Cohen-Sutherland算法,也称编码裁剪法。其基本思想是:对于每条待裁剪的线段P1P2分三种情况处理:①若P1P2完全在窗口内,则显示该线段,简称“取”之;②若P1P2完全在窗口外,则丢弃该线段,简称“舍”之;③若线段既不满足“取”的条件也不满足“舍”的条件,则求线段与窗口边界的交点,在交点处把线段分为两段,其中一段 完全在窗口外,可舍弃之,然后对另一段重复上述处理。
2. Sutherland-Hodgman算法,又称逐边裁剪算法。其基本思想是用窗口的四条边所在的直线依次来裁剪多边形。多边形的每条边与裁剪线的位置关系有4种情况(假设当前处理的多边形的边为SP):a>端点S在外侧,P在内侧,则从外到内输出P和I;b>端点S和P都在内侧,则从内到内输出P;c>端点S在内侧,而P在外侧,则从内到外输出I;d>端点S和P都在外侧,无输出。
3. 按裁剪精度的不同,字符裁剪可分为三种情况:字符串裁剪、字符裁剪和笔画裁剪。
4. 在线段AB的编码裁剪算法中,如A、B两点的码逻辑或运算全为0,则该线段位于窗口内;如AB两点的码逻辑与运算结果不为0,则该线段在窗口外。
5. n边多边形关于矩形窗口进行裁剪,结果多边形最多有2n个顶点,最少有n个顶点。
6. 对一条等长的直线段裁剪,编码裁剪算法的速度和中点分割算法的裁剪速度哪一个快,无法确定。(√)
7. 多边形裁剪可以看做是线段裁剪的组合。(X)
8. 对于线段来说,中点分割算法要比其他线段裁剪算法的裁剪速度快。(X)
9. 多边形的Weiler-Atherton裁剪算法可以实现对任意多边形的裁剪。(√)
第四章
1. 几何变换是指改变几何形状和位置,非几何变换是指改变图形的颜色、线型等属性。变换方法有对象变换(坐标系不动)和坐标变换(坐标系变化)两种。
2. 坐标系可以分为以下几种:世界坐标系(是对计算机图形场景中所有图形对象的空间定位和定义,是其他坐标系的参照)、模型坐标系(用于设计物体的局部坐标系)、用户坐标系(为了方便交互绘图操作,可以变换角度、方向)、设备坐标系(是绘制或输出图形的设备所用的坐标系,采用左手系统)。
3. 将用户坐标系中需要进行观察和处理的一个坐标区域称为窗口,将窗口映射到显示设备上的坐标区域称为视区。从窗口到视区的变换,称为规格化变换。(eg.4-1)
4. 所谓体素,是指可以用有限个尺寸参数定位和定形的体,如长方体、圆锥体。
5. 所谓齐次坐标表示,就是用n+1维向量表示n维的向量。
6. 二维点(x,y)的齐次坐标可以表示为:(hx hy h),其中h≠0。当h=1时称为规范化的齐次坐标,它能保证点集表示的唯一性。
7. 旋转变换公式的推导、对称变换

第五章
1. 交互绘图技术是一种处理用户输入图形数据的技术,是设计交互绘图系统的基础。常见的交互绘图技术有:定位技术、橡皮筋技术、拖曳技术、定值技术、拾取技术、网格与吸附技术。
2. 常用的橡皮筋技术有:橡皮筋直线、橡皮筋矩形、橡皮筋圆。
3. 拖曳技术是将形体在空间移动的过程动态地、连续地表示出来,直到用户满意。
4. 定值技术有2种:一种是键入数值,另一种是改变电位计阻值产生要求的数量,可以用模拟的方式实现电位计功能。
5. 拾取一个基本的对象可以通过:指定名称法、特征点发、外界矩阵法、分类法、直接法。

第六章
1. 点、线、面是形成三维图形的基础,三维变换是从点开始。
2. 三维图形变换分类:三维图形变换包括三维几何变换和平面几何变换,三维几何变换包括基本几何变换和复合变换;平面几何变换包括平行投影和透视投影,平行投影包括正投影和轴测投影,透视投影包括一点透视、二点透视、三点透视。
3. 投影中心与投影面之间的距离是无限的投影叫做平行投影,它包括正投影和轴测投影。
4. 正投影形成的视图包括:主视图、俯视图和左视图。轴测投影形成的视图为轴测图。
5. 透视投影也称为中心投影,其投影中心与投影面之间的距离是有限的。其特点是产生近大远小的视觉效果
6. 对于透视投影,不平行于投影面的平行线的投影会汇聚到一个点,这个点称为灭点。透视投影的灭点有无限多个,与坐标轴平行的平行线在投影面上形成的灭点称为主灭点。主灭点最多有3个,其对应的透视投影分别称为一点透视、二点透视、三点透视。

第七章
1. 型值点是曲面或曲线上的点,而控制点不一定在曲线曲面上,控制点的主要目的是用来控制曲线曲面的形状。
2. 插值和逼近是曲线曲面设计中的两种不同方法。插值—生成的曲线曲面经过每一个型值点,逼近—生成的曲线曲面靠近每一个控制点。
3. 曲线曲面的表示要求:唯一性、统一性、几何不变性、几何直观、易于界定、易于光滑连接。
4. 曲线曲面有参数和非参数表示,但参数表示较好。非参数表示又分为显式和隐式两种。
5. 对于一个平面曲线,显式表示的一般形式是:y=f(x)。一个x与一个y对应,因此显式方程不能表示封闭或多值曲线。例不能用显式方程表示一个圆。
6. 如果一个曲线方程表示为f(x,y)=0的形式,我们称之为隐式表示。其优点是易于判断函数f(x,y)是否大于、小于或等于零,即易于判断是落在所表示曲线上还是在曲线的哪一侧。
7. 参数连续与几何连续的区别:参数连续性是传统意义上的、严格的连续,而几何连续性只需限定两个曲线段在交点处的参数导数成比例,不必完全相等,是一种更直观、易于交互控制的连续性。
8. 在曲线曲面造型中,一般只用到C1(1阶参数连续)、C2(2阶参数连续)、G1(1阶几何连续)、G2(2阶几何连续)。切矢量(一阶导数)反映了曲线对参数t的变化速递,曲率(二阶导数)反映了曲线对参数t变化的加速度。
9. 通常C1连续必能保证G1的连续,但G1的连续并不能保证C1连续。
10. 对于三次Hermite曲线,用于描述曲线的可供选择的条件有:端点坐标、切矢量和曲率。
11. 三次Hermite曲线特点:①可局部调整,因为每个曲线段仅依赖于端点约束;②基于Hermite样条的变化形式有Cardinal样条和Kochanek-Bartels样条;③具有几何不变性。
12. Bezier曲线的性质:①端点性质②端点切矢量③端点的曲率④对称性⑤几何不变性⑥凸包性⑦变差缩减性。
13. 一次Bezier曲线是连接起点P0和终点P1的直线段,二次Bezier曲线对应一条起点P0终点在P2处的抛物线。
14. B样条曲线的性质:①局部性②连续性或可微性③几何不变性④严格凸包性⑤近似性⑥变差缩减性。
15. NURRS曲线具有以下性质:①局部性②可微性③仿射不变性④严格保凸性⑤一般性⑥变差缩减性⑦端点性质。

第八章
1. 要把三维物体的信息显示在二维显示设备中,必须通过投影变换。由于投影变换失去了深度信息,往往会导致二义性,要消除二义性,就必须在绘制时消除实际不可见的线和面,称作消除隐藏线和隐藏面,简称消隐。
2. 面消隐常用算法有:深度缓冲区(Z-buffer)算法和深度排序算法(画家算法)。
3. 深度缓冲区算法和深度排序算法的区别:

❿ 人工智能时代,什么职业不会在未来被淘汰

人工智能时代,有关于人工智能相关、算法相关、包括人社部拟发布的15个新兴职业:物联网工程技术人员、大数据工程技术人员、云计算工程技术人员、建筑信息模型技术员、电子竞技运营师、电子竞技员、无人机驾驶员、数字化管理师、农业经理人、工业机器人系统操作员、工业机器人系统运维员、物联网安装调试员、城市轨道交通线路工、城市轨道交通列车检修工。这些职业在未来都不会被淘汰!

首先我们从原理上来理解现在人工智能最主要的实现方式深度学习。明白原理,知己知彼,就可以继续谈最终的问题了。
深度学习最令人惊讶之处就在于它十分简单。十年前,没有人指望由梯度下降方法训练的简单参数模型就可以在机器感知问题上获得惊人的结果。现在,事实证明,你只需要一个有足够多参数的模型,并且在足够大的数据集上使用梯度下降进行训练。正如 Feynman 曾经描述宇宙那样,“它并不复杂,只是很多而已”。
在深度学习中,一切都是一个向量,即一切都是几何空间中的一个点。模型输入(可以是文本,图像等)和目标首先被“矢量化”,即变成一些初始输入矢量空间和目标矢量空间。深度学习模型中的每一层对通过它的数据进行简单的几何变换。同时,模型的层次链形成一个非常复杂的几何变换,分解成一系列简单的几何变换。这种复杂的转换尝试将输入空间一次一个点得映射到目标空间。这种转换是通过层的权重进行参数化的,权重根据模型当前执行的情况进行迭代更新。这种几何变换的一个关键特征是它必须是可微分的,这是为了使我们能够通过梯度下降学习它的参数。直观地说,这意味着从输入到输出的几何变形必须平滑且连续——这是一个重要的约束条件。
从上面原理看来,未来一段时间的人工智能可能仍然无法达到人类本身的很多正常的能力。
所以,未来不会淘汰的职业,应该是依托于这些人类不会被淘汰的能力。比如,产品经理,就是获取用户需求,痛点,来形成产品需求的职业。由于人工智能无法真正理解人类,也就无法完成这类工作,自然也无法被取代。
可以类推的,比如艺术家,可能被人工智能临摹,但会形成人工智能一直在追赶,但从未被超越的事实,所以这类工作也不会被淘汰。
甚至,科学上,需要有创造力的,脱离了线性重复思维的科研工作,也无法被人工智能取代。
综上所述,从人工智能原理讲开,到最后人工智能无法取代的岗位都做了阐述,希望能帮到大家,谢谢。
 

阅读全文

与深度学习中常用几何变换方法相关的资料

热点内容
对肾脏有好处的食用方法 浏览:91
电脑四线程内存设置方法 浏览:506
数字电路通常用哪三种方法分析 浏览:9
实训课程的教学方法是什么 浏览:519
苯甲醇乙醚鉴别方法 浏览:76
苹果手机微信视频声音小解决方法 浏览:694
控制箱的连接方法 浏览:69
用什么简单的方法可以去痘 浏览:783
快速去除甲醛的小方法你知道几个 浏览:798
自行车架尺寸测量方法 浏览:118
石磨子的制作方法视频 浏览:146
行善修心的正确方法 浏览:401
薯仔炖鸡汤的正确方法和步骤 浏览:274
北京电流检测方法 浏览:483
手机u盘保护方法 浏览:115
数字搭配有哪些方法 浏览:668
约一场球的正确方法 浏览:189
在家中洗衣服的方法如何 浏览:295
28天锻炼腹肌最快的方法 浏览:203
简单练翘臀方法视频 浏览:760