精华内容
下载资源
问答
  • 姊妹篇:ILSVRC2016目标检测任务回顾(上)--图像目标检测 图像目标检测任务在过去三年的时间取得了巨大的进展,检测性能得到明显提升。但在视频监控、车辆辅助驾驶等领域,基于视频的目标检测有着更为广泛的需求。...

    姊妹篇:ILSVRC2016目标检测任务回顾(上)--图像目标检测        

    -----------------------补充:近几年的几篇参考文献2018.5.30------------------------------------------

    [1]视频物体检测(VID) MR-FLOW & FlowNet 2.0

    [2]视频物体检测(VID) Impression Network for Video Object Detection

    [3]视频物体检测(VID) Object Detection from Video Tubelets with Convolutional Neural Network

    [4] 视频物体检测(VID) T-CNN: Tubelets with Convolutional Neural Networks for Object De

    [5]视频物体检测(VID) Deep Feature Flow for Video Recognition

    [6]视频物体检测(VID) FGFA:Flow-Guided Feature Aggregation for Video Object Detection

    [7] 视频物体检测(VID) NoScope:1000x的视频检索加速算法

    -------------------------------------------------------------------------------------------------------------------------

           图像目标检测任务在过去三年的时间取得了巨大的进展,检测性能得到明显提升。但在视频监控、车辆辅助驾驶等领域,基于视频的目标检测有着更为广泛的需求。由于视频中存在运动模糊,遮挡,形态变化多样性,光照变化多样性等问题,仅利用图像目标检测技术检测视频中的目标并不能得到很好的检测结果。如何利用视频中目标时序信息和上下文等信息成为提升视频目标检测性能的关键。

    ILSVRC2015新增加了视频目标检测任务(Object detection from video, VID),这为研究者提供了良好的数据支持。ILSVRC2015的VID评价指标与图像目标检测评价指标相同——计算检测窗口的mAP。然而对于视频目标检测来说,一个好的检测器不仅要保证在每帧图像上检测准确,还要保证检测结果具有一致性/连续性(即对于一个特定目标,优秀的检测器应持续检测此目标并且不会将其与其他目标混淆)。ILSVRC2016针对这个问题在VID任务上新增加了一个子任务(详见第四部分——视频目标检测时序一致性介绍)。

    在ILSVRC2016上,在不使用外部数据的VID两个子任务上,前三名由国内队伍包揽(见表1、表2)。本文主要结合NUIST,CUVideo,MCG-ICT-CAS以及ITLab-Inha四个队伍公布的相关资料对ILSVRC2016中的视频目标检测方法进行了总结。

    ILSVRC2016目标检测任务回顾——视频目标检测(VID)

    表1.  ILSVRC2016 VID results(无外部数据)

    ILSVRC2016目标检测任务回顾——视频目标检测(VID)

    表2.  ILSVRC2016 VID tracking result(无外部数据)

    通过对参赛队伍的相关报告[2-5]进行学习了解,视频目标检测算法目前主要使用了如下的框架:

    • 将视频帧视为独立的图像,利用图像目标检测算法获取检测结果;

    • 利用视频的时序信息和上下文信息对检测结果进行修正;

    • 基于高质量检测窗口的跟踪轨迹对检测结果进一步进行修正。

    本文分为四部分,前三个部分介绍如何提升视频目标检测的精度,最后介绍如何保证视频目标检测的一致性。

    一、单帧图像目标检测

    此阶段通常将视频拆分成相互独立的视频帧来处理,通过选取优秀的图像目标检测框架以及各种提高图像检测精度的技巧来获取较为鲁棒的单帧检测结果。ILSVRC2016目标检测任务回顾(上)--图像目标检测》已对此进行详细总结,这里不再重复。

    结合自己实验及各参赛队伍的相关文档,我们认为训练数据的选取以及网络结构的选择对提升目标检测性能有至关重要的作用。

    • 训练数据选取

    首先对ILSVRC2016 VID训练数据进行分析: VID数据库包含30个类别,训练集共有3862个视频片段,总帧数超过112万。单从数字上看,这么大的数据量训练30个类别的检测器似乎已经足够。然而,同一个视频片段背景单一,相邻多帧的图像差异较小。所以要训练现有目标检测模型,VID训练集存在大量数据冗余,并且数据多样性较差,有必要对其进行扩充。在比赛任务中,可以从ILSVRC DET和ILSVRC LOC数据中抽取包含VID类别的图片进行扩充。CUVideo、NUIST和MCG-ICT-CAS使用ILSVRC VID+DET作为训练集,ITLab-Inha使了ILSVRC VID+DET、COCO DET等作为训练集。需要注意的是在构建新的训练集的时候要注意平衡样本并去除冗余(CUVideo和MCG-ICT-CAS抽取部分VID训练集训练模型,ITLab-Inha在每个类别选择一定数量图像参与训练,NUIST使用在DET上训练的模型对VID数据进行筛选)。对于同样的网络,使用扩充后的数据集可以提高10%左右的检测精度。

    • 网络结构选取

    不同的网络结构对于检测性能也有很大影响。我们在VID验证集上进行实验:同样的训练数据,基于ResNet101[6]的Faster R-CNN[7]模型的检测精度比基于VGG16[8]的Faster R-CNN模型的检测精度高12%左右。这也是MSRA在2015年ILSVRC和COCO比赛上的制胜关键。今年比赛前几名的队伍基本上也是使用ResNet/Inception的基础网络,CUVideo使用269层的GBD-Net[9]

    二、改进分类损失

    目标在某些视频帧上会存在运动模糊,分辨率较低,遮挡等问题,即便是目前最好的图像目标检算法也不能很好地检测目标。幸运的是,视频中的时序信息和上下文信息能够帮助我们处理这类问题。比较有代表性的方法有T-CNN[10]中的运动指导传播(Motion-guided Propagation, MGP)和多上下文抑制(Multi-context suppression, MCS)。

    • MGP

    单帧检测结果存在很多漏检目标,而相邻帧图像检测结果中可能包含这些漏检目标。所以我们可以借助光流信息将当前帧的检测结果前向后向传播,经过MGP处理可以提高目标的召回率。如图1所示将T时刻的检测窗口分别向前向后传播,可以很好地填补T-1和T+1时刻的漏检目标。

    ILSVRC2016目标检测任务回顾——视频目标检测(VID)

    图1.  MGP示意图[10]

    • MCS

    使用图像检测算法将视频帧当做独立的图像来处理并没有充分利用整个视频的上下文信息。虽然说视频中可能出现任意类别的目标,但对于单个视频片段,只会出现比较少的几个类别,而且这几个类别之间有共现关系(出现船只的视频段中可能会有鲸鱼,但基本不可能出现斑马)。所以,可以借助整个视频段上的检测结果进行统计分析:对所有检测窗口按得分排序,选出得分较高的类别,剩余那些得分较低的类别很可能是误检,需对其得分进行压制(如图2)。经过MCS处理后的检测结果中正确的类别靠前,错误的类别靠后,从而提升目标检测的精度。

    ILSVRC2016目标检测任务回顾——视频目标检测(VID)

    图2. 多上下文抑制示意图[10]

    三、利用跟踪信息修正

    上文提到的MGP可以填补某些视频帧上漏检的目标,但对于多帧连续漏检的目标不是很有效,而目标跟踪可以很好地解决这个问题。CUVideo, NUIST, MCG-ICT-CAS以及ITLab-Inha四支参赛队伍都使用了跟踪算法进一步提高视频目标检测的召回率。使用跟踪算法获取目标序列基本流程如下:

    • 使用图像目标检测算法获取较好的检测结果;

    • 从中选取检测得分最高的目标作为跟踪的起始锚点;

    • 基于选取的锚点向前向后在整个视频片段上进行跟踪,生成跟踪轨迹;

    • 从剩余目标中选择得分最高的进行跟踪,需要注意的是如果此窗口在之前的跟踪轨迹中出现过,那么直接跳过,选择下一个目标进行跟踪;

    • 算法迭代执行,可以使用得分阈值作为终止条件。

    得到的跟踪轨迹既可以用来提高目标召回率,也可以作为长序列上下文信息对结果进行修正。

    四、网络选择与训练技巧

    对于视频目标检测,除了要保证每帧图像的检测精度,还应该保证长时间稳定地跟踪每个目标。为此,ILSVRC2016新增一个VID子任务,此任务计算每个目标跟踪轨迹(tracklet)/管道(tubelet)的mAP来评测检测算法的时序一致性或者说跟踪连续性的性能。

    评价指标:图像目标检测mAP评测对象是每个检测窗口是否精准,而视频时序一致性评测对象是目标跟踪轨迹是否精准;图像目标检测中如果检测窗口跟Ground Truth类别相同,窗口IoU大于0.5就认定为正例。而评价时序一致性时,如果检测得到的跟踪轨迹和Ground Truth(目标真实跟踪轨迹)是同一个目标(trackId相同),并且其中检测出的窗口与Ground Truth窗口的IoU大于0.5的数量超过一个比例,那么认为得到的跟踪轨迹是正例;跟踪轨迹的得分是序列上所有窗口得分的平均值。分析可知,如果一个目标的轨迹被分成多段或者一个目标的跟踪轨迹中混入其他的目标都会降低一致性。

    那么如何保证视频检测中目标的时序一致性呢?本文认为可以从以下三个方面入手:

    • 保证图像检测阶段每帧图像检测的结果尽量精准;

    • 对高质量检测窗口进行跟踪并保证跟踪的质量(尽量降低跟踪中出现的漂移现象);

    • 前面两步获取到的跟踪结果会存在重叠或者临接的情况,需针对性地进行后处理。

    ITLab-Inha团队提出了基于变换点检测的多目标跟踪算法[11],该算法首先检测出目标,然后对其进行跟踪,并在跟踪过程中对跟踪轨迹点进行分析处理,可以较好地缓解跟踪时的漂移现象,并能在轨迹异常时及时终止跟踪。

    针对视频目标检测的一致性问题,作者所在的MCG-ICT-CAS提出了基于检测和跟踪的目标管道生成方法。

    ILSVRC2016目标检测任务回顾——视频目标检测(VID)

    a.基于跟踪的目标管道/跟踪轨迹

    ILSVRC2016目标检测任务回顾——视频目标检测(VID)

    b.基于检测的目标管道

    ILSVRC2016目标检测任务回顾——视频目标检测(VID)

    c.基于检测和跟踪的融合管道

    图3. 基于检测/跟踪/检测+跟踪管道示意图

    图3-a表示使用跟踪算法获取到的目标管道(红色包围框),绿色包围框代表目标的Ground Truth。可以看到随着时间推移,跟踪窗口逐渐偏移目标,最后甚至可能丢失目标。MCG-ICT-CAS提出了基于检测的目标管道生成方法,如图3-b所示,基于检测的管道窗口(红色包围框)定位较为准确,但由于目标的运动模糊使检测器出现漏检。从上面分析可知:跟踪算法生成的目标管道召回率较高,但定位不准;而基于检测窗口生成的目标管道目标定位较为精准,但召回率相对前者较低。由于两者存在互补性,所以MCG-ICT-CAS进一步提出了管道融合算法,对检测管道和跟踪管道进行融合,融合重复出现的窗口并且拼接间断的管道。

    如图4所示,相对于单独的检测或者跟踪生成的目标管道,融合后目标管道对应的检测窗口的召回率随着IoU阈值的增加一直保持较高的值,说明了融合后的窗口既能保持较高的窗口召回率,也有较为精准的定位。融合后的目标管道mAP在VID测试集上提升了12.1%。

    ILSVRC2016目标检测任务回顾——视频目标检测(VID)

    图4.不同方法生成目标管道的召回率

    总结

    本文主要结合ILSVRC2016 VID竞赛任务对视频目标检测算法进行介绍。相对于图像目标检测,当前的视频目标检测算法流程比较繁琐且视频自身包含的信息没有被充分挖掘。如何精简视频目标检测流程使其具有实时性,如何进一步挖掘视频包含的丰富信息使其具有更高的检测精度,以及如何保证视频目标检测的一致性或许是视频目标检测接下来要着重解决的问题。

    参考文献

    [1]ILSVRC2016相关报告

    [2]CUVideo slide

    [3]NUIST slide

    [4]MCG-ICT-CAS slide

    [5]ITLab-Inha slide

    [6]He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[J]. arXiv preprint arXiv:1512.03385, 2015.

    [7]Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[C]//Advances in neural information processing systems. 2015: 91-99.

    [8]Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556, 2014.

    [9]Zeng X, Ouyang W, Yang B, et al. Gated bi-directional cnn for object detection[C]//European Conference on Computer Vision. Springer International Publishing, 2016: 354-369.

    [10]Kang K, Li H, Yan J, et al. T-cnn: Tubelets with convolutional neural networks for object detection from videos[J]. arXiv preprint arXiv:1604.02532, 2016.

    [11]Lee B, Erdenee E, Jin S, et al. Multi-class Multi-object Tracking Using Changing Point Detection[C]//European Conference on Computer Vision. Springer International Publishing, 2016: 68-83.

    鸣谢作者王斌,中科院计算所前瞻研究实验室跨媒体计算组博士生,导师张勇东研究员。2016年在唐胜副研究员的带领下,作为计算所MCG-ICT-CAS团队核心主力队员(王斌、肖俊斌),参加了ImageNet大规模视觉识别挑战赛(ILSVRC)的视频目标检测(VID)任务并获得第三名。目标检测相关工作受邀在ECCV 2016 ImageNet和COCO竞赛联合工作组会议(ImageNet and COCO Visual Recognition Challenges Joint Workshop)上做大会报告。


    展开全文
  • 图像目标检测任务在过去三年的时间取得了巨大的进展,检测性能得到明显提升。但在视频监控、车辆辅助驾驶等领域,基于视频的目标检测有着更为广泛的需求。由于视频中存在运动模糊,遮挡,形态变化多样性,光照变化...

    图像目标检测任务在过去三年的时间取得了巨大的进展,检测性能得到明显提升。但在视频监控、车辆辅助驾驶等领域,基于视频的目标检测有着更为广泛的需求。由于视频中存在运动模糊,遮挡,形态变化多样性,光照变化多样性等问题,仅利用图像目标检测技术检测视频中的目标并不能得到很好的检测结果。如何利用视频中目标时序信息和上下文等信息成为提升视频目标检测性能的关键。

    ILSVRC2015新增加了视频目标检测任务(Object detection from video, VID),这为研究者提供了良好的数据支持。ILSVRC2015的VID评价指标与图像目标检测评价指标相同——计算检测窗口的mAP。然而对于视频目标检测来说,一个好的检测器不仅要保证在每帧图像上检测准确,还要保证检测结果具有一致性/连续性(即对于一个特定目标,优秀的检测器应持续检测此目标并且不会将其与其他目标混淆)。ILSVRC2016针对这个问题在VID任务上新增加了一个子任务(详见第四部分——视频目标检测时序一致性介绍)。

    在ILSVRC2016上,在不使用外部数据的VID两个子任务上,前三名由国内队伍包揽(见表1、表2)。本文主要结合NUIST,CUVideo,MCG-ICT-CAS以及ITLab-Inha四个队伍公布的相关资料对ILSVRC2016中的视频目标检测方法进行了总结。

    图片描述
    表1 ILSVRC2016 VID results(无外部数据)

    图片描述
    表2 ILSVRC2016 VID tracking result(无外部数据)

    通过对参赛队伍的相关报告[2-5]进行学习了解,视频目标检测算法目前主要使用了如下的框架:

    • 将视频帧视为独立的图像,利用图像目标检测算法获取检测结果;
    • 利用视频的时序信息和上下文信息对检测结果进行修正;
    • 基于高质量检测窗口的跟踪轨迹对检测结果进一步进行修正。

    本文分为四部分,前三个部分介绍如何提升视频目标检测的精度,最后介绍如何保证视频目标检测的一致性。

    单帧图像目标检测

    此阶段通常将视频拆分成相互独立的视频帧来处理,通过选取优秀的图像目标检测框架以及各种提高图像检测精度的技巧来获取较为鲁棒的单帧检测结果。《ILSVRC2016目标检测任务回顾(上)–图像目标检测》已对此进行详细总结,这里不再重复。

    结合自己实验及各参赛队伍的相关文档,我们认为训练数据的选取以及网络结构的选择对提升目标检测性能有至关重要的作用。

    • 训练数据选取

    首先对ILSVRC2016 VID训练数据进行分析: VID数据库包含30个类别,训练集共有3862个视频片段,总帧数超过112万。单从数字上看,这么大的数据量训练30个类别的检测器似乎已经足够。然而,同一个视频片段背景单一,相邻多帧的图像差异较小。所以要训练现有目标检测模型,VID训练集存在大量数据冗余,并且数据多样性较差,有必要对其进行扩充。在比赛任务中,可以从ILSVRC DET和ILSVRC LOC数据中抽取包含VID类别的图片进行扩充。CUVideo、NUIST和MCG-ICT-CAS使用ILSVRC VID+DET作为训练集,ITLab-Inha使了ILSVRC VID+DET、COCO DET等作为训练集。需要注意的是在构建新的训练集的时候要注意平衡样本并去除冗余(CUVideo和MCG-ICT-CAS抽取部分VID训练集训练模型,ITLab-Inha在每个类别选择一定数量图像参与训练,NUIST使用在DET上训练的模型对VID数据进行筛选)。对于同样的网络,使用扩充后的数据集可以提高10%左右的检测精度。

    • 网络结构选取

    不同的网络结构对于检测性能也有很大影响。我们在VID验证集上进行实验:同样的训练数据,基于ResNet101[6]的Faster R-CNN[7]模型的检测精度比基于VGG16[8]的Faster R-CNN模型的检测精度高12%左右。这也是MSRA在2015年ILSVRC和COCO比赛上的制胜关键。今年比赛前几名的队伍基本上也是使用ResNet/Inception的基础网络,CUVideo使用269层的GBD-Net[9]。

    改进分类损失

    目标在某些视频帧上会存在运动模糊,分辨率较低,遮挡等问题,即便是目前最好的图像目标检算法也不能很好地检测目标。幸运的是,视频中的时序信息和上下文信息能够帮助我们处理这类问题。比较有代表性的方法有T-CNN[10]中的运动指导传播(Motion-guided Propagation, MGP)和多上下文抑制(Multi-context suppression, MCS)。

    • MGP

    单帧检测结果存在很多漏检目标,而相邻帧图像检测结果中可能包含这些漏检目标。所以我们可以借助光流信息将当前帧的检测结果前向后向传播,经过MGP处理可以提高目标的召回率。如图1所示将T时刻的检测窗口分别向前向后传播,可以很好地填补T-1和T+1时刻的漏检目标。

    图片描述
    图1 MGP示意图[10]

    • MCS

    使用图像检测算法将视频帧当做独立的图像来处理并没有充分利用整个视频的上下文信息。虽然说视频中可能出现任意类别的目标,但对于单个视频片段,只会出现比较少的几个类别,而且这几个类别之间有共现关系(出现船只的视频段中可能会有鲸鱼,但基本不可能出现斑马)。所以,可以借助整个视频段上的检测结果进行统计分析:对所有检测窗口按得分排序,选出得分较高的类别,剩余那些得分较低的类别很可能是误检,需对其得分进行压制(如图2)。经过MCS处理后的检测结果中正确的类别靠前,错误的类别靠后,从而提升目标检测的精度。

    图片描述
    图2 多上下文抑制示意图[10]

    利用跟踪信息修正

    上文提到的MGP可以填补某些视频帧上漏检的目标,但对于多帧连续漏检的目标不是很有效,而目标跟踪可以很好地解决这个问题。CUVideo, NUIST, MCG-ICT-CAS以及ITLab-Inha四支参赛队伍都使用了跟踪算法进一步提高视频目标检测的召回率。使用跟踪算法获取目标序列基本流程如下:

    • 使用图像目标检测算法获取较好的检测结果;
    • 从中选取检测得分最高的目标作为跟踪的起始锚点;
    • 基于选取的锚点向前向后在整个视频片段上进行跟踪,生成跟踪轨迹;
    • 从剩余目标中选择得分最高的进行跟踪,需要注意的是如果此窗口在之前的跟踪轨迹中出现过,那么直接跳过,选择下一个目标进行跟踪;
    • 算法迭代执行,可以使用得分阈值作为终止条件。

    得到的跟踪轨迹既可以用来提高目标召回率,也可以作为长序列上下文信息对结果进行修正。

    网络选择与训练技巧

    对于视频目标检测,除了要保证每帧图像的检测精度,还应该保证长时间稳定地跟踪每个目标。为此,ILSVRC2016新增一个VID子任务,此任务计算每个目标跟踪轨迹(tracklet)/管道(tubelet)的mAP来评测检测算法的时序一致性或者说跟踪连续性的性能。

    评价指标:图像目标检测mAP评测对象是每个检测窗口是否精准,而视频时序一致性评测对象是目标跟踪轨迹是否精准;图像目标检测中如果检测窗口跟Ground Truth类别相同,窗口IoU大于0.5就认定为正例。而评价时序一致性时,如果检测得到的跟踪轨迹和Ground Truth(目标真实跟踪轨迹)是同一个目标(trackId相同),并且其中检测出的窗口与Ground Truth窗口的IoU大于0.5的数量超过一个比例,那么认为得到的跟踪轨迹是正例;跟踪轨迹的得分是序列上所有窗口得分的平均值。分析可知,如果一个目标的轨迹被分成多段或者一个目标的跟踪轨迹中混入其他的目标都会降低一致性。

    那么如何保证视频检测中目标的时序一致性呢?本文认为可以从以下三个方面入手:(1)保证图像检测阶段每帧图像检测的结果尽量精准;(2)对高质量检测窗口进行跟踪并保证跟踪的质量(尽量降低跟踪中出现的漂移现象);(3)前面两步获取到的跟踪结果会存在重叠或者临接的情况,需针对性地进行后处理。

    ITLab-Inha团队提出了基于变换点检测的多目标跟踪算法[11],该算法首先检测出目标,然后对其进行跟踪,并在跟踪过程中对跟踪轨迹点进行分析处理,可以较好地缓解跟踪时的漂移现象,并能在轨迹异常时及时终止跟踪。

    针对视频目标检测的一致性问题,作者所在的MCG-ICT-CAS提出了基于检测和跟踪的目标管道生成方法。

    图片描述
    图3 基于检测/跟踪/检测+跟踪管道示意图

    图3-a表示使用跟踪算法获取到的目标管道(红色包围框),绿色包围框代表目标的Ground Truth。可以看到随着时间推移,跟踪窗口逐渐偏移目标,最后甚至可能丢失目标。MCG-ICT-CAS提出了基于检测的目标管道生成方法,如图3-b所示,基于检测的管道窗口(红色包围框)定位较为准确,但由于目标的运动模糊使检测器出现漏检。从上面分析可知:跟踪算法生成的目标管道召回率较高,但定位不准;而基于检测窗口生成的目标管道目标定位较为精准,但召回率相对前者较低。由于两者存在互补性,所以MCG-ICT-CAS进一步提出了管道融合算法,对检测管道和跟踪管道进行融合,融合重复出现的窗口并且拼接间断的管道。

    如图4所示,相对于单独的检测或者跟踪生成的目标管道,融合后目标管道对应的检测窗口的召回率随着IoU阈值的增加一直保持较高的值,说明了融合后的窗口既能保持较高的窗口召回率,也有较为精准的定位。融合后的目标管道mAP在VID测试集上提升了12.1%。

    图片描述
    图4 不同方法生成目标管道的召回率

    总结

    本文主要结合ILSVRC2016 VID竞赛任务对视频目标检测算法进行介绍。相对于图像目标检测,当前的视频目标检测算法流程比较繁琐且视频自身包含的信息没有被充分挖掘。如何精简视频目标检测流程使其具有实时性,如何进一步挖掘视频包含的丰富信息使其具有更高的检测精度,以及如何保证视频目标检测的一致性或许是视频目标检测接下来要着重解决的问题。

    [1]ILSVRC2016相关报告:
    http://image-net.org/challenges/ilsvrc+coco2016
    [2]CUVideo slide下载链接:
    http://image-net.org/challenges/talks/2016/GBD-Net.pdf
    [3]NUIST slide下载链接
    http://image-net.org/challenges/talks/2016/Imagenet%202016%20VID.pptx
    [4]MCG-ICT-CAS slide下载链接
    http://image-net.org/challenges/talks/2016/MCG-ICT-CAS-ILSVRC2016-Talk-final.pdf
    [5]ITLab-Inha slide 下载链接
    http://image-net.org/challenges/talks/2016/ILSVRC2016_ITLab_for_pdf.pdf
    [6]He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[J]. arXiv preprint arXiv:1512.03385, 2015.
    [7]Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[C]//Advances in neural information processing systems. 2015: 91-99.
    [8]Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556, 2014.
    [9]Zeng X, Ouyang W, Yang B, et al. Gated bi-directional cnn for object detection[C]//European Conference on Computer Vision. Springer International Publishing, 2016: 354-369.
    [10]Kang K, Li H, Yan J, et al. T-cnn: Tubelets with convolutional neural networks for object detection from videos[J]. arXiv preprint arXiv:1604.02532, 2016.
    [11]Lee B, Erdenee E, Jin S, et al. Multi-class Multi-object Tracking Using Changing Point Detection[C]//European Conference on Computer Vision. Springer International Publishing, 2016: 68-83.

    作者简介:王斌,中科院计算所前瞻研究实验室跨媒体计算组博士生,导师张勇东研究员。2016年在唐胜副研究员的带领下,作为计算所MCG-ICT-CAS团队核心主力队员(王斌、肖俊斌),参加了ImageNet大规模视觉识别挑战赛(ILSVRC)的视频目标检测(VID)任务并获得第三名。目标检测相关工作受邀在ECCV 2016 ImageNet和COCO竞赛联合工作组会议(ImageNet and COCO Visual Recognition Challenges Joint Workshop)上做大会报告。
    本文来源微信公众号:深度学习大讲堂。
    原文:ILSVRC2016目标检测任务回顾(下)–视频目标检测(VID)
    欢迎技术投稿、约稿、给文章纠错,请发送邮件至heyc@csdn.net

    展开全文
  • 2016年,在该比赛的图像目标检测任务中,国内队伍大放异彩,包揽该任务前五名(如图1所示)。我们将根据前五名参赛队伍提交的摘要与公开发表的论文或技术文档,简析比赛中用到的图像目标检测方法。

    源:http://mp.weixin.qq.com/s__biz=MzI1NTE4NTUwOQ==&mid=2650325798&idx=1&sn=cef67fc7bb75d0f0bae641d6b385fb3d&chksm=f235a42cc5422d3a718dee91db795142f1eb321c0f6a2a65973b68d3dacdb29c34d33ebbb3c5&scene=21#wechat_redirect

    一、图像目标检测(DET)



    计算机视觉领域权威评测——ImageNet大规模图像识别挑战赛(Large Scale Visual Recognition Challenge)自2010年开始举办以来,一直备受关注。2016年,在该比赛的图像目标检测任务中,国内队伍大放异彩,包揽该任务前五名(如图1所示)。我们将根据前五名参赛队伍提交的摘要与公开发表的论文或技术文档,简析比赛中用到的图像目标检测方法。


    图1. ILSVRC2016目标检测(无额外数据)任务比赛结果


    总体上说,参赛队伍大多采用ResNet/Inception网络+Faster R-CNN框架,注重网络的预训练,改进RPN,并利用Context信息,测试时结合普遍被使用的多尺度测试、水平翻转、窗口投票等方法,最终融合多个模型得到结果。


    下面我们将细数参赛方法中的诸多亮点。


    1.利用Context信息

    GBD-Net

    GBD-Net(Gated Bi-Directional CNN [1])是CUImage团队的成果,也是今年DET任务中的一大亮点。该方法利用双向门控的CNN网络在不同尺度的上下文窗口中选择性地传递信息,以此对context建模。


    GBD-Net的研究动机源于对context信息在候选窗口分类过程中起到的作用的仔细分析。首先,Context信息在对窗口分类时能起到关键的作用,如图2(a)(b)所示,图中的红框必须结合Context信息才能准确判断其类别(包括判断为背景)。所以很多时候,我们可以利用context信息作出如图1(c)所示的判断。但是如图1(d)所示,并不是所有的context信息都能给我们正确的指导,所以context信息需要选择性的利用。


    图2. GBD-Net的研究动机[1]


    基于这一点,CUImage提出了GBD-Net。如图3所示,GBD-Net采集Context信息的方式与[2][3]一脉相承,直接在目标窗口基础上放大窗口以获得更多的context信息,或缩小窗口以保留更多的目标细节,以此得到多个support region,双向连接的网络让不同尺度和分辨率的信息在每个support region之间相互传递,从而综合学习到最优的特征。然而如研究动机中所说,并非所有的上下文信息都能给决策带来“正能量”,所以在双向互通的连接上都加了一个“门”,以此控制context信息的相互传播。GBD-Net在ImageNet DET数据集上,在ResNet-269为基础网络,带来了2.2%的mAP提升。


    图3. GBD-Net框架图[1]


    Dilation as context


    360+MCG-ICG-CAS_DET团队[12]将[4]中提出的用膨胀卷积获取context信息的方法迁移至目标检测任务,将[4]中的8个膨胀卷积层削减到3层,在ROI pooling前就组织好每个像素点对应的context信息,如图4,省去了对每个ROI反复提取context特征的操作。该方法在VOC07数据集上,以Res50为基础网络,能获得1.5%的提升。


    图4. Dilation as context方法示意图


    Global context


    2015年[5]中提到利用ROI pooling对全图进行pooling获取context信息的方法,Hikvision团队在此基础上进一步细化,提出了图5(a)所示的global context方法,在ILSVRC DET验证集上获得了3.8%的mAP性能提升。该方法此前的文章[13]中有详细描述,此处不再赘述。


    除了基于ROI pooling的global context方法,CUImage沿用[6]中提到的global context方法,为每个ROI加入全局的分类结果信息,如图5(b)示。该方法在GBD-net局部context的基础上又加入了全局的context信息,进一步将mAP提高了1.3%。


    图5. Global context方法示意图


    2.改进分类损失

    360+MCG-ICG-CAS_DET团队提出了两种改进的softmax损失[12]:将背景类分成若干隐式子类别(Implicit sub-categories for background)、必要时加入sink类别(Sink class when necessary)。

    Faster R-CNN中将所有与Ground Truth的IOU大于0.5的窗口当做正样本,IOU介于0.1~0.4之间的当做背景类别样本,所以虽然正常目标类别的样本之间有较大的相似性,但背景类别的样本之间差异却非常大,在这种情况下,仍然同等对待目标类别和背景类别对背景类别来说是不公平的。所以背景隐式子类别方法将背景类别分为若干个子类别,想让更多的参数去描述多变的背景,在softmax之前重新将所有子类别聚合为一个背景类,以避免显式定义各个子类别的问题(如图6(a)所示)。


    图6 改进分类损失


    另外,由于训练数据本身的一些冲突性(比如同样的图像内容在不同场景下会同时成为正样本和负样本,或不同类别的样本之间非常相似),对于某些窗口,ground truth类别的得分始终不是很高,而其他一些错误类别的得分会超过ground truth类别。所以sink方法加入一个sink类,在ground truth得分不在Top-K时,同时优化sink类别和ground truth类别,否则正常优化ground truth类别。以此将那些错误类别上的得分引流到sink类别上,使得在对窗口分类时,即使ground truth类别得分不是特别高,仍然可以高于其他类别,如图6(b)所示。


    3.改进RPN


    CUImage和Hikvision都提出改进RPN,并且两者的改进策略都源于CRAFT[7](如图7所示),在RPN之后再连接一个二分类的Fast R-CNN,进一步减少窗口数量并提高定位精度。


    图7 CRAFT[7]


    CUImage进一步将CRAFT升级为CRAFT-v3,训练过程加入随机crop,测试中采取多尺度策略,并且平衡正负样本比例,用2个模型进行融合,将ILSVRC DET val2上的recall@300 proposal提升到95.3%[14]。


    Hikvision则是直接按照box refinement的思想,直接在RPN网络基础上进行一次级联,如图8所示。同时他们注意到,Faster R-CNN在理想情况下希望PRN的正负样本比是1:1,而实际运行中,正样本数量往往较少,使得正负样本比差异较大,所以将正负样本比强制限制在不超过1:1.5后,recall提升3%。


    图8 级联的RPN[15]


    4.网络选择与训练技巧


    自ILSVRC2015后,ResNet[4]和后续的Inception v4[8],Identity mapping[9]由于其强大的分类性能,被广泛使用到目标检测、场景分割等应用中。不同的网络通常能收敛到不同的极值点,这种网络差异性是模型融合获得较大提升的关键。CUImage、Hikvision、Trimps Soushen、360+MCG-ICT-CAS_DET、NUIST都用不同的基础网络训练了多个模型用于融合。


    在训练目标检测模型之前,具有针对性的模型预训练通常可以使得最后训练的目标检测模型能收敛到更优的位置。Hikvision提到在初始化global context的分支时使用预训练的模型效果远远好于随机初始化。另外,他们用ILSVRC LOC的数据首先在1000个类别上预训练一个精细分类的目标检测模型,再迁移到DET数据上训练200类的模型。CUImage同样提到模型预训练的重要性。他们在1000类Image-centric方式训练分类网络后,又采取基于ROI-Pooling的Object-centric方式训练分类网络,预训练网络使最终目标检测模型的mAP提升约1%。


    此外,Hikvision提出在训练过程中强制平衡正负样本比会产生积极的影响。OHEM[10]、多尺度训练等技巧都是简单有效的提高mAP的方式。


    5.测试技巧


    测试过程中可采用的技巧很多,会对最终目标检测结果起到锦上添花的作用。多尺度测试、水平翻转、窗口微调与多窗口投票、多模型融合、NMS阈值调整、多模型融合等方法被广泛使用,并经过普遍验证证明了其有效性。


    Trimps Soushen、360+MCG-ICT-CAS_DET采用了Feature Maxout[11]的方法融入多尺度测试,尽量让每个窗口都缩放到接近224x224的尺度上进行测试,充分利用预训练网络的性能。窗口微调与多窗口投票(box refinement and box voting[2])方法首先利用Fast R-CNN系列框架中对窗口进行回归的这个过程,反复迭代,然后用所有窗口投票,决定最终的目标类别与位置。在往年比赛中很少提到目标检测如何进行模型融合,ILSVRC2016中,CUImage[14]、Hikvision[15]、Trimps Soushen[16]、360+MCG-ICT-CAS_DET[12]都采用了几乎一致的融合策略,即先用一个或多个模型的RPN网络产生固定的ROI,再把这些ROI经过不同模型得到的分类和回归结果相加,得到最终的融合结果。经过多种融合方法的实验,分数相加的方式能获得较好的融合性能。


    总结


    本文对2016年ILSVRC DET任务中用到的方法进行了概括性的归纳和介绍。目标检测系统步骤甚多,过程繁琐,其中的每一个细节都非常重要。研究过程中,在把握整体结构的同时,如何处理好重要的细节会成为一种方法是否有效的关键。


    参考文献


    [1] Zeng, Xingyu, et al. "Gated bi-directional cnn for object detection." European Conference on Computer Vision. Springer International Publishing, 2016.

    [2] Gidaris, Spyros, and Nikos Komodakis. "Object detection via a multi-region and semantic segmentation-aware cnn model." Proceedings of the IEEE International Conference on Computer Vision. 2015.

    [3] Zagoruyko, Sergey, et al. "A MultiPath Network for Object Detection." arXiv preprint arXiv:1604.02135 (2016).

    [4] Yu, Fisher, and Vladlen Koltun. "Multi-scale context aggregation by dilated convolutions." arXiv preprint arXiv:1511.07122 (2015).

    [5] He, Kaiming, et al. "Deep residual learning for image recognition." arXiv preprint arXiv:1512.03385 (2015).

    [6] Ouyang, Wanli, et al. "Deepid-net: Deformable deep convolutional neural networks for object detection." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015.

    [7] Yang, Bin, et al. "Craft objects from images." arXiv preprint arXiv:1604.03239 (2016).

    [8] Szegedy, Christian, Sergey Ioffe, and Vincent Vanhoucke. "Inception-v4, inception-resnet and the impact of residual connections on learning." arXiv preprint arXiv:1602.07261 (2016).

    [9] He, Kaiming, et al. "Identity mappings in deep residual networks." arXiv preprint arXiv:1603.05027 (2016).

    [10] Shrivastava, Abhinav, Abhinav Gupta, and Ross Girshick. "Training region-based object detectors with online hard example mining." arXiv preprint arXiv:1604.03540 (2016).

    [11] Ren, Shaoqing, et al. "Object detection networks on convolutional feature maps." arXiv preprint arXiv:1504.06066 (2015).

    [12] Sheng Tang, Yu Li, Bin Wang, Junbin Xiao, Rui Zhang etal. "MCG-ICT-CAS Object Detection at ILSVRC 2016" (Slides), the Second ImageNet and COCO Visual Recognition Challenges Joint Workshop in conjunction with ECCV 2016, http://image-net.org/challenges/talks/2016/MCG-ICT-CAS-ILSVRC2016-Talk-final.pdf

    [13] 钟巧勇“技术揭秘:海康威视PASCAL VOC2012目标检测权威评测夺冠之道”,深度学习大讲堂往期文章http://chuansong.me/n/839745651477

    [14] Wanli Ouyang, Junjie Yan, Xingyu Zeng etal. “Crafting GBD-Net”(Slides), the Second ImageNet and COCO Visual Recognition Challenges Joint Workshop in conjunction with ECCV 2016, http://image-net.org/challenges/talks/2016/GBD-Net.pdf

    [15] Qiaoyong Zhong, Chao Li, Yingying Zhang etal. “Towards Good Practices for Recognition & Detection” (Slides), the Second ImageNet and COCO Visual Recognition Challenges Joint Workshop in conjunction with ECCV 2016, http://image-net.org/challenges/talks/2016/Hikvision_at_ImageNet_2016.pdf

    [16] Jie SHAO, Xiaoteng ZHANG, Zhengyan DING etal. “Good Practices for Deep Feature Fusion” (Slides), the Second ImageNet and COCO Visual Recognition Challenges Joint Workshop in conjunction with ECCV 2016, http://image-net.org/challenges/talks/2016/Trimps-Soushen@ILSVRC2016.pdf

    [17]ILSVRC2016比赛结果http://image-net.org/challenges/LSVRC/2016/results

    [18] Dai, Jifeng, et al. "R-FCN: Object Detection via Region-based Fully Convolutional Networks." (2016).

    二、视频目标检测(VID)

    图像目标检测任务在过去三年的时间取得了巨大的进展,检测性能得到明显提升。但在视频监控、车辆辅助驾驶等领域,基于视频的目标检测有着更为广泛的需求。由于视频中存在运动模糊,遮挡,形态变化多样性,光照变化多样性等问题,仅利用图像目标检测技术检测视频中的目标并不能得到很好的检测结果。如何利用视频中目标时序信息和上下文等信息成为提升视频目标检测性能的关键。

    ILSVRC2015新增加了视频目标检测任务(Object detection from video, VID),这为研究者提供了良好的数据支持。ILSVRC2015的VID评价指标与图像目标检测评价指标相同——计算检测窗口的mAP。然而对于视频目标检测来说,一个好的检测器不仅要保证在每帧图像上检测准确,还要保证检测结果具有一致性/连续性(即对于一个特定目标,优秀的检测器应持续检测此目标并且不会将其与其他目标混淆)。ILSVRC2016针对这个问题在VID任务上新增加了一个子任务(详见第四部分——视频目标检测时序一致性介绍)。

    在ILSVRC2016上,在不使用外部数据的VID两个子任务上,前三名由国内队伍包揽(见表1、表2)。本文主要结合NUIST,CUVideo,MCG-ICT-CAS以及ITLab-Inha四个队伍公布的相关资料对ILSVRC2016中的视频目标检测方法进行了总结。

    图片描述

    表1 ILSVRC2016 VID results(无外部数据)

    图片描述

    表2 ILSVRC2016 VID tracking result(无外部数据)

    通过对参赛队伍的相关报告[2-5]进行学习了解,视频目标检测算法目前主要使用了如下的框架:

    • 将视频帧视为独立的图像,利用图像目标检测算法获取检测结果;
    • 利用视频的时序信息和上下文信息对检测结果进行修正;
    • 基于高质量检测窗口的跟踪轨迹对检测结果进一步进行修正。

    本文分为四部分,前三个部分介绍如何提升视频目标检测的精度,最后介绍如何保证视频目标检测的一致性。

    单帧图像目标检测

    此阶段通常将视频拆分成相互独立的视频帧来处理,通过选取优秀的图像目标检测框架以及各种提高图像检测精度的技巧来获取较为鲁棒的单帧检测结果。《ILSVRC2016目标检测任务回顾(上)–图像目标检测》已对此进行详细总结,这里不再重复。

    结合自己实验及各参赛队伍的相关文档,我们认为训练数据的选取以及网络结构的选择对提升目标检测性能有至关重要的作用。

    • 训练数据选取

    首先对ILSVRC2016 VID训练数据进行分析: VID数据库包含30个类别,训练集共有3862个视频片段,总帧数超过112万。单从数字上看,这么大的数据量训练30个类别的检测器似乎已经足够。然而,同一个视频片段背景单一,相邻多帧的图像差异较小。所以要训练现有目标检测模型,VID训练集存在大量数据冗余,并且数据多样性较差,有必要对其进行扩充。在比赛任务中,可以从ILSVRC DET和ILSVRC LOC数据中抽取包含VID类别的图片进行扩充。CUVideo、NUIST和MCG-ICT-CAS使用ILSVRC VID+DET作为训练集,ITLab-Inha使了ILSVRC VID+DET、COCO DET等作为训练集。需要注意的是在构建新的训练集的时候要注意平衡样本并去除冗余(CUVideo和MCG-ICT-CAS抽取部分VID训练集训练模型,ITLab-Inha在每个类别选择一定数量图像参与训练,NUIST使用在DET上训练的模型对VID数据进行筛选)。对于同样的网络,使用扩充后的数据集可以提高10%左右的检测精度。

    • 网络结构选取

    不同的网络结构对于检测性能也有很大影响。我们在VID验证集上进行实验:同样的训练数据,基于ResNet101[6]的Faster R-CNN[7]模型的检测精度比基于VGG16[8]的Faster R-CNN模型的检测精度高12%左右。这也是MSRA在2015年ILSVRC和COCO比赛上的制胜关键。今年比赛前几名的队伍基本上也是使用ResNet/Inception的基础网络,CUVideo使用269层的GBD-Net[9]。

    改进分类损失

    目标在某些视频帧上会存在运动模糊,分辨率较低,遮挡等问题,即便是目前最好的图像目标检算法也不能很好地检测目标。幸运的是,视频中的时序信息和上下文信息能够帮助我们处理这类问题。比较有代表性的方法有T-CNN[10]中的运动指导传播(Motion-guided Propagation, MGP)和多上下文抑制(Multi-context suppression, MCS)。

    • MGP

    单帧检测结果存在很多漏检目标,而相邻帧图像检测结果中可能包含这些漏检目标。所以我们可以借助光流信息将当前帧的检测结果前向后向传播,经过MGP处理可以提高目标的召回率。如图1所示将T时刻的检测窗口分别向前向后传播,可以很好地填补T-1和T+1时刻的漏检目标。

    图片描述

    图1 MGP示意图[10]

    • MCS

    使用图像检测算法将视频帧当做独立的图像来处理并没有充分利用整个视频的上下文信息。虽然说视频中可能出现任意类别的目标,但对于单个视频片段,只会出现比较少的几个类别,而且这几个类别之间有共现关系(出现船只的视频段中可能会有鲸鱼,但基本不可能出现斑马)。所以,可以借助整个视频段上的检测结果进行统计分析:对所有检测窗口按得分排序,选出得分较高的类别,剩余那些得分较低的类别很可能是误检,需对其得分进行压制(如图2)。经过MCS处理后的检测结果中正确的类别靠前,错误的类别靠后,从而提升目标检测的精度。

    图片描述

    图2 多上下文抑制示意图[10]

    利用跟踪信息修正

    上文提到的MGP可以填补某些视频帧上漏检的目标,但对于多帧连续漏检的目标不是很有效,而目标跟踪可以很好地解决这个问题。CUVideo, NUIST, MCG-ICT-CAS以及ITLab-Inha四支参赛队伍都使用了跟踪算法进一步提高视频目标检测的召回率。使用跟踪算法获取目标序列基本流程如下:

    • 使用图像目标检测算法获取较好的检测结果;
    • 从中选取检测得分最高的目标作为跟踪的起始锚点;
    • 基于选取的锚点向前向后在整个视频片段上进行跟踪,生成跟踪轨迹;
    • 从剩余目标中选择得分最高的进行跟踪,需要注意的是如果此窗口在之前的跟踪轨迹中出现过,那么直接跳过,选择下一个目标进行跟踪;
    • 算法迭代执行,可以使用得分阈值作为终止条件。

    得到的跟踪轨迹既可以用来提高目标召回率,也可以作为长序列上下文信息对结果进行修正。

    网络选择与训练技巧

    对于视频目标检测,除了要保证每帧图像的检测精度,还应该保证长时间稳定地跟踪每个目标。为此,ILSVRC2016新增一个VID子任务,此任务计算每个目标跟踪轨迹(tracklet)/管道(tubelet)的mAP来评测检测算法的时序一致性或者说跟踪连续性的性能。

    评价指标:图像目标检测mAP评测对象是每个检测窗口是否精准,而视频时序一致性评测对象是目标跟踪轨迹是否精准;图像目标检测中如果检测窗口跟Ground Truth类别相同,窗口IoU大于0.5就认定为正例。而评价时序一致性时,如果检测得到的跟踪轨迹和Ground Truth(目标真实跟踪轨迹)是同一个目标(trackId相同),并且其中检测出的窗口与Ground Truth窗口的IoU大于0.5的数量超过一个比例,那么认为得到的跟踪轨迹是正例;跟踪轨迹的得分是序列上所有窗口得分的平均值。分析可知,如果一个目标的轨迹被分成多段或者一个目标的跟踪轨迹中混入其他的目标都会降低一致性。

    那么如何保证视频检测中目标的时序一致性呢?本文认为可以从以下三个方面入手:(1)保证图像检测阶段每帧图像检测的结果尽量精准;(2)对高质量检测窗口进行跟踪并保证跟踪的质量(尽量降低跟踪中出现的漂移现象);(3)前面两步获取到的跟踪结果会存在重叠或者临接的情况,需针对性地进行后处理。

    ITLab-Inha团队提出了基于变换点检测的多目标跟踪算法[11],该算法首先检测出目标,然后对其进行跟踪,并在跟踪过程中对跟踪轨迹点进行分析处理,可以较好地缓解跟踪时的漂移现象,并能在轨迹异常时及时终止跟踪。

    针对视频目标检测的一致性问题,作者所在的MCG-ICT-CAS提出了基于检测和跟踪的目标管道生成方法。

    图片描述

    图3 基于检测/跟踪/检测+跟踪管道示意图

    图3-a表示使用跟踪算法获取到的目标管道(红色包围框),绿色包围框代表目标的Ground Truth。可以看到随着时间推移,跟踪窗口逐渐偏移目标,最后甚至可能丢失目标。MCG-ICT-CAS提出了基于检测的目标管道生成方法,如图3-b所示,基于检测的管道窗口(红色包围框)定位较为准确,但由于目标的运动模糊使检测器出现漏检。从上面分析可知:跟踪算法生成的目标管道召回率较高,但定位不准;而基于检测窗口生成的目标管道目标定位较为精准,但召回率相对前者较低。由于两者存在互补性,所以MCG-ICT-CAS进一步提出了管道融合算法,对检测管道和跟踪管道进行融合,融合重复出现的窗口并且拼接间断的管道。

    如图4所示,相对于单独的检测或者跟踪生成的目标管道,融合后目标管道对应的检测窗口的召回率随着IoU阈值的增加一直保持较高的值,说明了融合后的窗口既能保持较高的窗口召回率,也有较为精准的定位。融合后的目标管道mAP在VID测试集上提升了12.1%。

    图片描述

    图4 不同方法生成目标管道的召回率

    总结

    本文主要结合ILSVRC2016 VID竞赛任务对视频目标检测算法进行介绍。相对于图像目标检测,当前的视频目标检测算法流程比较繁琐且视频自身包含的信息没有被充分挖掘。如何精简视频目标检测流程使其具有实时性,如何进一步挖掘视频包含的丰富信息使其具有更高的检测精度,以及如何保证视频目标检测的一致性或许是视频目标检测接下来要着重解决的问题。

    [1]ILSVRC2016相关报告: 
    http://image-net.org/challenges/ilsvrc+coco2016 
    [2]CUVideo slide下载链接: 
    http://image-net.org/challenges/talks/2016/GBD-Net.pdf 
    [3]NUIST slide下载链接 
    http://image-net.org/challenges/talks/2016/Imagenet%202016%20VID.pptx 
    [4]MCG-ICT-CAS slide下载链接 
    http://image-net.org/challenges/talks/2016/MCG-ICT-CAS-ILSVRC2016-Talk-final.pdf 
    [5]ITLab-Inha slide 下载链接 
    http://image-net.org/challenges/talks/2016/ILSVRC2016_ITLab_for_pdf.pdf 
    [6]He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[J]. arXiv preprint arXiv:1512.03385, 2015. 
    [7]Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[C]//Advances in neural information processing systems. 2015: 91-99. 
    [8]Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556, 2014. 
    [9]Zeng X, Ouyang W, Yang B, et al. Gated bi-directional cnn for object detection[C]//European Conference on Computer Vision. Springer International Publishing, 2016: 354-369. 
    [10]Kang K, Li H, Yan J, et al. T-cnn: Tubelets with convolutional neural networks for object detection from videos[J]. arXiv preprint arXiv:1604.02532, 2016. 
    [11]Lee B, Erdenee E, Jin S, et al. Multi-class Multi-object Tracking Using Changing Point Detection[C]//European Conference on Computer Vision. Springer International Publishing, 2016: 68-83.


    展开全文
  • 雷达原理之动目标检测及测速技术

    千次阅读 多人点赞 2020-05-20 21:45:01
    雷达原理笔记之动目标检测及测速技术 ——南京理工大学许志勇老师的《雷达原理课程》浅析 文章目录雷达原理笔记之动目标检测及测速技术1.杂波对消处理1.1任务1.2一次杂波对消器:1.3二次杂波对消器2多普勒滤波器组...

    雷达原理笔记之动目标检测及测速技术

    ——南京理工大学许志勇老师的《雷达原理课程》浅析


    动目标检测技术主要包括MTI杂波对消处理以及MTD窄带多普勒滤波组滤波处理。本文主要介绍这两个方面的实现原理及过程。

    1.杂波对消处理

    雷达检测目标常常是在强杂波背景中进行,信杂比非常小。这对目标探测很不利。考虑到杂波频谱通常比较稳定,大多在零多普勒附近,由此引出消除固定、低速杂波的滤波器——杂波对消器。

    1.1任务

    • 抑制固定杂波以及低速杂波,进而提取运动目标信息。

    1.2一次杂波对消器:

    y [ n ] = x [ n ] − α x [ n − 1 ] y[n]=x[n]-\alpha x[n-1] y[n]=x[n]αx[n1]

    滤波器频率特性:
    H ( z ) = 1 − α z − 1 H(z)=1-\alpha z^{-1} H(z)=1αz1
    其中 α \alpha α通常取接近1但小于1的常数。目的是保证尽可能多地滤除杂波的同时,处在零多普勒点的运动目标不被抑制完全。对比见下图:
    在这里插入图片描述

    1.3二次杂波对消器

    y [ n ] = x [ n ] − α x [ n − 1 ] + x [ n − 2 ] y[n]=x[n]-\alpha x[n-1]+x[n-2] y[n]=x[n]αx[n1]+x[n2]

    滤波器频率特性:
    H ( z ) = 1 − α z − 1 + z − 2 H(z)=1-\alpha z^{-1}+z^{-2} H(z)=1αz1+z2
    其中 α \alpha α通常取接近2但小于2的常数。目的同样是在保证尽可能多地滤除杂波的同时,处在零多普勒点的运动目标不被抑制完全。对比见下图:

    在这里插入图片描述

    二次杂波对消器是工程中应用最多的杂波处理滤波器。对于低速的杂波消除,频响特性可以向右平移一定的区间,平移的量是杂波运动速度对应的多普勒频移。因此对于低速运动杂波对消的滤波特性为:
    H ( z ) = 1 − α e j β z − 1 + e j 2 β z − 2 H(z)=1-\alpha e^{j\beta}z^{-1}+e^{j2\beta}z^{-2} H(z)=1αejβz1+ej2βz2
    其中 β \beta β为杂波速度对应的多普勒频移

    在这里插入图片描述

    利用二次杂波对消器处理杂波时,选取相参积累脉冲个数为 K = 2 N + 2 K=2^N+2 K=2N+2

    2多普勒滤波器组处理

    一般,将MTI处理后输出的信号进行MTD处理,即窄带滤波处理,得到运动目标的速度信息。

    2.1窄带多普勒滤波器组实现

    利用有N个输出的横向滤波器,经过各脉冲的加权求和实现。

    在这里插入图片描述

    每根延时线延迟时间 T = 1 / P R F T=1/PRF T=1/PRF。每个窄带滤波器输出的频率响应为:
    H k ( f ) = e − j 2 π f t ∑ i = 1 N e − j 2 π ( i − 1 ) [ f T − k / N ] H_k(f)=e^{-j2\pi ft}\sum_{i=1}^{N}e^{-j2\pi (i-1)[fT-k/N]} Hk(f)=ej2πfti=1Nej2π(i1)[fTk/N]
    频响幅度为:
    ∣ H k ( f ) ∣ = s i n [ π N ( f T − k / N ) ] s i n [ π ( f T − k / N ) ] |H_k(f)|=\frac{sin[\pi N(fT-k/N)]}{sin[\pi (fT-k/N)]} Hk(f)=sin[π(fTk/N)]sin[πN(fTk/N)]
    在这里插入图片描述

    上图所示的多普勒滤波器组,对应的发射信号脉冲重复频率为10kHz。其覆盖整个多普勒频谱周期 [ − 5000 H z , 5000 H z ] [-5000Hz,5000Hz] [5000Hz,5000Hz]。这个周期称作是多普勒滤波器组的主周期。此滤波器组长度N=8。每个窄带滤波器中心频率满足:
    f = 5000 k / N ( H z ) ( N = 8 , k = − 4 , − 3 , … 4 ) f=5000k/N(Hz)\quad (N=8,k=-4,-3,…4) f=5000k/N(Hz)(N=8,k=4,3,4)
    若某运动目标的频谱出现在其中一个滤波器中,则该滤波器的中心频率对应的频率即为运动目标 f d f_d fd的估值。

    当然,N取值越大对应的滤波器组间隔越小,运动目标的 f d f_d fd的估值越接近真实值。

    利用多普勒滤波器组实现相参积累,可以将白噪声背景中信号的信噪比提高N倍。

    3.附录

    3.1一次相消器图片matlab代码

    clc
    close all
    clearvars
    a=0.8;
    T=1e-4;%发射信号周期
    f=-1/T:10:1/T;%频率轴
    w=2*pi*f;%角频率
    z=exp(1j*w*T);%映射到z轴
    H=1-a*z.^(-1);%滤波器传输函数表达式(针对静止杂波)
    figure
    subplot(1,2,1)
    plot(f,(abs(H)),'r-','LineWidth',2);
    title('\alpha=0.8')
    xlabel('f/Hz')
    ylabel('|H(f)|')
    subplot(1,2,2)
    a=1;
    H=1-a*z.^(-1);%滤波器传输函数表达式(针对运动杂波)
    plot(f,(abs(H)),'r-','LineWidth',2);
    title('\alpha=1')
    xlabel('f/Hz')
    ylabel('|H(f)|')
    suptitle('一次相消器幅度-频率响应曲线')
    

    3.2二次相消器图片matlab代码

    clc
    close all
    clearvars
    a=1.8;
    T=1e-4;%发射信号周期
    f=-1/T:10:1/T;%频率轴
    w=2*pi*f;%角频率
    z=exp(1j*w*T);%映射到z轴
    H=1-a*z.^(-1)+z.^(-2);%滤波器传输函数表达式(针对静止杂波)
    figure
    subplot(1,2,1)
    plot(f,(abs(H)),'b-','LineWidth',2);
    title('\alpha=1.8')
    xlabel('f/Hz')
    ylabel('|H(f)|')
    subplot(1,2,2)
    a=2;
    H=1-a*z.^(-1)+z.^(-2);%滤波器传输函数表达式(针对运动杂波)
    plot(f,(abs(H)),'b-','LineWidth',2);
    title('\alpha=2')
    xlabel('f/Hz')
    ylabel('|H(f)|')
    suptitle('二次相消器幅度-频率响应曲线')
    

    3.3二次相消器图片(静止、运动杂波)matlab代码

    clc
    close all
    clearvars
    k=1.7;
    T=1e-4;%发射信号周期
    f=-1/T:10:1/T;%频率轴
    w=2*pi*f;%角频率
    z=exp(1j*w*T);%映射到z轴
    H=1-k*z.^(-1)+z.^(-2);%滤波器传输函数表达式(针对静止杂波)
    figure
    subplot(1,2,1)
    plot(f,(abs(H)),'c-','LineWidth',2);
    title('针对静止杂波')
    xlabel('f/Hz')
    ylabel('|H(f)|')
    subplot(1,2,2)
    b=0.2*1/T;%平移量0.2倍的频谱周期
    z1=exp(-1j*b)*z;%加上平移
    H=1-k*z1.^(-1)+z1.^(-2);%滤波器传输函数表达式(针对运动杂波)
    plot(f,(abs(H)),'c-','LineWidth',2);
    title('针对运动杂波')
    xlabel('f/Hz')
    ylabel('|H(f)|')
    suptitle('二次相消器幅度-频率响应曲线')
    

    3.4多普勒滤波器组频响matlab代码

    clc
    close all
    clearvars
    N=8;
    T=1e-4;%发射信号周期
    f=-0.5/T:10:0.5/T;%频率轴
    for k=0:N-1
    H=(sin(pi*N*(f*T-k/N)))./(sin(pi*(f*T-k/N)));%滤波器传输函数表达式(针对静止杂波)
    plot(f,abs(H),'g-','LineWidth',2);
    hold on
    end
    title('窄带多普勒滤波器组')
    xlabel('f/Hz')
    ylabel('|H(f)|')
    
    展开全文
  • 动态图像分析的任务是从图像序列中检测出运动信息,识别与跟踪运动目标和估计三维运动及结构参数.
  • 动目标指示(MTI)与动目标检测(MTD)

    千次阅读 2020-12-22 15:43:31
    动目标指示(MTI)与动目标检测(MTD) 2018-12-10 07:00 多普勒雷达是指利用多普勒效应,测量目标相对于雷达的径向速度分量,或对具有特定径向速度的目标进行提取的雷达。如果雷达发射的是脉冲信号,则称为脉冲多普勒...
  • 目标检测和边界框 动手学深度学习 - Dive into Deep Learning Aston Zhang, Zachary C. Lipton, Mu Li, and Alexander J. Smola https://zh.d2l.ai/ 9.3. 目标检测和边界框 在图像分类任务里,我们假设图像里只有一...
  • 目标检测任务可分为两个关键的子任务:目标分类和目标定位.目标分类任务负责判断输入图像中是否有感兴趣类别的物体出现,输出一系列带分数的标签表明感兴趣类别的物体出现在输入图像的可能性.目标定位任务负责确定...
  • 目标检测简介

    千次阅读 2019-07-06 09:33:32
    文章目录目标检测简介1 引言2 目标检测分类2.1 传统的目标检测算法2.2 基于深度学习的目标检测算法2.2.1 基于two stage的目标检测2.2.2 基于one stage的目标检测3 Faster RCNN目标检测算法及其实现3.1 Faster RCNN...
  • 目标检测算法资源总结

    千次阅读 2019-02-14 19:22:37
    目标检测资源总结 目标检测是什么: 图像分类,检测及分割是计算机视觉领域的三大任务。 图像分类模型是将图像划分为单个类别,通常对应于图像中最突出的物体。 但是现实世界的很多图片通常包含不只一个物体,此时...
  • 基于深度学习的目标检测

    千次阅读 2018-10-16 10:15:13
    目标检测是图像处理和计算机视觉学科的重要分支,对人脸识别、步态识别、人群计数、实例分割等任务起着至关重要的作用。 计算机视觉对于目标运动的分析可以大致分为三个层次: 运动分割,目标检测 --> ...
  • 目标检测算法论文大盘点,当前性能最强的目标检测算法,附论文和源码链接,基于coco,欢迎交流学习
  • 2)目标检测,检测到图片当中的目标的具体位置 3) 目标识别,即是在所有的给定数据中,分类出哪一些sample是目标,哪一些不是。这个仅仅做一下分类任务。 4)目标追踪,这个任务很重要的第一点是目标定位(Target ...
  • (OpenCV+Python)--目标跟踪,基本的运动检测

    万次阅读 热门讨论 2017-06-21 09:26:58
    目标跟踪是对摄像头视频中的移动目标进行定位的过程,有着非常广泛的应用。实时目标跟踪是许多计算机视觉应用的重要任务,如监控、基于感知的用户界面、增强现实、基于对象的视频压缩以及辅助驾驶等。
  • 一种用于目标检测的暴力方法,是从左到右、从上到下滑窗口,利用分类识别目标。使用不同大小和宽高比的窗口。 选择性搜索 为了提升性能,尽量减少窗口数量,于是使用候选区域方法,创建目标检测的感兴趣区域(ROI...
  • 目标检测算法

    千次阅读 2019-01-18 22:27:40
    2012年之前,大部分的研究人员一直都在用传统的算法进行目标检测,大多是基于SIFT、HOG特征提取,然后送入分类器。比如滑动窗口的方法。滑动窗口将不同大小的窗口以不同的步长遍历图片每一个角落...
  • 系统的调试结果证明,这一设计方案能够实时完成小目标检测任务。  1 引 言  小目标检测系统的任务是根据探测器获取的图像序列实时地把小目标从噪声中检测出来,它的实现是目标识别跟踪的前提和基础。小目标...
  • 目标检测简要综述

    万次阅读 2016-05-26 14:06:28
    转自:...目标检测(Object Detection)是计算机视觉领域中一个基础性的研究课题,主要包含两类不同的检测任务:目标实例检测(Instance Object Detec
  • 运动目标检测

    万次阅读 多人点赞 2018-05-10 11:13:49
    运动目标检测 简介 运动目标检测是指在序列图像中检测出变化区域并将运动目标从背景图像中提取出来。通常情况下,目标分类、跟踪和行为理解等后处理过程仅仅考虑图像中对应于运动目标的像素区域,因此运动目标的...
  • 运动车体目标追踪及区域检测

    千次阅读 2018-05-13 17:42:31
    为了跟踪视频中的所有目标,首先要完成的任务是识别视频帧中的那些可能包含移动目标的区域。 基本的检测方法是对帧做差,或考虑“背景”帧与其他帧之间的差异。但这种方法需要通过提前设置“默认”帧作为背景。在...
  • 目标检测问题方法2.1传统目标检测方法到深度学习目标检测方法的变迁2.2算法基本流程2.3传统目标检测方法2.4深度学习目标检测方法2.5传统目标检测方法VS深度学习目标检测方法2.6目标检测应用场景3.传统目标检测算法...
  • 目标检测——概述

    千次阅读 2018-07-08 15:34:15
    学习视觉与深度学习有一年了,想...计算机视觉领域最基本的三个任务是:分类、目标定位、目标检测。分类的目标是要识别出给出一张图像是什么类别标签(在训练集中的所有类别标签中,给出的这张图属于那类标签的可能...
  • 对目前常见的快速目标检测模型进行分析。部分模型将融入在14年三月发布的eagleeye的语法树目标检测模型中,敬请期待。 众所周知sliding window策略是目标检测中的基本检测方式,我们需要遍历图像中的每个点以及以...
  • 目标检测总结笔记

    千次阅读 2021-03-01 20:23:42
    一、目标检测基础: 任务定义 基本检测流程 二、深度目标检测: 两阶段检测器:R-CNN系列,后续相关工作 单阶段监测器:YOLO,SSD,RetinaNet 三、目标检测评价: 评价方式 数据集和比较方法 一、目标检测基础 1、...
  • 目标跟踪和目标检测的区别

    千次阅读 2020-02-25 15:57:56
    目标检测和跟踪的区别在于: 对运动中发生变化的目标的跟踪能力 理想的检测器不行、理想的跟踪器却可以 设想这样一个场景:孙悟空在飞行过程中完成了一次变化(这里假设他变成了一只鸟),但这个变化并不是像西游记...
  • 目标检测与识别算法研究

    千次阅读 2019-05-03 16:20:33
    目标检测与识别是很多计算机视觉任务的基础,通俗地讲,其目的是在目标场景中将目标用一个个框框出来,并且识别出这个框中的物体。即包括加测(where)和识别(what)两个过程。 1.技术难点 目标检测与识别任务...
  • 基于视觉的目标检测与跟踪

    千次阅读 2018-09-19 15:12:08
    目标检测的目的是从不同复杂程度的背景中辨识出运动目标 , 并分离背景 , 从而完成跟踪、识别等后续任务 。 根据所处理的数据对象的不同 , 将目标检测分为基于背景建模和基于前景建模的方法: 基于背景建模的...
  • CVPR2019目标检测方法进展综述

    千次阅读 2019-03-15 23:06:52
    CVPR2019目标检测方法进展综述文章目录:一、二维目标检测的优化方向1、基于目标检测的backbone和特征提取 ...现代大多数目标检测器的框架是 two-stage,其中目标检测被定义为一个多任务学习问题: 1)...
  • 基于视频的目标检测

    万次阅读 多人点赞 2017-07-11 23:05:04
    提出背景 目标检测在图像处理领域有着非常大的占比,过去两年,深度学习在Detection的持续发力,为这个领域带来了变革式的发展:一方面,从 RCNN 到 Fast RCNN,再到 Faster RCNN,不断刷新 mAP;另一方面,SSD、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 104,428
精华内容 41,771
关键字:

动目标检测的任务