计算机视觉应用开发课件:图像增强_第1页
计算机视觉应用开发课件:图像增强_第2页
计算机视觉应用开发课件:图像增强_第3页
计算机视觉应用开发课件:图像增强_第4页
计算机视觉应用开发课件:图像增强_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图像增强图像增强概述图像增强的基本概念01任务图像增强的意义02任务图像增强的应用场景03任务学习目标了解图像增强的基本概念

了解图像增强的意义1图像增强的基本概念1图像增强的基本概念在工业场景中,因为工艺技术现在发展都比较好,所以很难收集到大量的缺陷数据用于深度学习的学习和训练,针对这种情况,可以利用数据增强来帮助深度学习算法更好学习小样本中的特征。数据增强(DataAugmentation)是一种通过让有限的数据产生更多的等价数据来人工扩展训练数据集的技术。它是克服训练数据不足的有效手段,目前在深度学习的各个领域中应用广泛。数据增强样本也有可能是引入片面噪声,导致过拟合。此时需要考虑的是调整数据增强方法,或者通过算法(可借鉴Pu-Learning思路)选择增强数据的最佳子集,以提高模型的泛化能力。2图像增强的意义图像增强的意义对于分类模型来说,有这样一个结论:其中,N是训练样本数量,

,h是分类模型的VCdimension(用于衡量布尔函数的复杂度)。

也叫modelcomplexitypenalty。从上式可以看出如果想要使得模型的泛化能力比较好,就要保证trainingerror和modelcomplexitypenalty都比较小,观察modelcomplexitypenalty这一项可以看出,h越大,modelcomplexitypenalty就会越大。N越大,modelcomplexitypenalty就会越小。大致上来说,越复杂的模型有着越大的h(VCdimension),所以为了模型有着较好的generalization,需要有较大的N来压低modelcomplexitypenalty。2

图像增强的意义2数据增强的技术,可提高训练数据集的大小和质量,以便可以使用它们来构建更好的深度学习模型。数据增强的作用在于:1、避免过拟合。当数据集具有某种明显的特征,例如数据集中图片基本在同一个场景中拍摄,使用Cutout方法和风格迁移变化等相关方法可避免模型学到与目标无关的信息。2、提升模型鲁棒性,降低模型对图像的敏感度。当训练数据都属于比较理想的状态,碰到一些特殊情况,如遮挡,亮度,模糊等情况容易识别错误,对训练数据加上噪声,掩码等方法可提升模型鲁棒性。3、增加训练数据,提高模型泛化能力。4、避免样本不均衡。在工业缺陷检测方面,医疗疾病识别方面,容易出现正负样本极度不平衡的情况,通过对少样本进行一些数据增强方法,降低样本不均衡比例。3图像增强的应用场景图像增强的应用场景数字图像处理在40多年的时间里,迅速发展成一门独立的有强大生命力的学科,图像增强技术已逐步涉及人类生活和社会生产的各个方面,下面我们仅就几个方面的应用举些例子。航空航天领域早在60年代初期,第3代计算机的研制成功和快速傅里叶变换的提出,使图像增强技术可以在计算机上实现。1964美国喷气推进实验室(JPL)的科研人员使用IBM7094计算机以及其它设备,采用集合校正、灰度变换、去噪声、傅里叶变换以及二维线性滤波等方法对航天探测器“徘徊者7号”发回的几千张月球照片成功的进行了处理。随后他们又对“徘徊者8号”和“水手号”发回地球的几万张照片进行了较为复杂地数字图像处理,使图像质量得到进一步的提高,从此图像增强技术进入了航空航天领域的研究与应用。同时图像增强技术的发展也推动了硬件设备的提高,比如1983年LANDSAT-4的分辨率为30m,而如今发射的卫星分辨率可达到3-5m的范围内。图像采集设备性能的提高,使采集图像的质量和数据的准确性和清晰度得到了极大地提高。3图像增强的应用场景生物医学领域图像增强技术在生物医学方面的应用有两类,其中一类是对生物医学的显微光学图像进行处理和分析,比如对红细胞、白细胞、细菌、虫卵的分类计数以及染色体的分析;另一类应用是对X射线图像的处理,其中最为成功的是计算机断层成像。1973年英国的EMI公司在制造出第一台X射线断层成像装置。由于人体的某些组织,比如心脏、乳腺等软组织对X射线的衰减变化不大,导致图像灵敏度不强。由此图像增强技术在生物医学图像中得到广泛的应用。公共安全领域在社会安全管理方面,图像增强技术的应用也十分广泛,如无损安全检查、指纹、虹膜、掌纹、人脸等生物特征的增强处理等等。图像增强处理也应用到交通监控中,通过电视跟踪技术锁定目标位置,比如对有雾图像、夜视红外图像、交通事故的分析等等。3ThankYOU!有监督的图像增强单样本图像增强01任务多样本图像增强02任务学习目标掌握单样本图像增强的方法

