其他分享
首页 > 其他分享> > 计算机视觉——光流

计算机视觉——光流

作者:互联网

光流

是空间运动物体在观察成像平面上的像素运动的瞬时速度。(可以就把光流理解为瞬时速度)

光流法

是通过上下帧像素点的位置关系来判断物体运动的信息的方法。
在这里插入图片描述

光流场

可以理解为光流的集合。
在这里插入图片描述

基本假设条件
使用光流法必须假设两个条件:
1.亮度不变:同一目标在不同帧时的亮度不改变。
2.时间连续或运动为“小运动”:相邻帧运动幅度不能过大。
基本约束方程
由第一个假设条件得到基本约束方程:上一时刻的光照强度等于下一时刻的
在这里插入图片描述
最后推导得:
在这里插入图片描述
Ix、Iy可由图像得到,u、v为需求的光流矢量(x,y轴的速度矢量)。

不同光流场计算方法

由于只有一个方程,但需要求两个量,还需要加入其他条件,因此有了不同的计算方法:
1.基于梯度的方法
2.基于匹配的方法
3.基于能量的方法
4.基于相位的方法
5.神经动力学方法

稠密光流和稀疏光流

先利用两幅图说明一下两种光流的区别:
(1)稠密:对图像中某一区域进行逐点匹配
在这里插入图片描述
(2)稀疏:选取一组特殊的点进行跟踪匹配,如:角点。
在这里插入图片描述
区别:
由图不难看出,稠密光流需要匹配的点更多,因此需要更多的计算时间,但也拥有更高的准确率;稀疏计算时间相对较短。

LK光流法

该方法在之前两个基本假设的前提下,加了”空间一致“的假设。
空间一致:相邻的像素有相似的运动行为,也就是目标像素周围m×m区域内的像素点,都有相同的光流矢量。

金字塔LK光流法

由于现实生活中存在许多不满足第二条基本假设(小运动)的情况,因此产生了金字塔LK光流法。

思想:
1.假如图像中目标运动幅度过大,则在保留目标块大小的同时缩小图像尺寸的,缩小n次后,每次缩小后的图像作为金字塔的一层,尺寸越小的越在上层。(设最上层为第1层,最下为第n层)
2.首先计算并观察第1层目标块的光流,然后传到下一层,再计算下一层的再传到下下层。
3.最终根据前n-1层的光流信息得到原始图像的光流信息。
在这里插入图片描述

因为原图中上下帧目标块的距离过大,很难计算出它的运动信息。

举例:
一个人快速的从你面前(贴的很近)用着风骚的走位闪过。这时,你只知道有个风一样的男人从你面前飘过,而不清楚他是如何经过的。此时,你决定用上面的思想确定他的运动情况。然后你走到离刚刚很远的地方,让那个风男子重复之前的动作,你会发现他原来是从左边到了右边(这是你视觉投影的平面上他运动的距离变短);你上前几步,再让他走,发现他从左到右过程中还用了闪电步。就这样,一步一步的你回到最初的位置,就能较准确的得到风男子究竟是如何运动的了

举例不恰当,搬来大佬博客里的图
在这里插入图片描述
虽然小尺寸图像得到的光流信息不准确,但正事根据各个尺寸计算得到的光流信息的指引,才能得到最终较为准确的光流。

基于光流的目标检测

由于各个物体之间存在着相对运动,即相对速度也不同,因此可以根据相对速度不同区分出前景和背景以及不同的物体。
在这里插入图片描述
基于光流的目标检测优点在于,即使是图像背景关系复杂且不知道其中具体有哪些物体、有没有物体的情况下,也能根据相对速度检测出来。
但也要注意一种特殊情况:光源固定不动、物体没有运动,但光源与物体产生了相对运动,产生了光流。如:太阳与地球上的一棵树。

参考:
https://blog.csdn.net/qq_41368247/article/details/82562165
https://blog.csdn.net/plateros/article/details/102931138

标签:计算机,假设,物体,光流法,图像,光流,视觉,运动
来源: https://blog.csdn.net/weixin_47703176/article/details/118054547