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

来源:互联网 发布:淘宝怎么添加关键词 编辑:程序博客网 时间:2024/05/16 01:37

三帧差分法

1. 什么是三帧差分法

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

三帧差分法

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

  1.1 结果1 = (第二幅图像 - 第一幅图像) ∩ (第三幅图像 - 第二幅图像)
  1.2 结果2 = 滤波(结果1)
  1.3 结果3 = 形态学处理(结果2)
  1.4 结果4 = 二值化(结果3)

  1.1 第一步:第二幅图像减去第一幅图像的与第三幅图像减去第二幅图像的交集运算
  1.2 对第一步产生的结果做滤波处理
  1.3 对第二步产生的结果做形态学处理
  1.4 对第三步产生的结果做二值化处理
 
 没懂不要紧,往下面接着看.

2. 什么是帧率.

  网上一搜索就能得到答案,在这里我想解释的让人更容易明白一点.我们经常会听别人说,视频帧率是多少多少,游戏画面帧率多少多少(FPS).帧率其实就是说1秒内由多少幅图像组成
  
  拿30帧(1帧=1幅图像)来说,如果说我”向前走一步”用了1秒钟,那么我”向前走一步”这个动作,其实是个分解动作,他分成了30次完成。因为当一个画面或者说视频的帧率大于24的时候,人眼就认为该画面是连续的。(至于为什么是24,可以自行网上搜索原因),这个现象被称为视觉暂留
  
  所以咱们如果用微观的角度去看,可以认为视频不是”连续”的(是由一幅一幅图像组成,只是图像是连续的).如果用宏观的角度去看,又可以认为视频是”连续”的.其实就是将”不连续”转化为了”连续”.

  经过上面的了解,我们明白电影或者视频它们的本质就是一幅幅图像组成的。总结来说 : 视频(1秒/30帧) = 图像1 + 图像2 + … + 图像30.
  
  那么游戏有时候为了达到更逼真的效果,通常有可能需要达到60帧.同时对硬件有要求了,这也就是咱们平时玩着游戏会说”卡”.其实是说咱们眼睛认为”看”出了它的不连续,一旦帧率上去了,咱们眼睛又”看”不出来了.

3. 什么是数字图像.

  一副图像可以定义为一个二维函数f(x,y),其中x和y是空间坐标,而f在任意一对坐标(x,y)处的幅度称为该点处图像的亮度或灰度.(《Digital Image Processing Using MATLAB》-中文版,作者:Rafael C. Gonzalez,Richard E. Woods,Steven L. Eddins.译者:阮秋琦等).
  
  说的通俗点就是,一副图像有许多点组成(这些点我们称之为像素).例如咱们平时说的1080P的高清视频,也就是说,该视频,每一幅图像都由2073600个像素点组成(1920*1080=2073600).这样的一幅图像,我们用数学的方法如何表示呢,就是用一个二维函数f(x,y).这样我们将图像的处理转换为了一个数字的处理(可以抽象的理解为一副图像,每个像素点都是一个特定的数字).这样一来,图形的处理就简单起来了,因为用数学就可以解决了.
  
  请看下面的图,让我们更容易理解一点,图B是原图,就是一副简单的黑白图(尺寸8x8).我们从另一个角度去看这张图片,它其实就是水平方向有8个像素点,垂直方向有8个像素点组成的图片,也就是我们所看到的图A.那么我们在规定<数字1-白色>,<数字0-黑色>,那么就是最终的图C.这样用一个矩阵来表示一副数字图像就十分的形象了.
  数字图像1
  
  同样的彩色图像的理解也是一样,只是用RGB的分量来表示.我们可以简单理解为,把图C的0,1替换为相应的彩色数字(这里只是假设,不是真的,例如(8,8)这个坐标的像素点为黄色(即红色箭头指的那个坐标),而我们又规定黄色为5,那么该点我们就写上5就好了,即图C最右下角为0->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,图中我用,来数字化图像,其实道理是一样的,这跟描述一副图像所用的数据类相关.只是我逻辑上用0和1来描述黑和白,你用0255来描述是一样的.这个取决于你描述图像所以数据类的位数.如果用8位来描述,那么就是2的8次方256也即是[0, 255].

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

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

  三帧差分法结果对比分析

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

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

0 0
原创粉丝点击