第三章_二维运动估计之二
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
区域优先的方法
– 基于当前帧的纹理、边缘信息进行区域分割
• 局部区域的直方图 • 区域连接增长
– 为每个区域估计运动参数 1 E [ 2 (x d(x; a n ))] 1 (x)]2 区域误差函数: 2 xRn
d(x; a n ) 表示当前帧第n个区域Rn中像素x的运动矢量 a n 表示Rn的运动参数矢量
(c) 基于网格的运动跟踪
基于网格的运动估计
•每个网格节点只有一个运动矢量,与其相邻的所有多 边形单元共享此运动矢量
单元内像素的运动由节点的运动矢量内插得到
d m (x) m,k (x)d n ( m ,k ) , x Dm
k 1
Km
基于网格的运动估计
主要步骤 – 建立网格
~ ( x, y ) ˆ 2 ( x, y ) PPE( x, y) 2
如果 PPE( x, y) TPPE
如果 SG( x, y) TSG
SG( x, y) 0
图像梯度
PPE( x, y) 0
预测误差
~ ( x, y) : 重建图像 2
ˆ 2 ( x, y) : 运动补偿图像
第三章 二维运动估计之二
目录
EBMA的问题 可变形块匹配算法 (DBMA) – 基于节点的运动模型 基于网格的运动估计 基于区域的运动估计 全局运动估计 – 直接估计法 – 间接估计法 多分辨率运动估计 – 分层块匹配算法(HBMA) 小结
EBMA的问题(1)
块效应(块边界不连续) – 块位移模型不精确 – 真实的块内运动有可能比简单的位移复杂得多 – 解决方法:可变形块匹配算法 在一个块中有可能有多个物体的不同运动 – 解决方法1: 自适应的网格运动估计 – 解决方法2:基于区域的运动估计 亮度变化产生的光照效应 – 要先对光照效应进行补偿,然后再进行恒定光强度 假设。
基于区域的运动估计
联合区域分割和运动估计的方法
– 区域分割和运动估计相互依赖,相辅相成。 – 可交替进行区域分割和运动估计
目录
EBMA的问题 可变形块匹配算法 (DBMA) – 基于节点的运动模型 基于网格的运动估计 基于区域的运动估计 全局运动估计 – 直接估计法 – 间接估计法 多分辨率运动估计 – 分层块匹配算法(HBMA) 小结
EBMA的问题 (2)
运动域是随机的 – 块和块之间的运动矢量估计是独立的 – 解决方法1:加入光滑性约束,调整预测误差项和平 滑项的权重。 – 解决方法2:多分辨率方法 – 解决方法3:基于网格的运动估计 光滑区域产生错误的MV – 当光梯度接近0时无法估计出运动。 – 解决方法:基于区域的运动估计 非常大的运算量 – 解决方法1:快速算法,牺牲部分精度 – 解决方法2:多分辨率运动估计
其中
搜索方法:
d(x) k (x)d k
k 1
K
– 穷尽搜索法:
• 实际中要同步搜索K个节点的运动矢量,搜索维度高,不可 行。
– 梯度下降法:
• 牛顿-拉夫森搜索算法 • 搜索的结果依赖于初始解。好的初始解可通过EBMA得到。
DBMA的问题
块边界会产生运动的不连续性,是由于节点的运
可以是仿射、双线性、投影运动模型中的任意一种
基于区域的运动估计
运动优先的方法
– 首先估计整个运动场
• 光流、像素、块、网格等方法
– 运动场分割
• 聚类: 将具有相似运动矢量的像素进行聚合,形成区域。 • 分层:分成主导运动和次主导运动,从占主导的区域开始, 剔除误差较大的区域,得到第一层;然后进一步剔除区域, 直到没有剔除区域。
• 规则网格 • 自适应网格 复杂运动的区域节点密集,简单运动的区 域节点稀疏
– 节点运动估计
• 最小化位移帧差函数 – 二阶梯度迭代 • 先后顺序 – 光栅扫描 – 根据节点处图像梯度值 – 分组
自适应三角形网格的建立
~ ( x 1, y ) ~ ( x 1, y ) ~ ( x, y 1) ~ ( x, y 1) SG( x, y ) 2 2 2 2
d(x n ; a) 是 a 的线性函数,即 d(x n ; a) A(x n )a
对上式求偏导并令其为零,可得运动参数:
1
T T a w(n)[ A (x n )] [ A (x n )] w(n)[ A (x n )] d n n n
多分辨率运动估计
更新第n个节点的运动矢量时,其余节点的运动矢量保持不变
d (nl 1) d (nl ) arg min E S ( n ) (u n )
un
S(n)表示与第n个节点相连接的多边形单元的误差函数
ES ( n )
1 ~ (x)]2 [ 1 ( x d m (x)) 2 2 mS ( n ) x 2 ,m
基于网格的运动估计
当前帧被分割为不重 叠的多边形单元(网 格),运动估计为网 格的每个节点在参考 帧找到对应点(即得 到其运动矢量),其 余点的位移矢量由节 点的运动矢量插值得 到。
(a) 使用三角形网格
(b) 使用四边形网格
基于网格的运动估计
(a) 基于块匹配的运动估计
(b) 基于网格的运动估计
图像梯度较大:区域运动较复杂 预测误差较大:此区域的运动模型建模失效
SG(x,y)和PPE(x,y)非零时:网格节点密集
节点运动估计
•全搜索法 •基于梯度下降的方法 1 M 2 (x)]2 E [ 1 (x d m (x)) 2 m1 x2,m
Km 1 M 2 (x)]2 [ 1 (x m,k (x)d n ( m,k ) ) 2 m1 x2,m k 1
– 当前帧分成规则的网格 – 参考帧中的规则网格是重叠的
目录
EBMA的问题 可变形块匹配算法 (DBMA) – 基于节点的运动模型 基于网格的运动估计 基于区域的运动估计 全局运动估计 – 直接估计法 – 间接估计法 多分辨率运动估计 – 分层块匹配算法(HBMA) 小结
a 表示全局运动参数矢量
可以是仿射、双线性、投影运动模型中的任意一种
w(x) 可减小与全局运动不匹配的 w(x) 为权值系数,调节
像素对误差函数的影响。
全局运动估计
间接估计法
– 假设已经得到一些特征点 x n 的运动矢量 d n – 匹配误差函数:
1 2 E w(n)[d(x n ; a) d n ] 2 n
双线性 (8个参数) :
– 四边形映射
d x ( x, y ) a0 a1 x a2 y a3 xy d ( x, y ) b b x b y b xy 2 3 y 0 1
仍然不能解决块内存在多个运动的问题,块效
应和光照效应等问题。
全局运动估计
整幅图像的运动可以用单一的运动模型表示 通常指摄像机相对于静止场景运动产生的运
动 整个场景作为一个整体运动(很少发生)。 方法
– 直接估计法 – 间接估计法
全局运动估计
直接估计法
– 误差函数:
1 E w(x)[ 2 (x d(x; a))] 1 (x)]2 2 x
动矢量是从每个块中独立预测得到的。
–解决方法:基于网格的运动估计
当块内有多物体运动或者因照明产生变化时,
DBMA效果不好
–三模型法:
• 先对每个块实行EBMA • EBMA误差小的块具有平移运动 • EBMA误差大的块具有非平移运动 –对这些块运用 DBMA
目录
EBMA的问题 可变形块匹配算法 (DBMA) – 基于节点的运动模型 基于网格的运动估计 基于区域的运动估计 全局运动估计 – 直接估计法 – 间接估计法 多分辨率运动估计 – 分层块匹配算法(HBMA) 小结
6.5.1 基于节点的运动表示
假设 –在块中选择若干个控制节点,这些节点能够自由运 动 –而且任何中间点的位移可以通过节点的位移内插得 到。 令K 表示控制节点数, dm,k 表示Bm 中控制节
点的运动矢量,则块的运动函数可以表示为: K d m m, k (x )d m, k , x Bm
基于区域的运动估计
将视频图像分割为多个区域,每个区域对应一个特
定的运动,然后为每个区域估计运动参数 区域分割:力图区域内的所有像素的运动具有一致 性,可以由一个运动模型表示 运动模型:仿射模型、双线性模型、投影模型 方法分类
– 区域优先 – 运动优先 – 联合区域分割和运动估计
基于区域的运动估计
全搜索块匹配 (半像素精度)
预测图像
基于网格
基于网格的运动估计与块匹配法的比较
网格
– 当前帧可以分成规则的或不规则的网格 – 参考帧中的不规则网格是不重叠的 – 每个节点只有一个运动矢量
可变形块
– 当前帧分成规则的网格 – 参考帧中的不规则网格是重叠的 – 每个节点有多个运动矢量
不可变形块
节点运动估计
步骤
– 节点运动估计初始值:块匹配法 – 按顺序迭代估计每个节点
• 给定某个节点,固定其他节点 • 在不改变拓扑结构的范围内移动该节点,计算误差函数 • 最小化误差函数更新的运动矢量
– 满足某条件,终止迭代
每个节点的更新过程
– 全搜索 – 梯度下降
基于网格的运动估计
参考帧
当前帧
k 1
其中, 0 m,k (x) 1
k 1
K
m,k (x) 1, x Bm
内插核 m,k (x)取决于Bm中第k个控制点对x的贡献期望值
6.5.1 基于节点的运动表示
控制点举例:块角
点 其他点的运动通过 角点dm,k 的运动矢 量插值得到。 控制点的运动矢量 可以是整数像素精 度或者半像素精度, 所有控制点的运动 参数同等重要。 K 平移,仿射,双线 d m m, k (x )d m, k , x Bm 性是这个模型的特 k 1 例。
过程: 1. 将锚定帧分割成多个规整的块 2. 对每个块采用较复杂的运动模型
xm,1
(如仿射,双线性或投影映射) 3. 对每个块进行独立的运动参数估计
6.5 可变形块匹配算法
仿射 (6 个参数):
– 三角形映射
d x ( x, y ) a0 a1 x a2 y d ( x, y ) b b x b y 2 y 0 1
内插公式
k 1 K=1,退化为平移模型 x的贡献, K=3,对应于仿射运动模型 第k个节点对像素 称内插核 K=4,对应于双线性运动模型
d(x) k (x)d k
K
6.5.2 基于节点模型的运动估计
匹源自文库函数:
1 2 E [ 2 (x d(x)) 1 (x)] 2 x
目录
EBMA的问题 可变形块匹配算法 (DBMA) – 基于节点的运动模型 基于网格的运动估计 基于区域的运动估计 全局运动估计 – 直接估计法 – 间接估计法 多分辨率运动估计 – 分层块匹配算法(HBMA) 小结
多分辨率运动估计
前面介绍的运动估计方法存在的问题 – 最小化误差函数可能收敛到局部最小值 – 最小化误差函数过程的计算量很大 多分辨率运动估计可有效解决这两个问题 – 首先在最小分辨率层(由空间低通滤波和欠取样 获得)进行运动估计,并把结果作为下一层的初 始解。 – 然后每层依次进行运动估计,每层的运动估计结 果都将作为下一层的初始解 – 每层的运动估计可使用前面介绍的方法,如基于 光流、像素、块、网格等运动估计方法
目录
EBMA的问题 可变形块匹配算法 (DBMA) – 基于节点的运动模型 基于网格的运动估计 基于区域的运动估计 全局运动估计 – 直接估计法 – 间接估计法 多分辨率运动估计 – 分层块匹配算法(HBMA) 小结
可变形块匹配算法
B’m
xm,3 Bm xm,4
xm,2
– 基于当前帧的纹理、边缘信息进行区域分割
• 局部区域的直方图 • 区域连接增长
– 为每个区域估计运动参数 1 E [ 2 (x d(x; a n ))] 1 (x)]2 区域误差函数: 2 xRn
d(x; a n ) 表示当前帧第n个区域Rn中像素x的运动矢量 a n 表示Rn的运动参数矢量
(c) 基于网格的运动跟踪
基于网格的运动估计
•每个网格节点只有一个运动矢量,与其相邻的所有多 边形单元共享此运动矢量
单元内像素的运动由节点的运动矢量内插得到
d m (x) m,k (x)d n ( m ,k ) , x Dm
k 1
Km
基于网格的运动估计
主要步骤 – 建立网格
~ ( x, y ) ˆ 2 ( x, y ) PPE( x, y) 2
如果 PPE( x, y) TPPE
如果 SG( x, y) TSG
SG( x, y) 0
图像梯度
PPE( x, y) 0
预测误差
~ ( x, y) : 重建图像 2
ˆ 2 ( x, y) : 运动补偿图像
第三章 二维运动估计之二
目录
EBMA的问题 可变形块匹配算法 (DBMA) – 基于节点的运动模型 基于网格的运动估计 基于区域的运动估计 全局运动估计 – 直接估计法 – 间接估计法 多分辨率运动估计 – 分层块匹配算法(HBMA) 小结
EBMA的问题(1)
块效应(块边界不连续) – 块位移模型不精确 – 真实的块内运动有可能比简单的位移复杂得多 – 解决方法:可变形块匹配算法 在一个块中有可能有多个物体的不同运动 – 解决方法1: 自适应的网格运动估计 – 解决方法2:基于区域的运动估计 亮度变化产生的光照效应 – 要先对光照效应进行补偿,然后再进行恒定光强度 假设。
基于区域的运动估计
联合区域分割和运动估计的方法
– 区域分割和运动估计相互依赖,相辅相成。 – 可交替进行区域分割和运动估计
目录
EBMA的问题 可变形块匹配算法 (DBMA) – 基于节点的运动模型 基于网格的运动估计 基于区域的运动估计 全局运动估计 – 直接估计法 – 间接估计法 多分辨率运动估计 – 分层块匹配算法(HBMA) 小结
EBMA的问题 (2)
运动域是随机的 – 块和块之间的运动矢量估计是独立的 – 解决方法1:加入光滑性约束,调整预测误差项和平 滑项的权重。 – 解决方法2:多分辨率方法 – 解决方法3:基于网格的运动估计 光滑区域产生错误的MV – 当光梯度接近0时无法估计出运动。 – 解决方法:基于区域的运动估计 非常大的运算量 – 解决方法1:快速算法,牺牲部分精度 – 解决方法2:多分辨率运动估计
其中
搜索方法:
d(x) k (x)d k
k 1
K
– 穷尽搜索法:
• 实际中要同步搜索K个节点的运动矢量,搜索维度高,不可 行。
– 梯度下降法:
• 牛顿-拉夫森搜索算法 • 搜索的结果依赖于初始解。好的初始解可通过EBMA得到。
DBMA的问题
块边界会产生运动的不连续性,是由于节点的运
可以是仿射、双线性、投影运动模型中的任意一种
基于区域的运动估计
运动优先的方法
– 首先估计整个运动场
• 光流、像素、块、网格等方法
– 运动场分割
• 聚类: 将具有相似运动矢量的像素进行聚合,形成区域。 • 分层:分成主导运动和次主导运动,从占主导的区域开始, 剔除误差较大的区域,得到第一层;然后进一步剔除区域, 直到没有剔除区域。
• 规则网格 • 自适应网格 复杂运动的区域节点密集,简单运动的区 域节点稀疏
– 节点运动估计
• 最小化位移帧差函数 – 二阶梯度迭代 • 先后顺序 – 光栅扫描 – 根据节点处图像梯度值 – 分组
自适应三角形网格的建立
~ ( x 1, y ) ~ ( x 1, y ) ~ ( x, y 1) ~ ( x, y 1) SG( x, y ) 2 2 2 2
d(x n ; a) 是 a 的线性函数,即 d(x n ; a) A(x n )a
对上式求偏导并令其为零,可得运动参数:
1
T T a w(n)[ A (x n )] [ A (x n )] w(n)[ A (x n )] d n n n
多分辨率运动估计
更新第n个节点的运动矢量时,其余节点的运动矢量保持不变
d (nl 1) d (nl ) arg min E S ( n ) (u n )
un
S(n)表示与第n个节点相连接的多边形单元的误差函数
ES ( n )
1 ~ (x)]2 [ 1 ( x d m (x)) 2 2 mS ( n ) x 2 ,m
基于网格的运动估计
当前帧被分割为不重 叠的多边形单元(网 格),运动估计为网 格的每个节点在参考 帧找到对应点(即得 到其运动矢量),其 余点的位移矢量由节 点的运动矢量插值得 到。
(a) 使用三角形网格
(b) 使用四边形网格
基于网格的运动估计
(a) 基于块匹配的运动估计
(b) 基于网格的运动估计
图像梯度较大:区域运动较复杂 预测误差较大:此区域的运动模型建模失效
SG(x,y)和PPE(x,y)非零时:网格节点密集
节点运动估计
•全搜索法 •基于梯度下降的方法 1 M 2 (x)]2 E [ 1 (x d m (x)) 2 m1 x2,m
Km 1 M 2 (x)]2 [ 1 (x m,k (x)d n ( m,k ) ) 2 m1 x2,m k 1
– 当前帧分成规则的网格 – 参考帧中的规则网格是重叠的
目录
EBMA的问题 可变形块匹配算法 (DBMA) – 基于节点的运动模型 基于网格的运动估计 基于区域的运动估计 全局运动估计 – 直接估计法 – 间接估计法 多分辨率运动估计 – 分层块匹配算法(HBMA) 小结
a 表示全局运动参数矢量
可以是仿射、双线性、投影运动模型中的任意一种
w(x) 可减小与全局运动不匹配的 w(x) 为权值系数,调节
像素对误差函数的影响。
全局运动估计
间接估计法
– 假设已经得到一些特征点 x n 的运动矢量 d n – 匹配误差函数:
1 2 E w(n)[d(x n ; a) d n ] 2 n
双线性 (8个参数) :
– 四边形映射
d x ( x, y ) a0 a1 x a2 y a3 xy d ( x, y ) b b x b y b xy 2 3 y 0 1
仍然不能解决块内存在多个运动的问题,块效
应和光照效应等问题。
全局运动估计
整幅图像的运动可以用单一的运动模型表示 通常指摄像机相对于静止场景运动产生的运
动 整个场景作为一个整体运动(很少发生)。 方法
– 直接估计法 – 间接估计法
全局运动估计
直接估计法
– 误差函数:
1 E w(x)[ 2 (x d(x; a))] 1 (x)]2 2 x
动矢量是从每个块中独立预测得到的。
–解决方法:基于网格的运动估计
当块内有多物体运动或者因照明产生变化时,
DBMA效果不好
–三模型法:
• 先对每个块实行EBMA • EBMA误差小的块具有平移运动 • EBMA误差大的块具有非平移运动 –对这些块运用 DBMA
目录
EBMA的问题 可变形块匹配算法 (DBMA) – 基于节点的运动模型 基于网格的运动估计 基于区域的运动估计 全局运动估计 – 直接估计法 – 间接估计法 多分辨率运动估计 – 分层块匹配算法(HBMA) 小结
6.5.1 基于节点的运动表示
假设 –在块中选择若干个控制节点,这些节点能够自由运 动 –而且任何中间点的位移可以通过节点的位移内插得 到。 令K 表示控制节点数, dm,k 表示Bm 中控制节
点的运动矢量,则块的运动函数可以表示为: K d m m, k (x )d m, k , x Bm
基于区域的运动估计
将视频图像分割为多个区域,每个区域对应一个特
定的运动,然后为每个区域估计运动参数 区域分割:力图区域内的所有像素的运动具有一致 性,可以由一个运动模型表示 运动模型:仿射模型、双线性模型、投影模型 方法分类
– 区域优先 – 运动优先 – 联合区域分割和运动估计
基于区域的运动估计
全搜索块匹配 (半像素精度)
预测图像
基于网格
基于网格的运动估计与块匹配法的比较
网格
– 当前帧可以分成规则的或不规则的网格 – 参考帧中的不规则网格是不重叠的 – 每个节点只有一个运动矢量
可变形块
– 当前帧分成规则的网格 – 参考帧中的不规则网格是重叠的 – 每个节点有多个运动矢量
不可变形块
节点运动估计
步骤
– 节点运动估计初始值:块匹配法 – 按顺序迭代估计每个节点
• 给定某个节点,固定其他节点 • 在不改变拓扑结构的范围内移动该节点,计算误差函数 • 最小化误差函数更新的运动矢量
– 满足某条件,终止迭代
每个节点的更新过程
– 全搜索 – 梯度下降
基于网格的运动估计
参考帧
当前帧
k 1
其中, 0 m,k (x) 1
k 1
K
m,k (x) 1, x Bm
内插核 m,k (x)取决于Bm中第k个控制点对x的贡献期望值
6.5.1 基于节点的运动表示
控制点举例:块角
点 其他点的运动通过 角点dm,k 的运动矢 量插值得到。 控制点的运动矢量 可以是整数像素精 度或者半像素精度, 所有控制点的运动 参数同等重要。 K 平移,仿射,双线 d m m, k (x )d m, k , x Bm 性是这个模型的特 k 1 例。
过程: 1. 将锚定帧分割成多个规整的块 2. 对每个块采用较复杂的运动模型
xm,1
(如仿射,双线性或投影映射) 3. 对每个块进行独立的运动参数估计
6.5 可变形块匹配算法
仿射 (6 个参数):
– 三角形映射
d x ( x, y ) a0 a1 x a2 y d ( x, y ) b b x b y 2 y 0 1
内插公式
k 1 K=1,退化为平移模型 x的贡献, K=3,对应于仿射运动模型 第k个节点对像素 称内插核 K=4,对应于双线性运动模型
d(x) k (x)d k
K
6.5.2 基于节点模型的运动估计
匹源自文库函数:
1 2 E [ 2 (x d(x)) 1 (x)] 2 x
目录
EBMA的问题 可变形块匹配算法 (DBMA) – 基于节点的运动模型 基于网格的运动估计 基于区域的运动估计 全局运动估计 – 直接估计法 – 间接估计法 多分辨率运动估计 – 分层块匹配算法(HBMA) 小结
多分辨率运动估计
前面介绍的运动估计方法存在的问题 – 最小化误差函数可能收敛到局部最小值 – 最小化误差函数过程的计算量很大 多分辨率运动估计可有效解决这两个问题 – 首先在最小分辨率层(由空间低通滤波和欠取样 获得)进行运动估计,并把结果作为下一层的初 始解。 – 然后每层依次进行运动估计,每层的运动估计结 果都将作为下一层的初始解 – 每层的运动估计可使用前面介绍的方法,如基于 光流、像素、块、网格等运动估计方法
目录
EBMA的问题 可变形块匹配算法 (DBMA) – 基于节点的运动模型 基于网格的运动估计 基于区域的运动估计 全局运动估计 – 直接估计法 – 间接估计法 多分辨率运动估计 – 分层块匹配算法(HBMA) 小结
可变形块匹配算法
B’m
xm,3 Bm xm,4
xm,2