掌握多样本图像增强的方法1单样本图像增强1单样本图像增强按照有无图像作为参考依据,图像增强也可分为有监督的图像增强和无监督的图像增强。有监督图像增强,即采用预设的图像变换规则,在已有图像的基础上进行图像的扩增,包含单样本图像增强和多样本图像增强。单样本图像增强主要有几何操作、颜色变换、随机擦除、添加噪声等方法。1、裁剪裁剪有两种扩种方式,一种是对大尺寸的图像直接按照需要送入网络的尺寸进行裁剪;另外一种是将随机裁剪固定尺寸大小的图片,然后再将图像通过插值算法调整到网络需要的尺寸大小。由于数据集中通常数据大小不一,后者通常使用的较多。使用OpenCV进行图像裁剪:img_crop=img[new_h:new_h+512,new_w:new_w+512,:]1单样本图像增强2、翻转和旋转翻转和旋转都是将原始的图像像素在位置空间上做变换,图像的翻转是将原始的图像进行镜像操作,主要包括水平镜像翻转,垂直镜像翻转和原点镜像翻转。角度旋转操作和图像镜像相对,它主要是沿着画面的中心进行任意角度的变换,该变换是通过将原图像和仿射变换矩阵相乘实现的。OpenCV实现图片翻转:h_flip=cv2.flip(img,1)#水平镜像v_flip=cv2.flip(img,0)#垂直镜像hv_flip=cv2.flip(img,-1)#水平垂直镜像OpenCV实现图片旋转:M_rotation=cv2.getRotationMatrix2D((w/2,h/2),angle,1)#计算仿射变换矩阵img_rotated=cv2.warpAffine(img,M_rotation,(w,h))#得到旋转后的图像1单样本图像增强仿射变换矩阵是一个余弦矩阵,在OpenCV中有实现的库cv2.getRotationMatrix2D(center,angle,scale)可以使用,该函数的center参数是旋转中心,angle参数是逆时针旋转角度,scale参数是缩放倍数,对于只是旋转的情况参数值是1,返回的值就是做仿射变换的矩阵。然后通过cv2.warpAffine()将原图像矩阵乘以旋转矩阵得到最终的结果。通过上述的操作,旋转的图像会存在黑边,如果想去除掉图片的黑边,需要将原始的图像做出一些牺牲。对旋转后的图像取最大内接矩阵,该矩阵的长宽比和原始图像相同,如图中所示。要计算内切矩阵的坐标Q,需要通过旋转角度和原始图像矩阵的边长OP得到。1单样本图像增强3、缩放图像可以向外或向内缩放。向外缩放时,最终图像尺寸将大于原始图像尺寸,为了保持原始图像的大小,通常需要结合裁剪,从缩放后的图像中裁剪出和原始图像大小一样的图像。另一种方法是向内缩放,它会缩小图像大小,缩小到预设的大小。OpenCV实现图片缩放:img=cv2.resize(img,(512,512))4、移位移位只涉及沿X或Y方向(或两者)移动图像,mat_shift代表移动的坐标,分别记录沿X方向和Y方向移动的距离。OpenCV实现图片移位:mat_shift=np.float32([[1,0,100],[0,1,200]])img_1=cv2.warpAffine(img,mat_shift,(h,w))1单样本图像增强5、高斯噪声基于噪声的数据增强就是在原图片的基础上,随机叠加一些噪声,最常见的做法就是添加高斯噪声。OpenCV实现图片增加高斯噪声:noise=np.random.normal(mean,var**0.5,image.shape)img=image+noise6、色彩抖动色彩抖动主要是在图像的颜色方面做增强,主要调整的是图像的亮度,饱和度和对比度。工程中不是任何数据集都适用,通常如果不同背景的图像较多,加入色彩抖动操作会有很好的提升。2多样本图像增强多样本图像增强多样本增强是通过先验知识组合及转换多个样本,主要有Smote、SamplePairing、Mixup等方法在特征空间内构造已知样本的邻域值。1、Smote(SyntheticMinorityOver-samplingTechnique)Smote方法较常用于样本均衡学习,核心思想是从训练集随机同类的两近邻样本合成一个新的样本,其方法可以分为三步:1)对于各样本

