光流
估算物体速度
- 库:
计算机视觉工具箱/分析与增强
描述
光流块使用Horn-Schunck或Lucas-Kanade方法估计两个图像之间或一个视频帧到另一个视频帧之间物体运动的方向和速度。
港口
输入
我/ I1
-图像或视频帧
标量|向量|矩阵
图像或视频帧,指定为标量、向量或矩阵。如果计算光流参数设置为两张图片
时,端口名称变为I1.
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
I2
——图片
标量|向量|矩阵
图像或视频帧,指定为标量、向量或矩阵。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
输出
V | | ^ 2
-速度幅度
标量|向量|矩阵
速度大小,作为标量、矢量或矩阵返回。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
V
-复杂形式的速度分量
标量|向量|矩阵
复数形式的速度分量,用标量、矢量或矩阵表示。
依赖关系
若要启用此端口,请设置速度输出参数复杂形式的水平和垂直分量
.
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
参数
主要选项卡
方法
-光流计算方法
Horn-Schunck
(默认)|Lucas-Kanade
选择要用于计算光流的方法。选项包括Horn-Schunck
或Lucas-Kanade
.
计算光流
-计算光流
当前帧和返回的n帧
(默认)|两张图片
选择如何计算光流。选择两张图片
计算两幅图像之间的光流。选择当前帧和返回的n帧
来计算相隔N帧的两个视频帧之间的光流。
依赖关系
要启用此参数,请设置:
方法参数
Horn-Schunck
方法参数
Lucas-Kanade
和时间梯度滤波器来差分滤波器[-1 1]
N
-帧数
1
(默认)|标量
输入一个标量值,表示参考帧和当前帧之间的帧数。
依赖关系
若要启用此参数,请设置计算光流参数当前帧和返回的n帧
.
平滑度的因素
-平滑系数
1
(默认)|正标量
指定平滑因子。为两个图像或视频帧之间的高相对运动输入一个大的正标量值。为低相对运动输入一个小的正标量值。
依赖关系
若要启用此参数,请设置方法参数Horn-Schunck
.
停止迭代解
-停止迭代求解
当达到最大迭代次数时
(默认)|当速度差低于阈值时
|无论哪个先出现
指定用于控制块的迭代求解过程何时停止的方法。如果您希望进程在速度差低于某个阈值时停止,请选择当速度差低于阈值时
.如果您希望流程在一定次数的迭代之后停止,请选择当达到最大迭代次数时
.您也可以选择无论哪个先出现
.
依赖关系
若要启用此参数,请设置方法参数Horn-Schunck
.
最大迭代次数
-最大迭代次数
10
(默认)|标量
指定要执行的块的最大迭代次数。
依赖关系
若要启用此参数,请设置方法参数Horn-Schunck
和停止迭代解参数当达到最大迭代次数时
或无论哪个先出现
.
速度输出
-光流输出
平方
(默认)|复杂形式的水平和垂直分量
指定输出光流的方式。如果您选择平方
,所述块输出光流矩阵,其中各元素均为所述形式
.如果您选择复杂形式的水平和垂直分量
,所述块输出所述各元素为所述形式的光流矩阵
.
时间梯度滤波器
-用于时间梯度的过滤器
差分滤波器[-1 1]
(默认)|高斯函数的导数
指定块是否解为u而且v使用差分滤波器或高斯滤波器的导数。
依赖关系
若要启用此参数,请设置方法参数Lucas-Kanade
.
要缓冲的输入帧数
-用于平滑的输入帧数
3.
(默认)|标量
指定要平滑缓冲的输入帧数。将此参数用于时间滤波器特性,如标准偏差和滤波器系数的数量。
依赖关系
若要启用此参数,请设置时间梯度滤波器参数高斯函数的导数
.
图像平滑滤波器的标准偏差
-图像平滑滤波器的标准差
1.5
(默认)|标量
指定图像平滑滤波器的标准偏差。
依赖关系
若要启用此参数,请设置时间梯度滤波器参数高斯函数的导数
.
梯度平滑滤波器的标准偏差
-梯度平滑滤波器的标准偏差
1
(默认)|标量
指定梯度平滑滤波器的标准偏差。
依赖关系
若要启用此参数,请设置时间梯度滤波器参数高斯函数的导数
.
当约束方程病态时,放弃正常流量估计
-放弃正常流量估算
Off(默认)| on
当光流约束方程病态时,选择该参数将运动矢量置零。
依赖关系
若要启用此参数,请设置时间梯度滤波器参数高斯函数的导数
.
运动矢量对应的输出图像(考虑块延迟)
-输出与运动向量对应的图像
Off(默认)| on
选择此参数输出与块输出的运动矢量相对应的图像。
依赖关系
若要启用此参数,请设置时间梯度滤波器参数高斯函数的导数
.
降噪门限
—降噪门限
0.0039
(默认)|标量
指定一个标量值,用于确定每个图像或视频帧之间的运动阈值。数值越高,小运动对光流计算的影响越小。
依赖关系
若要启用此参数,请设置方法参数Lucas-Kanade
.
数据类型选项卡
定点块参数的详细说明请参见<一个href="//www.tianjin-qmedu.com/nl/nl/help/vision/ug/specify-fixed-point-attributes-for-blocks.html" class="a">为块指定定点属性一个>.
块特征
数据类型 |
|
多维信号 |
|
适应信号 |
|
算法
光流方程
要计算两幅图像之间的光流,必须求解这个光流约束方程:
.
, , 为图像的时空亮度导数。
u是水平光流。
v是垂直光流。
Horn-Schunck方法
通过假设光流在整个图像上是平滑的,霍恩-舒克方法估计了一个速度场, ,使这个方程最小化:
.
在这个方程中, 而且 为光速分量的空间导数,u, 缩放全局平滑项。Horn-Schunck方法将前面的方程最小化,得到速度场,[u v],表示图像中的每个像素。该方法由下式给出:
.
在这些方程中, 像素点的速度估计值是(x, y), 这个社区的平均水平是 .为K = 0,初速度为0。
来解决u而且v使用Horn-Schunck方法:
计算 而且 通过使用索贝尔卷积核, ,以及第一张图像中每个像素的转置形式。
计算 在图像1和2之间使用 内核。
假设之前的速度为0,并计算每个像素的平均速度使用 作为卷积核。
迭代求解u而且v.
Lucas-Kanade方法
求解光流约束方程u而且v, Lucas-Kanade方法将原始图像分成更小的部分,并假设每个部分的速度恒定。然后,它执行一个加权,最小二乘拟合的光流约束方程的常数模型 在每个部分 .该方法通过最小化这个方程来实现这个拟合:
W是一个窗口函数,它强调每个部分中心的约束。最小化问题的解决方法是
.
当你设置时间梯度滤波器来差分滤波器[-1 1]
,u而且v求解如下:
计算 而且 使用内核 它的转置形式。
如果使用的是定点数据类型,则内核值是带符号的定点值,字长等于16,分数长等于15。
计算 在图像1和图像2之间使用 内核。
平滑梯度分量, , , 通过使用可分离的各向同性5 × 5元核,其有效一维系数为 .如果使用的是定点数据类型,则内核值是无符号定点值,字长等于8,分数长等于7。
用以下方法求解每个像素的2 × 2线性方程:
如果
那么A的特征值是
在定点图中,
将特征值与阈值进行比较, ,对应于您为降噪阈值输入的值。结果属于以下情况之一。
案例1: 而且
A是非奇异的,方程组用克莱默法则求解。
案例2: 而且
A为奇异(不可可逆),对梯度流进行归一化计算u而且v.
案例3: 而且
光流,u而且v,为0。
高斯函数的导数
如果你将时间梯度过滤器设置为高斯函数的导数
,u而且v用这些步骤来解决。
计算 而且 .
使用高斯滤波器执行时间滤波。属性指定时间滤波器特征,例如标准偏差和滤波器系数的数量为时间平滑缓冲的帧数参数。
使用高斯滤波器和高斯滤波器的导数通过空间滤波平滑图像。属性指定图像平滑滤波器的标准差和长度图像平滑滤波器的标准偏差参数。
计算 在图像1和2之间。
使用高斯滤波器的导数来执行时间滤波。属性指定时间滤波器特征,例如标准偏差和滤波器系数的数量为时间平滑缓冲的帧数参数。
使用步骤1b中描述的过滤器对时间过滤器的输出执行空间过滤。
平滑梯度分量, , , ,通过使用梯度平滑滤波器。使用梯度平滑滤波器的标准偏差参数指定梯度平滑滤波器的标准偏差和滤波系数的数量。
用这个方法求解每个像素的2 × 2线性方程:
如果
那么A的特征值是
当块找到特征值时,它将它们与阈值进行比较, 的值,该值对应于为降噪门限参数。结果属于以下情况之一。
案例1: 而且
A是非奇异的,所以方块用克莱默法则解方程组。
案例2: 而且
A是奇异的(不可逆转的),所以块归一化梯度流来计算u而且v.
案例3: 而且
光流,u而且v,为0。
扩展功能
C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。万博1manbetx
定点转换
使用定点设计器设计和模拟定点系统。
版本历史
R2006a之前介绍
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择网站
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您所在的位置,我们建议您选择:.
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。