m基于PCA-SA低纬紧致姿态空间学习算法的单目视频人体姿态提取matlab仿真

本文涉及的产品
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,视频资源包5000点
简介: m基于PCA-SA低纬紧致姿态空间学习算法的单目视频人体姿态提取matlab仿真

1.算法仿真效果
matlab2013b仿真结果如下:

bed2a901088b0fb909404029996ef6e9_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
5eb0083328e72700d7cda04f43dc51ed_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
8197fa1ccd0b6f8dddf4c59a44b7ee75_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
9c65c4030f96f0296177c1f81a9006f3_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
473d783cad9721f3b31969ec2b3f8167_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
fb31e692a12a62b2071acb3d582cdd60_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
85ce4fb88070dd1e85ba3306908b104d_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
3fce0a6a8292924cda8e63d5b60c9005_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
fe6e8e47655be37bb02611a22d713510_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
139f59db9c4afce50d7fdfe6cd8b95f6_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
daf68fe28554b1c5762f7b81963f124e_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要

659050a8be112d1072aed5d45df2b8ea_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

    介绍了运动人体的剪影提取,在视频序列中,由于受到复杂背景、遮挡、光照变化等因素的影响,通常的背景分离算法无法有效的对运动人体进行提取,本文介绍了一种基于高斯混合模型和帧差法相结合的运动目标提取算法,从而获得了精度较高的运动人体剪影。

    由于人体姿态运动数据通常是高维矩阵数据,在处理之前一般需要进行降维度处理,首先通过传统的PCA降维算法进行处理。然后分析了PCA算法的缺陷和不足,并在PCA算法的基础上提出了一种基于概率信息的改进PCA算法。在PCA的基础上,加入一个噪声变量,用来调整后面N-M个高维度的数据的精度。 通过最大似然估计进行估计这个噪声模型,然后叠加到PCA模型的高维数据上。

   对降维后的数据进行粒子群的姿态估计,这里首先使用PSO粒子群优化算法进行优化,然后使用模拟退火算法进行优化,最后通过对比分析,提出了一种基于基因突变的变权值模拟退火粒子群优化算法,通过该算法,可以大大改进最后的收敛效果,使得最后的收敛值趋于稳定收敛,收敛值达到更小的误差水平,并且不存在粒子突变的情况。

最后,对CMU数据库中的不同运动姿态进行仿真,实验结果仿真可知本文方法不仅具有良好的计算效率,同时具有良好的收敛性和全局搜索能力,能准确估计和跟踪单目视频中的人体姿态。

    目前,运动捕获数据有多种格式,应用较为广泛的主要有BVH、ASF/AMC、FBK、C3D以及HTR等。其中ASF/AMC是最常用的数据格式。因此,这里,我们重点对ASF/AMC的数据格式进行介绍。

     ASF/AMC,全称Acclaim Skeleton File/Acclaim Motion Data,其主要由两个文件组成:一个骨架文件和一个运动文件。ASF是骨架文件,AMC是运动文件,对于每一个特定的动作,都是由骨架来完成的,这些数据,可以从CMU数据库中获得。

  下面对ASF骨架数据进行简单的介绍,其基本结构如下图所示:

f56af9731db7bf9d79d1c5fcaeab0205_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

“:version”指示出骨架定义的版本;

“:name”允许对骨架数据进行命名;

“:units”定义了各种类型数据的单位和一些参数的默认值;

“:documentation”存储的是一些起到说明作用的文档信息;

    “:root”部分定义了场景中一个特定的片段,它是骨架层次结构中的根节点,除了不包含方向和长度信息之外,和其他关节是一样的。其中”axis”定义了根对象的旋转顺序,”order”指出了应用于根节点的运动通道信息,并将以这样的顺序出现在AMC文件中。”Position”和”orientation”后面的信息给出了根节点的起始位置和方位,一般情况下都是0。

    “:bonedata”部分对于层次结构中的其他骨骼信息分别进行了描述,对每个骨骼的定义都是以”begin”,开始,以”end”结束的。在对各个骨骼的定义中,包含以下几个部分:”id”是一个唯一的数字,标识了当前骨骼的序号,这一项并不是必须的,因为每段骨骼都有自己的名称,而且这个名称在层次部分和AMC文件中都被用到。”name”定义了骨骼的名称,需要注意的是,每个骨骼必须有一个唯一的名称。”direction”指出了骨骼的方向,根据该信息,可以知道如何绘制该骨骼,并定义了从父骨骼到子骨骼的方向。方向信息和长度信息决定了一个骨骼相对于其父骨骼的偏移量。”length”定义了骨骼的长度信息。”axis”部分给出了骨骼的旋转轴。通过将旋转轴指定为一个独立的值,运动数据可以独立于绘制和层次信息,这对于那些需要解决万向节死锁问题的应用来说显得尤为重要。”dof”指定了运动通道的数量和这些通道在AMC文件中出现的顺序。如果某个骨骼不包含”dof”部分,那就认为该骨骼没有任何运动数据。”limits”部分给出了自由度中指定的通道的限制信息。对于每个通道而言,限制信息都是以一对数字的形式给出的,规定了该通道允许的最小值和最大值,在运动编辑等过程中,这部分数据用来限制旋转的范围。

