Joint Tracking of Features and Edges

1. LK光流

基本LK光流运动假设:

\[I(x+u,y+v,t+1) = I(x,y,t)
\]

一阶近似得到:

\[f(u,v,I) = I_xu+I_yv+I_t =0
\]

由于Aperture problem,需要假设领域像素运动相同,并作为约束,便可以求解

\[E_{LK}(u,v) = K_{\rho}*(f(u,v;I))^2
\]

2. Horn-Schunck光流

\[E_{HS}(u,v) = \int _{\Omega} (f(u,v;I))^2+\lambda( |\nabla u|^2 +|\nabla v|^2)dxdy
\]

\(\lambda\)为正则项参数,相当于加了个平滑约束.

\(\nabla ^2u, \nabla ^2v\) 为\(u,v\)的拉普拉斯算子,可以近似为:

\[\nabla ^2u \approx h(\overline u - u)
\]

领域\(u\)的均值来表示.

3. Joint Tracking

\[E_{JLK} = \sum_{i=1}^N (E_D(i)+\lambda_i E_S(i))
\]

\[E_D(i) = K_{\rho}*(f(u_i,v_i;I))^2\\
E_S(i) = ((u_i-\hat{u}_i)^2+(v_i-\hat{v}_i)^2)
\]

\((\hat{u}_i,\hat{v}_i)^T\) 为期望的偏移量,可以通过任何一种方式获取.

 Instead, we predict the motion displacement of a pixel by fitting an affine motion model
to the displacements of the surrounding features, which are inversely weighted according to their distance to the pixel.
We use a Gaussian weighting function on the distance, with σ = 10 pixels.

对于周围的特征拟合一个Affine变换来获取?

利用特征周围的特征点求解一个预测值:

  • 直接利用领域内\((u,v)\)的平均值

特征选择:

\[max(e_{min},\eta e_{max}), \eta <1
\]

本文取: \(\eta=0.1\)

4. Unified Point-Edgelet Feature tracking

  • 进一步优化,选取Edgelet而不是边缘的点作为track的目标
  • 预测的\((\hat{u},\hat{v})\)不是平均值,而是拟合一个Affine变换获得(u,v),并且拟合变换的权重根据距离和scale进行计算

5. \(u,v\)预测值如何计算

利用领域特征的\(u,v\)取加权来进行计算获得

6. 接下来工作

这些方法的思路都是利用点和边缘来互补操作,使得二者能够互相提升各自的缺陷,接下来基本参考joint_tracking的思路,但是不取平均值,而是进行加权操作,简单尝试.

7. 参考文献

  • Birchfield S T , Pundlik S J . Joint tracking of features and edges CVPR 2008
  • Sundararajan K . Unified point-edgelet feature tracking[J]. Dissertations & Theses - Gradworks, 2011.

Tracking of Features and Edges的更多相关文章

  1. 深度学习Deep learning

    In the last chapter we learned that deep neural networks are often much harder to train than shallow ...

  2. (转)A Beginner's Guide To Understanding Convolutional Neural Networks Part 2

    Adit Deshpande CS Undergrad at UCLA ('19) Blog About A Beginner's Guide To Understanding Convolution ...

  3. Computer Vision Algorithm Implementations

    Participate in Reproducible Research General Image Processing OpenCV (C/C++ code, BSD lic) Image man ...

  4. (zhuan) Notes on Representation Learning

    this blog from: https://opendatascience.com/blog/notes-on-representation-learning-1/   Notes on Repr ...

  5. A successful Git branching model——经典篇

    A successful Git branching model In this post I present the development model that I’ve introduced f ...

  6. 图像中的artifacts

    artifacts 瑕疵 伪影(Artifacts) 伪影(Artifacts)-CT-基础术语 - 影像园 http://www.xctmr.com/baike/ct/c34b5413e305b45 ...

  7. 神奇的 ViewDragHelper,让你轻松定制拥有拖拽能力的 ViewGroup

    为了吸引大家的注意力,先给大家看一张动图: 相信这种效果大家都见过吧?我第一次见到这样的效果时,心里也痒痒的,急于想实现这种功能,后来因为拖延症的问题,就一直没有去弄这件事.现在这段时间,工作比较轻闲 ...

  8. Convolution Fundamental I

    Convolution Fundamental I Foundations of CNNs Learning to implement the foundational layers of CNN's ...

  9. [C6] Andrew Ng - Convolutional Neural Networks

    About this Course This course will teach you how to build convolutional neural networks and apply it ...

随机推荐

  1. 检测 gcc 是否支持 C99 标准的方法

    一般来说 gcc 3.0 以上都是支持 C99 的 但是编译的时候得加上 -std=c99 检测 gcc 是否支持 C99 方法,新建 c99.c 文件,内容如下 #include <stdio ...

  2. 数字pid笔记(2)

    void pid_Cal(void) { //float index = 0; IncPid * p = NULL; p = &g_PID_Inc; p->SetVal = sys_pa ...

  3. c++对c的扩展----引用类型

    变量是一个内存的别名,程序通过变量名使用内存空间,当然一个内存空间可以起多个别名么? 答案:可以,这就是c++中引用的由来,引用就是给变量起别名 引用是c++的概念!!!况且声明引用的符号&十 ...

  4. 洛谷P2114 起床困难综合症【位运算】【贪心】

    题目:https://www.luogu.org/problemnew/show/P2114 题意:有n个操作,每个可以是与.或.异或 一个数. 初始值是0~m之间的一个数,问经过n个运算之后,可以得 ...

  5. 6、Spring Boot 2.x 集成 MyBatis

    1.6 Spring Boot 2.x 集成 MyBatis 简介 详细介绍如何在Spring Boot中整合MyBatis,并通过注解方式实现映射. 完整源码: 1.6.1 创建 spring-bo ...

  6. 时间戳、String、Date转换

    时间戳(String or long) =>Date long s=1557230621043L; Date date=new Date(s); System.out.println(date) ...

  7. 014_STM32程序移植之_L298N电机驱动模块

    更改注意: STM32程序移植之L298N电机驱动模块 引脚连接图 STM32引脚 L298N引脚 功能 PA6 ENA 马达A的PWM PA7 ENB 马达B的PWM PA2 IN1 控制马达A P ...

  8. chrome扩展开发实战入门之一-hellocrx

    后记:在写这篇文章时,我还没搞懂chrome扩展的基本原理.后来才明白,最简单(且实用)的扩展只需要manifest.json和content_scripts.js两个文件,无需background. ...

  9. 参数类型 (@Test层)常用参数

    long lNum = 1234L; float fNum = 1.23f; double dNum = 1.23d;

  10. Windows Storage 驱动开发 葵花宝典 - 翻译

    Roadmap for Developing Windows Storage Drivers Last Updated: 4/20/2017   To create a storage driver, ...