摘 要 随着人口老龄化日益增加,老年人跌倒的比例逐年增高,本论文研究通过采集身体姿态数据来判断是否发生跌倒。选用背景差分法和形态学算法提取目标骨架,骨架提取经历九步:图像灰度化,背景差分法提取目标轮廓,使用CLAHE算法增强对比度,高斯滤波,Solel算子进行边缘检测,小波去噪,最大类间误差法二值化,形态学运算和中值滤波。然后用基于人体比例的方法初步判断跌倒情况,再用基于运动趋势的精准判断跌倒情况。算法总体效果可以,误检较少。
关键词 跌倒检测;身体姿态检测;背景差分析;SVM
引言 在美国,每年在65岁以上老人中,平均每3人中就有1人发生意外跌倒,每年大约有9500位老年人死于旅行途中或跌倒;而平均年龄在65岁至69岁之间的人每200次跌倒中就有一次髋关节骨折。更严重的是,20%到30%的患者会出现中度到严重的并发症,很可能导致残疾。而在中国,老年人口已经突破2.5亿,按照30%概览推算,每年有7500万人次的老年人摔倒。为了有效减少跌倒事件带来的影响,本文研究跌倒检测步骤一般包含为:1)人体特征检测:此阶段需要把人从背景中提取出来,并处理得到需要的人体特征,一般包括骨骼坐标点和人体姿态等;2)跌倒检测:对人体的特征进行分析和处理,基于人体比例的方法初步判断跌倒情况,再用基于运动趋势的精准判断跌倒情况。
1 人体特征检测
1.1 灰度化 颜色可分为彩色和黑白。颜色中不包含任何的色彩成分,仅由白色和黑色组成的是黑白。在颜色模型RGB中,当R=G=B,那么颜色(R,G,B)则表示为一种黑白的颜色;其中R=G=B的值是灰度值,所以黑白色即灰度颜色。灰度与彩色之间是可以相互转化的,由灰度化转为彩色的称为伪彩色处理过程;由彩色转化为灰度的叫做灰度化处理过程。
相应地,数字图像可区分为灰度图像和彩色图像。通过伪彩色处理和灰度化处理,可以使伪彩色图像与灰度图像之间进行相互转化。
使彩色的R,G,B分量值相等的过程就是灰度化。灰度的级别只有256级,即灰度图像仅能表现256种颜色(灰度),主要是因为R,G,B的取值范围是0 - 255。
本算法灰度化的处理方法用平均值法:利用R,G,B的值求出平均值,即
R = G = B =(R+G+B)/3
平均值法可以形成相对比较柔和的灰度图像。
1.2 目标提取算法 背景差分法利用当前待处理视频帧图像与已经建模好的背景图像进行差分运算,利用阈值处理减少图像中的噪声干扰。优点是计算简单,且可以解决帧间差分法检测空洞的问题,得到的轮廓比较完整; 缺点是对于动态场景的适应能力不强, 对光照变化、 外来无关事物影响比较敏感。背景差法可以分为4个过程,即预处理、背景建模、前景检测、后处理。
通过这次毕业设计的摸索,可将背景差分法的实现步骤总结如下:
(1)进行图像的预处理:主要包括对图像进行灰度化以及滤波。
(2)目标区域提取:将 N帧图像与N+1帧图像相减,将 N+1帧图像与N帧图像相减,再将两相减后图像相加,便得到目标区域如图1所示,这样做的目的是增加目标区域的对比
文章图片
图1 目标区域提取图
1.3 目标分割算法 (1)使用CLAHE算法增强对比度
CLAHE同普通的自适应直方图均衡不同的地方主要是其对比度限幅。这个特性也可以应用到全局直方图均衡化中,即构成所谓的限制对比度直方图均衡(CLHE),但这在实际中很少使用。在CLAHE中,对于每个小区域都必须使用对比度限幅。CLAHE主要是用来克服AHE的过度放大噪音的问题。这主要是通过限制AHE算法的对比提高程度来达到的。在指定的像素值周边的对比度放大主要是由变换函数的斜度决定的。这个斜度和领域的累积直方图的斜度成比例。CLAHE通过在计算CDF前用预先定义的阈值来裁剪直方图以达到限制放大幅度的目的。这限制了CDF的斜度因此,也限制了变换函数的斜度。直方图被裁剪的值,也就是所谓的裁剪限幅,取决于直方图的分布因此也取决于领域大小的取值。经过CLAHE算法增强对比度的目标区域如图2所示。
文章图片
图2 CLAHE算法增强对比度的目标区域图
(2)高斯滤波
高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。经高斯滤波去除噪音点的目标图如图3所示。
文章图片
【努力学习人工智能|基于图像识别的跌倒检测】图3 高斯滤波后图
(3)Solel算子进行边缘检测
Solel算子主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值。在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量。该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。Sobel算子根据像素点上下、左右邻点灰度加权差,对噪声具有平滑作用,提供较为精确的边缘方向信息。经Solel算子进行边缘检测后的轮廓图如图4所示。
文章图片
图4 经Solel算子进行边缘检测后的轮廓图
(4)最大类间误差法二值化
最大类间方差法是由日本学者大津于1979年提出的,是一种自适应的阈值确定的方法,又叫大津法,简称OTSU。它是按图像的灰度特性,将图像分成背景和目标2部分。背景和目标之间的类间方差越大,说明构成图像的2部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致2部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。经最大类间误差法二值化后图像如图5所示。
文章图片
图5 经最大类间误差法二值化后图像
(5)小波去噪
在数学上,小波去噪问题的本质是一个函数逼近问题,即如何在由小波母函数伸缩和平移版本所展成的函数空间中,根据提出的衡量准则,寻找对原信号的最佳逼近,以完成原信号和噪声信号的区分。 也就是寻找从实际信号空间到小波函数空间的最佳映射,以便得到原信号的最佳恢复。从信号学的角度看,小波去噪是一个信号滤波的问题,而且尽管在很大程度上小波去噪可以看成是低通滤波,但是由于在去噪后还能成功地保留信号特征,所以在这一点上又优于传统的低通滤波器。由此可见,小波去噪实际上是特征提取和低通滤波功能的综合。经小波去噪后的图像如图6所示。
文章图片
图6 经小波去噪后的图像
(6)形态学运算
形态学运算是针对二值图象依据数学形态学(Mathematical Morphology)的集合论方法发展起来的图象处理方法。数学形态学起源于岩相学对岩石结构的定量描述工作,近年来在数字图象处理和机器视觉领域中得到了广泛的应用,形成了一种独特的数字图象分析方法和理论。通常形态学图象处理表现为一种邻域运算形式,一种特殊定义的邻域称之为“结构元素”(Structure Element),在每个象素位置上它与二值图象对应的区域进行特定的逻辑运算,逻辑运算的结果为输出图象的相应象素。形态学运算的效果取决于结构元素的大小、内容以及逻辑运算的性质。常见的形态学运算有腐蚀和膨胀。经形态学运算后的图像如图7所示。
文章图片
图7 经形态学运算后的图像
(7)中值滤波
中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。W为二维模板,通常为33,55区域。经中值滤波后图像如图8所示。
文章图片
图8 经中值滤波后图像
本文采用了背景差分法和数学形态学处理的运动区域提取算法。在时域窗口内,首先对图象进行降级处理得到灰度图象,对灰度图象做差分处理并进行数学形态学处理得到运动目标的运动骨架。实验结果表明,该算法能够对静止背景序列运动区域有较好的分割结果。进过以上七步的层层处理,就得到了运动目标骨架图,后面的识别检测就在此基础上进行。
2 基于机器学习的跌倒检测 跌倒是瞬间动作,人体的动作、高度和速度等会快速的改变。人体在跌倒过程中,一般是从站着到坐到地板上或者躺倒地板上,人体的中心点从较高的位置快速下降到了地面或者接近地面的高度。
2.1 SVM跌倒检测原理 本文设计了一种运动物体行为辨识中采用基于两级SVM分类器的方法。
第一级SVM分类器用于判决运动物体是否处于非直立(下蹲、跌倒等)状态,提取物体的宽高比、最小包含物体矩形框面积、最小包含物体矩形框周长、运动物体高度等特征进行分类器的训练和分类判决。对于第一级分类器判决为非直立状态的图像帧,将它送入第二级SVM分类器进行分类判决。
第二级SVM分类器用于区分运动物体处于跌倒或其他的非直立状态,提取Zernike矩特征、运动物体的高度、运动物体的宽度、运动物体轮廓面积、运动物体轮廓周长等特征进行分类器的训练和分类判决。如果第二级 SVM 分类器判决为属于跌倒姿势状态类, 系统自动发出报警信息。
2.2 算法流程
文章图片
图9 算法流程
2.3 算法效果
文章图片
图10 算法效果展示
在总共30个视频中,该模型正确地识别了25个跌倒,并在主体掉出画面时错过了另外5个跌倒。可以证明该模型有83.33%的精确度。
3.深度学习跌倒检测
文章图片
图11 摔倒检测
4 应用前景及结论 跌倒检测可用于许多情况下以提供帮助。喝醉的人、老人、在操场上玩耍的学生、患有心脏病或中风等疾病的人、粗心的人绊倒等。除了姿势估计之外,专门针对跌倒进行训练的深度学习模型可能会表现得更好,但是必须仔细训练模型以区分跌倒和其他类似跌倒的动作。本文选用背景差分法和形态学算法提取目标骨架,骨架提取经历九步:图像灰度化,背景差分法提取目标轮廓,使用CLAHE算法增强对比度,高斯滤波,Solel算子进行边缘检测,小波去噪,最大类间误差法二值化,形态学运算和中值滤波。然后用基于人体比例的方法初步判断跌倒情况,再用基SVM精准判断跌倒情况。算法总体效果可以,误检较少。
参 考 文 献 [1] 丛丽,王卫红,何彩云.住院老人生存质量的研究现状[J].中国老年学杂志,2015,1:142.
[2] Noury N,Remeau P,Bourke A K,et al.A Proposal for the classification and evaluation of fall detectors[J].IRBM,2008,29,(6):340-349.
[3] Mathie M J,Coster A C F, Lovell N H,et al.Accelerometry:providing an integrated,practical method for long-term,ambulatory monitoring of human movement[J].Physiological Measurement,2004,volume 25(2):R1-R20(20).
[4] 王君泽,朱小龙,瞿畅.基于Kinect骨架追踪的人体摔倒自动检测[J].上海交通大学学报,2015,49(9):1359-1365.
[5]刘国帅,熊平.基于三个特征点的人体跌倒检测[J].科技视界, 2015(21):5-6.
欢迎大家加我微信交流讨论(请备注csdn上添加)
文章图片
推荐阅读
- 人工智能|CV目标检测模型小抄(1)
- 算法|魔改YOLOv5!一种实时多尺度交通标志检测网络
- 神经网络|YOLO7 姿势识别实例
- 学习笔记|这样的商城系统,真招人稀罕!
- sklearn|【OpenCV 例程200篇】235. 特征提取之主成分分析(sklearn)
- 可视化|我,27岁,数据分析师,今年无情被辞(想给数据人提个醒!!)
- 人工智能机器学习之用Python使用ID3算法实例及使用sklearn的决策树算法对葡萄酒数据集进行分类
- 人工智能|python 和 scikit-learn 实现垃圾邮件过滤
- 产品动态|领先企业推进智慧财务的同款效率工具,赶快了解一下()