当前位置:首页 期刊杂志

基于Zhang-Suen 算法的人体坐姿的识别方法研究

时间:2024-05-04

朱国安 王金祥(通讯作者) 延边大学工学院计算机科学与技术学科

1 研究的背景与意义

近年来,我国近视人群低龄化程度越来越高,中小学生,尤其是中学生中高度近视的例子屡见不鲜。溯其根源,多是由不良的学习姿势和日常生活坐姿导致的。本文提出一种针对学生群体的坐姿或学习姿势的识别方法,提醒学生矫正自身坐姿,预防近视。

2 目标检测与定位

在处理视频序列流时,首先要获取视频中主体处理部分。

本文采用三帧差分法和背景差法二者相互补充对人体的整体轮廓进行了检测、提取和定位。

选取视频中某连续的三帧图像进行处理,最终得到符合要求的二值图像。具体为取相邻三帧,前后两帧分别与中间帧做差,再对这两个差相与运算得到运动目标信息本文以视频的初始几帧为临时“模板”,随着时间的延长,周期性的选取视频序列中接近于模板的视频帧来更新模板。这样就能使背景模板适应场景的各种变化和干扰,提高检测的正确性。

3 背景模型建立与轮廓提取

本文使用统计平均法来估计背景模型,用统计平均法对视频的N帧图像构建背景,对当前视频帧和背景帧做帧差处理。对得到的结果图像中的像素判定,当像素点灰度值高于预设阈值T 时,判定该点属于人物目标区域;当低于阈值时,判定该点为静止的背景。根据形态学滤波运算处理算法,本文采用腐蚀、膨胀、开闭运算的混合运算去噪获取目标轮廓信息。

4 骨架提取与坐姿特征分析

本文考虑人物的骨架结构作为处理目标的特征参数,模拟出人体的主要骨架部分,提取其中的端点值的坐标作为姿势的分析因子。

采用Zhang-Suen 图像骨架提取算法进行坐姿分析。经典的Zhang 是一种并行快速细化算法,设一个像素点的8 邻域中间为P1,P1上面为P2,按顺时针排列其余个点。

①.循环所有前景像素,并按照以下条件标记要删除的像素(灰度值为0):

A.2 ≤ N(p1)≤ 6,中心像素P1 周围的目标像素(灰度值为1)的个数在2~6 之间;

B.S(P1) = 1,8 邻域像素中,按顺时针方向,相邻两个像素出现0 →1 的次数为1;

C.P2 * P4 * P6=0; P4 * P6 * P8=0

②.条件A、B 与①一致,条件C 不同,满足以下条件的像素P1 标记为删除:

P2 * P4 * P8 = 0; P2 * P6 * P8=0

循环①②,直到图像中没有可“删除”的像素,输出的结果即为人物目标细化后的骨架。对单独细化出的人物骨架还不足以判断出人物的坐姿特征。因此,在主体算法中再设计一个判断骨架的端点和交叉点的函数,在过滤后的骨骼化图像中寻找端点和交叉点,记录对应点的坐标值。

5 实验分析与总结

在实验中,对原视频经过一系列处理,能够得到已经去除噪声的二值图像和人物目标的骨骼化图像。并利用cvContourArea 函数绘制并计算出人物的大致轮廓及其面积。在原视频帧中根据条件M:2 ≤p2+p3+p4+p5+p6+p7+p8+p9 ≤6,利用从过滤后的骨骼化图像中寻找端点和交叉点的方法,对符合条件的特征点cv::Point用圆圈标识出来,并得到这些特征点的坐标C(xi,yi)。

统计特征点并归一化处理,得到4 个方位偏移最大的点Ctop(x,y)、Cright(x,y)、Cbottom(x,y)、Cleft(x,y)。正常情况下,可粗略认为这四个特征点分别代表目标人物的头部、脚部、左右手掌的坐标,根据这4 个特征点坐标的差异程度,来判断目标人物的坐姿是否处于不良状态,从而简化坐姿识别的难度并提高准确性。

具体告警方式:

设A=|Ctop(x,y)-Cright(x,y)|;B=|Ctop(x,y)-Cleft(x,y) |

则,判断阈值公式:

说明:S0为目标正常坐姿人物轮廓面积,S 为目标实时坐姿人物轮廓面积。

T ≥1, 坐姿正常,以绿色轮廓线绘制人物轮廓;

实验结果如下图所示:

在实际场景应用测试中,程序能较为准确的识别出学生的坐姿,该识别方法能够达到预期效果,鲁棒性强。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!