博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188)
原则:代码均由本人编写完成,非中介,提供有偿Matlab算法代码编程服务,不从事不违反涉及学术原则的事。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
本次分享的是基于Matlab的视频人体动作识别算法,用matlab实现。(有疑问或者想交流细节的QQ:3249726188)
一、案例背景介绍
前期博主分享了视频运动目标检测、目标跟踪、识别等相关算法,前期博文链接如下:
基于背景差法的运动目标检测(车辆检测)(基于背景差法的运动目标检测(车辆检测),Matlab实现-CSDN博客)
基于高斯模型的运动目标检测(车辆检测)(基于高斯模型的运动目标检测(车辆检测),Matlab实现-CSDN博客)
基于时空上下文(STC)的运动目标跟踪算法(基于时空上下文(STC)的运动目标跟踪算法,Matlab实现-CSDN博客)
基于LBP和KNN的人面表情识别(基于LBP和KNN的人面表情识别,Matlab实现-CSDN博客)
这次分享的是视频识别相关的算法,基于Matlab的视频人体动作识别算法。
二、算法原理概述
这次分享的视频人体动作识别算法主要内容包括两大部分,第一部分是对运动的人体目标进行检测分割,第二部分是对检测到的人体进行动作的识别。
第一部分,运动目标检测分割
这部分是采用背景差检测分割算法,分割出运动的人体目标,背景差运动目标检测算法在前期博文中比较详细做过介绍,这样不再细说了。
第二部分,动作识别算法
本次动作识别算法用的形状特征算法:傅里叶描述子算法。傅立叶描述子是分析和识别物体形状的重要方法之一。傅立叶描述子 (FD ) 是物体形状边界曲线的傅立叶变换系数, 它是物体边界曲线信号的频域分析的结果。根据傅立叶变换的性质, 傅立叶描述子与形状的尺度、 方向和曲线的起始点 P 0 位置有关。因此需要对傅立叶描述子进行归一化, 使用具有旋转、 平移和尺度不变性的归一化傅立叶描述子 (NFD ) 来识别物体的形状。**具体算法流程详见附件文档。**这里不对傅里叶算法流程进行细述了。
三、算法流程
1、读取视频,获取视频帧
2、对获取到的视频帧图像,背景差运动目标检测法,得到运行目标的人体二值图
3、对于步骤二获取到的二值图,用傅里叶描述子算法获取形状特征。
4、分类,将步骤三的特征与训练图库(动作训练图库)的形状特征进行对比分类,使用的是KNN算法,得到识别结果。
5、根据识别到的动作类型,直接标记在视频上,当前帧识别完成,继续处理下一帧。
四、Matlab实现效果
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
专注、专一于Matlab图像处理学习、交流、代做
QQ:3249726188