“:hierarchy“部分描述了各段骨骼之间的层次关系。

3.MATLAB核心程序
```if Start(1) == 1
disp('read the avi...');
[Obj,frameNum_Original] = get_AVI(FileName_AVI);
%将视频保存为jpg形式,方便对比处理
[pixel_original,pixel_gray] = vedio_op(Obj,frameNum_Original);

[RR,CC,KK] = size(pixel_gray);

for i = 1:min(frameNum_Original,Process_frames)
pixel_gray2(:,:,i) = imresize(pixel_gray(:,:,i),[RR/2,CC/2]);
pixel_original2(:,:,:,i) = imresize(pixel_original(:,:,:,i),[RR/2,CC/2]);
end

%保存数据
save Save_Temp\Start1\Start01.mat pixel_gray2 frameNum_Original RR CC
save Save_Temp\Start1\Start02.mat pixel_original2 frameNum_Original RR CC

clear Obj pixel_original pixel_gray pixel_original2 pixel_gray2 frameNum_Original
disp('read the avi over...');
pause(8);
close all;
end

....................................................................
figure;
for tt = 1:min(frameNum_Original,Process_frames)
tt
subplot(221)
imshow(image_sequence2(:,:,:,tt));
title('原始图像');
subplot(222)
imshow(uint8(background_Update2));
title('背景图像更新');
subplot(223)
imshow(Images02(:,:,tt));
title('运动目标检测');
subplot(224)
imshow(Images22(:,:,tt));
title('运动目标提取');
pause(0.2);
end

clear image_sequence2 background_Update2 Images02 Images22 pixel_original2 frameNum_Original2 RR CC
disp('Get the Background over...');
pause(8);
close all;
end
```

相关文章
|
3天前
|
算法
基于SOA海鸥优化算法的三维曲面最高点搜索matlab仿真
本程序基于海鸥优化算法(SOA)进行三维曲面最高点搜索的MATLAB仿真,输出收敛曲线和搜索结果。使用MATLAB2022A版本运行,核心代码实现种群初始化、适应度计算、交叉变异等操作。SOA模拟海鸥觅食行为,通过搜索飞行、跟随飞行和掠食飞行三种策略高效探索解空间,找到全局最优解。
|
4天前
|
算法
基于电导增量MPPT控制算法的光伏发电系统simulink建模与仿真
本课题基于电导增量MPPT控制算法,使用MATLAB2022a的Simulink进行光伏发电系统的建模与仿真,输出系统电流、电压及功率。电导增量调制(IC)算法通过检测电压和电流变化率,实时调整光伏阵列工作点,确保其在不同光照和温度条件下始终处于最大功率输出状态。仿真结果展示了该算法的有效性,并结合PWM技术调节逆变流器占空比,提高系统效率和稳定性。
|
1天前
|
传感器 算法
基于GA遗传算法的多机无源定位系统GDOP优化matlab仿真
本项目基于遗传算法(GA)优化多机无源定位系统的GDOP,使用MATLAB2022A进行仿真。通过遗传算法的选择、交叉和变异操作,迭代优化传感器配置,最小化GDOP值,提高定位精度。仿真输出包括GDOP优化结果、遗传算法收敛曲线及三维空间坐标点分布图。核心程序实现了染色体编码、适应度评估、遗传操作等关键步骤,最终展示优化后的传感器布局及其性能。
|
3天前
|
算法 数据可视化 数据安全/隐私保护
一级倒立摆平衡控制系统MATLAB仿真,可显示倒立摆平衡动画,对比极点配置,线性二次型,PID,PI及PD五种算法
本课题基于MATLAB对一级倒立摆控制系统进行升级仿真,增加了PI、PD控制器,并对比了极点配置、线性二次型、PID、PI及PD五种算法的控制效果。通过GUI界面显示倒立摆动画和控制输出曲线,展示了不同控制器在偏转角和小车位移变化上的性能差异。理论部分介绍了倒立摆系统的力学模型,包括小车和杆的动力学方程。核心程序实现了不同控制算法的选择与仿真结果的可视化。
31 15
|
2天前
|
机器学习/深度学习 算法 安全
基于深度学习的路面裂缝检测算法matlab仿真
本项目基于YOLOv2算法实现高效的路面裂缝检测,使用Matlab 2022a开发。完整程序运行效果无水印,核心代码配有详细中文注释及操作视频。通过深度学习技术,将目标检测转化为回归问题,直接预测裂缝位置和类别,大幅提升检测效率与准确性。适用于实时检测任务,确保道路安全维护。 简介涵盖了算法理论、数据集准备、网络训练及检测过程,采用Darknet-19卷积神经网络结构,结合随机梯度下降算法进行训练。
|
6月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
272 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
6月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
162 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
6月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
138 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
9月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)

热门文章

最新文章