大家好,欢迎来到IT知识分享网。
学习笔记:IIM:Learning Independent Instance Maps for CrowdLocalization
概述
IIM(Independent Instance Map segmentation)独立实例地图分割,被用于人群定位领域。特点如下:
- 端到端框架(end to end)
- 每个实例是不重叠的。通过将人群分割成独立的连通分量,获得位置和人群计数(分别为中心和分量的数目)
- 创新点:提出可微分二值化模块:(BM)
- 针对不同图像自适应地学习阈值图,以更准确地检测每个实例;
- 使用二进制预测和标签的损失直接训练模型。
- 主要方法:遵循启发式分支,并利用连通分量分割进行人群定位
数据
NWPU-Crowd :是目前最大和最具挑战性的开源人群数据集。它包含标头点和框标签。共有5109张图片和2133238个注释实例。
Shanghai Tech :包含两个子集:A部分有482张图像,共241677个实例,B部分包含716张图像,包括88,488个标记的头。
UCF-QNRF :是一个密集的人群数据集,由1535张图像组成,共有1251642个实例。
FDST :由13个不同场景中捕获的100个视频组成。它包含15000个帧,共有394081个头,包括点和框标签。
方法
首先对人群场景中的头部区域进行置信度预测。图像或像素级二值化模块将置信度图分割成独立的实例图。在推断期间,阈值模块为每个置信图在线预测阈值。最后,通过检测4个连通分量,得到每个独立实例区域的框和中心。
二值化层
二值化层的目标是学习阈值T以分割输入图像,使得其输出图像O尽可能接近目标图像G。
对于输入I,输出O,二值化层B给出如下定义:
其中阈值T是要学习的参数。这个前向过程是不可微的,因为它是一个比较运算。因此,不可能自动计算T的梯度。这里我们定义了一个类似的数学模型来模拟二进制输出O和T之间的关系,其中输出仅与T有关系。
假设I ∈ RH×W满足两个条件:
- H × W → ∞ H ×W → ∞ H×W→∞;
- I ( i , j ) ∼ U ( 0 , 1 ) I(i,j)\sim U(0,1) I(i,j)∼U(0,1),均匀分布
损失与反向传播
二值化模块
为了使阈值根据图像内容进行更新,文章根据上述二值化层进一步提出了二值化模块(BM),该模块由阈值编码器和二值化层组成。
- 阈值编码器:对图像的特征图进行编码并生成单个值或图
- 二值化层:利用该值/图来二值化置信度图并输出实例图
框架建立
置信图预测器(CP)
我们希望通过检测连接组件来实现人群定位,因此使用高分辨率特征表示的主干网络结构来提取特征。论文中,有两种流行的网络被用作置信度预测器:
- VGG-16 + FPN,其使用VGG-16作为骨干并利用特征金字塔网络来编码多尺度特征;
- HRNet-W48,一种高分辨率网络,具有强大的视觉识别特征表示能力
阈值编码器(TE)
两种方法: 这里,提出了两种方案来二值化置信图预测器(CP)的输出:图像级和像素级二值化模块(简称“IBM”和“PBM”)。IBM和PBM分别使用单个值和映射对预测进行二进制化。
为了从图像内容学习阈值,设计了阈值编码器(TE),其输入等于原始特征图乘置信度图: F : = I ⨀ F F := I \bigodot F F:=I⨀F 使用预测的置信图进行哈达玛积(即形状相同的矩阵对应位置的元素相乘)以过滤背景噪声。
IBM:在IBM中,应用1 × 1卷积层和全局平均池化(GAP)来输出单个值作为二值化层的可学习阈值。
PBM:IBM只能对于一张输入图像只能学习到一个特定阈值,但不同尺度的头部的置信度分布是非常不同的。因此,PBM中的阈值编码器(TE)被提出以产生像素级阈值图,其由具有PReLU的四个卷积层和具有步长为1的两个大内核平均池化组成。配置如下所示:
Conv:3×3,PReLU; Conv:3×3,PReLU; Conv:3×3,PReLU;Avgpool(平均池化):15 ×15; Conv:1×1,Avgpool(平均池化):15×15,Sigmoid。
在PBM的TE中,为了覆盖大的空间感受野并保存存储器,输入特征被调整为原始尺寸的1/8。此外,在最后两个卷积层之后,应用步长为1的15 × 15平均池化来平滑输出。
压缩Sigmoid :在实验中,TE可能会在阈值图中产生一些很低(小于0.1)或很高(接近1)的值,这使得网络很容易波动。此外,高阈值导致头部区域中的许多空洞。因此,为了限制Sigmoid激活函数的输出范围。提出了压缩Sigmoid,将输出约束在(0.2,0.7)之间,其公式为:
- 在得到阈值图之后,它将与置信度图一起被馈送到二值化层。然后二值化层产生分割图。最后,通过检测连通区域,得到独立实例的盒和中心。
损失函数
在该框架中涉及两个损失函数:
置信图学习损失函数:
置信图学习是一个回归问题,MSELoss(均方误差)可以很好地训练它
阈值映射学习损失函数:
阈值映射学习也是一个回归问题,阈值范围为(0.2,0.7).因此,L1损失函数被应用于等式中的
L(y^,y)用于训练阈值学习器。除此之外,该目标函数为置信度预测器提供梯度。
总结
总的来说,IIM运行的流程为:
- 原图进入置信度预测器(参数为 θ θ θ),可选择 H R − n e t HR-net HR−net或 V G G − 16 + F P N VGG-16 + FPN VGG−16+FPN,得到置信度图为 I ( x , y ) I(x,y) I(x,y),尺寸与原图大小相同
- 置信度图与原图对应位置元素相乘,得到 F : = I ⨀ F F := I \bigodot F F:=I⨀F,作为阈值编码器的输入
- 输入数据 F : F : F:进入阈值编码器后经过具有 P R e L U PReLU PReLU的四个卷积层和池化层后,得到逐像素的阈值图 T ( x , y ) T(x,y) T(x,y)
- 阈值图 T ( x , y ) T(x,y) T(x,y)和置信度图 I ( x , y ) I(x,y) I(x,y)同时进入二值化层,对置信度图进行二值化并输出实例图 O ( x , y ) O(x,y) O(x,y)
- 将输出实例图与真实图转化成标量后进行计算损失,损失函数采用 L 1 l o s s L1loss L1loss,用于训练阈值编码器,不要忘记在二值化层的梯度反转
- 使用 M S E L o s s MSELoss MSELoss训练置信度预测器
模型评估
其中,TP表示真阳性(True Positives),FP表示假阳性(False Positives)。准确率越高,模型预测为正例的样本中真正的正例越多。
其中,TP表示真阳性(True Positives),FN表示假阴性(False Negatives)。召回率越高,模型能够正确预测出更多的真正的正例。
F1值的取值范围为0到1,值越高表示模型的性能越好。
方法对比
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/131292.html