CN111325166B - 基于投影重构和多输入多输出神经网络的坐姿识别方法 - Google Patents
基于投影重构和多输入多输出神经网络的坐姿识别方法 Download PDFInfo
- Publication number
- CN111325166B CN111325166B CN202010119569.5A CN202010119569A CN111325166B CN 111325166 B CN111325166 B CN 111325166B CN 202010119569 A CN202010119569 A CN 202010119569A CN 111325166 B CN111325166 B CN 111325166B
- Authority
- CN
- China
- Prior art keywords
- sitting posture
- feature
- map
- view
- depth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013528 artificial neural network Methods 0.000 title claims description 16
- 230000036544 posture Effects 0.000 claims abstract description 113
- 230000006870 function Effects 0.000 claims description 44
- 230000004913 activation Effects 0.000 claims description 33
- 238000012549 training Methods 0.000 claims description 26
- 238000010586 diagram Methods 0.000 claims description 23
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000010606 normalization Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 16
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 13
- 239000013598 vector Substances 0.000 claims description 12
- 238000007781 pre-processing Methods 0.000 claims description 10
- 238000011176 pooling Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 claims description 5
- 238000012935 Averaging Methods 0.000 claims description 4
- 239000012141 concentrate Substances 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 238000013459 approach Methods 0.000 claims 1
- 230000008859 change Effects 0.000 abstract description 5
- 230000007246 mechanism Effects 0.000 abstract description 2
- 238000013527 convolutional neural network Methods 0.000 description 26
- 230000000007 visual effect Effects 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 230000007797 corrosion Effects 0.000 description 3
- 238000005260 corrosion Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241001456553 Chanodichthys dabryi Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于投影重构和多输入多输出神经网络(MIMO‑CNN)的坐姿识别方法,包括:获取人体上半身深度图像及人体前景轮廓图;预处理;对坐姿轮廓的深度信息进行投影,重构得到三视角深度图;设计用于坐姿识别的MIMO‑CNN网络并学***衡了实时性和准确性需求,对视角变化和复杂环境背景,具有较强的抗干扰能力。
Description
技术领域
本发明是一种基于投影信息和多输入多输出神经网络(MIMO-CNN)的坐姿识别方法,属于人体姿态识别技术领域。
背景技术
随着科学技术的飞速发展,当前,坐姿早已成为当今现代人最常见的日常状态之一,同时也和人的身体密切相关。我们大部分的写作办公和在电脑前都是以坐姿的姿态进行的,尤其是青少年儿童在学习过程中的坐姿不规范,但是很少有人会注意到坐姿对身体健康的影响,很多人在坐着使用电脑时存在大量不好的习惯,喜欢低头、驼背、仰坐、斜坐等。所以通过一种方法可以自动的识别到人的坐姿状况,并以此为基础用于坐姿的纠正和引导具有很高的实用价值。
坐姿的纠正和引导的关键是准确和快速地对坐姿进行识别,国内外对关于坐姿识别的研究从很早的时候就已经开始了。基于人类对人体姿态识别以及运动检测的经验,目前对于坐姿识别有以下几个方向的方法。有通过在座椅上放置一些压电类的传感器,通过传感器采集到的数据进行分析来识别人在椅子上的人的坐姿,这种方法容易受到诸如环境噪声、偏移和串扰等外界不稳定因素的影响,而且压力分布不仅与坐姿有关,同时人的体重,在椅子上坐的面积等都会极大的影响传感器的数据无规律变化,导致产生的数据难以理解,其精度更是大打折扣。近几年随着计算机视觉的发展,基于视觉和图像处理技术的坐姿识别方法层出不穷,有些研究人员利用视频中人脸所占区域大小和位置关系来识别坐姿,也有人利用深度传感器采集人体骨骼信息,并根据骨骼节点角度来识别坐姿,还有一些研究人员采集大量人体坐姿信息,利用机器学习训练坐姿模型,进而识别人体坐姿。综上所述,目前的方法主要有以下三个缺陷,第一,对于复杂背景下的抗干扰性较差。第二,基于传统视觉的坐姿识别方法对于摄像头的角度变化极为敏感。第三,对人体坐姿多样性的适应性差,目前的方法,对于坐姿都是在于一个较为理想的动作下识别,但真实的座位上的人们其自然坐姿较为多样复杂,识别方法的适应能力和鲁棒性依然是目前研究方法的热点。
发明内容
本发明提出的是一种基于投影重构和多输入多输出神经网络(MIMO-CNN)的坐姿识别方法,其目的在于针对现有坐姿识别存在的抗干扰性较差、建模困难性高、和对摄像头角度变化过于敏感等缺陷,分别通过深度摄像头获取人体深度坐姿图像,并对其进行预处理和三维信息重构得到多视角的深度信息,最后利用MIMO-CNN网络对坐姿的前后方向的坐姿状态的和左右方向的坐姿状态的识别,用户可以在使用过程中反馈误判样本,定期重新学习优化网络参数,从而提高网络的识别精度。
本发明的技术解决方案:一种基于投影重构和多输入多输出神经网络(MIMO-CNN)的坐姿识别方法,包括以下步骤:
(1)图像获取:利用深度摄像头获取深度图像和人体前景轮廓图;
(2)图像预处理:对所获得的深度图像和人体前景轮廓图进行直方图均值化和滤波等预处理操作,并将样本进行数据增强,以扩充数据集用于训练;
(3)深度图像投影重构:对人体前景轮廓深度图进行投影重构,分别以X、Y、Z轴反方向为投影方向,依次得到左视图、俯视图和主视图,即三视角深度图;
(4)建立坐姿识别模型:设计用于坐姿识别的MIMO-CNN,并将经过步骤(3)处理后的三视角深度图分别作为MIMO(多输入多输出)-CNN的三个通道的输入,进行网络训练;
(5)坐姿识别:将预处理得到的三视角深度图作为输入量输入到MIMO-CNN,根据人体在空间中的分布情况,最终识别出坐姿;
(6)模型自学习:对反馈的错误样本进行自筛选,并收集筛选后的误判样本,自动的进行模型再学习,提升模型识别精度。
所述步骤(1)图像获取,包括以下具体步骤:
1)使用深度摄像头的获取深度图像;
2)使用深度摄像头内置算法获取人体前景轮廓。
所述步骤(2)图像预处理,包括以下具体步骤:
1)对原生深度图像进行直方图均值化;
2)对深度图像进行开运算,去除外边缘毛刺和轮廓内部的缺块;
3)采用中值滤波的方法对人体前景轮廓进行去噪处理;
4)以人体前景轮廓为模板,从深度图像中将人体深度信息从深度图像中抓取出来,得到人体前景深度图;
5)通过自适应裁剪,将人体前景深度图多余的白色背景剪除;
6)双线性插补尺寸归一化为224*224;
7)对裁剪后的人体前景深度图进行数据增强以扩充训练样本。
所述步骤(3)深度图像投影重构,包括以下具体步骤:
1)对于步骤2的人体前景深度图,左上角为其坐标原点,向右为X轴正方向,向下为Y正方向,像素值为其Z轴方向,因此可将一张深度图像的像素点看为一个个三维点,将原本的Z轴变换为Y轴,Y轴变换为Z轴并将数据从0~224归一到0~255,即得到人体前景深度图的俯视投影图;
2)将步骤2的人体前景深度图的原本的Z轴变换为X轴,X轴变换为Z轴并将数据从0~224归一到0~255,得到人体前景深度图的左视投影图;
3)将人体前景深度图的左视图和俯视图进行双线性插补尺寸归一化为224*224,和步骤2处理后的人体前景深度图一起统称为三视角深度图。
所述步骤(4)建立坐姿识别模型,包括以下具体步骤:
1)MIMO-CNN设计:MIMO-CNN以三视角深度图(左视图、俯视图和主视图)作为输入,分别输入到三个分支网络中,得到3个不同的特征矩阵,接着在特征矩阵数量维度上,将左视图、俯视图和主视图的这三个特征矩阵进行concat拼接后用于前后方向的坐姿状态特征,将俯视图和主视图这两个特征矩阵concat拼接后用于左右方向的坐姿状态特征,将拼接后的两个坐姿状态特征再分别输入到深层的两个子网络分支中,子网络分支最终输出两个为1维的特征向量,分别对应坐姿前后方向和左右方向的特征向量,最后使用2个softmax层对左右和前后状态的坐姿向量进行概率分布输出;
2)模型参数训练:将三视角深度图分别输入到MIMO-CNN的三个通道,得到模型坐姿信息,再计算模型坐姿结果与真实标签之间的交叉熵损失;根据损失函数使用反向传播的梯度下降算法,对网络的参数进行不断更新优化完成网络训练。
所述步骤1)MIMO-CNN设计,包含以下具体步骤:
(a)输入某个原始图像,首先使用3*3的核进行卷积层操作,接着对其进行,BatchNorm归一化,和Relu6激活函数进行激活,得到112*112*32的特征图;
卷积层的计算过程为:
其中,称为卷积层l的第j个通道的净激活(Netactivation),它通过对前一层输出特征图/>进行卷积求和与偏置后得到的,/>是卷积l的第j个通道的输出.f(·)称为激活函数,本文使用Relu6函数,Mj表示用于计算/>的输入特征图子集,/>是卷积核矩阵,/>是对卷积后特征图的偏置,对于一个输出特征图/>每个输入特征图/>对应的卷积核/>可能不同,“*”是卷积符号;
Relu6激活函数f(x)为:
f(x)=Min(Max(0,x),6)
卷积和激活之后采用BatchNorm,将数据归一化到均值为0,方差为1的高斯分布上:
(b)对卷积后的特征图进行CBAM注意力卷积模块进行卷积,CBAM的主要作用为让网络更加专注于特征图在空间和通上重要的区域和通道;
(c)接着使用inverted Residual Block模块进行特征提取;Inverted ResidualBlock首先用point-wise convolution将输入的feature map维度变大,接着进行BatchNorm算法归一化,和Relu6激活函数进行激活,然后用depth-wise convolution方式做卷积运算,运算后再次进行BatchNorm算法归一化,和Relu6函数运算,最后使用point-wise convolution将其维度缩小,注意,此时最后的point-wise convolution后,进行BatchNorm算法归一化后不再使用Relu6激活函数,而是使用线性激活函数,以保留更多特征信息,保证模型的表达能力,同时也具有Resnet的思想,步骤a结束后使用四个invertedResidual Block模块进行特征提取,最终得到了分别三个视图的14*14*64的特征图;
(d)在特征矩阵数量维度上,将左视图、俯视图和主视图的三个14*14*64的特征concat拼接成用于前后方向的14*14*192的坐姿状态特征,俯视图和主视图这两个特征concat拼接后用于左右方向的14*14*128的坐姿状态特征;
(e)将拼接后的两个特征进行CBAM注意力卷积模块进行卷积,CBAM的主要作用为让网络更加专注于特征图在空间和通上重要的区域和通道,卷积后得到前后方向的14*14*192的特征图,左右方向的14*14*128的坐姿状态特征;
(f)将注意力卷积模块卷积后的两个特征分别进行同样的操作,首先进行三次inverted Residual Block运算都得到7*7*320的特征图,接着进行point-wiseconvolution对特征图进行扩展得到7*7*1280的特征图,在使用平均池化得到1*1*128的一维特征,最后使用point-wise convolution得到前后方向的子网络得到1*1*4的一维特征和左右方向的子网络得到1*1*3的一维特征;
(g)使用2个softmax层分别对左右和前后状态的坐姿向量进行概率分布输出,包含以下具体步骤:
Softmax层的运算函数为:
所述步骤2)模型参数训练,包括以下具体步骤:
(a)将三视角深度图分别输入到MIMO-CNN的三个通道,得到模型坐姿信息,再计算模型坐姿结果与真实标签之间的交叉熵损失;交叉熵的计算公式为:
其中,labeli表示为onehot编码后的标签,m为batch的样本数;
为本次的模型的损失函数:
其中,Lv为前后方向输出的交叉熵,Lh为左右方向的交叉熵,∑j|wj 2|为其L2正则项,γ为正则项系数,防止训练过拟合问题;
(b)使用反向传播的梯度下降算法,对网络的参数进行不断更新优化,模型的输出不断接近真实标签,当验证集的准确率达到稳定区域且不再增加时,网络训练完成。
所述步骤(6)模型自学习,包括以下具体步骤:
1)在使用过程中,用户发现的错误识别的情况并反馈,后台将对进行自动分析,将符合条件的错误样本进行云端上传;
2)将客户端反馈到云端的错误样本进行人工二次判断,打标签加入数据集;
3)定期将数据库重新放入模型训练,经过少量的迭代后,即可对模型进行微调。
本发明的有益效果:
1)采用深度摄像头获得的深度图像,经过预处理后深度图像和预处理后的人体轮廓图进行结合,排除周围背景对坐姿识别的干扰。
2)使用人体轮廓深度信息重构得到三视角深度图,使得坐姿信息更加丰富。
3)本发明设计的MIMO-CNN结构,较好的适用于多视角的坐姿信息的特征提取,同时具有高性能的注意力机制,能较好的关注于不同坐姿图像中最需要关注的区域。在缩小模型大小的情况下,在实时性和识别精确度有着很好的权衡,且能对坐姿的前后和左右的状态同时进行识别,使得对坐姿状态的识别更加的精确。因此对坐姿的背景和摄像头角度的变化,具有很强的抗干扰性。
4)采用模型自学习的方式,在用户使用过程中,其模型精度通过用户错误样本的反馈不断的提高。
附图说明
附图1是坐姿识别方法流程图;
附图2是深度摄像头获取的深度图像;
附图3是深度摄像头获取的人体前景轮廓;
附图4是深度图像直方图均值化前后对比图;
附图5是深度图像直方图开运算前后对比图;
附图6是人体前景轮廓图中值滤波前后对比图;
附图7是人体前景坐姿深度图像获取过程图
附图8是背景自适应裁剪流程图;
附图9是裁剪后效果图;
附图10是人体坐姿深度三视角深度图;
附图11是MIMO-CNN的主体结构图。
附图12CBAM示意图;
附图13CBAM通道注意力模型示意图;
附图14CBAM空间注意力模型示意图;
附图15是MIMO-CNN的Inverted residual模块结构图;
附图16坐姿状态分类图;
附图17是前部网络框架参数表;
附图18是后部网络前后坐姿状态的预测网络参数表;
附图19后部网络左右坐姿状态的预测网络参数表;
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
一种基于投影重构和多输入多输出神经网络(MIMO-CNN)的坐姿识别方法,包括以下步骤:
(1)图像获取:利用深度摄像头获取深度图像和人体前景轮廓图;
(2)图像预处理:对所获得的深度图像和人体前景轮廓图进行直方图均值化和滤波等预处理操作,并将样本进行数据增强,以扩充数据集用于训练;
(3)深度图像投影重构:对人体前景轮廓深度图进行投影重构,如图3所示,分别以X、Y、Z轴反方向为投影方向,依次得到左视图、俯视图和主视图,即三视角深度图;
(4)建立坐姿识别模型:设计用于坐姿识别的MIMO-CNN,并将经过步骤(3)处理后的三视角深度图分别作为MIMO(多输入多输出)-CNN的三个通道的输入,进行网络训练;
(5)坐姿识别:将预处理得到的三视角深度图作为输入量输入到MIMO-CNN,根据人体在空间中的分布情况,最终识别出坐姿;
(6)模型自学习:对反馈的错误样本进行自筛选,并收集筛选后的误判样本,自动的进行模型再学习,提升模型识别精度。
实施例1
一种结合投影信息和多输入多输出神经网络(MIMO-CNN)的坐姿识别方法,流程图如图1所示,包括以下步骤:
步骤1,图像获取的具体实施过程为:
A1,使用深度摄像头的获取深度图像,如图2;
A2,使用深度摄像头官方SDK的随机决策森林分类算法最终将人体分出32个部位,最终得到我们所需的人体前景轮廓,如图3;
步骤2,图像预处理的过程为:
B1,对原生深度图像进行直方图均值化,直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法;
g(x,y)=Sf(x,y)*(L-1)
L是图像中可能的灰度级总数,原图像f的像素总数为n,f(x,y)为原图f(x,y)位置的原像素值,g(x,y)为直方图均值化后的像素值;
通过这种方法,可以使得深度信息可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,使得深度信息的能更清晰的表达距离信息,如图4;
B2,对人体前景轮廓进行开运算去除人体前景的外边缘毛刺和轮廓内部的缺块,开运算由腐蚀和膨胀操作组成的,开运算为先腐蚀后膨胀,腐蚀运算是为了缩小边界,膨胀运算是为了扩大边界,本方法是使用5*5的核进行的开运算,对比图如图5所示;
B3,采用中值滤波的方法对人体前景轮廓进行去噪处理,将每一像素点的灰度值设置为该点8邻域窗口内的所有像素点灰度值的中值,得到去噪处理后且边缘较为平滑的人体前景轮廓,对比图如图6所示;
B4,在人体前景轮廓的基础上,并以其轮廓为坐标抓取反向抓取包含背景的深度图像的人体深度信息,形成所需的人体深度坐姿数据,得到人体深度前景轮廓图,如图7所示;
获得人体前景深度图像的公式为:
x∈[0,rows-1],y∈[0,cols-1]
式中,F(x,y)最后生成的人体前景深度图像,G(x,y)为深度图像,D(x,y)为人体前景轮廓图像;
B5,通过自适应裁剪,将多余的白色背景剪除,因为其纯白色背景依然过大对于整体的识别没有意义,通过上下左右遍历行或列像素值,自动裁剪,得到最优图片特征,自适应裁剪流程图如图8所示;裁剪效果图,如图9所示;
B6,对三视深度图以0.85倍的长宽大小进行进行随机裁剪;对左右方向为居中的直坐坐姿、趴桌坐姿、后仰坐姿和低头坐姿的主视图进行左右随机翻转,即50%的概率进行左右翻转操作;进行数据增强以扩充训练样本;
B7,将扩充后的样本进行双线性插补归一化为224*224。
步骤3,深度图像投影重构的过程为:
C1,对于步骤2的人体前景深度图,左上角为其坐标原点,向右为X轴正方向,向下为Y正方向,像素值为其Z轴方向,因此可将一张深度图像的像素点看为一个个三维点,将原本的Z轴变换为Y轴,Y轴变换为Z轴并将数据从0~224归一到0~255,即得到人体前景深度图的俯视投影图;
C2,将步骤2的人体前景深度图的原本的Z轴变换为X轴,X轴变换为Z轴并将数据从0~224归一到0~255,得到人体前景深度图的左视投影图;
C3,将人体前景深度图的左视图和俯视图进行双线性插补尺寸归一化为224*224,和步骤2处理后的人体前景深度图一起统称为三视角深度图,如图10所示。
步骤4,坐姿识别模型建立的过程为:
D1,MIMO-CNN以三视角深度图(左视图、俯视图和主视图)作为输入,分别输入到三个分支网络中,得到3个不同的特征矩阵;接着在特征矩阵数量维度上,将左视图、俯视图和主视图的这三个特征矩阵进行concat拼接后用于前后方向的坐姿状态特征;将俯视图和主视图这两个特征矩阵concat拼接后用于左右方向的坐姿状态特征。将拼接后的两个坐姿状态特征再分别输入到深层的两个子网络分支中,子网络分支最终输出两个为1维的特征向量,分别对应坐姿前后方向和左右方向的特征向量,最后使用2个softmax层对左右和前后状态的坐姿向量进行概率分布输出,MIMO-CNN的主体结构图如图11所示,以上为MIMO-CNN的设计框架;
D2,模型参数训练过程为,首先将三视角深度图分别输入到MIMO-CNN的三个通道,得到模型坐姿信息,再计算模型坐姿结果与真实标签之间的交叉熵损失;根据损失函数使用反向传播的梯度下降算法,对网络的参数进行不断更新优化完成网络训练;
所述步骤D1,MIMO-CNN的设计,包含以下具体步骤:
(a)输入某个原始三视角深度图像,首先三个浅层子网络分支分别使用3*3的核进行卷积层操作,接着对其进行BatchNorm归一化,和Relu6激活函数进行激活,得到112*112*32的特征图;
所述的卷积层的计算过程为:
其中,称为卷积层l的第j个通道的净激活(Netactivation),它通过对前一层输出特征图/>进行卷积求和与偏置后得到的,/>是卷积l的第j个通道的输出.f(·)称为激活函数,本文使用Relu6函数。Mj表示用于计算/>的输入特征图子集,/>是卷积核矩阵,/>是对卷积后特征图的偏置。对于一个输出特征图/>每个输入特征图/>对应的卷积核/>可能不同,“*”是卷积符号。
所述的Relu6激活函数f(x)为:
f(x)=Min(Max(0,x),6)
卷积和激活之后采用BatchNorm,将数据归一化到均值为0,方差为1的高斯分布上:
(b)将卷积后的特征图进行CBAM注意力卷积模块进行卷积,得到112*112*32的特征图。CBAM的主要作用为让网络更加专注于重要特征区域和网络关键通道,CBAM示意图如图12所示。
所述的CBAM注意力卷积模块的过程为:
首先将输入的特征图(112*112*32)先分别进行空间max和avg池化,接着并分别进行多层感知机运算,最后将两个一维矢量进行相加,最后将相加后的一维矢量进行relu激活函数激活得到1*1*32的通道注意力模型,将此模型与输入特征图相乘得到112*112*32的特征图,CBAM的通道注意力模型如图13所示。
所描述的通道注意力模型公式为:
Mc(F)=σ(MLP(Avgpool(F)))+σ(MLP(Maxpool(F))))
F为输入特征图,Mc为通道注意力模型σ表示relu激活函数,MLP表示多层感知机,AvgPool为空间平均池化操作,MaxPool为空间最大值池化操作。
接着将上一步运算后的特征图进行max和avg通道池化,接着进行concat通道拼接,并将拼接后的模块进行7*7的卷积操作最终得到(112*112*1)的模块,最后将进行sigmoid激活函数激活,并将此模型与输入特征图相乘得到112*112*32的特征图,即最终的特征图。CBAM的通道注意力模型如图14所示。
所描述的空间注意力模型公式为:
Ms(F)=σ(f7*7([Avgpool(F));Maxpool(F)]))
F为输入特征图,Ms为空间注意力模型σ表示sigmoid激活函数,AvgPool为空间平均池化操作,MaxPool为空间最大值池化操作,f7*7为7*7卷积操作。
(c)步骤b结束后使用四个MobilenetV2网络提出的inverted Residual Block模块进行特征提取,最终得到了分别三个视图的14*14*64的特征图,前部网络的参数如图17所示。inverted Residual Block模块结构,如图15所示;Inverted Residual Block首先用point-wise convolution将输入的feature map维度变大,接着进行BatchNorm算法归一化,和Relu6激活函数进行激活,然后用depth-wise convolution方式做卷积运算,运算后再次进行BatchNorm算法归一化,和Relu6函数运算,最后使用point-wise convolution将其维度缩小。注意,此时最后的point-wise convolution后,进行BatchNorm算法归一化后不再使用Relu6激活函数,而是使用线性激活函数,以保留更多特征信息,保证模型的表达能力,同时也具有Resnet的思想。
(d)在特征矩阵数量维度上,将左视图、俯视图和主视图的三个14*14*64的特征concat拼接成用于前后方向的14*14*192的坐姿状态特征,俯视图和主视图这两个特征concat拼接后用于左右方向的14*14*128的坐姿状态特征;
(e)将拼接后的两个特征分别输入到深层子网络的两个分支继续进行CBAM注意力卷积模块进行卷积。卷积后得到前后方向的14*14*192的特征图,左右方向的14*14*128的坐姿状态特征;
(f)将注意力卷积模块卷积后的两个特征分别进行同样的操作,首先进行三次inverted Residual Block运算都得到7*7*320的特征图,接着进行point-wiseconvolution对特征图进行扩展得到7*7*1280的特征图,在使用平均池化得到1*1*128的一维特征,最后使用point-wise convolution得到前后方向的子网络分支的1*1*4的一维特征和左右方向的子网络分支的1*1*3的一维特征,深层子网络分支前后、左右坐姿状态的预测网络参数如图18/19所示;
(g)使用2个softmax层分别对左右和前后状态的坐姿向量进行概率分布输出,包含以下具体步骤:
Softmax层的运算函数为:
其中Zj为第j个输入变量,M为输入变量的个数,pzj为输出,可以表示输出类别为j的概率。
所述步骤D2,模型训练,包含以下具体步骤:
(a)将三视角深度图分别输入到MIMO-CNN的三个通道,得到模型坐姿信息,再计算模型坐姿结果与真实标签之间的交叉熵损失。交叉熵的计算公式为:
其中labeli表示为onehot编码后的标签,m为batch的样本数。
为本次的模型的损失函数:
Loss=Lv+Lh+γ∑j|wj 2|
其中Lv为前后方向输出的交叉熵,Lh为左右方向的交叉熵。∑j|wj 2|为其L2正则项,γ为正则项系数,防止训练过拟合问题。
(b)使用反向传播的梯度下降算法,对网络的参数进行不断更新优化,模型的输出不断接近真实标签,当验证集的准确率达到稳定区域且不再增加时,网络训练完成。
步骤5,坐姿识别:将预处理得到的三视角深度图作为输入量,输入到步骤4训练好的坐姿识别模型去识别坐姿。在坐姿类别上可分为,前后为正坐、低头、后仰和趴桌,左右方向分为左偏、居中和右偏。考虑到趴桌坐姿的特殊性不再进行左右方向判断,坐姿分类如图16所示;
步骤6,模型自学习,随着错误样本的反馈收集,自动的进行模型自学习,提升模型性能,包括以下具体步骤:
E1,在使用过程中,用户发现的错误识别的情况,并反馈,后台将对这次识别错误的softmax层的输出的概率分布进行分析,若预测的的判断结果概率值低于0.65,则认为是模糊分类,即在某两个相似的分类中无法做出正确判断,需要作为错误样本反馈到云端再学习。而为在识别过程中在模型较为稳定的情况下,几乎不会出现大概率值的预测输出是错误的,所以后台忽略此错误;
E2,将客户端反馈到云端的错误样本进行人工二次判断,打标签加入数据集;
E3,定期将数据库重新放入模型训练,经过少量的迭代后,即可对模型进行微调。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (5)
1.基于投影重构和多输入多输出神经网络的坐姿识别方法,其特征是包括以下步骤:
(1)图像获取:利用深度摄像头获取深度图像和人体前景轮廓图;
(2)图像预处理:对所获得的深度图像和人体前景轮廓图进行直方图均值化和滤波预处理操作,并将样本进行数据增强,以扩充数据集用于训练;
(3)深度图像投影重构:对人体前景轮廓深度图进行投影重构,分别以X、Y、Z轴反方向为投影方向,依次得到左视图、俯视图和主视图,即三视角深度图;
(4)建立坐姿识别模型:设计用于坐姿识别的多输入多输出神经网络,并将经过步骤(3)处理后的三视角深度图分别作为多输入多输出神经网络的三个通道的输入,进行网络训练;
1)多输入多输出神经网络设计:多输入多输出神经网络以左视图、俯视图和主视图三视角深度图作为输入,分别输入到三个分支网络中,得到3个不同的特征矩阵;接着在特征矩阵数量维度上,将左视图、俯视图和主视图的特征矩阵进行concat拼接后用于前后方向的坐姿状态特征;将俯视图和主视图的特征矩阵concat拼接后用于左右方向的坐姿状态特征;将拼接后的两个坐姿状态特征再分别输入到深层的两个子网络分支中,子网络分支最终输出两个为1维的特征向量,分别对应坐姿前后方向和左右方向的特征向量,最后使用2个softmax层对左右和前后状态的坐姿向量进行概率分布输出;
(a)输入某个原始图像,首先使用3*3的核进行卷积层操作,接着对其进行BatchNorm归一化和Relu6激活函数进行激活,得到112*112*32的特征图;
所述的卷积层的计算过程为:
其中,称为卷积层l的第j个通道的净激活,通过对前一层输出特征图/>进行卷积求和与偏置后得到的,/>是卷积l的第j个通道的输出,f(·)称为激活函数,使用Relu6函数;Mj表示用于计算/>的输入特征图子集,/>是卷积核矩阵,/>是对卷积后特征图的偏置;对于一个输出特征图/>每个输入特征图/>对应的卷积核/>可能不同,“*”是卷积符号;
Relu6激活函数f(x)为:
f(x)=Min(Max(0,x),6);
卷积和激活之后采用BatchNorm,将数据归一化到均值为0,方差为1的高斯分布上:
(b)对卷积后的特征图进行CBAM注意力卷积模块进行卷积,CBAM的主要作用为让网络更加专注于重要特征区域和网络关键通道;
(c)接着使用inverted Residual Block模块进行特征提取;Inverted ResidualBlock首先用point-wise convolution将输入的feature map维度变大,接着进行BatchNorm算法归一化,和Relu6激活函数进行激活,然后用depth-wise convolution方式做卷积运算,运算后再次进行BatchNorm算法归一化和Relu6函数运算,最后使用point-wise convolution将其维度缩小;此时最后的point-wise convolution后,进行BatchNorm算法归一化后不再使用Relu6激活函数,而是使用线性激活函数,以保留更多特征信息,保证模型的表达能力,同时也具有Resnet的思想;步骤(a)结束后使用四个invertedResidual Block模块进行特征提取,最终得到分别三个视图的14*14*64的特征图;
(d)在特征矩阵数量维度上,将左视图、俯视图和主视图的三个14*14*64的特征concat拼接成用于前后方向的14*14*192的坐姿状态特征,俯视图和主视图这两个特征concat拼接后用于左右方向的14*14*128的坐姿状态特征;
(e)将拼接后的两个特征进行CBAM注意力卷积模块进行卷积,卷积后得到前后方向的14*14*192的特征图,左右方向的14*14*128的坐姿状态特征;
(f)将注意力卷积模块卷积后的两个特征分别进行同样的操作,首先进行三次inverted Residual Block运算,都得到7*7*320的特征图,接着进行point-wiseconvolution对特征图进行扩展得到7*7*1280的特征图,在使用平均池化得到1*1*128的一维特征,最后使用point-wise convolution得到前后方向的子网络得到1*1*4的一维特征和左右方向的子网络得到1*1*3的一维特征;
(g)使用2个softmax层分别对左右和前后状态的坐姿向量进行概率分布输出,包含以下具体步骤:
Softmax层的运算函数为:
其中,Zj为第j个输入变量,M为输入变量的个数,pzj为输出,可以表示输出类别为j的概率;
2)模型参数训练:将三视角深度图分别输入到多输入多输出神经网络的三个通道,得到模型坐姿信息,再计算模型坐姿结果与真实标签之间的交叉熵损失;根据损失函数使用反向传播的梯度下降算法,对网络的参数进行不断更新优化完成网络训练;
(a)将三视角深度图分别输入到多输入多输出神经网络的三个通道,得到模型坐姿信息,再计算模型坐姿结果与真实标签之间的交叉熵损失,交叉熵的计算公式为:
其中,labeli表示为onehot编码后的标签,m为batch的样本数;
本次的模型的损失函数:
Loss=Lv+Lh+γ∑j|wj 2|;
其中,Lv为前后方向输出的交叉熵,Lh为左右方向的交叉熵,∑j|wj 2|为其L2正则项,γ为正则项系数,防止训练过拟合问题;
(b)使用反向传播的梯度下降算法,对网络的参数进行不断更新优化,模型的输出不断接近真实标签,当验证集的准确率达到稳定区域且不再增加时,网络训练完成;
(5)坐姿识别:将预处理得到的三视角深度图作为输入量输入到多输入多输出神经网络,根据人体在空间中的分布情况,最终识别出坐姿;
(6)模型自学习:对反馈的错误样本进行自筛选,并收集筛选后的误判样本,自动的进行模型再学习,提升模型识别精度。
2.根据权利要求1所述的基于投影重构和多输入多输出神经网络的坐姿识别方法,其特征是所述步骤(1)图像获取,包括以下具体步骤:
1)使用深度摄像头的获取深度图像;
2)使用深度摄像头内置算法获取人体前景轮廓。
3.根据权利要求1所述的基于投影重构和多输入多输出神经网络的坐姿识别方法,其特征是所述步骤(2)图像预处理,包括以下具体步骤:
1)对原生深度图像进行直方图均值化;
2)对深度图像进行开运算,去除外边缘毛刺和轮廓内部的缺块;
3)采用中值滤波的方法对人体前景轮廓进行去噪处理;
4)以人体前景轮廓为模板,从深度图像中将人体深度信息从深度图像中抓取出来,得到人体前景深度图;
5)通过自适应裁剪,将人体前景深度图多余的白色背景剪除;
6)双线性插补尺寸归一化为224*224;
7)对裁剪后的人体前景深度图进行数据增强以扩充训练样本。
4.根据权利要求1所述的基于投影重构和多输入多输出神经网络的坐姿识别方法,其特征是所述步骤(3)深度图像投影重构,包括以下具体步骤:
1)对于步骤(2)预处理后的人体前景深度图,左上角为其坐标原点,向右为X轴正方向,向下为Y正方向,像素值为其Z轴方向,将一张深度图像的像素点看为一个个三维点,将原本的Z轴变换为Y轴,Y轴变换为Z轴并将数据从0~224归一到0~255,即得到人体前景深度图的俯视投影图;
2)将步骤(2)预处理后的人体前景深度图的原本的Z轴变换为X轴,X轴变换为Z轴并将数据从0~224归一到0~255,得到人体前景深度图的左视投影图;
3)将人体前景深度图的左视图和俯视图进行双线性插补尺寸归一化为224*224,和步骤(2)预处理后的人体前景深度图一起统称为三视角深度图。
5.根据权利要求1所述的基于投影重构和多输入多输出神经网络的坐姿识别方法,其特征是所述步骤(6)模型自学习,包括以下具体步骤:
1)在使用过程中,用户发现的错误识别的情况并反馈,后台将对进行自动分析,将符合条件的错误样本进行云端上传;
2)将客户端反馈到云端的错误样本进行人工二次判断,打标签加入数据集;
3)定期将数据库重新放入模型训练,经过少量的迭代后,即可对模型进行微调。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119569.5A CN111325166B (zh) | 2020-02-26 | 2020-02-26 | 基于投影重构和多输入多输出神经网络的坐姿识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119569.5A CN111325166B (zh) | 2020-02-26 | 2020-02-26 | 基于投影重构和多输入多输出神经网络的坐姿识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111325166A CN111325166A (zh) | 2020-06-23 |
CN111325166B true CN111325166B (zh) | 2023-07-07 |
Family
ID=71172893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010119569.5A Active CN111325166B (zh) | 2020-02-26 | 2020-02-26 | 基于投影重构和多输入多输出神经网络的坐姿识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111325166B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112507920B (zh) * | 2020-12-16 | 2023-01-24 | 重庆交通大学 | 一种基于时间位移和注意力机制的考试异常行为识别方法 |
CN112348947B (zh) * | 2021-01-07 | 2021-04-09 | 南京理工大学智能计算成像研究院有限公司 | 一种基于参考信息辅助的深度学习的三维重构方法 |
CN113657271B (zh) * | 2021-08-17 | 2023-10-03 | 上海科技大学 | 结合可量化因素及不可量化因素判断的坐姿检测方法及*** |
CN114582014A (zh) * | 2022-01-25 | 2022-06-03 | 珠海视熙科技有限公司 | 一种深度图像中人体坐姿识别的方法、装置及存储介质 |
CN114898463B (zh) * | 2022-05-09 | 2024-05-14 | 河海大学 | 基于改进深度残差网络的坐姿识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622257A (zh) * | 2017-10-13 | 2018-01-23 | 深圳市未来媒体技术研究院 | 一种神经网络训练方法及三维手势姿态估计方法 |
CN108345869A (zh) * | 2018-03-09 | 2018-07-31 | 南京理工大学 | 基于深度图像和虚拟数据的驾驶人姿态识别方法 |
CN108491880A (zh) * | 2018-03-23 | 2018-09-04 | 西安电子科技大学 | 基于神经网络的物体分类和位姿估计方法 |
CN110175566A (zh) * | 2019-05-27 | 2019-08-27 | 大连理工大学 | 一种基于rgbd融合网络的手部姿态估计***及方法 |
-
2020
- 2020-02-26 CN CN202010119569.5A patent/CN111325166B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622257A (zh) * | 2017-10-13 | 2018-01-23 | 深圳市未来媒体技术研究院 | 一种神经网络训练方法及三维手势姿态估计方法 |
CN108345869A (zh) * | 2018-03-09 | 2018-07-31 | 南京理工大学 | 基于深度图像和虚拟数据的驾驶人姿态识别方法 |
CN108491880A (zh) * | 2018-03-23 | 2018-09-04 | 西安电子科技大学 | 基于神经网络的物体分类和位姿估计方法 |
CN110175566A (zh) * | 2019-05-27 | 2019-08-27 | 大连理工大学 | 一种基于rgbd融合网络的手部姿态估计***及方法 |
Non-Patent Citations (2)
Title |
---|
Bin Liang,etc.Three Dimensional Motion Trail Model for Gesture Recognition.《2013 IEEE International Conference on Computer Vision Workshops》.2013,全文. * |
袁迪波等.不规范书写坐姿的多类特征融合与识别.《计算机工程与设计》.2017,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111325166A (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111325166B (zh) | 基于投影重构和多输入多输出神经网络的坐姿识别方法 | |
CN106599883B (zh) | 一种基于cnn的多层次图像语义的人脸识别方法 | |
Rao et al. | Deep convolutional neural networks for sign language recognition | |
CN107633513B (zh) | 基于深度学习的3d图像质量的度量方法 | |
CN108960245B (zh) | 轮胎模具字符的检测与识别方法、装置、设备及存储介质 | |
CN110532920B (zh) | 基于FaceNet方法的小数量数据集人脸识别方法 | |
CN106096535B (zh) | 一种基于双线性联合cnn的人脸验证方法 | |
CN104361328B (zh) | 一种基于自适应多列深度模型的人脸图像正规化方法 | |
CN111325112A (zh) | 基于深度门控循环单元神经网络的刀具磨损状态监测方法 | |
CN108038466B (zh) | 基于卷积神经网络的多通道人眼闭合识别方法 | |
CN106096538A (zh) | 基于定序神经网络模型的人脸识别方法及装置 | |
CN109766898A (zh) | 图像文字识别方法、装置、计算机设备及存储介质 | |
CN110738161A (zh) | 一种基于改进生成式对抗网络的人脸图像矫正方法 | |
CN111507334B (zh) | 一种基于关键点的实例分割方法 | |
CN105488456A (zh) | 基于自适应阈值调整拒识子空间学习的人脸检测方法 | |
CN105046202B (zh) | 自适应的人脸识别光照处理方法 | |
CN107622261A (zh) | 基于深度学习的人脸年龄估计方法及装置 | |
CN112084934A (zh) | 基于骨骼数据双通道深度可分离卷积的行为识别方法 | |
CN111783693A (zh) | 果蔬采摘机器人的智能识别方法 | |
CN111222433A (zh) | 自动人脸稽核方法、***、设备及可读存储介质 | |
CN117079098A (zh) | 一种基于位置编码的空间小目标检测方法 | |
CN115565089A (zh) | 一种基于露天矿区暗光环境下的图像恢复与目标检测融合方法 | |
CN114596605A (zh) | 一种多特征融合的表情识别方法 | |
CN112149521A (zh) | 一种基于多任务卷积神经网络的掌纹roi提取与增强的方法 | |
CN108052932A (zh) | 一种遮挡自适应人脸识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |