[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(非官方复现) 引用格式 ...
随机推荐
- 标记编码报错ValueError: bad input shape ()
<Python机器学习经典实例>2.9小节中,想自己动手实践汽车特征评估质量,所以需要对数据进行预处理,其中代码有把字符串标记编码为对应的数字,如下代码 input_data = ['vh ...
- java图片识别 [Tesseract-OCR]
以下链接包含,安装包及程序运行需要的jar 包,中文资源包. 中文包使用方式:找到tessdata安装目录(我本地:C:\Program Files (x86)\Tesseract-OCR\tessd ...
- python2.7练习小例子(十四)
14):题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. 程序分析:程序分析:(a>b)?a:b这 ...
- wnds更新为1.0
重画了外观,增加了若干功能,已经上传到码云 https://gitee.com/alan0405/wnds
- 深度学习(deep learning)优化调参细节(trick)
https://blog.csdn.net/h4565445654/article/details/70477979
- Linux安装防火墙
1.安装防火墙 1)yum install iptables(centos) 安装IPtables服务 yum install iptables-services 2)清楚规则iptables -F ...
- 新手入门Sqlalchemy
此文已由作者尤炳棋授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 入职考拉半年多,一直在从事KLQA平台的开发,KLQA平台后端是用基于python的flask框架搭建的.F ...
- 步骤2:JMeter 分布式测试(性能测试大并发、远程启动解决方案)
转载(记录) http://www.cnblogs.com/fengpingfan/p/5583954.html http://www.cnblogs.com/puresoul/p/4844539.h ...
- PHP实现字节数Byte转换为KB、MB、GB、TB
function getFilesize($num) { $p = 0; $format = 'bytes'; if( $num > 0 && $num < 1024 ) ...
- Docker容器-入门级
1.1 容器简介 1.1.1 什么是 Linux 容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件.容器提供的镜像包含了应用的所有依赖项, ...