基于深度学习的场景分类算法

来源:互联网 发布:去哪里学java 编辑:程序博客网 时间:2024/04/25 01:21

目前出现的相对流行的场景分类方法主要有以下三类:

 

(1)     基于对象的场景分类

这种分类方法以对象为识别单位,根据场景中出现的特定对象来区分不同的场景;

 

 基于视觉的场景分类方法大部分都是以对象为单位的,也就是说,通过识别一些有

代表性的对象来确定自然界的位置。典型的基于对象的场景分类方法有以下的中间步骤:

特征提取、重组和对象识别。

 

缺点:底层的错误会随着处理的深入而被放大。例如,上位层中小对象的识别往往会受到下属层

相机传感器的原始噪声或者光照变化条件的影响。尤其是在宽敞的环境下,目标往往会非常分散,

这种方法的应用也受到了限制。需要指出的是,该方法需要选择特定环境中的一些固定对

象,一般使用深度网络提取对象特征,并进行分类。

 

算法:AlexNet

                    除了传统的卷积层、pooling层、全连接层。AlexNet加入了

                    (1)非线性激活函数:ReLU;

                    (2)防止过拟合的方法:Dropout,Dataaugmentation。同时,使用多个GPU,LRN归一化层。

 

算法:VGG-Net。

                    不同于AlexNet的地方是:VGG-Net使用更多的层,通常有16-19层,而AlexNet只有8层。

                    同时,VGG-Net的所有 convolutional layer 使用同样大小的 convolutional filter,大小为 3 x 3。

                   

算法:GoogLeNet。

提出的Inception结构是主要的创新点,这是(Network In Network)的结构,即原来的结点也是一个网络。

在单层卷积层上使用不同尺度的卷积核就可以提取不同尺寸的特征,单层的特征提取能力增强了。其使用之后整个网络结构的宽度和深度都可扩大,能够带来2-3倍的性能提升。

 

算法:ResNet。

ResNet引入了残差网络结构(residual network),通过在输出与输入之间引入一个shortcut connection,而不是简单的堆叠网络,这样可以解决网络由于很深出现梯度消失的问题,从而可可以把网络做的很深。这种方法目前也是业界最高水准了。

                   

(2)    基于区域的场景分类;

首先通过目标候选候选区域选择算法,生成一系列候选目标区域,

          然后通过深度神经网络提取候选目标区域特征,并用这些特征进行分类。

         

算法:RCNN

          技术路线:selective search + CNN + SVMs

 

          算法:Fast-R-CNN

          步骤:输入一幅图像和Selective Search方法生成的一系列Proposals,通过一系列卷积层

                    和Pooling层生成feature map,然后用RoI(region ofineterst)层处理最后一个卷积层

                    得到的feature map为每一个proposal生成一个定长的特征向量roi_pool5

                    RoI层的输出roi_pool5接着输入到全连接层, 产生最终用于多任务学习的特征并用于

计算多任务Loss。

                    全连接输出包括两个分支:

1.SoftMax Loss:计算K+1类的分类Loss函数,其中K表示K个目标类别。

                    2.RegressionLoss:即K+1的分类结果相应的Proposal的Bounding Box四个角点坐标值。

                    最终将所有结果通过非极大抑制处理产生最终的目标检测和识别结果。

 

          算法:Faster-R-CNN:

                    Faster-R-CNN算法由两大模块组成:1.PRN候选框提取模块 2.Fast R-CNN检测模块。

                    其中,RPN是全卷积神经网络,通过共享卷积层特征可以实现proposal的提取;

                    FastR-CNN基于RPN提取的proposal检测并识别proposal中的目标。

 

(3)    基于上下文的场景分类:

这类方法不同于前面两种算法,而将场景图像看作全局对象而非图像中的某一对象或细节,

这样可以降低局部噪声对场景分类的影响。

 

将输入图片作为一个特征,并提取可以概括图像统计或语义的低维特征。该类方法的目的

即为提高场景分类的鲁棒性。因为自然图片中很容易掺杂一些随机噪声,这类噪声会对

局部处理造成灾难性的影响,而对于全局图像却可以通过平均数来降低这种影响。

基于上下文的方法,通过识别全局对象,而非场景中的小对象集合或者准确的区域边界,

因此不需要处理小的孤立区域的噪声和低级图片的变化,其解决了分割和目标识别分类方法遇到的问题。

 

算法:基于Gist的场景分类

 

步骤:通过 Gist 特征提取场景图像的全局特征。Gist 特征是一种生物启发式特征,

          该特征模拟人的视觉,形成对外部世界的一种空间表

          示,捕获图像中的上下文信息。Gist 特征通过多尺度

          多方向 Gabor 滤波器组对场景图像进行滤波,将滤波后

          的图像划分为 4 × 4 的网格,然后各个网格采用离散傅

          里叶变换和窗口傅里叶变换提取图像的全局特征信息。

         

          用CNN 进一步学习更深层次的特征,并在 CNN 最高层进行场景分类

阅读全文
1 0
原创粉丝点击