光流法运动目标检测matlab_光流法 optical flow

本文介绍了光流法用于检测图像序列中运动物体的原理,基于通用亮度假设,通过Horn&Schunck方法和Lucas&Kanade方法计算光流。光流是动作向量,表示像素在x和y方向的变化率。文章探讨了光流法在视频分析中的应用,并计划进一步研究如何将光流场应用于CNN中。
摘要由CSDN通过智能技术生成

写在前面:

恰逢需要了解video相关的任务,绕不开的就是运动信息的分析,而运动信息都是通过光流法来获得的,所以学习并总结了一些博客,记录一下光流法的原理,主要还是为VAR任务中two-stream方法的启动看一些基础知识。说不定能结合光流法中提取运动信息的思想去做一些其他的事呢!!

ce2b60e4bd3ee2feac62195281bb87d8.png

光流法:

目的:通过连续的图像序列来检测图像序列中运动物体微小的动作变化。光流在图像中的含义就是动作向量(motion vector)(u,v),其中u,v分别表示位移在x和y方向上的变化率,也就是某个位置的x分量和y分量的速度。

原理:在通用亮度假设的条件下,通过对邻帧之间的像素点进行建模,推导当前帧某个像素点在之后时间的运动方向,也就是一种预测当前像素点未来运动信息的方法

下面通用亮度假设开始,逐步学习:

1、第一个假设通用亮度假设,假设连续帧中某一目标的像素值不变,通俗点说就是在n帧和n+1帧中,同一运动物体的亮度(像素值)保持不变,那么基于以下假设,可以进行如下推导,其中

表示亮度值(0-255),拿一个特定的像素点来说,
分别表示该像素点的坐标和时间。
就表示这个像素点运动到下一帧时相比于当前帧的微小坐标位移和微小时间差。那么对于该像素点,如下假设既为亮度假设:

通过亮度假设,我们可以运用高数的泰勒级数展开将上式右边进行展开(泰勒级数展开的思想大致是将一个连续函数,表示成该连续函数各阶导数的组合,取的导数阶数越高,展开后的泰勒级数对于该连续函数拟合越好。)由于时间差本身假设的比较短,所以对于二阶导数及以后的值都变得很小&
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值