博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Horn–Schunck 光流法与其算法理解(gup cuda)
阅读量:5309 次
发布时间:2019-06-14

本文共 810 字,大约阅读时间需要 2 分钟。

1. 基于Horn-Schunck模型的光流算法

1.1     光流的约束条件

光流 的假设条件认为图像序列,在时间t 的某一像素点与在时间t+1的这一像素点的偏移量保持不变,即 。这就是灰度值守恒假设,通过Taylor展开,就能得到光流的约束条件(OFC): ,其中下标表示图像的梯度。

1.2     Horn-Schunck 模型

1981年,Horn和Schunck根据同一个运动物体的光流场具有连续、平滑的特点, 提出一个附加约束条件,将光流场的整体平滑约束转换为一个变分的问题。它的能量方程如下:

其中数据项表示灰度值守恒约束,平滑项表示光流平滑约束。

1.3     Euler-Lagrange方程

根据Horn-Schunck能量方程,可以推导出离散的欧拉-拉格朗日方程如下:

其中, 表示图像像素点的坐标,  表示一个像素点的上下左右四个方向的相邻的像素点,当然,在图像的边界会少于四个元素。

1.4     超松弛迭代 (SOR)

根据上面的欧拉-拉格朗日方程,不难推到出迭代方程。这里选用收敛速度最快的超松弛算法(SOR),光流的初始值是,迭代方程如下:

其中,  w是迭代的权重因子, k 是迭代的次数, 是光流的计算的权值, 表示第 个像素点的上和左的相邻像素点,表示第 个像素点的下和右的相邻像素点。

以上来自

 

2算法时间对比

使用图片 Grove2 (来自 )

640 x 480

金字塔层数 3

迭代次数 100

cpu i5 3210m  GPU GT630m

时间  4.479s     1.496s

加速比 2.99

 

金字塔层数 3

迭代次数 500

cpu i5 3210m  GPU GT630m

时间  20.586s     3.905s

加速比 5.27

 

3结论

加速比来自算法的并行计算

如果算法可并行程度高,则计算加快。

转载于:https://www.cnblogs.com/rocbomb/p/3795719.html

你可能感兴趣的文章
数据持久化时的小bug
查看>>
mysql中key 、primary key 、unique key 与index区别
查看>>
bzoj2257
查看>>
Linux查看文件编码格式及文件编码转换<转>
查看>>
Leetcode: Find Leaves of Binary Tree
查看>>
Vue 模板解释
查看>>
http://www.bootcss.com/
查看>>
20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
查看>>
将多张图片和文字合成一张图片
查看>>
自己动手写ORM(01):解析表达式树生成Sql碎片
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
百度Ueditor编辑器的Html模式自动替换样式的解决方法
查看>>
变量提升
查看>>
线性表可用顺序表或链表存储的优缺点
查看>>
在现有的mysql主从基础上,搭建mycat实现数据的读写分离
查看>>
[Flex] flex手机项目如何限制横竖屏?只允许横屏?
查看>>
tensorflow的graph和session
查看>>
JavaScript动画打开半透明提示层
查看>>
Mybatis生成resulteMap时的注意事项
查看>>
jquery-jqzoom 插件 用例
查看>>