赞
踩
在处理图像的CNN中,输入层一般代表了一张图片的像素矩阵。可以用三维矩阵代表一张图片。三维矩阵的长和宽代表了图像的大小,而三维矩阵的深度代表了图像的色彩通道。比如黑白图片的深度为1,而在RGB色彩模式下,图像的深度为3。
卷积层的核心部分是卷积操作。对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的卷积操作
在CNN中,滤波器filter对局部输入数据进行卷积计算。每计算完一个数据窗口内的局部数据后,数据窗口不断平移滑动,直到计算完所有数据。这个过程中,有这么几个参数:
(一)深度depth:神经元个数,决定输出的depth厚度。同时代表滤波器个数。
(二)步长stride:决定滑动多少步可以到边缘。
(三)填充值zero-padding:在外围边缘补充若干圈0,方便从初始位置以步长为单位可以刚好滑到末尾位置,通俗地讲就是为了总长能被步长整除。
感受野(Receptive Field)的概念是卷积网络的每一层输出的特征图上的每个位置在上一层特征图上映射的区域大小,即卷积网络的特征能“看到”的区域的大小。每一层的特征图的某个位置,都是由上一层的特征图的固定位置计算出来的,这个固定位置就是感受野。一般而言,网络越深,感受野越大。
**对于分类任务,一般而言,感受野越大越好,感受野越大,得到的全局信息越
多。一般而言最后一层的感受野要大于原图大小,网络越深、感受野越大,网络性能越好。
** 对于目标检测,anchor的大小要对应于感受野的大小,感受野不能超出anchor太大,也不能小于ancor太小。
池化操作通常也叫做子采样(Subsampling)或降采样(Downsampling),在构建卷积神经网络时,往往会用在卷积层之后,通过池化来降低卷积层输出的特征维度,有效减少网络参数的同时还可以防止过拟合现象。
主要功能有以下几点:
在经过多轮卷积层和池化层的处理之后,在CNN的最后一般会由1到2个全连接层来给出最后的分类结果。经过几轮卷积层和池化层的处理之后,可以认为图像中的信息已经被抽象成了信息含量更高的特征。我们可以将卷积层和池化层看成自动图像特征提取的过程。在提取完成之后,仍然需要使用全连接层来完成分类任务
损失函数层(loss layer)用于决定训练过程如何来“惩罚”网络的预测结果和真实结果之间的差异,它通常是网络的最后一层。各种不同的损失函数适用于不同类型的任务。例如,Softmax交叉熵损失函数常常被用于在K个类别中选出一个,而Sigmoid交叉熵损失函数常常用于多个独立的二分类问题。欧几里德损失函数常常用于结果取值范围为任意实数的问题。
通常是指在目标检测模型中连接主干(Backbone)和检测头部(Head)的中间部分。它的作用是将来自主干网络的不同尺度的特征图融合在一起,以提高特征的表达能力和感受野,从而更好地检测不同大小的目标。
Backbone(主干)
主干网络(Backbone)是目标检测算法的基础部分,它用于将输入的原始图像转换为高层级的特征表示。主干网络通常是一个预训练的卷积神经网络,例如VGG、ResNet、MobileNet等,其作用类似于一个特征提取器。通过多个卷积和池化层的堆叠,主干网络逐渐减小图像的空间维度,同时增加特征的通道数,从而将图像转换为一系列特征图。
不同的主干网络具有不同的深度和复杂性,一般情况下,使用更深层次的主干网络可以获得更高级的图像特征,从而提高目标检测算法的性能。主干网络通常是在大规模图像分类任务上进行预训练,然后再将其用于目标检测任务,并进行微调。
检测头部(Head)是目标检测算法中的另一个重要组件,它负责在主干网络输出的特征图上执行目标检测操作。检测头部通常由一系列卷积层和全连接层组成,用于预测图像中目标的位置和类别。
具体来说,检测头部会对每个特征图的每个位置生成一组边界框,并为每个边界框分配一个置信度分数,表示该边界框内是否包含目标。同时,它还可以输出每个边界框对应目标的类别概率,以识别目标的类别。
根据目标检测算法的不同设计,检测头部可能会包含不同的模块,例如锚框(anchor)预测、类别预测和边界框回归等。这些模块的设计和配置直接影响目标检测算法的性能和准确性。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。