三帧差分法

1. 什么是三帧差分法

关于原理,请点击下面的连接,进行了解:

三帧差分法

说的通俗一点,这个流程就是:

1.1 (第二幅图像 - 第一幅图像) ∩ (第三幅图像 - 第二幅图像) = 结果1

  (第二幅图像减去第一幅图像的)与(第三幅图像减去第二幅图像的)作交集运算

1.2 滤波(结果1) = 结果2

  上一步产生的结果做滤波处理

1.3 形态学处理(结果2) = 结果3

  上一步产生的结果做形态学处理

1.4 二值化(结果3) = 结果4

  上一步产生的结果做二值化处理

如果没懂不要紧,往下面接着看。

2. 什么是帧率

  网上一搜索就能得到答案,在这里我想解释的让人更容易明白一点。我们经常会听别人说,视频帧率是多少多少,游戏画面帧率多少多少(FPS)。帧率其实就是说1秒内由多少幅图像组成

  拿30帧(1帧=1幅图像)来说,如果说我"向前走一步"用了1秒钟,那么我"向前走一步"这个动作,其实是个分解动作,他分成了30次完成。因为当一个画面或者说视频的帧率大于24的时候(即一秒钟产生的图片数量大于24张,至于为什么是24张,可以自行网上搜索原因),人眼就认为该画面是连续的,这个现象被称为"视觉暂留"

  所以咱们如果用微观的角度去看,可以认为视频不是连续的(是由一幅一幅图像组成,只是图像是连续的)。如果用宏观的角度去看,又可以认为视频是连续的。其实就是将不连续“转化”为了连续

  经过上面的了解,我们明白电影或者视频它们的本质就是一幅幅图像组成的。总结来说 : 视频(1秒/30帧) = 图像1 + 图像2 + ... + 图像30。

  那么游戏有时候为了达到更逼真的效果,通常有可能需要达到60帧/90帧/120帧。这样对硬件就有要求了,这也就是咱们平时玩着游戏会说"卡"。其实是说咱们眼睛看出了它的不连续,一旦帧率上去了,咱们眼睛看到的又是连续的画面了。

3. 什么是数字图像

  一副图像可以定义为一个二维函数f(x,y),其中x和y是空间坐标,而f在任意一对坐标(x,y)处的幅度称为该点处图像的亮度或灰度。(《Digital Image Processing Using MATLAB》-中文版,作者:Rafael C. Gonzalez,Richard E. Woods,Steven L. Eddins.译者:阮秋琦等)

  说的通俗点就是,一副图像有许多点组成(这些点我们称之为"像素")。例如咱们平时说的1080P的高清视频,j就是该视频每一幅图像都是由2073600个像素点组成(1920*1080=2073600)。这样的一幅图像,我们用数学的方法如何表示呢,就是用一个二维函数f(x,y)。这样的话,我们就可以将图像的处理转换为对数字的处理,图像的处理就简单起来了,因为用数学就可以解决了。(可以抽象的理解为一副图像,每个像素点都是一个特定的数字)。

  请看下面的图,让我们更容易理解一点,图B是原图,就是一副简单的黑白图(尺寸8x8)。我们从另一个角度去看这张图片,它其实就是水平方向有8个像素点,垂直方向有8个像素点组成的图片,也就是我们所看到的图A。那么我们在规定<数字1-白色><数字0-黑色>,那么就是最终的图C。这样用一个矩阵来表示一副数字图像就十分的形象了。
  
  
  同样的彩色图像的理解也是一样,只是用RGB的分量来表示。我们可以简单理解为,把图C01替换为相应的彩色数字。(这里只是假设,不是真的,例如(8,8)这个坐标的像素点为黄色,红色箭头指向的那个坐标,而我们又规定黄色为5的话,那么该点我们就写上5就好了,即图C最右下角为5)

