光流

PReMVOS论文理解

ⅰ亾dé卋堺 提交于 2020-02-28 22:00:13
文章目录 本文创新点\贡献 方法 Image Augmentation Proposal Generation Proposal Refinement Mask Propagation using Optical Flow ReID Embedding Vectors Proposal Merging 实验结果 总结 本文创新点\贡献 效果最好,但也最麻烦,用了很多的预训练操作 方法 使用目标检测网络来代替检测ROI,以此来获得一个粗到的目标推荐,然后只在裁剪并resize的bbox上做分割,再用聚合算法结合物体分数,光流,Re-ID特征嵌入向量,空间约束,对第一帧的每个物体进行追踪,最终根据追踪分数来做mask Image Augmentation 每个video使用第一帧的ground truth生成2500个增强的图片,使用的 Lucid Data Dreaming方法,只是生成单个图片,将物体裁剪出来,随机加上背景,然后微调这些数据,效果会更好 Proposal Generation 使用Mask RCNN来生成粗糙的目标推荐,将网络设置成了类别未知,将N类别换成了1类别,通过将所有的类别映射到一个单一的前景类别来检测一般的物体 只要识别有没有就行了,不管分类,应该能更好的抓取物体 从COCO和Mapillary上得到预训练权重ImageNet

FlowNet2.0 安装指南

