计算机视觉学习笔记(自用)

RGB图变为灰度图

Gray=R*0.3+G*0.59+B*0.11

 

直方图均衡化:对图像进行非线性拉伸,重新分配各个灰度单位中的像素点数量,使一定灰度范围像素点数量的值大致相等。

 自适应直方图均衡(AHE)通过对局部区域进行直方图均衡,移动模块在原始图片上按特定步长滑动;每次移动后,模板区域内做直方图均衡,映射后的结果赋值给模板区域内所有点,每个点都会有多次赋值,最终的取值为这些赋值的均值。

 AHE会过度放大图像中相对均匀区域的噪音,可采用限制对比度的自适应直方图均衡(CLAHE),与普通的自适应直方图均衡相比,CLAHE的不同地方在于直方图修建过程,用修建后的直方图均衡图像,更自然

图像分块,计算直方图,修建直方图,然后均衡;遍历操作各个图像块,进行快间双线性插值;与原图做图层滤色混合操作。

图像分割:指的是根据灰度、颜色、纹理和形状等特征把图像划分成若干互不交迭的区域,并使这些特征在同一区域内呈现出相似性,而在不同区域间呈现出明显的差异性,而在不同区域间呈现出明显的差异性。经典的数字图像分割算法一般是基于灰度值的两个基本特性之一:不连续性和相似性。

传统的图像分割方法:

        基于阈值的分割方法:阈值法的基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值相比较,最后将像素根据比较结果分到合适的类别中。

        设定某一灰度阈值T,能将图像分成两部分:大于T的像素群和小于T的像素群,关键是定一个合适的阈值准确的将图像分割。

        基于边缘的分割方法:所谓边缘是指图像中两个不同区域的边界线上连续的像素点的集合,是图像局部特征不连续性的反映,体现了灰度、颜色、纹理等图像特性的突变。

        基本思路是先确定图像中的边缘像素,然后再把这些像素连接在一起就构成所需的区域边界

         基于区域的分割方法:将图像按照相似性准则分成不同的区域,主要包括区域生长法、区域分裂合并法和分水岭法等几种类型。

        区域生长法:根据一种事先定义的准则将像素或者子区域聚合成更大区域的过程,并且要充分保证分割后的区域满足:内部联通、互斥,各子集的并集能构成全集。算法定义了最大像素灰度值距离,当待加入像素点的灰度值和已经分割好的区域所有像素点的平均灰度值的差的绝对值不大于最大像素灰度值距离时,该像素点加入到已经分割到的区域。相反,则区域生长算法停止。

        分水岭算法:将图像中的边缘转化为山脉,将均匀区域转化为山谷,有助于分割目标。

        基于图论的分割方法:把图像分割问题与图的最小割(mincut)问题相关联,首先将图像映射为带权无向图,图中每个节点对应于图像中的每个像素,每条边的权值表示了相邻像素之间在灰度、颜色或纹理方面的非负相似度。

        Graph Cuts分割:第一种普通顶点对应于图像中的每个像素。每两个邻域顶点(对应于图像中没两个邻域像素)的连接就是一条边。另外两个终端顶点,叫 S(source 前景)和T(sink 背景)。每个普通顶点和这2个终端顶点之间都有连接,组成第二种边。Cuts是指这样一个边的集合,该集合中所有边的断开都会导致残留S和T图的分开,称为割。如果一个割,它的边的所有权值之和最小,那么这个就称为最小割,这就是图割的结果。

 

 神经网络的作用:

        分类、模式识别、连续值预测。

Softmax层的作用是突出最大值并转换成概率的形式。

激活函数能解决梯度消失的问题。

学习率不宜确定,如果选择太小,收敛速度就会慢,如果太大,损失函数就会在极小值处不停的震荡甚至偏离。每个参数的学习率都是相同的,如果数据是稀疏的,则希望对出现频率低的特征进行大一点的更新。

各种梯度下降算法:

Momentum:为了表示动量,引入新的变量v,是之前梯度的累加,但每回合都有一定的衰减。前后梯度方向一致时,能够加速学习,前后梯度方向不一致时,能够抑制震荡。

Nesterov Momentum:先对参数进行估计,然后使用估计后的参数来计算误差。

Adagrad:应该为不同的参数设置不同的学习步长。梯度越小,学习步长越大,反之亦然。

RMSprop:引入一个衰减系数,让r每回合都衰减一定比例。解决了Adagrad过早结束的问题,适合处理非平稳目标,对于RNN效果很好。

