大佬学习笔记1:https://blog.csdn.net/Rlin_by/article/details/104474345?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160370104919725222439676%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=160370104919725222439676&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v28-1-104474345.first_rank_ecpm_v3_pc_rank_v2&utm_term=Classifying%2C+Segmenting%2C+and+T&spm=1018.2118.3001.4187
大佬学习笔记2:
https://blog.csdn.net/Rlin_by/article/details/103916047?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param
摘要
本文提出了一种新的计算机视觉任务–视频实例分割。 这项新任务的目标是同时检测、分割和跟踪视频中的实例。 也就是说,首次将图像实例分割问题扩展到视频域。 为了促进这一新任务的研究,我们提出了一个名为YouTube-Vis的大规模基准测试,该基准测试由2883个高分辨率YouTube视频、40个类别的标签集和131k高质量实例掩码组成。
此外,我们还提出了一种新的算法,称为MASK-Track R-CNN。 我们的新方法在Mask R-CNN中引入了一个新的跟踪分支来同时执行检测、分割和跟踪任务。 最后,我们在新的数据集上对所提出的方法和几条强基线进行了评估。 实验结果表明了该算法的优越性,并为以后的改进提供了新的思路。 我们相信,视频实例分割任务将推动社区沿着视频理解的研究方向前进。
! 在Mask-RCNN的基础上加一个在一段video clip中可以propagate instance masks的模块。这样可以参照clip最中间那个instances segmentation 来predict clip-level的instance tracks
1 引言
图像和视频的分割是计算机视觉的基本问题之一。 在图像域,Hariharan等人首先提出了实例分割的任务,即同时检测和分割图像中的对象实例。 [11]从那时起,由于计算机视觉的重要性,它在计算机视觉领域引起了极大的关注。 本文将图像域的实例分割问题推广到视频域。 与图像实例分割不同的是,新问题的目标是同时检测、分割和跟踪视频中的对象实例。 图1展示了一个示例视频,其中包含关于此问题的基本事实注释。 自然,我们将新任务命名为视频实例分割。 这项新任务为需要视频编辑、自动驾驶和增强现实等视频级对象掩码的应用程序开辟了可能性。 据我们所知,这是第一个解决视频实例分割问题的工作。
图1.视频实例分割示例。 这三行分别显示了视频中的图像帧、视频实例注释和视频实例预测。 相同颜色的蒙版属于同一对象实例。
在每个边界框的顶部给出gt和预测对象类别。
这里的label是 类别和gt坐标
视频实例分割比图像实例分割更具挑战性,因为它不仅需要单独帧上的实例分割,而且还需要跨帧跟踪实例。
另一方面,视频内容包含了比单一图像更丰富的信息,如不同目标的运动模式和时间一致性,从而为目标识别和分割提供了更多的线索。 视频实例分割也与几个现有任务相关。
例如,视频对象分割[3、22、23]旨在分割和跟踪视频中的对象,但不需要识别对象类别。 视频对象检测的目的是检测和跟踪对象,但不涉及对象分割。
视频实例分割研究较少的一个潜在原因是缺乏大规模的数据集。 尽管存在用于其他任务的视频分割数据集[7,23,34],但没有一种数据集直接适用于视频实例分割。 给定一个视频,我们的任务需要标记预定义类别集的所有实例的掩码和帧之间的实例标识。 现有的视频分割数据集或者没有详尽的标签[23,34],或者没有对象标识[7]。 因此,本文提出了第一个用于视频实例分割的大规模数据集YouTube-Vis。 新的数据集包含2883个高分辨率的YouTube视频,40个类别的标签集,包括常见的对象,如人、动物和车辆,4883个独特的视频实例和131k高质量的掩膜MASk。 我们的新数据集不仅可以作为视频实例分割任务的基准,也可以作为视频语义分割和视频对象检测等相关任务的基准。
此外,我们还提出了一种新的视频实例分割算法MaskTrack R-CNN。 在Mask R-CNN[12]这一最先进的图像实例分割方法的基础上,在框架中增加了一个新的分支,用于跨视频帧跟踪实例。 预测的实例被存储到外部存储器,并与稍后帧中的对象相匹配。 此外,我们还提出了几条基线,将相关任务中的性能最好的方法应用到我们的任务中,并将它们的性能与我们的新方法进行了比较。 实验结果清楚地表明了新算法的优越性,并为以后的改进提供了思路。
我们总结了本文的贡献如下。
- ·据我们所知,这是第一次正式定义和探索视频实例分割。
- ·我们创建了第一个包含2.9k个视频和40个对象类别的大规模视频实例分割数据集。
- ·提出了一种新的视频实例分割算法,并将其与新数据集上的几条基线进行了比较。
我们论文的其余部分组织如下:
在第2节中,我们简要说明相关任务和我们的新任务之间的区别。
在第三节中,我们正式介绍了视频实例分割问题和评价指标。 我们的新数据集和算法分别在第4节和第5节中详细介绍。
最后,第六节给出了实验结果。
2. Related Work
虽然视频实例分割在文献中很大程度上被忽略了,但相关的几个任务已经得到了很好的研究,如图像实例分割iis、视频对象跟踪vot、视频对象检测vod、视频语义分割vss和视频对象分割vos。
3. Video Instance Segmentation
Problem Definition
在视频实例分割中,我们有一个预定义的类别标签集合C={1,…,K},其中K是类别的数量。 在给定具有T个帧的视频序列的情况下,假设视频中有N个属于类别集合C的对象。 对于每个对象i,设Ci∈C表示其类别标签,且设
表示其在视频上的二进制分割掩码,其中p∈[1,T]和q∈[p,T]表示其开始和结束时间。 假设视频实例分割算法产生H个实例假设。 对于每个hy假设j,它需要具有预测类别标签
、置信度分数
和预测二进制掩码序列
。 置信度分数用于我们的评估指标,稍后将对此进行说明。
我们任务的目标是最小化gt和假设hy 之间的差异。
!:
换言之,一个好的视频实例分割方法应该能够对所有实例具有良好的检测率,可靠地跟踪所有实例,并准确定位实例边界。 应该注意的是,我们的任务和多目标跟踪问题[18]之间有一些细微的不同,因为静止的目标实例被视为gt,并且如果一个目标被遮挡或在场景外持续了几帧,然后在随后的帧中重新出现,则实例标签应该是一致的 (id保持一致)
评估指标。
我们借鉴了图像实例分割中的标准评价指标,并对其进行了修改以适应新的任务。 具体来说,度量标准是平均查准率(AP)和平均查全率(AR)。 AP被定义为精度-召回曲线下的区域。 置信度分数用于绘制曲线。 AP在多个并集交集(IOU)阈值上求平均值。 我们遵循COCO评估,在第5%步使用10个IOU阈值,范围从50%到95%。 AR被定义为在每个视频给定一定数量的分段实例的情况下的最大召回率。 这两个指标都首先按类别进行评估,然后在类别集上求平均值。
我们的IOU计算不同于图像实例分割,因为每个实例包含一个掩码序列。 要计算gt实例
和假设hy实例
之间的IOU.。 我们首先通过填充空mask将p和p˜扩展为1,q和q˜扩展为T。 然后,
提出的IOU计算预测真值分割和gt分割的时空一致性。 如果该算法成功检测到对象遮罩,但无法跨帧跟踪对象,则会获得较低的IOU。
4. YouTube-VIS
由于现有的视频分割数据集都不符合我们的视频实例分割任务的要求,我们需要收集一个新的基准数据集来开发和评估所提出的方法。 新基准需要满足几个标准。 首先,它应该包含常见的实例类别,就像最近的图像实例分割基准[17,11]一样。 其次,它应该包含各种具有挑战性的情况下的视频实例,如遮挡、外观变化、严重的摄像机运动等。最后但并非最不重要的是,标注质量也应该很高,这是现有的一些基于多边形的标注分割数据集中普遍存在的问题。
考虑到上述标准,我们创建了一个新的大型基准,称为YouTube-VIS。 我们不是从头开始构建基准测试,而是利用名为YouTube-Vos[34]的现有数据集。 YouTube-Vos是一个大规模的视频对象分割数据集,由4453个高分辨率YouTube视频和94个常见对象类别组成。 在每个视频中,通过以30fps的帧率每隔5帧手动跟踪对象边界来标记几个对象。 每个视频的长度约为3到6秒。 即使对象掩码在YouTube-Vos中没有被详尽地标记,它仍然是构建我们自己的数据集的一个非常好的资源。 具体地说,我们首先从94个类别标签中选择40个常见的类别标签作为我们的类别集。 然后,我们在YouTube-Vos中采样了大约2.9k的视频,其中包含来自40个类别的对象。 然后,我们要求人工注释员仔细标记属于这些视频中类别集的其他对象。 因此,我们的数据集使用4,883个唯一对象和大约131k对象掩码进行了注释。 表1显示了YouTube-VIS和相关数据集的一些高级统计数据的比较。
我们的数据集中每个类别的唯一对象的分布如图2所示。
5. MaskTrack R-CNN
我们的新的视频实例分割算法是基于Mask R-CNN[12]构建的。 除了原来用于对象分类、边界框回归和遮罩生成的三个分支之外,我们还添加了第四个分支和一个外部存储器来跟踪跨帧的对象实例。 跟踪分支主要利用外观相似性的提示。 此外,我们还提出了一种简单而有效的方法,将其与语义一致性和空间相关性等其他线索相结合,大大提高了跟踪精度。 我们的算法的总体框架如图3所示。作为推论,我们的方法以在线方式按顺序处理视频帧。 接下来,我们首先简要回顾Mask RCNN,然后详细描述我们的新组件。
表1.YouTubeVIS和以前的视频对象分割数据集的高级统计数据。 YTO、YTVOS和YTVIS分别代表YouTubeObjects、YouTubeVOS和YouTube-Vis。
图2.我们的数据集中40个类别的唯一视频对象的数量。
5.1. Mask R-CNN(!!!)
MASK R-CNN是一种高效的图像实例分割方法。 它由两个阶段组成。 在第一阶段,RPN[24]将图像作为输入,并提出一组候选对象边界框。 在第二阶段,通过RoIAlign操作从每个候选盒中提取特征,并由三个专用分支并行进行分类、包围盒回归和二值分割。 更多详情请参考[12]。
5.2. New Tracking Branch–新的跟踪分支
我们的网络采用相同的两阶段程序,具有相同的第一阶段,即在每帧提出一组对象边界框。 在第二阶段,除了三个分支(即分类、包围盒回归、二进制分割)之外,我们还增加了第四个分支,为每个候选盒分配一个实例标签。 假设我们的算法已经从之前的帧中识别出N个实例。 则如果新候选框是先前实例之一,则只能将新候选框分配给N个身份中的一个,或者如果是新实例,则只能将新身份分配给新身份。 我们将问题描述为多类分类。 有N+1个分类数字表示N个已经识别的实例和一个由数字0表示的新的不可见实例。 将标签n分配给候选盒i的概率定义为
其中,fi和fj,j∈[1,N]表示由我们的跟踪分支从候选框和N个识别的实例中提取的新特征。 我们的跟踪分支有两个完全连接的层,它们将RoIAlign提取的要素地图投影到新要素中。 由于之前识别的实例的特征已经计算出来,为了提高效率,我们使用外部内存来存储它们。
交叉熵损失用于外跟踪分支,即LTrack=Σi log(pi(Yi)),其中yi是gt实例标签。
当为新的候选框分配实例标签时,我们会动态更新外部内存。 如果候选框属于现有实例,我们将用代表实例最新状态的新候选特征更新存储在内存中的实例特征。 如果为候选对象分配了标签0,我们将候选对象的特征插入到内存中,并将识别的实例数加1。
我们需要一系列帧来训练新的跟踪分支。 在我们的实现中,我们使用从训练视频中随机采样的一对帧。 随机选取其中一个帧作为参考帧,而选取另一个帧作为查询帧。 在参考帧上,我们不生成任何候选框,而只是从它的地面真实实例区域中提取特征,并将它们保存到我们的外部存储器中。 在查询框上,在第一阶段生成候选框,然后仅将肯定的候选框与存储器中的实例标签匹配,并且有助于跟踪丢失。 肯定候选框是指与任何基本事实对象框至少有70%欠条重叠的框。 我们的整个网络都是端到端培训的,四个分支机构的损失加在一起
5.3. Combining Other Cues(j结合其他线索)
我们的跟踪分支根据外观相似度计算将实例标签分配给候选框的概率。 然而,还可以利用诸如语义一致性、空间相关性和检测置信度等其他信息来确定实例标签。 我们提出了一种简单而有效的方法,将所有这些线索组合在一起,以后处理的方式提高跟踪精度。
图3.我们的方法概述。 在MaskRCNN框架中嵌入跟踪头,以通过与内存队列的交互来促进对象实例的身份跟踪。 内存队列用于维护视频中所有已有的对象实例。
具体地说,对于新的候选盒i,设bi、ci和si表示其从网络的包围盒分支和分类分支获得的包围盒预测、类别标签和检测得分。 类似地,对于具有标签n的已识别实例,设bn和cn表示其与存储器中保存的特征相关联的边界框预测和类别标签。 然后,将用于将标签n分配给候选框i的分数计算为
其中,pi(N)由公式2获得,Iou(bi,bn)计算bi和bn之间的Iou,并且δ(Ci,Cn)是当Ci和Cn相等时等于1,否则等于0的Kronecker增量函数。 α,β和γ是平衡不同线索效应的超参数。 经验上,我们发现得分对α和β的不同值不敏感。
请注意,公式3仅用于测试阶段,不会对我们的网络进行训练。 也有其他可能的方式来整合这些线索,例如,将所有的线索作为输入,并训练一个端到端的网络,这将作为一个有趣的未来研究留给我们。
5.4.Inference 推论逻辑
给定一个新的测试视频,我们的外部内存设置为空,识别的实例数量设置为0。 我们的方法以在线方式按顺序处理每一帧。 在每一帧,我们的网络首先生成一组实例假设。 应用非最大抑制(NMS)(50%重叠阈值)来减少假设。
然后,通过公式3将剩余的假设与来自先前帧的识别实例进行匹配。请注意,我们不在单个帧内匹配假设以避免冲突。 将第一帧的所有实例假设直接视为新实例并保存到外部存储器中。 我们的方法可以将多个假设从一个帧匹配到一个实例标签,这与常识相矛盾。 在处理这种情况时,我们只保留冲突假设中得分v最高的一个假设,而丢弃其他假设。
在处理完所有帧之后,我们的方法产生一组实例假设,每个实例假设包含一个唯一的实例标签,以及一系列的二进制分割、类别标签和检测置信度。 我们使用平均检测置信度作为整个序列的置信度,并使用类别标签的多数投票作为实例的最终类别标签。
6. Experiments
在本节中,我们将MaskTrack R-CNN与我们的新数据集YouTube-VIS上的几个基线进行比较。 我们首先给出了数据集分割的信息,并实现了该方法的实现细节。
数据集。 我们将YouTube-VIS数据集随机分为2238个培训视频、302个验证视频和343个测试视频。 每个验证和测试集保证每个类别有4个以上的实例。 所有的方法都是在训练集上训练的,所有的超参数都是在验证集上交叉验证的。 我们在结果部分展示了验证集和测试集的结果。
实施。 我们网络的主干是基于[12]中的ResNet-50-FPN的网络结构,并且我们使用在MS 5192 COCO[17]上预先训练的公共实现[4]。 我们新的跟踪分支的结构是两个完全相连的层。 第一个完全连接层将7×7×256输入特征映射转换为1-D 1024维。 第二个完全连接的层还将其输入映射到1-D 1024维。 我们的完整模型在12个时期内进行了端到端的训练。 初始学习速率设置为0.05,在周期8和11以10倍衰减。在测试中,我们的模型在NVIDIA 1080Ti GPU上以20FPS的速度运行。 方程3中的超参数α,β和γ被交叉验证并选择为1、2和10,以产生我们的最终结果。 对于训练和评估中的所有方法,我们都将原始帧大小下采样到640×360。
6.1. Baselines
据我们所知,没有任何先前的工作直接适用于我们的新任务。 因此,我们结合相关任务的想法,提出了几条新的基线。 我们结合了两种用于基线的算法。 第一种类型使用在视频的第一帧中检测到的对象掩码作为初始指导,并应用视频对象分割算法来传播掩码。 我们评估了最近的两种视频对象分割算法OSMN[35]和FEELVOS[31]。 第二种类型遵循了在多目标跟踪任务中非常流行的“通过检测进行跟踪”的思想。 这类作品的基本思想是在每一帧上独立使用图像检测方法,然后通过各种跟踪方法将跨帧检测联系起来。 在我们的实验中,所有的基线都被给出了相同的每帧实例分割结果,这些结果是由Mask R-CNN产生的。 Mask R-CNN除了跟踪分支外,与我们的网络具有相同的结构。
为了公平起见,MASK R-CNN在MS Coco上进行了预先训练,然后在YouTube-VIS上进行了12个训练周期的微调。 接下来,我们在实验中描述了不同的跟踪检测方法。
6.2. Main Results
表2列出了比较结果。 值得注意的是,我们的方法MaskTrack R-CNN在所有评估指标下以及在验证和测试集上都获得了最好的结果。 我们的方法与其他逐检测跟踪基线的主要区别在于新的跟踪分支,它与其他分支进行端到端的训练,以便在多个任务之间共享有用的信息。 跟踪与其他任务联合训练的关键是将实例匹配过程描述为一个可微分量,使匹配损失能够正确地反向传播。
接下来,我们分析基线的性能。 对于掩码传播算法,它们有一个天然的缺点,那就是它们不能处理出现在中间帧中的对象。 此外,第一帧中的有缺陷检测直接降低了它们的性能。 即使是最先进的视频对象分割算法FEELVOS在验证集上也只获得了26.9AP。 对于Trackby-Detect算法,IoUTracker+没有利用任何视觉信息,这并不令人惊讶地获得较弱的性能。 OSMN预测先前识别的实例在新帧处的可能位置,并使用预测来匹配实例,这对于处理遮挡和快速运动非常有用。 DeepSORT在IOU匹配和视觉相似度使用两个方面都对IoUTracker+进行了改进,取得了更好的效果。 SeqTracker不依赖于任何视觉信息,并且比其他基线获得了更好的性能。 但是,它是一种离线方法,需要预先计算所有帧的实例分割结果。 包括MaskTrack RCNN在内的其他方法都是在线方法,它们会按顺序生成实例轨迹。
图4显示了我们预测的六个示例视频。
前四行((A)、(B)、©和(D))是成功的预测,最后两行是失败的情况。 在视频(A)中,
6.3 消融实验
6.4. 原始数据
7. Conclusions
- 1.在这项工作中,我们提出了一个新的任务–视频实例分割和一个伴随的数据集–YouTubeVIS。
- 2.新的任务是目标检测、分割和跟踪的组合,这给丰富而复杂的场景带来了特定的挑战。 我们还提出了一种结合单帧实例分割和目标跟踪的新方法,旨在为这一任务提供一些早期的探索。 有几个有趣的未来方向:具有时空特征的目标提出和检测,端到端可训练的匹配标准,以及加入运动信息以更好地识别和身份关联。 我们相信,新的任务和新的算法将为视频理解的研究提供新的研究思路和方向。