光流法Optical Flow,Lucas-Kanade方法,CV中光流的约束分析

光流法Optical Flow,Lucas-Kanade方法,CV中光流的约束分析

    • Multiple View Geometry
      • 1. Optical Flow Estimation
      • 2. The Lucas-Kanade Method
        • 2.1 Brightness Constancy Assumption
        • 2.2 Constant motion in a neighborhood
        • 2.3 Compute the velocity vector
        • 2.4 KLT tracker
      • 3. Robust feature point extraction: Harris Corner detector.
      • 4. Eliminate the brightness changes.

Multiple View Geometry

本文主要介绍计算机视觉中,光流法Optical Flow Method,Lucas-Kanade方法的约束,CV中光流的约束分析,包括了亮度不变约束,速度向量计算等方法。

1. Optical Flow Estimation

Optical Flow is suitable for small deformation, small displacement. Finding correspondence and tracking.

2. The Lucas-Kanade Method

2.1 Brightness Constancy Assumption

Let x ( t ) x(t) x(t) denote a moving point at time t t t, and I ( x , t ) I(x,t) I(x,t) a video sequence, then:
I ( x ( t ) , t ) = C o n s t . ∀ t . I(x(t),t)=Const. \forall t. I(x(t),t)=Const.∀t.
i.e., the brightness of point x ( t ) x(t) x(t) is constant. Therefore the total time derivate must be zero:
d d ( t ) I ( x ( t ) , t ) = ∇ I T ( d x d t ) + ∂ I ∂ t = 0 \frac{d}{d(t)}I(x(t),t)=\nabla I^T (\frac{dx}{dt})+\frac{\partial I}{\partial t}=0 d(t)dI(x(t),t)=IT(dtdx)+tI=0
This constraint is often called the optical flow constraint. The desired local flow vector (velocity) is given by v = d x d t v=\frac{dx}{dt} v=dtdx.

Prof: the derivative of d I d x d x d t \frac{dI}{dx}\frac{dx}{dt} dxdIdtdx, where the first component is ∇ I \nabla I I is ( ∂ I ∂ x , ∂ I ∂ y ) T (\frac{\partial I}{\partial x},\frac{\partial I}{\partial y})^T (xI,yI)T.

So, the first component can be described as: this is the flow vector v v v, (which represents the movement direction), projection on the image gradient ∇ I \nabla I I .

∇ I \nabla I I Is the spatial brightness derivative, ∂ I ∂ t \frac{\partial I}{\partial t} tI is the temporal brightness derivative, d x d t \frac{dx}{dt} dtdx is the velocity vector.

image-20230421103147600 image-20230421103147600

2.2 Constant motion in a neighborhood

One assumes that v v v is constant over a neighborhood window W ( x ) W(x) W(x) of the point x x x:
∇ I ( x ′ , t ) T v + ∂ I ∂ t ( x ′ , t ) = 0 , ∀ x ′ ∈ W ( x ) . \nabla I(x',t)^T v + \frac{\partial I}{\partial t}(x',t)=0, \quad \forall x'\in W(x). I(x,t)Tv+tI(x,t)=0,xW(x).

2.3 Compute the velocity vector

Compute the best velocity vector v v v for the point x x x by minimizing the least square error:
E ( v ) = ∫ W ( x ) ∣ ∇ I ( x ′ , t ) T v + I t ( x ′ , t ) ∣ 2 d x ′ . E(v)=\int_{W(x)}\left| \nabla I(x',t)^Tv+I_t(x',t)\right|^2dx'. E(v)=W(x) I(x,t)Tv+It(x,t) 2dx.
Setting the derivative to zero we obtains:
d E d v = 2 M v + 2 q = 0 \frac{dE}{dv}=2Mv+2q=0 dvdE=2Mv+2q=0

image-20230421103147600

2.4 KLT tracker

KLT tracker. A simple feature tracking algorithm. However, this is not reliable. When the contrast or the image pixel deviation in a low manner, the gradient is easy to be zero, which make the M ( x ) M(x) M(x) is easy to un-invertible, which can not guarantee to be larger than a threshold. So, these tracking points are no longer useful, we should find another pixel points to initial as new tracking points.

image-20230421103147600