Adam:自适应矩估计,本质上是带有动量项的RMSprop,他利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。

        如果数据稀疏,就用自适应方法,Adagrad,Adadelta,RMSprop,Adam,Adadelta,RMSprop,Adam效果相似,通常Adam是最好的选择,很多论文用SGD,没有momentum,SGD虽然也能达到极小值,但是比其他算法用的时间长,而且可能会被困在鞍点,SGD相对稳定。

关于算法选择的建议:

        刚入门,优先考虑SGD+Nesterov Momentum或者Adam,要选择熟悉的算法,充分了解数据,根据需求来选择,在模型设计实验过程中,要快速验证新模型的效果,可以先用Adam,在模型上线或者结果发布前,可以精调的SGD进行模型的极致优化。先用小数据集进行实验。考虑不同算法的组合,先用Adam进行快速下降,而后再换到SGD进行充分的调优,数据集一定要充分的打散(shuffle)。训练过程中持续监控训练数据和验证数据上的目标函数值以及精度或者AUC等指标的变化情况,对训练数据的监控是要保证模型进行了充分的训练,对验证数据的监控是为了避免出现过拟合。制定一个合适的学习率衰减策略,可以使用定期衰减策略,比如每过多少个epoch就衰减一次,或者利用精度或者AUC等性能指标来监控。

避免过适应:

        只要在训练集图片稍加噪声,学习机就不能做出正确的判断,过适应的根本原因,权重参数太多,样本量不足,采用(早期停止训练,权重衰减,Dropout)避免过适应。

        早期停止训练:当目标函数在验证集上不再减小时,训练就应该停止了。不能一味追求训练集的误差减小。

        权重衰减:有些权重是无用的。

        Dropout:每次更新参数前,按一定的比例删减部分神经元,删减后整个网络变得更瘦,本质上Dropout就是用一小块数据来训练一系列子网络,Dropout是集成学习的一种

卷积神经网络(CNN)

        AlexNet网络:

        5个卷积层+3个全连接层,60M个参数+650K个神经元,2个分组→2个GPU(3GB),新技术:ReLU非线性激活,Max pooling池化,Dropout regularization(包括后来不被认可的LRN:局部响应归一化:神经元的侧抑制机制,某个位置(x,y)上沿通道方向上的归一化,n为邻域值,N为通道数

         NiN网络

        提高CNN的局部感知区域的非线性, 卷积层→1×1卷积层→Max池化层,1×1卷积层实现的是同一个像素点上的各个通道的值得线性组合,这里的全连接指的是卷积前通道数与卷积后通道数之间的,作用:实现跨通道的交互和信息整合,进行卷积核通道数的降维和升维。

        VGG网络

        为了探究在大规模图像识别任务中,卷积网络深度对模型精确度有何影响。一个大卷积核分解成连续多个小卷积核,核分解:7×7核→3个3×3核(ReLU连接)参数数量:49C²→27C²。减少参数,降低计算,增加深度,网络改造的首选基础网络。

        GoogLeNet

        出现之前,主流的网络结构突破大致是网络更深,更宽,但现在看来这纯粹是增大网络的缺点。 为了提升性能:减少参数,降低计算,增加宽度,深度。进化顺序:Inception V1→V2→V3→V4.

        Inception V1 核心组件Inception Architecture(稀疏连接结构): Split-Merge→1×1卷积,3×3卷积,5×5卷积,3×3池化,增加网络对多尺度的适应性,增加网络宽度。Bottleneck Layer→使用NiN的1×1卷积进行特征降维,大幅度降低计算量。取消全连接:参数量大,减负。辅助分类器,解决前几层的梯度消失问题:深网络中,梯度回传到最初几层,存在严重消失问题,有效加速收敛,测试阶段不使用。

        Inception V2 核心组件Batch Normalization(批归一化):在batch范围内,对每个特征通道分别进行归一化,对所有图片,所有像素点。

        总结Inception:代替人工确定卷积层中的过滤器类型或确定是否需要创建卷积层和池化层,不需要人为决定哪个过滤器,是否需要池化层等,由网络自行决定这些参数,预先给网络添加所有可能值,将输出连接起来,让网络自己学习它需要什么样的参数。问题:网络的超参数设定的针对性比较强,当应用在别的数据集上的时候需要修改许多参数,因此可扩展性一般。

        ResNet残差网络

        Plain net可以拟合出任意目标映射 Residual net ,全是3×3卷积核,卷积步长2取代池化,使用Batch Normalization,取消Max池化,全连接层,Dropout,提出深 宽 外的第3个维度cardinality(基数),采用Split-Transform-Aggregate策略,将卷积核按通道分组,形成32个并行分支,低纬度卷积进行特征变换,加法合并。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值