[CVPR2017]Online Video Object Segmentation via Convolutional Trident Network
基于三端卷积网络的在线视频目标分割
针对半监督视频目标分割任务,作者采取了和MaskTrace类似的思路,以optical flow为主。 本文亮点在于: 1. 使用共享backbone,三输出的自编码器。 2. 对一些视频中确定性像素建模,分割前后景。 3. 对被遮挡又重新出现的物体使用前后景GMMs损失建模识别,增加正确率。 |
摘要
半监督的在线视频目标分割任务就是给定第一帧的Mask,然后分割后续的帧。我们可以使用optical flow向量传递前面帧的分割效果到后续帧,但是这样会产生错误。因此作者提出了一个三端网络(CTN)——输出分割概率,确定性前景概率和确定性后景概率,然后使用马尔科夫随机场优化得到最终结果。
Proposed Algorithm
算法流程如下:
1. 首先输入当前帧 t 和前一帧 t-1 的分割mask,前一帧的分割mask在optcal flow的指导下预测出 t 帧的大致样子。
2. 同时对 t 帧和传播后的mask进行crop截取path。经过前景后景抽取的mask和crop后的 t 帧输入到网络得到三张概率map。
3. 对概率图进行MRF优化得到第 t 帧的分割效果。
Propagation of Segmentation Labels
对于像素点p=[x, y]T,从I(t-1)到I(t)的label传播为:
其中S(t-1)为前一帧的分割label图。[u, v]为I(t)到I(t-1)的后向optical flow向量。
Network Architecture
编码结构采用VGG-16,224x224x3为输入,由13个卷积层,3个全链接层和5个池化层组成。
分割概率需要精准风格边界,所以需要shortcut结构获取低层特征信息。确定性前景或后景只判断最可能确定的像素点,所以不需要细节信息。前景后景的输入resize到14x14和VGG输出对齐,因为只是估计确定性像素点,所以相当于低通滤波的resize可以这么设计。卷积层加BN+ReLU。
Training Phase
介绍完网络结构,接下来要说怎么训练,因为原始数据集一般都只带有label mask。
给定输入图片(a),根据边距进行裁剪,与图片的形状大小成正比。然后对mask降质(degrade),对masked区域填充[0.5)的随机强度,然后遮盖部分或圆形噪声点(e)。对降质后的图片进行高斯smoothing和阈值化得到两个Ground truth。
推理阶段,截取图片和传播后的H输入网络,H需要多截取50像素点然后resize。
Markov Random Field Optimization
优化目标函数:。
其中前景后景的作用点在于一元能量函数:
Reappearing Object Detection
如何定义不连续的像素点来检测重新出现的目标,作者定义了像素点的不连续性
。假设前一帧的像素点为 p_head ,当前帧为 p, 大于某阈值即为不连续。
对第一帧和第(t-1)帧使用前景和后景的GMMs。那么一个属于重新出现部分的不连续点的前景高斯损失就会低于后景高斯损失。高斯损失定义在公式(3)。
Experimental Results
作者又提出了一个Fast版本。
实验结果图:
[CVPR2017]Online Video Object Segmentation via Convolutional Trident Network的更多相关文章
- 泡泡一分钟:SceneCut: Joint Geometric and Object Segmentation for Indoor Scenes
张宁 SceneCut: Joint Geometric and Object Segmentation for Indoor Scenes "链接:https://pan.ba ...
- 论文笔记:AdaScale: Towards real-time video object detection using adaptive scalingAdaScale
AdaScale: Towards real-time video object detection using adaptive scaling 2019-02-18 16:14:17 Paper: ...
- PaperNotes Instance-Level Salient Object Segmentation
title: PaperNotes Instance-Level Salient Object Segmentation comments: true date: 2017-12-20 13:53:1 ...
- 论文笔记:Capsules for Object Segmentation
Capsules for Object Segmentation 2018-04-16 21:49:14 Introduction: ----
- video object detection
先说一下,我觉得近两年最好的工作吧.其他的,我就不介绍了,因为我懂得少. 微软的jifeng dai的工作. Deep Feature Flow github: https://github.co ...
- Relation-Shape Convolutional Neural Network for Point Cloud Analysis(CVPR 2019)
代码:https://github.com/Yochengliu/Relation-Shape-CNN 文章:https://arxiv.org/abs/1904.07601 作者直播:https:/ ...
- 1 - ImageNet Classification with Deep Convolutional Neural Network (阅读翻译)
ImageNet Classification with Deep Convolutional Neural Network 利用深度卷积神经网络进行ImageNet分类 Abstract We tr ...
- 论文笔记:(CVPR2019)Relation-Shape Convolutional Neural Network for Point Cloud Analysis
目录 摘要 一.引言 二.相关工作 基于视图和体素的方法 点云上的深度学习 相关性学习 三.形状意识表示学习 3.1关系-形状卷积 建模 经典CNN的局限性 变换:从关系中学习 通道提升映射 3.2性 ...
- 论文翻译:2020_FLGCNN: A novel fully convolutional neural network for end-to-end monaural speech enhancement with utterance-based objective functions
论文地址:FLGCNN:一种新颖的全卷积神经网络,用于基于话语的目标函数的端到端单耳语音增强 论文代码:https://github.com/LXP-Never/FLGCCRN(非官方复现) 引用格式 ...
随机推荐
- spring boot打包问题
java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories ...
- WPF中的数据模板(DataTemplate)
原文:WPF中的数据模板(DataTemplate) WPF中的数据模板(DataTemplate) ...
- 对C语言连等式的学习
例子如下 [pgsql@localhost soft]$ cat test1.c #include <stdlib.h> #include <stdio.h> int main ...
- 字符串分割(C++)
一.用strtok函数进行字符串分割 原型: char *strtok(char *str, const char *delim); 功能:分解字符串为一组字符串. 参数说明:str为要分解的字符串, ...
- 让webapi支持CORS,可以跨域访问
1.在NuGet里搜索webapi找到下面的扩展,添加进项目里. 2.在Global.asax中添加一行代码 protected void Application_Start() { //添加CORS ...
- C 计算金额
#include <stdio.h> int main(int argc, char **argv) { \\定义两个变量 a金额 z跟票面 int a=0; int z=0;\\ 输入金 ...
- 关于缺失值(missing value)的处理---机器学习 Imputer
关于缺失值(missing value)的处理 在sklearn的preprocessing包中包含了对数据集中缺失值的处理,主要是应用Imputer类进行处理. 首先需要说明的是,numpy的数组中 ...
- NLP系列-中文分词(基于词典)
中文分词概述 词是最小的能够独立活动的有意义的语言成分,一般分词是自然语言处理的第一项核心技术.英文中每个句子都将词用空格或标点符号分隔开来,而在中文中很难对词的边界进行界定,难以将词划分出来.在汉语 ...
- 以太坊remix IDE安装步骤
Remix 以太坊Solidity IDE搭建与初步使用 以太坊: 因为以太坊为开源社区,虽然东西很优秀,但是组件十分的杂乱,因此首先简单介绍下以太坊的一些常用组件: Geth: Geth是由以太坊基 ...
- cocos2d-x 显示中文字符和解析XML文件 转载
源地址:http://codingnow.cn/cocos2d-x/1038.html 在cocos2d-x中直接显示中文的时候会出现乱码,虽然在实际开发中把字符串直接写在代码里也不是好的做法,但是有 ...