目录
特征金字塔
特征金字塔(Feature Pyramid Network,简称FPN)指由不同大小的特征图构成的层次模型,主要用于在目标检测中实现多尺度检测。大的特征图适合检测较小的目标,小的特征图适合检测大的目标
注意:特征图大小就是指特征图的像素大小
感受野
卷积神经网络输出特征图上的像素点,对应在原始图像上所能看到区域的大小称之为“感受野”,卷积层次越深、特征图越小,特征图上每个像素对应的感受野越大,语义信息表征能力越强,但是特征图的分辨率较低,几何细节信息表征能力较弱;特征图越大,特征图上每个像素对应的感受野越小,几何细节信息表征能力强,特征图分辨率较高,但语义表征能力较弱。为了同时获得较大特征图和较小特征图的优点,可以对特征图进行融合
特征融合
add:对小的特征图进行上采样,上采样至与大特征图相同大小,进行按元素相加
concat:按照指定的维度进行连接
RPN网络
RPN网络全称Region Proposal Network(区域提议网络),是专门用来从特征图生成候选区域的网络
流程步骤:
(1)输入:通过主干网卷积得到的特征图
(2)对于特征图上的每一个点(称之为anchor point,锚点),生成具有不同 尺度 和 宽高比 的锚点框,这个锚点框的坐标(x,y,w,h)是在原图上的坐标
(3)然后将这些锚点框输入到两个网络层中去,一个(rpn_cls_score )用来分类,即这个锚点框里面的特征图是否属于前景;另外一个(rpn_bbox_pred)输出四个位置坐标(相对于真实物体框的偏移)
(4)将锚点框与Ground Truth中的标签框进行 IoU 对比,如果其 IoU 高于某个阈值,则该锚点框标定为前景框,否则属于背景框;对于前景框,还要计算其与真实标签框的4个位置偏移;将这个标注好的锚点框(带有 前背景类别 和 位置偏移 标注)与3中卷积网络层的两个输出进行loss比较(类别:CrossEntrpy loss 和 位置回归:smooth L1 loss),从而学习到如何提取前景框
(5)学习到如何提取前景框后,就根据 rpn_cls_score 层的输出概率值确定前景框;位置偏移值则被整合到锚点框的坐标中以得到实际的框的坐标;这样子就得到了前景框,起到了selective search的作用。RPN生成的proposal就称为 Region of Interest.由于他们具有不同的尺度和长度,因此需要通过一个 ROI pooling层获得统一的大小
锚点
Anchors(锚点)指由一组矩阵,每个矩阵对应不同的检测尺度大小。如下矩阵:
[[ -84. -40. 99. 55.]
[-176. -88. 191. 103.]
[-360. -184. 375. 199.]
[ -56. -56. 71. 71.]
[-120. -120. 135. 135.]
[-248. -248. 263. 263.]
[ -36. -80. 51. 95.]
[ -80. -168. 95. 183.]
[-168. -344. 183. 359.]]
其中每行4个值(x1,y1,x2,y2),对应矩形框左上角、右下角相对于中心点的偏移量。9个矩形共有三种形状,即1:1, 1:2, 2:1,即进行多尺度检测。
例如,一张800600的原始图片,经过VGG下采样后(生成特征矩阵)16倍大小,大小变为5038,每个点设置9个anchor,则总数为:
ceil(800 / 16) * ceil(600 / 16) * 9 = 50 * 38 * 9 = 17100
bounding box
Ground truth是真实标注框,也就是人工标注,一般被看作“真值”Bounding box一般认为是网络最终预测的结果
CNN变体
深度可分离卷积
将卷积过程拆分,使得参数量得到减少
时间卷积
并行性
可以很大程度上避免梯度消失和梯度爆炸
感受野更大,学习到的信息更多
空洞卷积
空洞卷积最初的提出是为了解决图像分割的问题而提出的,常见的图像分割算法通常使用池化层和卷积层来增加感受野(Receptive Filed),同时也缩小了特征图尺寸(resolution),然后再利用上采样还原图像尺寸,特征图缩小再放大的过程造成了精度上的损失,因此需要一种操作可以在增加感受野的同时保持特征图的尺寸不变,从而代替下采样和上采样操作,在这种需求下,空洞卷积就诞生了
注意力机制
空间注意力模型
STN网络(Spatial Transformer Network)
通道注意力机制
SE网络(Sequeeze and Excitation Net)
空间和通道注意力机制的融合
CBAM(Convolutional Block Attention Module)
蒸馏模型
一种用于模型压缩和迁移学习的技术。它的核心思想是通过训练一个较小的模型(通常称为学生模型)来学习一个复杂模型(通常称为教师模型)的知识,从而达到减少模型参数和提高模型泛化性能的目的
对比模型
对比模型的核心思想是学习如何度量两个输入样本之间的相似性或距离
扩散模型
"扩散模型"通常指的是在网络科学和社交网络分析领域使用的一种模型,用于描述信息、影响或传播如何在网络中传播或扩散的过程。这种模型试图模拟在网络中的各种事件,如信息传播、疾病传播、观点传播等