目标识别与追踪 计算机视觉项目实战-背景建模与光流估计

欢迎来到本博客
本次博客内容将继续讲解关于的相关知识
作者简介:??????目前计算机研究生在读 。主要研究方向是人工智能和群智能算法方向 。目前熟悉网页爬虫、机器学习、计算机视觉()、群智能算法、深度学习等内容 。以后可能会涉及到网络安全相关领域,毕竟这是每一个学习计算机的梦想嘛!
目前更新:目前已经更新了关于网络爬虫的相关知识、机器学习的相关知识、目前正在更新计算机视觉-的相关内容 。
本文摘要
计算机视觉项目-背景建模
文章目录??光流估计实战演示
这里我准备用自己的一个投篮来做试一下这个小项目!后期会做出结果 。本来是要做视频的结果没有办法,总显示数据不存在,大家简单的看一下就好 。
??项目前言
熟悉的小伙伴们都知道一点就是视频是由一帧一帧的图像组合而成,那么当我们传进来一个摄像头录制的图像的时候(因为摄像头录制的较为稳定),我们是不是也可以做这样的一件事:检测到那些物体或者说那些人在运动,那些物体没有在运动 。也就是我们所谓的哪些是前景,那些是背景 。那么我们就来具体看看背景建模都有那些方法 。
??背景建模-帧差法
首先我们来讲一下什么是帧差法:由于场景中的目标在运动,目标的影像在不同图像帧中的位置不同 。该类算法对时间上连续两帧或者三帧图像进行像素值差分运算,不同帧对应的像素值进行相减,判断灰度值的绝对值 。当绝对值超过了一定的阈值之后,既可以判断成运动目标,从而实现运动的目标检测功能 。
侦差法非常简单,但是会引入噪音,和一些空洞问题 。很明显两帧图像背景的部分,不可能像素值一点不变,变一点计算机都是可以识别的,所以他一定会出现一些噪音点,比如上方的图像就是出现了人的周围也出现了很多的噪音点 。还有一个就是空洞问题,那么什么是一个空洞问题呢,就是上方图像中整个人都是在运动的,但是由于两帧图像中人移动的很小,把自己身体部分一部分一直处于一个黑色的状态,导致人体内部都是黑色的 。没有识别出来 。
??背景建模-混合高斯模型
流程总览:在进行前景检测前,先对背景进行训练,对图像的每一个背景都进行一个混合高斯模型进行模拟,每个背景的混合高斯的个数可以自适应 。对于新来的像素值进行GMM匹配,如果该像素数值能够匹配其中一个高斯模型,那么就可以认为是背景,否则认为是前景,由于整个过程GMM都在不断更新学习的过程,所以对于动态背景该算法也具有一定的鲁棒性,最后通过一个有树枝摇摆的动态背景进行前景检测,会取得较好的结果 。
首先我们先来看一下什么是高斯模型:
对于像素值中的一个点的展示是这样:
背景的实际分布应当是多个高斯分布混合在一起,每个高斯模型也可以带有权重 。
这里我们来具体说一下为什么说是混合高斯模型,为什么要混合呢?因为当你拿到一帧图像的时候,不可能在这个图像当中就一个背景的,可能有天空,可能有绿地,可能有具体的事物 。那么这些背景的对应的高斯模型都是不相同的,那么就需要混合高斯模型来做这一件事 。天空这个背景对应第一个高斯模型,草地这个背景对应第三个高斯模型 。都被匹配上了,那么我们就认为他是一个背景,如果都没有被高斯模型匹配上,那么我们就认为他是一个运动的 。
这里面就描述了两个高斯模型 。
混合高斯模型学习方法:
首先初始化每个高斯模型矩阵参数 。
这里我们初始化每一个高斯模型矩阵 。比如我们拿到了第一个像素点的数值是100,然后对应的均值差默认值是5 。