,计算与同类样本的欧式距离,确定其同类的K个近邻样本;2)从该样本k近邻中随机选择一个样本如近邻

,生成新的样本;3)重复2步骤迭代N次,可以合成N个新的样本。2多样本图像增强Python程序中可以通过调用fromimblearn.over_samplingimportSMOTE来实现Smote数据增强。smote=SMOTE()x_train_res,y_train_res=smote.fit_resample(x_train,y_train)2多样本图像增强2、SamplePairingSamplePairing算法的核心思想是从训练集随机抽取的两幅图像叠加合成一个新的样本(像素取平均值),使用第一幅图像的label作为合成图像的正确label。2多样本图像增强3、mixupmixup算法的核心思想是按一定的比例随机混合两个训练样本及其标签,这种混合方式不仅能够增加样本的多样性,且能够使决策边界更加平滑,也增强了难例样本的识别,模型的鲁棒性得到提升。其方法可以分为两步:1)从原始训练数据中随机选取的两个样本()和()。其中y(原始label)用one-hot编码。2)对两个样本按比例组合,形成新的样本和带权重的标签:最终的loss为各标签上分别计算cross-entropyloss,加权求和。2多样本图像增强4、cutmixcutmix作为mixup的改进版数据增强工具,解决了mixup算法的一些短板。cutmix和mixup的区别是,混合位置是采用hard0-1掩码,而不是soft操作,相当于新合成的两张图是来自两张图片的hard结合,而不是mixup的线性组合。但是其label还是和mixup一样是线性组合,结合操作可以定义为:M是与原图大小相同的{0,1}掩码矩阵,

用于控制标签融合的线性混合度。并且是通过

参数控制裁剪矩形大小,因为

本身就是权衡两个图像的比例参数,可以反应到图像的大小上。2ThankYOU!基于mixup和cutmix算法的图像增强案例描述01任务案例目标02任务案例分析03任务案例实施04任务1案例描述1案例描述本案例通过对手写数字数据进行数据增强,然后对数字进行分类去对比两种数据增强算法mixup和cutmix的效果。2案例目标案例目标熟悉mixup算法和cutmix算法基础知识和操作流程;

分别利用mixup和cutmix增强算法对图片进行数据增强;对增强后的图片进行图片分类。23案例分析案例分析在上一节中,已经讲解了两种算法mixup和cutmix的原理以及方法步骤。在接下来的案例中,将使用代码分别实现两种算法的手写数据图像增强,利用分类网络进行分类对比两种算法的优劣。34案例实施4案例实施1.加载手写数字数据集(x_train,y_train),(x_test,y_test)=datasets.mnist.load_data()2.建立mixup算法的函数aug_mixup()

