原文地址:https://blog.csdn.net/timidsmile/article/details/6753973

人体运动检测是指在输入视频图像中却东运动人体的位置、尺度大小和姿态的过程、

人体跟踪是指在视频图像序列中确定各帧间的人体彼此对应关系的过程。

可以采用 低通滤波去噪、背景差分、形态学图像处理、区域连通性分析等一系列的处理方法,将运动物体从视频图像中提取出来,然后采用人体高宽及其比值的特征进行人体识别。

检测到人体后,可以采用Camshift算法和卡尔曼滤波算法进行人体的跟踪。

运动目标检测常用的方法:背景减除法,帧间差分法、光流法级统计学方法、

帧间差分法:帧间差分法是在图像序列中,将相邻两帧图像或相隔几帧的两幅图像的像素值相减并且阈值化来提取图像中的运动区域。其主要优点是算法实现简单,但对场景光线的变化不太敏感,受目标阴影的影响也不太大。问题是“当目标表面存在大的灰度均匀的区域时,在目标的上述区域产生”空洞“:目标运动速度越大,检测出的区域就比实际的区域越大,而当目标运动很缓时,往往检测到得区域很小,甚至无法检测到目标运动。

背景差分法:利用当前图像与背景图像的差分来检测运动区域,即将每一帧图像与背景图像相减,若差值大于某一阈值就判为出现运动目标,相减的结果直接给出运动目标的位置、大小、形状等信息。使用差分法需要对背景帧进行不断的更新以保持与实际背景的精确近似。

光流计算法:光流是图像中各像素点运动的速度分布,它是一种顺时速度场,即向量场。每一个向量表示了景物中一个点在图像中位置的瞬时变化。光流法是利用运动目标在图像序列间,即随着时间变化的特性,通过计算帧间像素的位移来提取人的运动。其优点是光流不仅携带了运动目标的运动信息,而已还携带了有关景物三维结构的丰富信息,能够检测独立运动的对象,而不需要预先知道场景的任何信息。既实用于静止的运动的背景,也适用于摄像机运动的情况,有很好的适应性。但是其缺点也是明显的,这种方法采用迭代的求解计算,所需计算时间长,无法满足实时的要求,并且该方法受噪声影响比较大,因而它多适用于图像噪声比较小,目标运动速度不大的情况。

统计学方法:是基于像素的统计特性从背景中提取运动信息。它首先计算背景像素的统计信息)如,颜色灰度边界等),使用个体的像素或一组像素的特征来建立一个较为高级的背景模型,而且背景的统计值可以动态的更新,通过比较当前背景模型的统计值,图像中每一个像素被分成前景or背景。但是基于统计的方法涉及大量的计算和变换,对现有的硬件设备要求较高。

目标跟踪

视觉跟踪算法主要分为4类:基于区域的跟踪、基于特征的跟踪、基于变形模板的跟踪和基于模型的跟踪。

图像的去噪声处理:

空间域图像平滑:

1邻域均值滤波 (用几个像素的平均值来代替每个像素的灰度。有4邻域和8邻域。对加性噪声的处理比较有效,但是会造成高频的图像边缘部分出现模糊现象,而且模糊程度与邻域模板的大小成正比。)

2中值滤波 (一种非线性信号处理方法。将一个包含奇数个像素的模板在图像上一次移动,将模板内所有像素点的灰度值进行排序,然后再取中间值作为中间像素点的灰度值,它对孤立的噪声像素印制能力很强,由于它不是简单的取均值,so产生的模糊比较少,它在消除噪声的同时又保持了图像的细节。但窗口不易太大,否则图像的边缘信息也会受到损失。)

3空间域低通滤波 (图像信息一般集中在低频部分,噪声在高频部分)

频域低通滤波

形态学图像处理

进行前景检测后在检测到得人体区域会有孔洞产生,因此采用形态学图像处理的方法填补目标

区域的小的孔洞。

开运算可以消除图像中小于结构元素的细节部分,平滑对象的轮廓,断开狭窄的连接,并可以使物体的局部形状保持不变;

闭运算也可以平滑对象的轮廓,但与开运算不同的是,闭运算可以将狭窄的缺口连接起来,,并填充比结构元素小的孔洞和缝隙。

(采用闭运算来消除运动目标中小的孔洞)

区域连通性分析

当某一联通区域的面积大于一定阈值时,认为有目标出现。

Camshift算法的人体跟踪

camshift算法即连续自适应的Mean shift算法。是一种基于目标颜色的概率图,以概率图质心为特征点进行跟踪的算法。这个算法具有较强的稳定性,能够对快速运动的物体进行很好的检测。