4. 什么是图像的形态学处理

  形态学一词通常指生物学的一个分支,它用于处理动物和植物的形状和结构。我们在数学形态学的语境中也使用该词来作为提取图像分量的一种工具,这些分量在表示和描述区域形状(如边界,骨骼和凸壳)时是很有用的。(《Digital Image Processing Using MATLAB》-中文版,,作者:Rafael C. Gonzalez, Richard E. Woods, Steven L. Eddins. 译者:阮秋琦等)

  形态学在图像处理中的意义就是: 简化图像数据,保持它们基本的形状特性,去除不相关的结构。(至于什么是形态学,可以自行去学习,本人也只是了解过,没有去深入学习)

  形态学基本运算: 膨胀腐蚀开运算闭运算等等。

  具体的形态学膨胀或者腐蚀等等原理,可以在(《Digital Image Processing Using MATLAB》-中文版,作者:Rafael C. Gonzalez,Richard E. Woods,Steven L. Eddins. 译者:阮秋琦等)。中去学习,里面有详细的计算过程和解释。

5. 什么是滤波

  滤波: 是将信号中特定波段频率过滤掉的操作

  图像滤波: 例如咱们在平时拍照过程中,得到的图像会有很多噪声(噪声理解为干扰图像正常显示的因素)。这个是无法避免的,想去除掉那些干扰图像正常显示的因素,那么就可以用到滤波。

  举个例子: 一个人去爬山,他带了许多东西,食物,刀,火,帐篷,化妆品,防晒霜...等等。可是我们发现其实在这里面许多东西是不需要的,会干扰我们此次爬山。例如化妆品(如果爱美,当我没说过),因为它们在我们爬山这个过程中造成了干扰(负担太重,累死人啦)。如果我们去除掉它们,发现这次爬山会是我们更想要的(负担轻了,爬山当然舒服咯)。

  重要的事情说三遍,下面的东西可以不看,下面的东西可以不看,下面的东西可以不看。

  如果对傅里叶分析有兴趣的同学接着走下去,没兴趣的,直接跳到下面的二值图解释。

  讲到滤波,将不能不说下傅里叶分析(Fourier analysis).傅里叶分析可分为傅里叶级数傅里叶变换.要了解的同学可以看看这篇文章,很详细,很幽默,本人很多遍,往复又重新看了几遍,每次看都会更加理解和有更多体会。(https://zhuanlan.zhihu.com/p/19763358?columnSlug=wille)。如果还是读不懂但是又想知道的同学,可以在网易公开课上面搜索傅里叶变换。那是一个斯坦福大学的公开课,上面的教授讲的简直不要太详细,太清楚。

  下面放上两张比较形象,帮助理解的图片。注意,该图片不是原创,是转载。转载信息如下:
  作 者:韩 昊
  知 乎:Heinrich
  微 博:@花生油工人
  知乎专栏:与时间无关的故事
-----------------------------------------------
  

-----------------------------------------------
  
-----------------------------------------------

  我也是只了解皮毛,甚至说只是看了,稍微懂一点而已。

  傅里叶级数
  数学上是将周期函数分解为无数个三角函数。
  在物理上呢,将一个周期的信号分解成无限多分开的(离散的)正弦波。
  
  傅里叶变换
  数学上是必须要满足某个条件的函数,才可以分解为三角函数。
  在物理上呢,将一个非周期的信号需要傅里叶变换求它的频谱。

  可能这样讲,还不能很好的理解,还是举些例子吧。以及它的用处。

  例如: 某日你在一个公共洗手间正在思考人生的时候,突然听到隔壁有人对话。从他们的对话中,你似乎得到了一些重要信息。可是周围又有其它干扰的声音(周围有冲马桶的声音,附近有施工,也有其他人在交谈的声音,这个厕所真是热闹啊)。我们假设那两个人就是国外的间谍(只是假设,当然间谍没那么蠢)。他们交谈的信息对于你来说十分重要(因为如果你获取到了这些信息,举报给国家,说不定就因为对国家在安全上的贡献获取100W呢?谁知道啊?)。但是其他的声音干扰到了你,哪怕你已经在第一时间将他们的声音录了下来,可是自己去听录下来的结果,效果差的简直不行。于是你放弃了举报的念头,就这样错失了一次机会。

  我们知道人耳能听到的声波频率范围是20~20000赫兹。只有当声波在这个范围内的时候,我们才可以听得到。至于听到之后,声音的大小,用分贝来表示。在上面的例子中,很明显间谍的对话,冲马桶的声音,施工的声音,这些声波的频率范围都处于20~20000赫兹的。而这些声波可以描述为一个关于时间的函数。那么我们经过傅里叶变换之后,就可以得到该声波在频谱上的图像。我们最后再在这个频谱上找到两个间谍的频率(将其他频率信号归为0),在反变换回去,就能还原两个间谍的谈话了。(当然说起来简单,做起来就不是这么简单了。这个就不是我们关心的了,会有技术牛人能帮你解决的)

  总结来说就是,有时候问题产生于时间域(例如钟摆)或者空间域(例如研究戒指上的温度问题)。往往对它们进行研究分析会显得不那么简单.将其转换为频域上,会更好,更容易的分析问题。

  当然这里只是我个人的一些理解和学习到的心得,而傅里叶分析产生的影响和作用远远不止,我好比是在无穷的大海中只取了一口海水而已。

6. 什么是二值化图像.

  图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。

  咱们回到最开始的地方,看图C,图中我用01,来数字化图像,其实道理是一样的,这跟描述一副图像所用的数据类相关。只是我逻辑上用01来描述黑和白,你用0255来描述是一样的。这个取决于你描述图像所以数据类的位数。如果用8位来描述,那么就是28 = 256,[0, 255]

  二值化图像的意义就不详细说了,我知道咱们平时在医疗方面,去医院照的各种片,不都是黑白图像吗,在医学上二值化图像是很有意义的。当然二值化更多的意义自行挖掘吧,在我们这里二值化图像就是极大的简化了数据量,使图像处理起来更加简单。

  走到这里,最终我们就得到了一副黑白图像(最终结果),并且上面白色的图像是运动的图像。在这里再次借用下别人的图片,该图片出自文章最开头将三帧差分法原理的链接中,注意,该图片不是原创:

  因为恰好这幅图运动的是人,如果是其他的,例如猫,狗,那么捕获到的就是猫和狗的运动图像。如果有时间我会在下一篇文章中,分析如何从捕获运动图像中分析判断为人物图像。即如果是猫运动会判断为不是人运动。

  有很多东西可能描述或者表达的不准确,如果看出的同学,希望能指正。

  最后分享一个开源库:卡内基·梅隆大学的开源项目,实时人体检测

  再分享一个自己写的购物网站, 女性假发, 大家可以给自己女朋友买, 当然也可以自己cosplay用.(手机端为主, 电脑端比较少更新. 可以直接搜索: githair, 跟github很像): https://www.githair.com

三帧差分法 - 运动物体检测 - 行人检测 - 学习研究过程相关推荐

  1. 人脸检测和人体检测(行人检测)1:人脸检测和人体检测数据集(含下载链接)

    人脸检测和人体检测(行人检测)1:人脸检测和人体检测数据集(含下载链接) 目录 人脸检测和人体检测(行人检测)1:人脸检测和人体检测数据集(含下载链接) 1. 前言 2. VOC数据集 3. COCO ...

  2. 23年 车辆检测+车距检测+行人检测+车辆识别+车距预测(附yolo v5最新版源码)

    我们先看一下效果2023年最新版 yolo车距 行人识别yolov5和v7对比 yolo车距 其他步骤参考另外一篇文章: yolo 车辆测距+车辆识别+单目测距(双目测距)_SYBH.的博客-CSDN ...

  3. 行人检测特征提取_HOG和adaboost检测行人检测

    一 特征提取  1.1  矩特征   矩特征主要表征了图像区域的几何特征,又称为几何矩, 由于其具有旋转.平移.尺度等特性的不变特征,所以又称其为不变矩.在图像处理中,几何不变矩可以作为一个重要的特征 ...

  4. 行人检测资源综述文献

    from: http://blog.csdn.net/GarfieldEr007/article/details/50866089 pedestrian-detection-resource-1-su ...

  5. 行人检测 读书笔记 综述

    行人检测 读书笔记 综述(1) 朱文佳-基于机器学习的行人检测关键技术研究 本文是博主对上海交通大学的朱文佳的硕士毕业论文的学习笔记,如果不当或理解错误之处,敬请指导,不胜感激. 绪论 1.1 典型应 ...

  6. (转) 行人检测资源 综述文献

    首页 视界智尚 算法技术 每日技术 来打我呀 注册 行人检测资源(上)综述文献 行人检测具有极其广泛的应用:智能辅助驾驶,智能监控,行人分析以及智能机器人等领域.从2005年以来行人检测进入了一个快速 ...

  7. 2015年 行人检测总结1

     最近一直在看行人检测的论文,对目前的行人检测做大概的介绍. 行人检测具有极其广泛的应用:智能辅助驾驶,智能监控,行人分析以及智能机器人等领域.从2005年以来行人检测进入了一个快速的发展阶段,但 ...

  8. 【论文学习】行人检测——CVPR:通过MIMS在低分辨率图像中做行人检测

    论文:Pedestrian Detection in Low-resolution Imagery by Learning Multi-scale Intrinsic Motion Structure ...

  9. 行人检测(Pedestrian Detection)资源

    行人检测(Pedestrian Detection)资源 原文链接 http://hi.baidu.com/susongzhi/item/085983081b006311eafe38e7 一.论文 C ...

最新文章

  1. 基于熵权法优劣解距离法_基于优劣解距离法的火电机组单辅机运行状态评估
  2. 【SICP练习】110 练习3.23
  3. linux下如何更新镜像源(ubuntu 10.04 为例),Ubuntu 10.04 更新源补充
  4. Hadoop文件系统常用命令
  5. java oom分析_OOM分析
  6. 层次分解位置编码,让BERT可以处理超长文本
  7. ACM公选课第五节贪心4.14-5.4补+第六节上贪心线段覆盖
  8. Silverlight开发历程—模糊特效与投影特效
  9. python创建虚拟环境venv_Python 3 使用venv创建虚拟环境
  10. mysql禁止自动优化_MySQL必须调整的10项配置优化
  11. ASP.NET Web开发框架之八 所有ERP部分的源代码全部开放下载
  12. Android设备新型恶意软件,融合银行木马、键盘记录器和移动勒索软件等功能
  13. Whmcs、ZKEYS、星外、云谷IDCsystem、一对一、Swapidc哪个主机系统好用?
  14. 36氪独家|京东零售宣布多位高管新任命,POP平台部门成整合重点
  15. 连续,可积,存在原函数,变上限积分
  16. php 表格内边距,CSS 内边距
  17. 云计算简史_云计算的概念和发展历史
  18. 什么是Linux内存管理中的RSS和VSZ
  19. cocos2dx之Box2D
  20. 用 C++ 在Windows中清空回收站内文件/隐藏和显示桌面图标 / Windows任务栏 / 任务栏时钟 / 更改桌面壁纸

热门文章

  1. linux系统arp绑定,linux 下arp 地址绑定
  2. 最初的梦想是通过写代码,实现自由。没想到最终会以炒股实现自由
  3. 边车设计模式-Sidecar pattern
  4. 09 协方差与相关系数
  5. Burp Suite工具
  6. 我方了!游戏建模竟然要学这么多东西!
  7. 二分搜索算法 (binary search)
  8. RecyclerView实现仿微博视频自动播放
  9. 前端,新增DIV,自增html片段代码实现,append、attr等方法
  10. PS如何降低选取内图像的亮度?