前言

  根据对动态图像和时变图像序列的分析,来确定客观物体与观察者之间的相对运动参数,是当今计算机视觉研究领域中的一个热门课题。在医疗,工业,国防等方面都具有非常重要的现实意义。

  本文将介绍采用光流模型分析运动图形:根据图像像素强度守恒原理,建立光流约束方程,计算运动参数,最后结合实例计算两帧样本图像之间的水平和垂直位移量,并绘制光流矢量图。

重要概念:光流

  光流,是空间运动物体在被观测表面上的像素点运动的瞬时速度场,包含了物体与成像传感器系统之间的相对运动的关系。

光流约束方程

  物体在空间上一般是相对连续运动,故投影到视网膜/传感器平面上的图像应该也是连续变化的。因此可以假设运动图像函数 ƒ(x,y,t) 是关于变量x,y,t的连续函数。

  故,我们可以认为,t 时刻和 t+dt 时刻的图像点强度相等:

    (1)

  然后,上式右边在 (x,y,t) 做泰勒级数展开,约去高阶项并同时除以dt,可得:

    (2)

  这就是光流约束方程。

  这个式子表示:图像强度对时间变化率等于强度的空间变化率与运动速度的乘积( 写成向量式更直观 )

  记:

  

  代入( 2 )中,可得光流约束方程的第二种形式:

    (3)

光流约束方程的适用性分析

  1. 实际应用中,图像可能有强度不连续的点存在。在这种情况下,只要在不连续区域周围图像强度均匀变化,光流约束方程依然成立。

  2. 需确保图像平面上每一点的变化完全由物体与观察者之间的相对运动引起。

光流约束方程的求解

  光流约束方程的求解,也即计算两个未知速度分量 u 和 v 。

  由 (3) 式知,u 和 v 的解被约束在空间的一条直线上,没有另一个约束条件,我们无法唯一地确定 u 和 v 的解。因此必须附加一个新的约束条件。

  显然,u 和 v 随着像素点移动而发生的改变是缓慢的,局部区域的变化不大,尤其是在目标做无变形刚体运动时,局部区域速度的空间变化率为0。

  令 uavg 和 vavg 分别表示 u 和 v 领域内速度的平均值,根据上述分析,可知:

    (4)

  这个约束方程反映了速度变化率应该满足的必要条件,而光流约束方程反映了速度与灰度变化率之间的相对关系。

  结合光流约束方程和约束条件,对于全部的像素点,可以建立如下的极小化方程:

    (5)

  其中 ε 是极小化问题的总误差,λ 是附加约束的拉格朗日乘子。

  为使 ε 最小,令 ε 分别对 u 和 v 求导并取导数为 0 ,得:

    (6a) (6b)

  可导出:

    (7a) (7b)

  可用迭代法求解上式,从而得出 u 和 v。

  

  

  在实际求解中,还需要计算图像强度在空间和时间的偏导数 Ex,Ey,Et 。设ƒi, j, k 为图像在 (x,y,t) 点的强度,ƒi, j,k+1为 (x, y, t+dt) 点的强度,那么 Ex,Ey,E可以按照以下式子近似计算出来:

  

  对于全部的 x 和 y 值,当迭代运算的结果满足事先给定的估计容差 ε和 ε2 时,迭代计算结束,也即:

  

实际分析步骤

  1. 初始化:迭代次数 n = 1,λ = 1,u(n-1) = v(n-1) = 0 。

  2. 根据公式 (9) 计算图像强度的偏导数 Ex,Ey,Et 。

  3. 根据公式 (8) 计算 u(n) 和 v(n) 

  4. 判断是否满足容差条件 (10) ,如果满足,则迭代结束,u(n) 和 v(n)为所求目标值。

  5. 判断是否满足 n <= 最大迭代次数,如果满足,则迭代结束,u(n) 和 v(n)为所求目标值;否则迭代次数+1,转到 3 执行。

光流法的灵活性

  通过上面演示的求解过程,可知光流法在算法的实现上有很不错的灵活性,主要体现在:

  1. 通过调整 λ 值可以控制计算精度和迭代收敛速度。

  2. 可以只计算图像中的部分子块来计算运动参数。

结束语

  1. 该算法有比较完善的理论基础,也有广阔的应用前景。

  2. 除了处理本文所提及的平移问题,还能解决旋转等更为复杂的运动。

  3. 至于如何改进算法,提高收敛速度,满足实时要求,则是以后研究学习的方向。

转载于:https://www.cnblogs.com/scut-fm/p/3622840.html