人体运动检测与跟踪(转)相关推荐

  1. 欢迎使用人体运动检测与跟踪CSDN-markdown编辑器

    人体运动检测是指在输入视频图像中却东运动人体的位置.尺度大小和姿态的过程: 人体跟踪是指在视频图像序列中确定各帧间的人体彼此对应关系的过程. 可以采用 低通滤波去噪.背景差分.形态学图像处理.区域连通 ...

  2. 谷歌发布 MediaPipe Holistic,实现移动端同时进行人脸、手部和人体关键点检测跟踪...

    作者:Ivan Grishchenko & Valentin Bazarevsky 编译:CV君 谷歌MediaPipe Holistic为突破性的 540 多个关键点(33 个姿势.21 个 ...

  3. 运动检测与跟踪之动态背景的更新

    转载自http://blog.csdn.net/dcrmg/article/details/52263532 运动物体检测与跟踪中的帧差分法,除了相邻帧差分法和三帧差分法外,还有一种差分方法,可以通过 ...

  4. 通过WIFI信号跟踪三维人体姿态的新方法

    图 1 系统概述 无线传感设备是允许用户感知运动和远程监控特定环境中的活动或变化的工具,有许多应用.例如,它们可用于监控目的,以及跟踪医疗病人和运动员的睡眠或身体活动.一些电子游戏开发商也已经使用无线 ...

  5. 如何基于人体人脸跟踪实时监测心率?

    华为AR Engine是什么? 华为AR Engine服务是一个用于在Android上构建增强现实应用的引擎.基于芯片平台整合AR核心算法,提供了运动跟踪.环境跟踪.人体和人脸跟踪等AR基础能力,通过 ...

  6. 自动跟随小车c语言,基于OpenCV的智能小车运动轨迹跟踪方法研究

    摘要: 随着人工智能技术的快速发展,智能小车开发受到越来越多研究者的关注,也已经成为一个重要的研究方向,而解决智能小车在路径规划中行驶的运动故障重要手段是对其进行的视频监控,但是智能小车的视频监控只能 ...

  7. 刷新记录,算法开源!字节跳动获人体姿态估计竞赛双冠 | CVPR 2019

    整理 | Jane 出品 | AI科技大本营(id:rgznai100) [导读]6 月 16--20 日,计算机视觉与模式识别领域顶会 CVPR 2019 在美国长滩举行.每年的 CVPR 盛会除了 ...

  8. 检测跟踪 DeepSOCIAL:基于YOLOv4的人群距离监测 集检测、跟踪以及逆透视映射一体的系统

    论文:https://doi.org/10.3390/app10217514 代码:https://github.com/DrMahdiRezaei/DeepSOCIAL https://github ...

  9. 视频目标跟踪算法综述

    视频跟踪:基于对比度分析的目标跟踪.基于匹配的目标跟踪和基于运动检测的目标跟踪       基于对比度分析的目标跟踪:主要利用目标和背景的对比度差异实现目标的检测与跟踪.这类算法按照跟踪参考点的不同可 ...

最新文章

  1. WS-Eventing、WS-Transfer Web服务标准
  2. 三菱四节传送带控制梯形图_【毕业设计】三菱plc(论文)基于PLC的传送带的控制系统设计毕业设计...
  3. php complex,PHP復雜的基於角色的訪問控制列表
  4. Reader 与 Guava MultiReader
  5. HTML标记大全参考手册
  6. 软件破解入门教程和解密手册——PE文件格式
  7. geany中正确运行python方法
  8. 关于C语言的随机函数
  9. GIT (develop|MERGING)
  10. iReport与JasperReport中如何支持文支持显示
  11. Elasticsearch - Indices stats 获取索引级别的统计信息之三 【indexing】索引操作信息
  12. 复旦女博士被“送”5篇论文后要分手,代写情夫自杀?复旦大学深夜回应!
  13. BUUCTF 每日打卡 2021-5-6
  14. 【腾讯Bugly干货分享】聊聊苹果的Bug - iOS 10 nano_free Crash
  15. Android 自定义评论回复view
  16. react 使用qs
  17. 计算机屏幕三种,多屏互动的三种表现类型
  18. android存储到sd卡中,android保存文件到SD卡【文件存储】
  19. 财务软件迈出“标准”步伐
  20. android程序qq登陆,手把手带你实现QQ登录

热门文章

  1. git上传代码和下载代码
  2. 详谈parameterType与resultType的用法
  3. 更新包与已安装应用的签名不一致
  4. 群晖NAS误删30T数据成功恢复全过程
  5. Stable Diffusion 图像生成测试
  6. 搭建一套简单的CDN网络
  7. pip安装三方库不成功的解决方法
  8. 五分之四的不同表达式_省技能大赛题库(五) 滴定分析基础知识
  9. iPhone手机使用iSH终端运行iperf3命令测试内网Wi-Fi网速
  10. 轻松玩转树莓派Pico之三、Windows+Ubuntu虚拟机模式下VSCode C语言开发环境搭建