更多信息请查看原文:https://wwwyanxishecom/TextTranslation/2447from=jianshu0323
计算机视觉是计算机科学中主要关注“数字图像的信息自动提取”的这么一个领域。
在过去的十年里,深度学习的创新、大量数据的易用性以及GPU($$)单元的可访问性,都将计算机视觉领域推向了聚光灯下。它甚至在人脸验证和手写文本识别等任务中展现了超人一般的性能。(事实上,在如今航班登机的过程中,自动人脸验证应用已经越来越普遍)
近年来,计算机视觉领域在网络结构、激活函数、损失函数等方面有了许多创新。
4 个每个机器学习工程师都应该知道的CNN网络!
多年来,CNN的各种架构变形的开发,导致了惊人了进步在深…
mediumcom
正如我上一篇文章中所讨论的,损失函数对模型的性能起着关键作用。选择正确的损失函数可以帮助您的模型学会关注数据中正确的特征,以获得最佳和更快的收敛速度。
损失函数赢家-您应该知道的常见损失函数
每个ML工程师都应该知道的ML中流行常用的损失函数。进一步了解他们的优点…
mediumcom
本文特别总结了计算机视觉中一些重要的损失函数。
您可以在这个 链接 中找到这里讨论的所有loss函数的PyTorch实现
像素损失函数
(Pixel-wise loss function)
顾名思义,这种损失函数计算预测图像和目标图像间像素对像素的损失。前一篇文章中讨论的大多数损失函数,如MSE(L2 loss)、MAE(L1 loss)、交叉熵损失(cross-entropy loss)等,都可以应用于计算预测变量和目标变量的每一对像素之间的损失。
由于这些损失函数先分别对每个像素向量进行类预测的评估,然后对所有像素点的评估结果进行平均,因此可以明确地说它们在学习过程中对图像中的每个像素一视同仁。对于需要进行像素级预测地语义分割模型,这一点十分有用。
U-Net 等模型对这些损失函数进行了一定变形。明确来说也就是,为了解决图像分割中的类不平衡问题,人们采用了加权像素交叉熵损失函数。
类不平衡是像素级分类任务中常见的问题。当图像数据中的各个类数量相差较大时便会出现这种问题。由于像素损失将所有像素的损失平均了,所以训练过程中数量最多的类将占主导地位。
感知损失函数
(Perceptual loss function)
Johnson等人(2016) 提出,当比较两个看起来相似的不同图像,比如只移动了一个像素点的同一张或不同分辨率的相同时,感知损失函数比较适用。尽管图像非常相似,但是使用逐像素损失函数会造成很大的误差,在这种情况下,使用能够比较图像之间高级感知和语义差异的感知损失函数会更妥当。
以一个图像分类网络比如已经在ImageNet数据集的数百万个图像上进行了训练的VGG为例,该网络的第一层倾向于提取低级特征(比如线、边或颜色梯度,最终卷积层则更倾向于处理更复杂的特征(例如特定的形状和图案)。根据Johnson等人的说法,在前几层中捕获的低层特征对于比较非常相似的图像十分有用。
例如,我们构建一个网络以生成输入的超分辨率。训练过程中,我们将会得到一系列中间目标,它们是输入的超分辨版本。我们的目标是比较输出与目标之间的差异。为此,我们使这些图像通过预先训练的VGG网络,并提取VGG中前几个块的输出值,从而提取图像的低级特征信息, 然后我们用一个简单的逐像素损失来比较这些低层特征张量。
图像分类的预训练损失网络
感知损失的数学表示
其中,V_j(Y)表示在处理图像Y时VGG网络第j层的激活,其大小为(C_j,H_j,W_j)。我们使用L2 loss比较真实图像Y和预测图像Y的激活,并利用图像形状对其进行归一化。 如果您想使用VGG网络的多个特性映射作为损失计算的一部分,只需将多个j层的L_j值相加。
内容风格损失函数-神经风格转移
(Content - Style loss functions — Neural style transfer)
风格转换是将图像的语义内容呈现为不同风格的过程。样式转换模型的目标是,给定一个内容图像(C)和一个样式图像(S),使用C的内容和S的样式生成输出图像 。
在这里,我们将讨论用于训练这种风格转换模型的内容风格损失函数的简单实现之一。内容风格损失函数的许多变体已在后续的研究中的得到应用,下一节将讨论这些变体的其中一种,纹理损失。
内容风格损失的数学表示
研究发现,CNNs在较高的层次上捕获内容的信息,而在较低的层次上更关注单个像素值
因此,我们取CNN的一个或多个高层,计算原始内容图像(C)和预测输出(P)的激活图——
类似地,可以通过计算预测图像(P)和样式图像(S)低层特征映射的L2距离来计算风格损失。由此净损失函数定义为
alpha和beta是可以调节的超参数。
注意:仅通过减少内容风格损失来进行优化会导致高像素的噪声输出。为了解决这个问题,保证生成图像的空间连续性和平滑性, 全变分损失(total variation loss) 上用场。
纹理损失函数
(Texture loss function)
为计算图像风格转换中的风格损失, Gatys等人(2016) 引入了纹理损失。
纹理损失是一种基于感知函数来加以改进的损失函数,特别适用于捕获图像风格样式。 Gatys等人 发现,我们可以通过观察VGG网络中的激活或特征映射,利用它们值的空间相关性来提取图像的风格表示。这可以Gram矩阵来实现——
对于VGG网络的l层,Gram矩阵是该层矢量化特征映射F_i和F_j的内积,它可以捕捉特征在图像不同部分共同出现的趋势。
纹理损失的数学表示
这里,G^l和A^l分别是模型输出和目标图像的l层风格表示,N_l是层l中不同特征映射的数量,M_l是层l中特征地图的大小(即通道宽度高度,E_l是层l的纹理损失。
净纹理损失是所有纹理损失的加权和,如下所示——
这里,a为原始图像,x为预测图像。
注意:虽然这里的数学看起来有点复杂,但是实际上纹理损失只是一个应用在特征映射的gram矩阵上的感知损失。
拓扑感知损失函数
(Topology-aware loss function)
最近 Mosinska等人(2017) 在文献中介绍了另一个有趣的损失函数,拓扑感知损失函数。它应用于分割掩模预测,可以视作感知损失的拓展。
Mosinska等人认为,在图像分割问题中使用的逐像素损失,如交叉熵损失,仅依赖于局部测度而不考虑拓扑结构的特征,如连接部件或孔洞的数量。因此,传统的分割模型,比如U-Net,往往会对薄层结构进行错误分类。这是因为使用逐像素损失时,薄层像素错误分类的成本低。因此,他们建议引入基于VGG-19网络生成的特征映射的惩罚项(类似于感知损失)以用来计入拓扑信息的影响,从而对逐像素损失进行改进。
来自 论文 :(c)利用逐像素损失法检测神经元膜后得到的分割结果;(d) 利用拓扑损失法检测神经元膜后得到的分割结果。
这种方法也特别适用于对有所遮挡(比如树木遮挡)的卫星图像中道路的分割。
拓扑感知损失的数学表示
这里,l(m,n)表示VGG19网络中第n层中的第m个特征映射。Mu是衡量像素损失和拓扑损失相对重要性的标量
对比损失/三重损失
(Contrastive Losses / Triplet Losses)
Florian Schroff等人 在 FaceNet(2015) 中引入了三重态损失,其文章旨在用一个有限小规模的数据集构建一个人脸识别系统(例如办公室的人脸识别系统)。传统的CNN人脸识别体系结构在无法应对这一情况。
Florian-Schroff等人 等人的研究重点是,在一个小样本空间内进行人脸识别,其不仅要能够正确识别人脸匹配,而且要能够准确区分两个不同的人脸。为了解决这个问题,FaceNet的论文引入了一个叫做孪生神经网络(Siamese Network)的概念。
在孪生神经网络中,我们将一个图像A输入网络,将其转换为一个称为嵌入的较小表示。现在,在不更新网络的任何权重或偏差的情况下,我们对一个与A不同的图像B重复此过程并提取其嵌入。如果图像B与图像A中的人相同,则其对应的嵌入必须非常相似。如果它们属于不同的人,那么它们相应的嵌入必须非常不同。
重申一下,孪生神经网络的目标 —— 确保一个人(锚 anchor)的,相比其他人(负 negative)的来说,更接近他本人的(正 positive)的任意一张。
为了训练这样的网络,他们引入了三重损失函数。输入一个三元组-[锚,正,负](见)。三重损失定义如下——
1 定义距离度量d=L2范数
2 计算锚图像嵌入与正图像嵌入之间的距离=d(a,p)
3 计算锚图像嵌入与负图像嵌入之间的距离=d(a,n)
4 三重损失=d(a,p)-d(a,n)+偏移量
三重损失的数学表示
这里,x^a->锚,x^p->正,x^n->负。
注:为了实现快速收敛,在损失计算中选取正确的三重样本是至关重要的。FaceNet的文章讨论了两种实现此功能的方法:三元组离线生成和三元组在线生成。我们将改天详细讨论这个问题,与此同时,你可以参考一下 FaceNet论文 。
生成性对抗网络损失
(GAN Loss)
最早由 Ian Goodfellow等人(2014) 提出的生成性对抗网络(generative Adversarial Networks, GANs),是目前最流行的图像生成任务解决方案。GANs受到博弈论的启发,使用一种对抗性的方案,以使其可以在无监督的情况下接受训练。
GANs可以被看作是一个二人博弈,在这里我们将生成器(比如生成一个超级分辨率的图像)与另一个网络(鉴别器)进行对抗。鉴别器的任务是,评估图像是来自原始数据集(真实图像)还是由其他网络生成(假图像)。虽然生成器使用鉴别器作为损失函数,但鉴别器模型与其他深度学习神经网络一样也会更新,这意味着生成器的损失函数是隐式的,并且在训练过程中可以不断学习。对于典型的机器学习模型而言,收敛性是所选损失函数在训练数据集上的最小限度。在GAN中,收敛标志着二人博弈的结束。取而代之的是寻找生成器和鉴别器损失之间的平衡点。
对于GAN,生成器和鉴别器是博弈双方,它们的模型权重将被轮流更新。这里我们将总结一些用于GAN网络的损失函数。
1 最小-最大损失函数
(Min-Max Loss function)
然而,在实际应用中,人们发现这种损失函数对于生成器来说容易饱和。也就是说,如果它不能像鉴别器那样快速地学习,鉴别器就赢了,游戏也就结束了,模型也就不能得到有效的训练。
2 非饱和GAN损失
(Non-Saturating GAN Loss)
非饱和GAN损失是对生成器损失的一种修正。其利用一个细微的变化克服了饱和问题。生成器没有最小化生成图像的鉴别器反向概率的对数,而是最大化生成图像的鉴别器概率的对数。
3 最小二乘GAN损失
(Least squares GAN loss)
该损失由 Xudong Mao等人(2016) 。当生成图像与真实图像非常不同时,此损失函数特别有用 它可以使梯度非常小或消失,进而导致模式更新很少或没有。
4 Wasserstein GAN 损失
(Wasserstein GAN Loss)
该损失由 Martin Arjovsky等人(2017年) 提出。他们观察到,传统的GAN关注于最小化真实图像和生成图像的实际和预测概率分布之间的距离,即所谓的Kullback-Leibler(KL)散度。然而他们的建议是,对 搬土距离问题 进行建模,根据将一个分布转换为另一个分布的成本来计算两个概率分布之间的距离。
使用Wasserstein损失的GAN将鉴别器的概念转变为了比生成器更新更频繁(例如,比生成器快5倍)的评判器。评论器给图像一个实数评分而不是预测概率。它还要求模型权重保持在较小值。分数的计算使得真假图像分数之间的距离最大化。Wasserstein损失的好处是,它几乎一直提供了一个有用的梯度以允许模型持续训练。
5 循环一致性损失
(Cycle Consistency Loss)
图像到图像的转换是一个图像合成任务,需要对给定图像进行定向修改,生成一个新的图像。例如,把马翻译成斑马(或相反),把画翻译成照片(或相反)等。
该损失由 Jun-Yan Zhu等人(2018) 提出,用于图像到图像的转换。训练用于图像到图像转换的模型通常需要大量成对示例的数据集,这些示例很难找到。CycleGAN是一种没有成对例子的自动训练技术。这些模型是在无监督的情况下,使用来自源域和目标域的不需要任何关联的图像集合来进行训练。
CycleGAN是GAN体系结构的衍生,它包括两个生成器模型和两个鉴别器模型的同时训练。一个生成器从第一个域获取图像作为输入并输出图像到第二个域,另一个生成器从第二个域获取图像作为输入并生成图像至第一个域。然后使用鉴别器模型来确定生成的图像的合理性,并相应地更新生成器模型。
循环一致性是指第一生成器输出的图像可以用作第二生成器的输入,并且第二生成器的输出应该与原始图像匹配。反之亦然。
CycleGAN通过添加额外的损失来衡量生成器2的输出图像与原始图像(即生成器1的输入图像)之间的差异,以及其反循环(即生成器1的输出图象与生成器2的输入图像)的结果,从而鼓励循环一致性。这种损失被用作生成器模型的正则化项,引导新域中的图像生成过程朝原图像转换。
本文总结了计算机视觉中一些重要损失函数术语集。感谢您的阅读,希望对您有所帮助。
更多信息请查看原文:https://wwwyanxishecom/TextTranslation/2447from=jianshu0323
有以下几个软件:
1、中望CAD Touch
具体 *** 作请参照:http://jingyanbaiducom/album/f25ef2546a33e8482c1b823ahtmlpicindex=2
2、AutoCAD 360
AutoCAD WS(后改名为AutoCAD 360)出自AutoDesk公司,提供了一个简化的,观看,编辑和直观的标记工具,增加了您的自由和灵活性,可以在你的 Android 手机或平板电脑上查看,编辑和分享您的 DWG 文件,并且让用户浏览上传 DMG 文件至 WS 在线空间(需要注册 AutoCAD WS 在线空间使用),自带中文。
3、AndCAD
AndCAD 一款android平台上的绘图工具,允许用户创建简单的几何形状,与笔记相结合,查看和创建图纸。
目前该软件能够导入DWG和DXF格式的CAD文件,由于受到手机硬件和运行环境的制约,目前打开或导入的文件大小暂时被限定在500KB以下,配置较低的设备可能会显示强制关闭错误。
4、Turbo Viewer Pro
TurboViewer Pro适合模型设计相关专业或工作的机友使用。支持22以上系统,内置丰富的模型举例,运行流畅。 TurboViewer Pro是一个具有强大功能的专业绘图观众。在另外的TurboViewer产品线是第一个也是唯一的本地DWG™浏览器,支持二维和三维CAD的DWG文件移动平台,TurboViewer专业提供隐藏线,X射线,着色,层管理和更多的功能扩展。
5、GstarCAD Mobile Client
GstarCAD Mobile Client,浩辰CAD移动终端版。支持Android21及以上系统,可在安卓移动设备上查看、编辑、共享CAD图形的功能。GstarCAD MC支持与GstarCAD Windows版本之间的文件交换,将GstarCAD MC格式的图档文件上传到Android设备上,就可以方便的使用GstarCAD MC浏览,打开图档。设计人员可以在诸如施工现场、会议室、外出等一些不便使用电脑的情况下轻松进行图纸交流、修订和批注等 *** 作。
希望采纳,祝你顺利!
SRGAN是2017年CVPR中备受关注的超分辨率论文,把超分辨率的效果带到了一个新的高度。所谓超分辨率重建就是将低分辨率的图像恢复成对应的高分辨率图像。由于地分辨率图像存在大量的信息缺失,这是一个病态的求逆解问题,尤其在恢复高倍分辨率图像的时候。传统方法通过加入一些先验信息来恢复高分辨率图像,如,插值法、稀疏学习、还有基于回归方法的随机森林等,CNN在超分辨率问题上取得了非常好的效果。
SRGAN是基于CNN采用GAN方法进行训练来实现图像的超分辨率重建的。它包含一个生成器和一个判别器,判别器的主体是VGG19,生成器的主体是一连串的Residual block,同时在模型的后部加入了subpixel模块,借鉴了Shi et al 的Subpixel Network的思想,让在最后的网络层才增加分辨率,使得提升分别率的同时减少了计算量。论文中给出的网络结构如图所示:
论文中还给出了生成器和判别器的损失函数的形式:
1生成器的损失函数为 :
其中, 为本文所提出的感知损失函数, 。
内容损失 : ; 训练网络时使用均方差损失可以获得较高的峰值信噪比,一般的超分辨率重建方法中,内容损失都选择使用生成图像和目标图像的均方差损失(MSELoss),但是使用均方差损失恢复的图像会丢失很多高频细节。因此,本文先将生成图像和目标图像分别输入到VGG网络中,然后对他们经过VGG后得到的feature map求欧式距离,并将其作为VGG loss。
对抗损失 : ; 为了避免当判别器训练较好时生成器出现梯度消失,本文将生成器的损失函数 进行了修改。
2判别器的损失函数为:
与普通的生成对抗网络判别器的的损失函数类似。
可以,具体步骤如下:
1、准备数据:首先要根据函数表达式准备一组数据,然后利用该数据在图表中绘制出函数图像。
2、绘制函数图像:在功能区中选择“插入”选项卡,在“图表”组中依次单击“散点图→带平滑线的散点图”。
3、其次两个坐标轴的刻度还不符合要求,为了更好的调整坐标轴,先要把图表区调成正方的,在“格式”选项卡“大小”组中,把高度和宽度调成一样的。
4、在d出的“设置坐标轴格式”对话框中的“坐标轴选项”栏目中,将“最小值”、“最大值”、“主要刻度单位”的值设置为“固定”,并在后面的文本框中分别输入“-6”、“6”、“1”,单击“关闭”按钮。两个轴进行同样的设置。
s=πr²(r>0)
这是用二次函数在线生成器生成的图像,图像注意的地方:图像是二次函数,上升趋势很快,过点(1,π),且r>0,只有二次函数的右边的图像,(0,0)为空心
首先你要明白函数的单调性到底是什么意思,还有你要明白乘2会造成什么影响,乘了以后,也就是说现在的函数值都变为现在的两倍。你把一个函数像上拉伸2倍,单调性自然是不变的。
1/x^2的图像和 1/x的图像差不多,只不过x<0的部分翻上去了而已,是一个偶函数
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)