Even d e t ( M ) ≠ 0 det(M)\neq 0 det(M)=0, dose not guarantee robust estimates of velocity, the inverse of M ( x ) M(x) M(x) may not stable if d e t ( M ) det(M) det(M) is very small.

3. Robust feature point extraction: Harris Corner detector.

So, to guarantee robust estimation of velocity, a robust feature point extraction algorithm has been proposed. Named Harris Corner extraction.

image-20230421103147600

4. Eliminate the brightness changes.

  1. Since the motion is no longer translational, one need to generalize the motion model for window W ( x ) W(x) W(x), so, we can use affine motion model or homograph motion model.

  2. Robust to illumination changes.

    We can use Normalized Cross Correlation to reduce the intensity changes.

image-20230421103147600

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/13986.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

excel数据分析比赛

基础 sql:百度网盘 请输入提取码 excel函数 <

什么是VBST和PVST?两者有啥区别?

在计算机网络中&#xff0c;VLAN&#xff08;Virtual Local Area Network&#xff0c;虚拟局域网&#xff09;是一种将局域网划分为多个逻辑上独立的子网的技术&#xff0c;它可以帮助网络管理员更好地管理网络资源。 在VLAN技术中&#xff0c;STP&#xff08;Spanning Tree P…

生成树协议三姐妹:STP、RSTP 和 MSTP,附思科和华为双厂商命令示例

在计算机网络中&#xff0c;为了保证网络拓扑结构的稳定性和可靠性&#xff0c;需要采用一些协议进行网络的管理和控制。其中&#xff0c;STP、RSTP 和 MSTP 是三种常用的网络管理协议。本文将分别介绍这三种协议&#xff0c;并且使用华为、思科两家厂商作为案例给出相应的命令…

全网抓包天花板教程,CSDN讲的最详细的Fiddler抓包教程。2小时包你学会

目录 前言 一、安装 Fiddler 二、打开 Fiddler 并设置代理 三、抓取 HTTP/HTTPS 流量 四、流量分析和调试 五、应用场景 六、注意事项 七、实际案例 八、拓展阅读 九、结论 前言 Fiddler 是一款功能强大的网络调试工具&#xff0c;可以用于捕获和分析 HTTP 和 HTTPS …

QT QPainter 绘制基本图形元件简介

1.基本图形元件 QPainter 提供了很多绘制基本图形的功能&#xff0c;包括点、直线、椭圆、矩形、曲线等&#xff0c;由这些基本的图形可以构成复杂的图形。QPainter 中提供的绘制基本图元的函数如下表所示。每个函数基本上都有多种参数形式&#xff0c;这里只列出函数名&#x…

微信小程序php+vue 校园租房指南房屋租赁系统

本着诚信的原则&#xff0c;平台必须要掌握出租方必要的真实可信的信息&#xff0c;这样就可以防止欺诈事件的发生&#xff0c;事后也可以联系找到出租方。并且租金等各方面规范标准化&#xff0c;在这易租房诚信可信的平台让承租方与出租方充分有效对接&#xff0c;既方便了承…

ConcurrentHashMap是如何保证线程安全的

ConcurrentHashMap是如何保证线程安全的 定义和问题解决JDK 1.7实现原理JDK 1.8性能优化总结 定义和问题解决 ConcurrentHashMap相当于HashMap的多线程版本。 它的功能本质上和HashMap没有什么区别&#xff0c;因为HashMap在并发操作的时候会出现各种问题&#xff0c;比如&am…

YOLOv1代码复现1:辅助功能实现

YOLOv1代码复现1&#xff1a;辅助功能实现 前言 ​ 在经历了Faster-RCNN代码解读的摧残后&#xff0c;下决心要搞点简单的&#xff0c;于是便有了本系列的博客。如果你苦于没有博客详细告诉你如何自己去实现YOLOv1&#xff0c;那么可以看看本系列的博客&#xff0c;也许可以帮助…

大屏开发需要知道哪些知识

大屏 大屏是什么呢&#xff1f;再我前几年刚接触这个词得时候很新颖&#xff0c;全名叫态势感知大屏&#xff0c;大屏得特点是炫酷、好看&#xff0c;给用户满满得科技感。 听一位前辈说当年再招标会上&#xff0c;再都用exel、word做界面图表文档得时候&#xff0c;有一家公司…

打包后dist包中app.**.js文件暴露大量接口信息,webpack-obfuscator对打包后的js代码混淆加密