基于光流模型的图像运动分析相关推荐

  1. 从DDPM到GLIDE:基于扩散模型的图像生成算法进展

    前几天,OpenAI在Arxiv上挂出来了他们最新最强的文本-图像生成GLIDE [1],如头图所示,GLIDE能生成非常真实的结果.GLIDE并非基于对抗生成网络或是VQ-VAE类模型所设计,而是采 ...

  2. 【图像检测】基于Itti模型实现图像显著性检测附matlab代码

    1 简介 视觉显著性计算模型以心理学.神经科学.认知理论等领域的研究成果或假说为前提,建立数学模型来模拟人类视觉系统指引注意力分配和视觉认知的过程,通过模拟和仿真人类视觉感知机理,将存在待检测目标的人 ...

  3. OpenCV4学习笔记(67)——dnn模块之基于colorization模型实现图像自动上色

    本次要整理记录的内容是利用colorization模型来将灰度图像转换为彩色图像.colorization模型是利用Lab色彩空间的L(亮度)通道来预测a.b两个通道的值,也就是说当我们手里有一张灰度 ...

  4. 基于GMM模型的图像分割与颜色迁移算法

    在之前的博客中,我们已经介绍过高斯混合模型(GMM)的一些基础知识,链接: Gaussian Mixture Model:混合高斯模型介绍_程序猿老甘的博客-CSDN博客 在该博客中,我们提到了贾佳亚 ...

  5. CVPR 2021 | 澳洲国立大学提出基于模型的图像风格迁移

    ©作者|侯云钟 学校|澳洲国立大学博士生 研究方向|计算机视觉 本文从另外一个角度解读,澳洲国立大学郑良老师实验室 CVPR 2021 新工作.一般而言,我们需要同时利用两张图片完成图像的风格迁移(s ...

  6. 一种基于改进的LeNet-5 CNN模型通过图像监控雾度的方法

    一.介绍 近年来,空气污染不仅困扰发达国家,也有许多发展中国家,尤其是快速发展中的国家,例如中国和印度.在阴霾天气条件下,空气中有害颗粒物的浓度会升高,这对人民的健康构成了巨大威胁,对社会和经济发展构 ...

  7. 基于CNN模型的遥感图像复杂场景分类

    复杂场景分类对于挖掘遥感图像中的价值信息具有重要意义.针对遥感图像中复杂场景分类,文章提出了一种基于卷积神经网络模型的分类方法,在该方法中构建了8层CNN网络结构,并对输入图像进行预处理操作以进一步增 ...

  8. 3d max用不同目标做关键帧_基于光流的视频目标检测系列文章解读

    作者:平凡的外卖小哥 全文5747字,预计阅读时间15分钟 1 简介 目前针对于图片的目标检测的方法大致分为两类: faster R-CNN/R-FCN一类: 此类方法在进行bbox回归和分类之前,必 ...

  9. tensorflow2 目标检测_基于光流的视频目标检测系列文章解读

    作者:平凡的外卖小哥 全文5747字,预计阅读时间15分钟 1 简介 目前针对于图片的目标检测的方法大致分为两类: faster R-CNN/R-FCN一类: 此类方法在进行bbox回归和分类之前,必 ...

  10. 学习笔记之——基于深度学习的图像超分辨率重建

    最近开展图像超分辨率( Image Super Resolution)方面的研究,做了一些列的调研,并结合本人的理解总结成本博文~(本博文仅用于本人的学习笔记,不做商业用途) 本博文涉及的paper已 ...

最新文章

  1. C++11中auto的使用
  2. C#中DateTime.Now.Ticks的用法和说明
  3. Deploy Office Communications Server 2007R2 Group Chat Server(二)
  4. 2021年春季学期-信号与系统-第十五次作业参考答案-第十一小题参考答案
  5. 机器学习知识点(二)各类型平均数Java实现
  6. 揭秘双11丝滑般剁手之路背后的网络监控技术
  7. python 图像无缝拼接,OpenCV Python 系列教程3 - Core 组件
  8. 【ARM】Tiny4412裸板编程之蜂鸣器(C语言)
  9. Ext.js4.x 的面板中嵌入UEditor编辑器
  10. 不可变的基础架构,热部署和JVM
  11. Oracle 数据怎么实时同步到 MongoDB | 亲测干货分享建议收藏
  12. Java-顺序表和链表
  13. 【kafka】kafka 新增节点 报错 InconsistentBrokerIdException Configured broker.id doesn‘t match
  14. php中,多维数组是什么意思,在PHP中回显多维数组
  15. QT解析嵌套JSON表达式
  16. 基于LD3320的非特定人语音识别方案
  17. Element表格序号问题
  18. C# 使用NAudio合并mp3、wav音频文件
  19. cs1.6服务器ip地址文件,cs1.6服务器端封禁的IP在那个文件夹里?
  20. FrontEnd笔记 -- PhotoShop

热门文章

  1. Hive insert into小文件问题
  2. clickhouse数据类型
  3. java Array入门
  4. Hbase 操作工具类
  5. 浅谈PHP-FPM参数
  6. winform 通过驱动注册ID检测是否已安装驱动
  7. 各国“未雨绸缪”致网络安全陷入困境 安全防御诱发“防御性入侵”
  8. 如何用 Bash 创建一个二进制发布包
  9. PO、VO、BO、DTO、POJO、DAO之间的关系
  10. Switch View when host XmlFormView in aspx