精华内容
下载资源
问答
  • 三维激光雷达广泛应用在智能车系统中,点云目标分割是智能车环境感知中的关键技术。针对目前三维激光雷达点云目标分割算法实时性和准确性不高的问题,提出一种基于深度图的点云目标快速分割方法。将点云数据表示为深度...
  • 目标分割

    千次阅读 2021-01-19 22:19:35
    目标分割 一、目标分割概述 1.什么是目标分割 2.目标分割算法介绍 算法分类 3.数据集及竞赛 二维数据集 2.5维度数据集 3D数据集 4.算法效果 评价指标 目标分割总结 二、FCN(Fully Convolutional...

    目标分割

    一、目标分割概述

    在这里插入图片描述

    1.什么是目标分割

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.目标分割算法介绍

    在这里插入图片描述

    算法分类

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.数据集及竞赛

    在这里插入图片描述

    二维数据集

    在这里插入图片描述
    在这里插入图片描述

    2.5维度数据集

    在这里插入图片描述

    3D数据集

    在这里插入图片描述

    4.算法效果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    评价指标

    在这里插入图片描述
    在这里插入图片描述

    目标分割总结

    在这里插入图片描述

    二、FCN(Fully Convolutional Networks for Semantic Segmentation )

    1.FCN 背景介绍

    在这里插入图片描述

    2.FCN介绍

    全卷积网络

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    tf.keras.layers.Conv2DTranspose(
        filters, kernel_size, strides=(1, 1), padding='valid', output_padding=None,
        data_format=None, dilation_rate=(1, 1), activation=None, use_bias=True,
        kernel_initializer='glorot_uniform', bias_initializer='zeros',
        kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None,
        kernel_constraint=None, bias_constraint=None, **kwargs
    )
    参数:
    1、filters:整数,输出空间的维数(即卷积中输出过滤器的数量)。
    2、kernel_size:2个整数的整数或元组/列表,指定2D卷积窗口的高度和宽度。可以是单个整数,以为所有空间尺寸指定相同的值。
    4、strides:一个整数或2个整数的元组/列表,指定沿高度和宽度的卷积步幅。可以是单个整数,以为所有空间尺寸指定相同的值。指定任何跨步值!= 1与指定任何dilation_rate值!= 1 不兼容。
    5、padding:"valid"或之一"same"(不区分大小写)。
    6、output_padding:一个整数或2个整数的元组/列表,指定沿输出张量的高度和宽度的填充量。可以是单个整数,以为所有空间尺寸指定相同的值。沿给定尺寸的输出填充量必须小于沿相同尺寸的步幅。如果设置为None(默认),则推断输出形状。
    7、data_format:字符串,channels_last(默认)或之一channels_first。输入中尺寸的顺序。 
    8、channels_last对应于具有形状的输入, (batch, height, width, channels)而channels_first 对应于具有形状的输入 (batch, channels, height, width)。默认为image_data_format在Keras配置文件中找到的值~/.keras/keras.json。如果您从未设置,那么它将是“ channels_last”。
    9、dilation_rate:一个整数或2个整数的元组/列表,指定用于扩张卷积的扩张率。可以是单个整数,以为所有空间尺寸指定相同的值。当前,指定任何dilation_rate值!= 1与指定任何步幅值!= 1不兼容。
    10、activation:要使用的激活功能。如果您未指定任何内容,则不会应用任何激活(即“线性”激活:)a(x) = x。
    11、use_bias:布尔值,层是否使用偏置向量。
    12、kernel_initializer:kernel权重矩阵的初始化程序。
    13、bias_initializer:偏置矢量的初始化器。
    

    在这里插入图片描述

    对于移针法,设原图与FCN所得输出图之间的降采样因子是f,那么对于原图的每个f的区域(不重叠),“shift the input x pixels to the right and y pixels down for every (x,y) ,0 < x,y < f." 把这个f区域对应的output作为此时区域中心点像素对应的output,这样就对每个f的区域得到了f^2个output,也就是每个像素都能对应一个output,所以成为了dense prediction。
    

    在这里插入图片描述

    skip layers实现fusion prediction

    在这里插入图片描述
    在这里插入图片描述

    patch-wise training in FCN

    在这里插入图片描述
    在这里插入图片描述

    训练细节

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    评价指标

    在这里插入图片描述

    3.分割架构效果

    在这里插入图片描述
    在这里插入图片描述

    4.网络结构总结

    在这里插入图片描述

    三、SegNet与U-Net

    1.SegNet背景

    在这里插入图片描述

    2.SegNet介绍

    特点

    在这里插入图片描述

    max-pooling与deconvolution对比

    在这里插入图片描述
    在这里插入图片描述

    训练细节

    在这里插入图片描述

    效果对比

    在这里插入图片描述
    在这里插入图片描述

    3.SegNet总结

    在这里插入图片描述

    4.U-Net-用于生物医学图像分割的卷积网络(冠军)

    医疗影像的特点

    在这里插入图片描述

    5.U-Net 详解

    在这里插入图片描述

    结构

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    训练细节

    在这里插入图片描述

    数据增强

    在这里插入图片描述

    6.U-net实验效果

    在这里插入图片描述
    在这里插入图片描述

    四、DeepLab系列

    在这里插入图片描述

    1.SiamFC介绍

    在这里插入图片描述

    架构

    在这里插入图片描述
    在这里插入图片描述

    网络结构与训练过程

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    测试过程

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    算法特点

    在这里插入图片描述

    算法细节

    在这里插入图片描述

    实验

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    SiamFC的发展

    在这里插入图片描述

    2.SiamRPN

    在这里插入图片描述

    结构

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    训练

    在这里插入图片描述

    实验效果

    在这里插入图片描述
    在这里插入图片描述

    总结

    在这里插入图片描述

    3.SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks (SiamRPN++)

    在这里插入图片描述

    架构

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    实验

    在这里插入图片描述

    五、DeepLab V2 & V3& V3+

    DeepLabv1 在三个方向努力解决,但是问题依然存在:特征分辨率的降低、物体存在多尺度,DCNN的平移不变性。

    1.DeepLab V2

    改变特点

    在这里插入图片描述

    Astrous conv

    在这里插入图片描述

    ASPP

    在这里插入图片描述
    在这里插入图片描述

    CRF

    与DeepLabv1一样

    训练

    在这里插入图片描述

    效果

    在这里插入图片描述

    2.DeepLab V3

    V3的改进

    在这里插入图片描述

    V3工作

    在这里插入图片描述
    在这里插入图片描述

    架构

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    实验

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.V3总结

    在这里插入图片描述

    4.DeepLab v3+

    在这里插入图片描述

    与DeepLab V3对比

    在这里插入图片描述

    结构

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    训练细节

    在这里插入图片描述

    实验效果

    在这里插入图片描述

    5.DeepLab系列总结

    在这里插入图片描述

    六、Mask RCNN

    在这里插入图片描述
    在这里插入图片描述

    1.Mask RCNN介绍

    Mask R-CNN是何凯明的力作,将Object Detection与Semantic Segmentation合在了一起做。Mask R-CNN是一个很多state-of-the-art算法的合成体,并非常巧妙的设计了这些模块的合成接口。

    回顾

    在这里插入图片描述

    Mask R-CNN

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    RoIAlign

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    对比两种方式

    在这里插入图片描述

    主干架构(backbone architecture)的head结构(Mask预测部分)

    在这里插入图片描述
    在这里插入图片描述

    训练细节

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.效果

    目标分割

    在这里插入图片描述
    在这里插入图片描述

    消融实验

    在这里插入图片描述
    在这里插入图片描述

    目标检测结果

    在这里插入图片描述

    Cityscapes上的实验

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    Mask R-CNN人体姿态估计(了解)

    在这里插入图片描述

    展开全文
  • 从图像中目标的相对位置出发,提出了一种目标分割算法。该算法以轮廓跟踪算法为主体,结合投影算法以减少轮廓跟踪算法的运算区域,从而提高分割算法的实时性。以TMS320C50和FPGA芯片为核心器件实现了图像目标分割...
  • 目标分割论文.zip

    2020-04-24 17:42:42
    目标分割论文打包下载: 在计算机视觉领域,图像分割(Object Segmentation)指的是将数字图像细分为多个图像子区域(像素的集合)的过程。
  • 一种基于方差加权信息熵和马尔可夫随机场的红外目标分割算法,李映,毛星锦,本文提出了一种快速准确的红外目标分割算法。该算法首先基于方差加权信息熵对红外图像进行包含目标在内的感兴趣区域提取,然后在
  • 图像目标分割

    2018-08-24 11:30:12
    记录了图像目标分割学习中遇到的一些问题以及Mask RCNN论文的有关内容。探究了Caffe2的安装,Docker的使用以及Docker配置安装Detectron。最后采用了TensorFlow版的Mask R-CNN的实现来开展工作,并将分割结果保存为...
  • 在这个专题中个,我们主要讨论怎么去分割图像,以及检测图像中的目标。在这里,我们以分割车牌字符为例子进行讨论。 我们可以分为三步来实现: (1) 对图像进行预处理 (2) 找到轮廓 (3) 计算轮廓的最小矩形,...
  • 视频目标分割总结

    千次阅读 多人点赞 2020-07-06 14:59:25
    视频目标分割分类 最近听了阿里巴巴王文冠老师“基于深度学习技术的视频分割”的讲座,我感到受益匪浅,学习到了许多关于视频目标分割(VOS)的知识,在这里进行整理总结。关于视频目标分割的分类,有的综述文章分为无...

    视频目标分割分类

    最近听了阿里巴巴王文冠老师“基于深度学习技术的视频分割”的讲座(可能需要报名比赛才能观看),我感到受益匪浅,学习到了许多关于视频目标分割(VOS)的知识,在这里进行整理总结。关于视频目标分割的分类,有的综述文章分为无监督VOS,半监督VOS,交互式VOS,弱监督VOS等,这里将视频目标分割任务分类成无监督VOS,半监督VOS,交互式VOS,背景移除或运动物体分割,视频语义分割/实例分割。

    1.无监督VOS:在测试阶段,不要求任何用户输入,通常是自动分割视频中最关键,最显著的目标。
    2.半监督VOS:在测试阶段,用户提供第一帧或者关键帧的目标掩膜(mask),然后分割剩下帧中的目标。
    3.交互式VOS:在测试阶段,依靠用户的迭代交互来分割感兴趣的对象,目的是获取高精度的分割结果,需要大量的人力参与。
    4.背景移除或运动目标提取:通常假定摄像机静止或运动缓慢,然后自动分割出运动的前景目标。
    5.视频语义分割/实例分割:是图像语义分割/实例分割的拓展,不仅要求分割出视频中感兴趣目标,还要根据语义或者实例关系区分不同目标。

    值得注意的是,无监督VOS和半监督VOS的区分并不是根据监督学习和无监督学习的分类方式区分,这两者都可以利用有标签的视频数据进行训练,区分是根据测试阶段的用户参与方式来进行的,并且这两者关注的都是分割前景和背景,并不关注分割目标的类别信息。此外,单独把背景移除提出来,应该是想强调这里指的是基于深度学习的背景移除方法。这篇博客简单介绍各个方向的传统方法,着重介绍基于深度学习的视频目标分割。

    解决思路总结

    关于解决思路,这里主要讨论的是无监督VOS,半监督VOS和视频实例分割的基本方法。

    • 无监督VOS
      1.背景消除:早期视频分割方法主要是基于几何且局限于特定的运动背景。其思路是模拟每个像素的背景外观,并将快速变化的像素视为前景,图像和背景模型中的任何显著变化都代表一个移动的物体,利用连通分量算法估计与目标相对应的连通区域。基于混合高斯分布(GMM)背景/前景分割算法对视频帧上的任意坐标的像素值进行时间方向的统计,为每个坐标分配若干个高斯概率密度函数作为该位置的像素值概率分布模型,是十分经典的背景建模方法。
      在这里插入图片描述
      2.点轨迹:为了利用视频中的运动信息,这些方法首先生成点轨迹,然后使用轨迹的匹配矩阵对轨迹进行聚类,最后利用聚类轨迹作为先验信息得到视频目标分割结果。典型思路是基于光流的方法,光流是一个密集的位移向量场,反映了微小时间间隔内由于运动形成的图像变化,可以确定图像上点的运动方向和运动速率,通常用于获取视频目标的时空运动信息。
      在这里插入图片描述
      3.过分割:一些过分割方法基于颜色、亮度、光流或纹理相似性对像素进行分组,并生成时空分割图,绝大部分方法都是基于图来完成无监督视频目标分割。
      在这里插入图片描述
      4.”类似物体“分割:主要思想是通过”类似物体“区域(如显著性目标和目标候选区域)的学习模型,为视频的每一帧生成一个前景目标假设。在这里插入图片描述
      5.基于深度学习的方法:早期主要的视频目标分割方法首先通过互补卷积网络产生显著性目标,然后在视频中传播视频目标和基于超像素的邻域可逆流。Pyramid dilated deeper ConvLSTM for video salient object detection利用金字塔扩张(空洞)卷积结构提取多尺度空间特征,ConvLSTM模块提取不同尺度序列特征,然后concat经全卷积层输出saliency maps,在获得视频序列的显著性概率图的基础上,把分割任务视为能量函数最小化问题,根据基于fully connected CRF model(全连接条件随机场模型)的能量函数,以后处理的形式完成目标分割。
      在这里插入图片描述
      总之,背景消除和点轨迹方法简单地认为视频中待分割的目标是运动的前景,容易造成分割结果的碎片化,无法完整友好地表达物体级别信息。此外,个人感觉无监督VOS与针对视频序列的显著性目标检测非常相似,无监督VOS关注的是为视频的每一帧输出前景/背景的二值mask,显著性目标检测关心的是输出显著性概率图(saliency maps),当然这里认为两者考虑的都是不区分语义或实例的。查阅文献后发现,显著性目标估计可以为无监督VOS提供有意义的提示,视频显著性目标检测可以作为无监督VOS的预处理步骤。
    • 半监督VOS
      1.基于时空图的方法:早期方法通常是用手工设计的特征来解决一些时空图,包括外观、边界和光流,并在整个视频中传播前景区域。这些方法通常依赖于两个重要的提示:图结构的目标表达和时空连接关系。
      在这里插入图片描述
      2.基于卷积神经网络的方法
      (1) 基于运动(传播)的方法:一般而言,该类方法利用了目标运动的时间相干性,阐明了掩模(mask)从第一帧或给定注释帧到后续帧的传播问题。MaskTrack将前一帧的掩膜分割结果和当前帧的图像结合在一起,形成四通道输入引导像素级分类网络分割感兴趣目标,为了提高模型的鲁棒性,还可以对前一帧的mask进行数据增强。然而基于一帧一帧传播的思路,当遇到待分割的感兴趣目标在视频序列中逐渐完全消失,随后又逐渐重新出现的情况时,因为目标消失帧没有办法获取mask,导致后续帧没有前一帧分割结果作为输入,会直接出现分割失败的现象,因此效果不是很优。
      在这里插入图片描述
      (2) 基于检测(在线学习)的方法:半监督VOS任务提供了第一帧目标的详细标注,有必要充分利用第一帧mask提供的信息。有些方法不使用时间信息,而是学习一个外观模型,在每一帧中对目标进行像素级检测和分割。在测试序列时,将第一帧图片和标注mask进行对应的数据增强,训练集上已经训练好的模型在这个扩充的第一帧上进行微调,能够更好的利用测试视频序列或者视频实例的特定信息,缺点就是十分耗时。
      在这里插入图片描述
      (3) 基于匹配的方法:首先对模板帧和视频中当前帧的特征进行像素级匹配,然后直接从匹配结果中对当前帧的每个像素进行分割。早期的想法如下图所示,给定视频的第一帧和当前帧,根据第一帧目标标注可以生成感兴趣目标的模板,而当前帧则可以生成很多候选目标,紧接着可以在候选目标和模板之间进行匹配,合适则分配id并分割,不合适则扔掉。这样的思路每次都是当前帧和第一帧目标进行匹配,不会有逐帧传播的累计误差,且会有更好的鲁棒性,受遮挡的影响会降低,即使中间一帧分割失败,也不会干扰其他帧,缺点是没有充分利用时空信息。
      在这里插入图片描述

    随着时间的推移,出现了更多优秀的工作。RANet结合了基于传播和基于匹配的思路,利用孪生网络encoder结构获取第一帧的模板特征和当前帧特征,通过Correlation操作获取相似性特征图,根据第一帧前景和背景,经过RAM模块筛选前景和背景特征,再与预测的前一帧mask合并,通过decoder结构获取最终分割mask。
    在这里插入图片描述
    基于匹配的STM方法首先通过一个encoder结构将第一帧和当前帧之前的所有帧及相应的mask生成对应的特征,并且concat在一起形成memory,对于当前帧也通过encoder结构生成特征,通过当前帧特征在memory中查询最相关,最有用的信息,整合到当前帧的特征中,再通过decoder结构获得分割结果。这种基于memory的方法可以利用之前分割的所有帧信息,共同帮助分割当前帧。
    在这里插入图片描述
    State-Aware Tracker融合视频目标跟踪和分割为一个真正统一的pipeline,其中跟踪和分割之间没有约束限制,两个任务紧密合作,相互促进。其思想是将感兴趣目标视作一个轨迹,根据上一帧跟踪分支预测出的bbox作为当前帧的搜索区域,与第一帧目标区域通过相似性encoder,结合saliency encoder分支联合分割当前帧,并设计一个评估器来判断当前帧分割的mask状态,根据mask的评估状态,一个分支反馈更新用于分割当前帧的全局特征,从而优化分割结果;另一个分支则是用来确定送入下一帧的搜索区域。跟踪结果好了,则有助于确定正确的搜索区域,促进了分割;分割结果好了,则有助于确定mask的分割状态,促进了跟踪。
    在这里插入图片描述

    • 视频实例分割
      1.半监督视频实例分割:针对需要区分不同实例的半监督VOS任务,表明视频中需要分割的目标是多个,由于基于匹配的方法自带有Re-ID的能力,一种最直观的思路就是将单目标的半监督VOS重复多次,即针对每一个目标都运行一次视频目标分割。
      2.无监督视频实例分割:不仅需要区分物体和背景,还要对不同的前景实例进行区分。这个研究任务的难点包括了半监督VOS的所有挑战,如匹配机制(ReID),在线学习以及视频处理的常见挑战(遮挡,运动模糊,形状变化等),还包括目标实例的确定。一种基本思想是在第一帧上分割目标级别的proposals,然后针对每一个proposal运行半监督VOS,这种思路是可行的,但是第一帧分割的目标mask质量决定了性能的上限。另一种思路如下图所示,有点类似于打比赛经常采取的模型stacking形式,一个分支(Mask R-CNN)用于生成每一帧的目标分割proposals,另一个分支(STM)根据Mask R-CNN生成的第一帧mask运行半监督VOS,然后根据两个分支产生的视频目标mask进行基于IOU的匹配,匹配上则根据规则筛选效果好的,匹配不上则认为Mask R-CNN分割了新目标,单独处理。
      在这里插入图片描述

    未来发展方向

    1. 当前主要挑战:
      (1)半监督VOS(实例):如何快速让模型适应测试视频序列(在线学习);如何更好利用局部和全局信息;更好的准确率-速度平衡;一次性前向传播预测出多个实例分割结果;提高时间稳定性。
      (2)无监督VOS(实例):所有半监督VOS挑战;有效的,端到端的解决方案。
    2. 潜在发展方向:
      (1融合相关领域:多/单目标跟踪(MOT/SOT),视频目标检测(VOD),视频语义分割,Re-ID,度量学习等/
      (2)多个任务统一解决方案:统一解决无监督VOS和半监督VOS的框架;统一解决VOS, VOD, MOT的框架等。
      (3)更有效的学习范式:监督学习+自监督学习(从无标注的视频中学习)。

    最后老师给出的关于参加竞赛的建议:

    1. 找到一个合理的解决方案,然后进行迭代式开发,避免一次性加入太多模块
    2. 重视数据,分析数据特点,进行可视化观察,特别是观察效果差的数据,分析原因。
    3. 好的Backbone
    4. 数据增强(人工合成等)
    5. 泛化性能(交叉验证等策略)
    6. 模型stacking,综合多个方法/策略的效果。

    参考文献

    [1] Chen, X., Li, Z., Yuan, Y., Yu, G., Shen, J., & Qi, D. (2020). State-Aware Tracker for Real-Time Video Object Segmentation. ArXiv, abs/2003.00482.
    [2] Yao, R., Lin, G., Xia, S., Zhao, J., & Zhou, Y. (2019). Video Object Segmentation and Tracking: A Survey. ACM Transactions on Intelligent Systems and Technology (TIST).
    [3] Yeong Jun Koh, Young-Yoon Lee, and Chang-Su Kim. 2018. Sequential Clique Optimization for Video Object Segmentation. In The European Conference on Computer Vision (ECCV).
    [4] Ignas Budvytis, Vijay Badrinarayanan, and Roberto Cipolla. 2012. MoT-Mixture of Trees Probabilistic Graphical Model for Video Segmentation… In BMVC, Vol. 1. Citeseer, 7.
    [5] ZiqinWang, Jun Xu, Li Liu, Fan Zhu, and Ling Shao. Ranet: Ranking attention network for fast video object segmentation. arXiv preprint arXiv:1908.06647, 2019.
    [6] S. Caelles, K. . Maninis, J. Pont-Tuset, L. Leal-TaixÃl, D. Cremers, and L. V. Gool. 2017. One-Shot Video Object
    Segmentation. In 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 5320–5329.
    [7] Seoung Wug Oh, Joon-Young Lee, Ning Xu, and Seon Joo Kim. Video object segmentation using space-time memory networks. In Proceedings of the IEEE International Conference on Computer Vision, pages 9226–9235, 2019.
    [8] Hongmei Song, Wenguan Wang, Sanyuan Zhao, Jianbing Shen, and Kin-Man Lam. 2018. Pyramid dilated deeper ConvLSTM for video salient object detection. In Proceedings of the European Conference on Computer Vision (ECCV). 715–731.

    展开全文
  • 区分目标区域与背景区域,去除无用区域,降低计算冗余度
  • 1)目标分割,任务是把目标对应的部分分割出来。 2)目标检测,检测到图片当中的目标的具体位置 3) 目标识别,即是在所有的给定数据中,分类出哪一些sample是目标,哪一些不是。这个仅仅做一下分类任务。 4)目标...

    1)目标分割,任务是把目标对应的部分分割出来。
    2)目标检测,检测到图片当中的目标的具体位置
    3) 目标识别,即是在所有的给定数据中,分类出哪一些sample是目标,哪一些不是。这个仅仅做一下分类任务。
    4)目标追踪,这个任务很重要的第一点是目标定位(Target Locating)。而且这个任务设计到的数据一般具有时间序列(Temporal Data)。常见的情况是首先Target被Identify以后,算法或者系统需要在接下来时序的数据中,快速并高效地对给定目标进行再定位。任务需要区别类似目标,需要避免不要的重复计算,充分利用好时序相关性(Temporal Correlation),并且需要对一些简单的变化Robust,必须旋转,遮盖,缩小放大,Motion Blur之类的线性或者非线性变化。
    目标跟踪:追踪目标运动轨迹。这个仅仅应用在视频当中。
    粗略理解:

    • 目标分割:像素级的对前景与背景进行分类,将背景剔除;
    • 目标检测:定位目标,确定目标位置及大小;
    • 目标识别:定性目标,确定目标是什么;
    • 目标跟踪:追踪目标运动轨迹。

    典型的技术路线是:目标分割 ——>目标检测 ——>目标识别 ——>目标跟踪

    举个栗子,如:需要对视频中的小明进行跟踪,处理过程将经历如下过程:
    (1)首先,采集第一帧视频图像,因为人脸部的肤色偏黄,因此可以通过颜色特征将人脸与背景分割出来(目标分割);
    (2)分割出来后的图像有可能不仅仅包含人脸,可能还有部分环境中颜色也偏黄的物体,此时可以通过一定的形状特征将图像中所有的人脸准确找出来,确定其位置及范围(目标检测);
    (3)接下来需将图像中的所有人脸与小明的人脸特征进行对比,找到匹配度最好的,从而确定哪个是小明(目标识别);
    (4)之后的每一帧就不需要像第一帧那样在全图中对小明进行检测,而是可以根据小明的运动轨迹建立运动模型,通过模型对下一帧小明的位置进行预测,从而提升跟踪的效率(目标跟踪)

    OT与OD到底啥区别

    最大的区别我觉得OT只给了第一帧的GT
    目标跟踪不需要目标识别,可以根据运动特征来进行跟踪,而无需确切知道跟踪的是什么,所以如果利用视频画面之间(帧之间)的临时关系,单纯的目标跟踪可以很高效的实现。

    基于OD的目标跟踪算法计算非常昂贵,需要对每帧画面进行检测,才能得到目标的运动轨迹。而且,只能追踪已知的目标,因为目标检测算法就只能实现已知类别的定位识别。

    因此,OD要求定位+分类。而目标跟踪,分类只是一个可选项,根据具体问题而定,我们可以完全不在乎跟踪的目标是什么,只在乎它的运动特征。实际中,目标检测可以通过目标跟踪来加速,然后再间隔一些帧进行分类(好几帧进行一次分类)。在一个慢点的线程上寻找目标并锁定,然后在快的线程上进行目标跟踪,运行更快。

    展开全文
  • 运动目标分割

    千次阅读 2019-06-16 13:07:46
    主要为帧差法、背景差法对于提取运动目标的实现以及分析。

    说明

    主要为帧差法背景差法对于提取运动目标的实现以及分析。

    实验内容

    1. 利用MATLAB读取图像的基本命令imread和读取视频的基本命令aviread或mmreader;
    2. 调用各种运动目标检测函数进行运动目标分割;
    3. 利用MATLAB形态学算子调整分割结果;
    4. 了解形态学滤波中结构元strel命令的调用格式,通过改变结构元形状和大小,比较运动目标检测效果。

    实验步骤

    帧差法

    tic;
    clear all
    mov = VideoReader('raw.avi');  %读取视频
    x = read(mov,2);                  %把第二帧赋给x
    fr_size = size(x);               %帧大小
    width = fr_size(2);
    height = fr_size(1);
    c =zeros(height, width);        %生成height*width大小的0矩阵
    for k=1:mov.NumberOfFrames-2   %遍历每一帧
        x = read(mov,k);
        y = read(mov,k+2);         %n帧差分。空洞:运动太慢。重影:运动太快。
        m = rgb2gray(x);
        n = rgb2gray(y);
        q=im2double(n);
        w=im2double(m);
        c = q-w ;
        t=50;                          %阈值
        t=t/255;                      %转化为double型数据
        id = c > t;
        cc =zeros(fr_size);
        cc(id) = 1;
        subplot(2,2,1),imshow(m),title('当前帧'),
        subplot(2,2,2),imshow(n),title('后一帧'),
        subplot(2,2,3),imshow(c),title('两帧相减'),
        subplot(2,2,4),imshow(cc),title('阈值后');
        %Mov1(k) = im2frame(uint8(cc),gray); % put frames into movie
        %imwrite(cc,['zcf',sprintf('%04d',mov.NumberOfFrames),'.jpg']);
    end
    
    • 算法分析
      帧差法是基于运动图像序列中相邻帧图像具有较强的相关性而提出的检测方法,不同帧对应的像素点相减,判断灰度差的绝对值,当绝对值超过一定阈值时,即可判断为运动目标,从而实现目标的检测功能。
      如果物体灰度分布均匀,这种方法会造成目标重叠部分形成较大孔洞,严重时造成目标分割不连通,从而检测不到目标。目标运动太慢时会产生孔洞,而运动太快则会出现重影。两帧差分法适用于目标较为缓慢的场景。
      该方法的优点是算法实现简单,运行速度快,环境自适应性强,对场景光线变化不敏感;缺点是会产生孔洞现象与重影现象,不能提取出运动对象的完整区域,仅能提取轮廓,算法效果严重依赖所选取的帧间时间间隔和分割阈值。

    背景差法

    背景差法的原理是将当前帧与背景图像进行差分来得到运动目标区域。通过不含运动的的帧来获取背景图像。常用的背景构建方法有时间平均法、单高斯法、混合高斯法等。以下为简单的背景差法流程图:
    在这里插入图片描述
    背景差法计算量小,但受光线、天气等外界条件影响较大。

    时间平均法

    clear all;
    N = 40;                      % N帧用于训练高斯模型,构造背景图像
    h = fspecial('gaussian');
    imagedata = filter2(h,rgb2gray(imread('rawpic/raw0001.jpg'))); 
    mu = imagedata;
    [m,n] = size(mu);
    pro = zeros(m,n);
    for i=1:N                                                     
        filename = sprintf('rawpic/raw%04d.jpg',i);      
        tmp =filter2(h,rgb2gray(imread(filename)));
        mu = mu+tmp;
    end;
    mu=mu./N;
    imwrite(uint8(mu),'sjpj.jpg');
    %figure(1),imshow(uint8(mu));
    for num = N+1:500                              % 测试
        filename = sprintf('rawpic/raw%04d.jpg',num);
        imagedata = filter2(h,rgb2gray(imread(filename)));
        t=50;                                         % 阈值,可调节
        pro = abs(imagedata-mu)> t;
        imshow(pro),title(sprintf('frame number %d',floor(num)));
        mu = (mu*(num-1) +imagedata)/num; 
        %imwrite(pro,['sjpj',sprintf('%04d',num),'.jpg']);
        %Mov1(num-N) = im2frame(uint8(255*pro),gray); % put frames into movie
    end;
    
    • 算法分析
      在本次实验中,时间平均法将视频的前40帧图像用来构建背景,累加后除以总帧数得到背景图像帧。40帧以后的图像逐一与背景图像帧做差,大于阈值则识别为运动目标。同时,随后续帧的处理更新均值。时间平均法算法简单,速度快,对环境光照变化和动态背景变化比较敏感。

    单高斯法

    clear all;
    N = 40;
    h = fspecial('gaussian');
    imagedata = filter2(h,rgb2gray(imread('rawpic/raw0001.jpg')));
    mu = imagedata;
    [m,n] = size(mu);
    cov = zeros(m,n);
    pro = zeros(m,n);
    sav_mu = mu;
    a = 0.01;
    for i=1:N
        filename = sprintf('rawpic/raw%04d.jpg',i); 
        tmp =filter2(h,rgb2gray(imread(filename)));
        mu = (tmp+(i-1)*sav_mu)./i;
        cov = ((tmp-mu).^2+(i-1)*cov)./(i)+(mu-sav_mu).^2;
        sav_mu = mu;
    end;
    cov = cov+0.001;                         %防止cov为0
    imwrite(uint8(mu),'sjpj.jpg');
     
    for num = N+1:500
        filename = sprintf('rawpic/raw%04d.jpg',num);
        imagedata = double(filter2(h,rgb2gray(imread(filename))));
        T=1e-4;                                % 阈值,可调节
        pro = (2*pi)^(-1/2)*exp(-0.5*(imagedata-mu).^2./cov)./sqrt(cov)< T;
    %% update covariance and mean
    mu = mu +a*(1-pro).*(imagedata-mu); 
    cov = cov + a*(1-pro).*((imagedata-mu).^2-cov);
    %D1=medfilt2(pro,[5,5]);
    %K=filter2(fspecial('average',3),pro)/255;
    %se=strel('disk',1); %
    %A=imdilate(D1,se); 
    %fc=imopen(pro,se);
    %B = imfill(fc, 'holes');
    imshow(mat2gray(pro)),title(sprintf('frame number %d',floor(num)));
    %imwrite(pro,['sjpj',sprintf('%04d',num),'.jpg']);
    pause(0.000001);
    end;
    
    • 算法分析
      单高斯模型适用于背景单一不变的场合,混合高斯模型等方法是对单高斯模型的扩展,但单高斯模型最为简便,而且采取参数迭代方式,不需要每次都进行建模。
      单高斯模型将图像中每一个像素点的灰度值看成是一个随机过程X,并假设该点的某一像素灰度值出现的概率服从高斯分布,用数学形式表示为:
      在这里插入图片描述
      式中,σ²为代码中的cov,x为代码中imagedata,μ为代码中的mu。与(2*pi)^(-1/2) exp(-0.5(imagedata-mu).^2./cov)./sqrt(cov)对应,此数值小于阈值T则为运动目标。随帧的处理更新方差和均值,式中a称为更新参数,一般情况下,不更新。

    实验结果

    • 帧差法
      在这里插入图片描述
    • 时间平均法
      在这里插入图片描述
    • 单高斯法
      在这里插入图片描述
    展开全文
  • 针对压缩域视频的运动对象分割在复杂背景下分割精度不高的问题,提出一种基于最新压缩编码HEVC的...通过实验证明,该运动分割方法能够达到有效并可靠的分割效果,尤其对于多目标运动的视频分割效果优于其他比较的方法。
  • 目标分割方法是工业自动化、在线产品检验、生产过程控制等领域的关键技术之一。基于特征匹配策略,研究了如何增强纹理特征的区分能力以及如何快速分割特定的目标。在纹理特征提取方面,首先通过形态学处理获取图像...
  • 为了减少图像目标分割过程中噪声、阴影、背景复杂等因素的影响,将形状先验引入图割图像分割框架中,提出一种结合形状先验的图割目标分割方法。该方法给出了形状先验的定义,并将其转化为势函数的形式加入到能量函数...
  • 针对传统的光流法和背景差法所分割的运动目标存在区域丢失和内部孔洞的缺点,本文提出一种基于流场纹理表达及物体表面粗糙度测量的运动目标分割方法,即通过计算相邻帧间的光流将目标运动表达成流体的流动,并利用...
  • 点击上方“3D视觉工坊”,选择“星标”干货第一时间送达今天的内容关注于全景分割(Panoptic Segmentation)和视频目标分割(Video Object Segmentati...
  • 计算机视觉的任务很多,有图像分类、目标检测、语义分割、实例分割和全景分割等,那它们的区别是什么呢? object recognition(目标识别) 给定一幅图像 检测到图像中所有的目标(类别受限于训练集中的物体类别) ...
  • 目标分割(一)FCN讲解

    万次阅读 2020-02-22 21:05:33
    目标分割FCN0、 ABSTRACT1、 INTRODUCTION2、 稠密预测调整分类器3、 去卷积--上采样4、 跳跃结构Reference                 &...
  • Unet目标分割

    千次阅读 2019-07-27 22:52:48
    Unet代码试运行 本文使用的工程代码来源: ...知乎的另一个工程:利用Unet进行人体分割,宋天中: https://zhuanlan.zhihu.com/p/35791509 制作UNet数据集 https://blog.csdn.net/awyyauqpmy/article...
  • 图像边缘检测及图像区域分割目标检测、目标识别
  • 边检、分割.matlab编写的程序,可用于点目标分割与信息计算。
  • 目标分割(十)Mask R-CNN讲解

    千次阅读 2020-03-02 23:31:12
    目标分割Mask R-CNN ABSTRACT 1. INTRODUCTION                        原文:Mask R-CNN 翻译:...
  • 非常有用的图像处理资料,包括基于颜色聚类和背景差分法的目标分割和跟踪。
  • 目标分割,应该是Target Segmentation,任务是把目标对应的部分分割出来。 目标检测,应该是Target Detection。检测到图片当中的目标的具体位置 目标识别,应该是Target Recognition。即是在所有的给定数据中,...
  • 用于分割任何图像,包括且不限于用于分割任何图像的目标检测和识别
  • 目标分割——基于目标区域(一)

    千次阅读 2017-07-14 17:42:34
    目标分割将感兴趣的区域从图像中分离并提取出来,也可看做基元检测的一种推广。两类方法可用于目标分割: 基于目标轮廓 考虑目标与图像中 其他部分的界限,如果能确定目标轮廓,就可将目标与图像的其他部分分割开。...
  • 目标分割——基于目标轮廓

    千次阅读 2017-07-11 19:52:00
    目标分割将感兴趣的区域从图像中分离并提取出来,也可看做基元检测的一种推广。两类方法可用于目标分割: 基于目标轮廓 考虑目标与图像中 其他部分的界限,如果能确定目标轮廓,就可将目标与图像的其他部分分割开。...
  • 静态图像分割,阈值分割,ostu法,边缘检测,分水岭算法,边界跟踪等多种算法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 268,057
精华内容 107,222
关键字:

目标分割