前言

前阵子看了些目标计数的综述性文章,然后自己大概整理了个框架,可以供想要快速了解目标计数的阅读。

目标计数

目标计数:目标计数就是指对给定的图像或者视频进行分析,从中估计指定目标的数量。通过目标数量的空间分布信息,就可以推测给定场景中关注度高的区域,从而对图像或者视频进行合理的分析和解读。

目标计数模型分类(根据模型任务属性的角度分类)

基于回归的计数模型

模型通过学习输入图像直接输出待计数目标的数量。这种方法只能提供场景内目标的数量信息,空间上目标数量的分布情况可以提供更加复杂的信息,同时,基于传统图像处理的目标计数方法所面临的问题就是复杂背景的干扰和,目标重叠。所以研究中更倾向于通过估计密度图来间接获得目标数量。

基于密度图估计的计数模型

种计数模型的输出是一张密度图,密度图中的每一个元素的值反应了当前位置上包含目标的数量。同时,密度图整体上也可以反映目标的空间分布,对密度图中任意区域内的元素进行积分,就可得到该区域中的目标数量。 密度图生成的前提就是需要对目标样本逐个进行标记。密度图真实值生成过程就是对于一张给定的包含目标的图像,先对每个目标都用一个靠近目标(人头、细胞等)中心的点进行标注,然后采用归一化高斯函数对其进行卷积。重叠区域输出的密度图是每个目标经卷积后的叠加结果。

多任务模型(模型有多种输出)

以密度图估计任务为主,其他任务(目标数量估计、密度等级划分、图像分割等任务)为辅来帮助提高计数任务的准确性。

常用目标计数数据集

目标计数的应用范围十分广泛,如人群计数、车辆计数、细胞计数、野生动物计数等。

人群计数常用数据集
  • UCSD:该数据集是第一个用于人群计数的数据集,记录了固定场景下的人群流动情况,包含2000张分辨率为158×238的图片,共包含了49885个行人。

  • Mall:该数据集来源于一个商业公共区域的监控视频,包含2000张分辨率大小为240×320的图片,共有62325个行人。其记录场景相对复杂,存在物体遮挡问题。

  • UCF_CC_50:该数据集覆盖了音乐会、体育场等不同的场景,但是只包含50张图片,平均每张图片包含1280个人。

  • WorldExpo’10:该数据集包含108个摄像头的1132个视频序列,分辨率大小为576×720,覆盖了大量不同场景,共计199923人。

  • Shanghai Tech:该数据集由PartA和PartB两部分组成,A部分来自网络,包含482张大小不一致的图片,一共包含241677人。B部分拍摄了来自上海主城区的繁华街头场景,包含716张分辨率大小为768×1024张图片,共计88488人。

细胞计数常用数据集
  • VGG Cells:该数据集是一个荧光细胞数据集,模拟了真实图片中经常会出现的一系列问题,包含200张分辨率大小为256×256的图片。

  • MBM Cells:该数据集记录了8个不同病人的健康骨髓细胞,共有11张分辨率大小为1200×1200的图片。对错误订成后裁剪为44张分辨率大小为600×600的图片。

  • Adipocyte Cells:人体皮下脂肪细胞数据集,每张图片分辨率为150×150。

车辆计数常用数据集
  • WebCamT:该数据集由多台不同的交通摄像机记录了不同天气条件、不同时刻的路况。训练集包含了45480张图片,测试集包含了14150张图片,场景分为市区道路和公园道路。

  • TRANCOS:该数据集记录了多种不同的道路交通场景,共标记了46796辆车辆,共1244张图片。

人群计数方法

传统人群计数方法
  • 检测法:检测图像的个体并统计人数,当人群密集时就无法得到准确结果。

  • 回归法:建立手工提取特征到图像人数之间的映射来完成计数。

  • 密度估计方法:学习提取特征与密度图之间的映射关系。

基于深度学习的人群计数方法
  • 多列CNN模型:多列网络是指用不同的列对应于不同感受野的多尺度信息。但是这种网络模型参数较多,训练困难,计数的实时性较差,网络结构冗余度较高。

  • 单列CNN模型:单列网络仅存在单个深度网络,不会增加网络的复杂性,结构简单,模型训练容易。但是这种网络不能有效分析任意场景的透视信息,对尺度变化的处理效率低。

人群计数损失函数

评价模型的预测值与真实值ground-truth的一致程度,通过定义损失函数,可以将人群密度图的映射关系学习转化为一个最优化问题。

  • 欧式距离损失:采用像素级的欧式距离,度量估计密度图与真实密度图之间的差距。但是这种方法的鲁棒性差,很容易因为个别像素点的极端情况影响整体的计数效果,并且由于取了平均值,所以其并不关注结构化信息,生成的密度图模糊,细节不清晰。

  • 结构相似性损失(SSIM):这种方法从图像的亮度、对比度和结构这三方面度量图像相似性,并通过均值、方差、协方差3个局部统计量计算图像之间的相似性,其取值范围在-1和1之间,值越大表示图像之间越相似。这种方法更好地关注图像间对应局部块的差异,更好的生成密度图。

  • 生成对抗损失:使用对抗损失函数,通过对抗的方式对生成图片进行矫正,避免密度图模糊的情况。

人群计数ground-truth密度图生成方法

为图片中的每个人头标注中心坐标,然后再利用高斯核将坐标图转化为ground-truth人群密度图。ground-truth密度图生成的关键在于如何选择高斯核。

  • 几何自适应法:由于存在透视效应,人群图片中远近景目标的尺寸差异较大,不同位置人头对应着不同大小的像素区域,所以考虑到透视畸变的影响,大人头采用大尺寸高斯核,小人头采用小尺寸高斯核。
  • 固定高斯核法:这种方法忽略了人头尺寸差异以及自身与邻居的相似性,无论图片中哪个位置的人头均采用方差大小固定的高斯核对每个人头进行高斯模糊。但是对于远处的人头高斯核尺寸较大,可能会出现重叠,导致密度图质量的降低。
  • 内容感知标注法:首先使用暴力最近邻算法定位最近的头部,再用无监督分割算法分割出头部区域,然后依据邻居头部的大小计算高斯核尺寸。