问题描述 打包后dist包中app.**.js文件暴露大量接口信息&#xff0c;而webpack-obfuscator可以对打包后的js代码混淆加密 版本信息 webpack: 4.x.x node: 14.18.0 webpack4环境下使用webpack-obfuscator不能使用最新版本 我的下载版本是&#xff1a; npm install --save-de…

玩转ChatGPT:论文翻译润色

一、写在前面 首先还是让小Chat推销下自己&#xff1a; 嘿&#xff01;你是否在写论文的过程中感到头疼&#xff0c;无从下手&#xff1f;你是否在担心自己的语言表达不够专业、不够流畅&#xff0c;影响了论文的质量&#xff1f;不要担心&#xff0c;ChatGPT的润色服务可以帮…

Redis 持久化八股文

目录 Redis的持久化机制 持久化方式对比 RDB RDB 持久化 RDB 的优缺点 优点 缺点 RDB 快照时运行修改数据吗 RDB 快照时修改数据过程 写时复制技术 RDB 的执行频率 增量快照 AOF 如何开启AOF AOF 为什么要采用后写日志呢&#xff1f; 后写日志的弊端 AOF 的优…

pdf转成word | ppt | jpg图片,免费一键转换教程

我不允许真的还有人不知道如何免费将pdf转成 ppt、word 或者 jpg图片&#xff01; 职场小伙伴是不是会经常遇到pdf怎么转成word&#xff0c;pdf怎么转成word&#xff0c;pdf怎么jpg图片等问题&#xff1f;别再为pdf转化格式难、而且还要付费而发愁了&#xff01;这份pdf免费一…

Python OpenCV3 计算机视觉秘籍:6~9

原文&#xff1a;OpenCV 3 Computer Vision with Python Cookbook 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 计算机视觉 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 当别人说你没有底线的时候&…

IDAPython入门基础语法

文章目录 参考文章IDAPython简介常用函数获取界面地址的函数数值获取函数数值判断函数patch操作函数去除花指令实例 参考文章 IDAPython入门教程 基于IDA7.5_Python3 第一讲 简介与地址获取 IDAPython简介 IDAPython拥有强大的功能,在使用IDA分析程序时非常有用,可以简化许多…

QT 插件通信接口调用 CTK开发(四)

CTK 为支持生物医学图像计算的公共开发包,其全称为 Common Toolkit。为医学成像提供一组统一的基本功能;促进代码和数据的交互及结合;避免重复开发;在工具包(医学成像)范围内不断扩展到新任务,而不会增加现有任务的负担;整合并适应成功的解决方案。 本专栏文章较为全面…

信息安全复习三:古典密码之设计好的密码算法

一.章节梗概 讨论以下算法&#xff0c;理解怎么设计好的密码算法的关键问题 1.Caesar cipher 2.单字母表密码 3.Playfairmima 4.维吉尼亚密码 5.自动生成密码 二.Caesar cipher 2.1 穷举攻击 穷举攻击定义&#xff1a;尝试所有密钥直到有一个合法密钥能够把密文还原成明文&…

Docker私有仓库Harbor搭建及使用

文章目录 一、Harbor简介二、Harbor仓库部署三、Harbor仓库使用 一、Harbor简介 官网地址&#xff1a;https://github.com/goharbor/harbor Docker容器应用的开发和运行离不开可靠的镜像管理&#xff0c;虽然Docker官方也提供了公共的镜像仓库&#xff0c;但是从安全和效率等…

如何在Web上实现激光点云数据在线浏览和展示?

无人机激光雷达测量是一项综合性较强的应用系统&#xff0c;具有数据精度高、层次细节丰富、全天候作业等优势&#xff0c;能够精确测量三维现实世界&#xff0c;为各个行业提供了丰富有效的数据信息。但无人机激光雷达测量产生的点云数据需要占用大量的存储空间&#xff0c;甚…

SpringSecurity之权限模块设计

目录 前言 实现思路 代码结构 使用说明 前言 前面我们了解了关于微服务权限设计方案以及J W T的相关介绍&#xff0c;今天我们来聊一下&#xff0c;如何避免自己重复的写相同的代码&#xff0c;一次代码实现&#xff0c;即可完美复制到任何项目中实现权限相关的功能。 实现…