输入图片及标签(img_batch,label_batch)index=tf.random.shuffle(tf.range(batch_size,dtype=32))x1,x2=img_batch,tf.gather(img_batch,index)img_batch=x1*x_weight+x2*(1.-x_weight)y1,y2=label_batch,tf.gather(label_batch,index)label_batch=y1*y_weight+y2*(1.-y_weight)4案例实施3.定义cutmix算法的函数cutmix()输入图片及标签(img_batch,label_batch)img_weight=tf.math.logical_and(tf.math.logical_and(tf.reshape(xas,(-1,1,1))<=X,X<=tf.reshape(xbs,(-1,1,1))),tf.math.logical_and(tf.reshape(yas,(-1,1,1))<=Y,Y<=tf.reshape(ybs,(-1,1,1))))img_weight=tf.expand_dims(img_weight,axis=-1)#(BatchSize,img_h,img_w,1)img_batch=tf.where(img_weight,x2,x1)label_weight=tf.cast((ybs-yas)*(xbs-xas)/(img_h*img_w),tf.float32)#(BatchSize)label_weight=tf.expand_dims(label_weight,axis=-1)#(BatchSize,1)label_batch=(label_weight)*y2+(1-label_weight)*y1ThankYOU!无监督的图像增强基于GAN的图像增强01任务Autoaugmentation02任务Randaugment03任务学习目标了解基于GAN的图像增强方法

掌握Autoaugmentation和Randaugment图像增强的方法1基于GAN的图像增强1基于GAN的图像增强生成对抗网络(Generativeadversarialnetworks,简称GANs)是一种无监督生成模型,它隐含地学习底层分布。在GAN框架中,学习过程是两个网络之间的极大极小博弈,一个生成器,生成给定随机噪声向量的合成数据,一个鉴别器,区分真实数据和生成器的合成数据。在深度学习的图像分类中使用GAN来进行数据增强,发现使用GAN直接的数据增强不如其他增强策略有效。但是在少样本学习中,这被证明是使用GANs进行数据增强的一个更有前途的用例。下面还有很多基于GAN的变体来实现数据增强,例如ACGAN,DAGAN,BAGAN。尽管使用GAN进行简单的数据增强有时可以提高分类器的性能,特别是在非常小或有限的数据集的情况下,但使用GAN进行增强的最有希望的情况似乎包括迁移学习或少量学习。随着研究不断提高GAN训练的稳定性和可靠性,将GAN用于数据增强的快速进展将不足为奇。1基于GAN的图像增强UEGAN:基于GAN的无监督图像增强无监督的图像增强生成对抗网络(UEGAN),该网络以无监督的方式从一组具有所需特征的图像中学习相应的图像到图像的映射,而不是学习大量的成对图像。模型基于单个深度GAN,它嵌入了调制和注意力机制以捕获更丰富的全局和局部特征。基于该模型,引入了两种损失来处理无监督图像增强:(1)保真度损失,其定义为预训练VGG网络的特征域中的L2正则化,以确保增强图像之间的内容(2)质量损失,它被定义为相对hingeadversarialloss,以赋予输入图像所需的特性。定量和定性结果均表明,该模型有效地提高了图像的美学质量。2AutoaugmentationAutoaugmentationAutoaugment是Google提出的自动选择最优图像增强方案的研究,这是无监督图像增强的重要研究方向。它的基本思路是使用增强学习从数据本身寻找最佳图像变换策略,对于不同的任务学习不同的增强方法,流程如下:(1)准备16个常用的数据增强操作。(2)从16个中选择5个操作,随机产生使用该操作的概率和相应的幅度,将其称为一个sub-policy,一共产生5个sub-polices。(3)对训练过程中每一个batch的图片,随机采用5个sub-polices操作中的一种。(4)通过模型在验证集上的泛化能力来反馈,使用的优化方法是增强学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论