烂漫一生 提交于 2020-02-24 22:09:01
 \(安装环境: \color{red}{Ubuntu16.04 + CUDA8.0 + cuDNN5.0}\) 安装 CUDA CUDA 安装准备 CUDA 官方安装文档 首先查看是否电脑具有支持 CUDA 的 GPU lspci | grep -i nvidia 查看 Linux 版本信息与 gcc 版本 uname -m && cat /etc/*release && gcc --version 下载 下载 CUDA-8.0 , 注意选取 deb(local) 版本, 如下图  安装 CUDA sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb sudo apt-key add /var/cuda-repo-8-0-local-ga2/7fa2af80.pub sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub sudo apt-get update sudo apt-get install cuda 环境设置 在 .bashrc 中加入 export PATH=/usr/local/cuda-8.0/bin$

DeepIM: Deep Iterative Matching for 6D Pose Estimation论文理解

我怕爱的太早我们不能终老 提交于 2020-02-08 04:16:36
文章目录 解决什么问题 本文创新点\贡献 前人方法 本文IDEA来源 方法 方法概述 High-resolution Zoom In 目的 步骤 Untangled Transformation Representation 目的 分析 旋转 位移 优点 数据准备 训练 网络 参数设置 训练和测试 loss Point Matching Loss mask和光流 loss 总loss 实验 度量 消融实验 迭代 缩放 regressor Network Coordinat loss 不同的初始位姿估计网络的应用 应用到没见过的物体 总结 解决什么问题 6Dpose估计的微调,让结果更精准 本文创新点\贡献 基于图片的pose微调网络 在目标位姿之间提出了 S E ( 3 ) SE(3) S E ( 3 ) 的untangled表达,这种表达还能用来微调看不见的物体 前人方法 将从图像中提取的特征和物体的3D模型中的特征匹配,使用2D-3D对应来估计位姿,但是这种处理不了纹理少的物体,能用来提取的特征很少 处理纹理少的方法:估计3D坐标系的像素或者关键点,然后建立对应来估计;用分类或回归的方法(小的的分类或回归误差会影响后来的结果) 本文IDEA来源 没讲,此处写一下借鉴的方法: [ Training a feedback loop for hand pose estimation

HOF与MBH

南楼画角 提交于 2020-01-19 04:52:54
两个传统的图像处理特征,简单有用。 1.HoF(Histogram of Flow) 1)概念 HOF(Histograms of Oriented Optical Flow)是计算光流方向的直方图,和HoG一个概念,通常用于Action Recogntion中。 2)提出原因 一方面,光流对于运动方向,背景变化敏感。另一方面,在动作识别中,相应的光流特征描述子的维度在变化。于是,需要寻找一个基于光流的既能表征时域动作信息,又对尺度和运动信息方向不敏感的特征。这就是HOF的由来。 3)计算步骤: (1)计算光流 (2)统计直方图 计算光流矢量与横轴的夹角,根据角度将其投影到对应的直方图bin中,并根据该光流的幅值进行加权(消除背景的影响!) v表示光流,θ表示光流方向,b表示直方图第几bin,B一般表示要投影到对于直方图的bin数,如下例则表示是4 (3)归一化  补充: 以横轴为基准计算夹角能够使HOF特征对运动方向(向左和向右)不敏感。 通过归一化直方图实现HOF特征的尺度不变性。 HOF直方图通过光流幅值加权得到,因此小的背景噪声对直方图的影响微乎其微。 通常直方图bin取30以上识别效果较好。 2.MBH特征 MBH特征是在2006年的一篇论文: 《 Human Detection using oriented Histograms of flow and

自制PMW3901光流模块

依然范特西╮ 提交于 2020-01-18 04:33:44
PMW3901光流Sensor体积小、功耗低、精度高,效果非常好,自己做了一个光流小模块带TOF测距,使用Pixracer+PX4固件,测试效果还不错~ 测试视频: https://v.youku.com/v_show/id_XNDQ4NzA2OTA3Ng==.html?spm=a2h3j.8428770.3416059.1 附带原理图: 来源: CSDN 作者: zqtdiyer 链接: https://blog.csdn.net/bmoonll/article/details/103752891

Quadratic Video Interpolation 视频插帧

我的未来我决定 提交于 2020-01-10 03:41:39
Quadratic Video Interpolation 1. 网络整体结构 2. 主要模块 2.1 quadratic flow prediction 模块 2.2 flow reversal 模块 2.3 frame synthesis 3. 实验结果 References 这篇文章来自NeurIPS 2019,主要关于视频插帧。视频插帧的目的是在视频中合成新的中间帧,以提高视频的帧率。 以前的关于视频插帧工作的主要特点: 通常假设物体帧间运动是匀速的,所以通常采用线性模型进行插帧 这篇论文的主要创新点是: 考虑视频中帧间物体运动的加速度信息,能够更加准确刻画视频中物体的真实运动轨迹。(为了简单,文中考虑的是匀加速运动) 下面详细分析改论文的主要内容。 1. 网络整体结构 首先来看下,改论文进行二次视频插帧的整体网络框架。 从上图可以看出,为了实现二次视频插帧,作者提出了两个关键模块:quadratic flow prediction 和 flow reversal模块,来实现两个方向的光流计算,用于计算最终的插入视频帧。下面来分析这两个光流计算模块。 2. 主要模块 为了叙述的方便,先对下文中要用到的符号进行简单的说明。 { . . . , I − 2 , I − 1 , I 0 , I 1 , I 2 , . . . } : \{...,I_{-2},I_{-1},I_0

论文《PatchMatch Filter: Efficient Edge-Aware Filtering Meets Randomized Search for Fast Corresponde》学习

天涯浪子 提交于 2019-12-26 02:41:38
Abstract (2013CVPR)虽然计算机视觉中的许多任务可以被优雅地形式化为像素标记问题,但一个典型的挑战是不鼓励这样的离散公式往往是由于计算效率。近年来,基于高效边缘感知滤波器的快速成本体积滤波研究为解决离散标记问题提供了一种快速的替代方案,其复杂性与支持的尺寸无关。然而,这些方法仍然需要遍历整个成本卷,这使得解决方案的速度与标签空间大小成线性关系。当标签空间很大时,通常是(亚像素精确的)立体和光流估计的情况,它们的计算复杂度很快变得无法接受。为了快速搜索最近邻,PatchMatch方法可以显著降低复杂度对搜索空间大小的依赖。但其像素级随机搜索和三维代价体积内的碎片化数据访问严重阻碍了有效代价片滤波的应用。本文提出了一种通用的快速多标记问题的计算框架,称为PatchMatch Filter (PMF)。我们第一次探索了有效和高效的策略,将这两种独立开发的基本技术编织在一起。、基于补丁的随机搜索和有效的边缘感知图像滤波。通过将图像分解为紧凑的超像素,我们提出了基于超像素的新搜索策略,对原有的PatchMatch方法进行了改进和推广。以稠密对应场估计为重点,论证了PMF在立体光流中的应用。我们的PMF方法达到了最先进的通信精度,但运行速度比其他竞争方法快得多,通常为大标签空间的情况提供10倍以上的加速。 1. Introduction 许多计算机视觉任务,如立体视觉

光流转RGB可视化的C++实现

谁都会走 提交于 2019-12-07 21:21:22
介绍 将稠密光流场按照孟塞尔颜色体系(Munsell Color System)转化为RBG图,这个其实没什么卵用,只不过是开发光流估计算法或者光流应用时提供一种结果可视化的途径。 实现过程时参照python版本的flownet2提供的代码。 需要注意的是不要用 unsigned char 类型的变量存储数值变量,我用一天的时间才把这个bug修复 flo2img_tmp.hpp #ifndef FLO2IMGTMP_HPP_ #define FLO2IMGTMP_HPP_ #ifdef USE_OPENCV #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #endif // USE_OPENCV //typedef unsigned short UINT; class Flo2Img { public: Flo2Img(); private: unsigned short colorwheel[55][3]; unsigned short ncols; }; void flo2img(cv::Mat& flo, cv::Mat &img); #endif flo2img_tmp.cpp #ifdef USE

Flownet 1.0

泄露秘密 提交于 2019-12-05 06:28:19
论文题目:FlowNet: Learning Optical Flow with Convolutional Networks 论文连接: https://arxiv.org/abs/1504.06852 光流是对图像中物体运动信息的估计,在视频处理中有着十分重要的应用,传统的光流估计主要是通过一些匹配算法进行的,这篇论文利用深度学习提出一种网络结构来进行光流的估计。 一 .光流 光流 ( optical flow) 是空间运动物体在观察成像平面上的像素运动的瞬时速度。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法 。 在空间中,运动可以用运动场描述,而在一个图像平面上,物体的运动往往是通过图像序列中不同图像灰度分布的不同体现的,从而,空间中的运动场转移到图像上就表示为光流场(optical flow field)。 光流场是一个二维矢量场,它反映了图像上每一点灰度的变化趋势,可看成是带有灰度的像素点在图像平面上运动而产生的瞬时速度场。它包含的信息即是各像点的瞬时运动速度矢量信息。研究光流场的目的就是为了从序列图像中近似计算不能直接得到的运动场。 传统的光流估计方法一般基于如下假设: 1

《OpenCV金字塔LK光流法》

匿名 (未验证) 提交于 2019-12-03 00:23:01
金字塔LK光流法的三个假设 亮度恒定,即图像场景中目标的像素在帧间运动时外观上保持不变; 时间连续或者运动是”小运动“,即图像的运动随时间的变化比较缓慢; 空间一致,即一个场景中同一表面上邻近的点具有相似的运动。 光流法的原理 它是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。 当人的眼睛观察运动物体时, 物体的景象在人眼的视网膜上形成一系列连续变化的图像, 这一系列连续变化的信息不断“流过”视网膜(即图像平面),好像一种光的“流”,故称之为光流(optical flow)。光流表达了图像的变化,由于它包含了目标运动的信息,因此可被观察者用来确定目标的运动情况。 从图片序列中近似得到不能直接得到的运动场 。运动场,其实就是物体在三维真实世界中的运动;光流场,是运动场在二维图像平面上(人的眼睛或者摄像头)的投影。 每张图像中每个像素的运动速度和运动方向 找出来就是光流场。第t帧的时候A点的位置是(x 1 , y 1 ),那么我们在第t+1帧的时候再找到A点,假如它的位置是(x 2 ,y 2 ),那么我们就可以确定A点的运动了:(u x , v y ) = (x 2 , y 2 ) - (x 1 ,y 1 )。 流程图