本发明涉及人体柔韧性检测领域,特别涉及一种基于bp神经网络的人体屈体角度识别方法及设备。
背景技术:
目前我国测试人体的柔韧性通常都是采用坐位体前屈和立位体前屈的方法,评价指标是手指前伸可达到的最大距离,用屈体时手指或头部前伸的距离代替关节活动的角度进行测量。但是,在实践中发现,这种测量方式存在着严重缺陷,因为不同的人会因为肢体长度不同而对手指前伸的距离产生影响,这样就增大了测量误差,进而影响检测的效率。
技术实现要素:
本发明提供一种基于bp神经网络的人体屈体角度识别方法及设备,能够克服因肢体长度不同而产生的测量误差,使得测量结果更加精确,进而提高了检测效率。
根据本发明的一个方面,提供了一种基于bp神经网络的人体屈体角度识别方法,包括以下步骤:建立bp神经网络模型;提取待测试者的坐位体前屈侧面图像的前景目标,得到提取前景目标之后的坐位体前屈侧面图像;将坐位体前屈侧面图像输入至bp神经网络模型中进行体前屈角度识别;输出待测试者的体前屈角度。
优选地,建立bp神经网络模型,包括以下步骤:获取多个测试者的坐位体前屈侧面图像;通过对多个测试者的坐位体前屈侧面图像进行特征标记,得到多个测试者的体前屈角度;对多个带特征标记的坐位体前屈侧面图像进行预处理,得到多个预处理后的坐位体前屈图像;调取bp神经网络;将多个测试者的体前屈角度与多个预处理后的坐位体前屈图像输入至bp神经网络中;根据多个测试者的体前屈角度与多个预处理后的坐位体前屈图像,对bp神经网络进行训练,以建立bp神经网络模型。
优选地,通过对多个测试者的坐位体前屈侧面图像进行特征标记,得到多个测试者的体前屈角度,包括以下步骤:对多个坐位体前屈侧面图像中的每一个坐位体前屈侧面图像都进行特征点标记;上述特征点为肩部、髋部和踝关节;测量每一个坐位体前屈侧面图像上标记的特征点形成的夹角的角度值;上述夹角的顶点为髋部;将测量的多个角度值作为多个测试者的体前屈角度进行记录。
优选地,对多个带特征标记的坐位体前屈侧面图像进行预处理,得到多个预处理后的坐位体前屈图像,包括以下步骤:对多个带特征标记的坐位体前屈侧面图像中的每一个带特征标记的坐位体前屈侧面图像进行前景目标提取;将提取过前景目标的多个带特征标记的坐位体前屈侧面图像进行归一化处理,得到多个28*28的像素矩阵;通过逐像素法在多个28*28的像素矩阵的每一个28*28的像素矩阵中提取像素特征;对每一个28*28的像素矩阵中的像素特征进行标记,并将多个带标记的28*28的像素矩阵作为多个预处理后的坐位体前屈图像。
优选地,对多个带特征标记的坐位体前屈侧面图像中的每一个带特征标记的坐位体前屈侧面图像进行前景目标提取,包括以下步骤:对多个带特征标记的坐位体前屈侧面图像中的每一个带特征标记的坐位体前屈侧面图像进行前景目标提取;通过背景差分法获取多个带特征标记的坐位体前屈侧面图像的前景目标的二值图像;
将提取过前景目标的多个带特征标记的坐位体前屈侧面图像进行归一化处理,得到多个28*28的像素矩阵,具体为:将多个二值图像进行归一化处理,得到多个28*28的像素矩阵。
根据本发明的另一个方面,还提供了一种基于bp神经网络的人体屈体角度识别设备,包括:模型建立单元,用于建立bp神经网络模型;提取单元,用于提取待测试者的坐位体前屈侧面图像的前景目标,得到提取前景目标之后的坐位体前屈侧面图像;输入单元,用于将坐位体前屈侧面图像输入至bp神经网络模型中进行体前屈角度识别;输出单元,用于输出待测试者的体前屈角度。
优选地,模型建立单元包括:获取子单元,用于获取多个测试者的坐位体前屈侧面图像;标记子单元,用于通过对多个测试者的坐位体前屈侧面图像进行特征标记,得到多个测试者的体前屈角度;预处理子单元,用于对多个带特征标记的坐位体前屈侧面图像进行预处理,得到多个预处理后的坐位体前屈图像;调取子单元,用于调取bp神经网络;输入子单元,用于将多个测试者的体前屈角度与多个预处理后的坐位体前屈图像输入至bp神经网络中;训练子单元,用于根据多个测试者的体前屈角度与多个预处理后的坐位体前屈图像,对bp神经网络进行训练,以建立bp神经网络模型。
优选地,标记子单元包括:特征点标记模块,用于对多个坐位体前屈侧面图像中的每一个坐位体前屈侧面图像都进行特征点标记;上述特征点为肩部、髋部和踝关节;角度测量模块,用于测量每一个坐位体前屈侧面图像上标记的特征点形成的夹角的角度值;上述夹角的顶点为髋部;角度记录模块,用于将测量的多个角度值作为多个测试者的体前屈角度进行记录。
优选地,预处理子单元包括:提取模块,用于对多个带特征标记的坐位体前屈侧面图像中的每一个带特征标记的坐位体前屈侧面图像进行前景目标提取;归一化处理模块,用于将提取过前景目标的多个带特征标记的坐位体前屈侧面图像进行归一化处理,得到多个28*28的像素矩阵;像素特征提取模块,用于通过逐像素法在多个28*28的像素矩阵的每一个28*28的像素矩阵中提取像素特征;标记模块,用于对每一个28*28的像素矩阵中的像素特征进行标记,并将多个带标记的28*28的像素矩阵作为多个预处理后的坐位体前屈图像。
优选地,提取模块包括:提取子模块,用于对多个带特征标记的坐位体前屈侧面图像中的每一个带特征标记的坐位体前屈侧面图像进行前景目标提取;获取子模块,用于通过背景差分法获取多个带特征标记的坐位体前屈侧面图像的前景目标的二值图像;
归一化处理模块,具体用于将多个二值图像进行归一化处理,得到多个28*28的像素矩阵。
与现有技术相比较,本发明的有益效果如下:
通过本发明,首先以大量的测试者的坐位体前屈侧面图像作为样本图像对bp神经网络进行训练以建立bp神经网络模型,当通过上述bp神经网络模型识别测试者的体前屈角度时需要先提取待测试者的坐位体前屈侧面图像的前景目标,以得到提取前景目标之后的坐位体前屈侧面图像,再将坐位体前屈侧面图像输入至bp神经网络模型中进行体前屈角度识别,最后会输出待测试者的体前屈角度。通过对坐位体前屈侧面图像的分析得到测试者的体前屈角度,使得体前屈角度的测量更加准确,有效的克服了因肢体长度不同而产生的测量误差,同时通过bp神经网络模型识别坐位体前屈侧面图像中的体前屈角度,有效的提高了体前屈角度的测量效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。附图中:
图1是根据本发明实施例的一种基于bp神经网络的人体屈体角度识别方法的流程图;
图2是根据本发明实施例的一种基于bp神经网络的人体屈体角度识别设备的结构框图;
图3是根据本发明实施例一的一种基于bp神经网络的人体屈体角度识别方法的流程图。
具体实施方式
下面将结合本发明附图,对本发明技术方案进行描述,但所描述的实施例仅仅是本发明一部分实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于bp神经网络的人体屈体角度识别方法,图1是根据本发明实施例的一种基于bp神经网络的人体屈体角度识别方法的流程图,如图1所示,包括以下步骤:
步骤s101:建立bp神经网络模型;
步骤s102:提取待测试者的坐位体前屈侧面图像的前景目标,得到提取前景目标之后的坐位体前屈侧面图像;
步骤s103:将坐位体前屈侧面图像输入至bp神经网络模型中进行体前屈角度识别;
步骤s104:输出待测试者的体前屈角度。
在实施过程中,在步骤s101中,首先需要获取多个测试者的坐位体前屈侧面图像;通过对多个测试者的坐位体前屈侧面图像进行特征标记,得到多个测试者的体前屈角度;对多个带特征标记的坐位体前屈侧面图像进行预处理,得到多个预处理后的坐位体前屈图像;调取bp神经网络;将多个测试者的体前屈角度与多个预处理后的坐位体前屈图像输入至bp神经网络中;根据多个测试者的体前屈角度与多个预处理后的坐位体前屈图像,对bp神经网络进行训练,以建立bp神经网络模型。
进一步的,通过对多个测试者的坐位体前屈侧面图像进行特征标记,得到多个测试者的体前屈角度的具体实施方式为:对多个坐位体前屈侧面图像中的每一个坐位体前屈侧面图像都进行特征点标记;上述特征点为肩部、髋部和踝关节;测量每一个坐位体前屈侧面图像上标记的特征点形成的夹角的角度值;上述夹角的顶点为髋部;将测量的多个角度值作为多个测试者的体前屈角度进行记录。
对多个带特征标记的坐位体前屈侧面图像进行预处理,得到多个预处理后的坐位体前屈图像的具体实施方式为:对多个带特征标记的坐位体前屈侧面图像中的每一个带特征标记的坐位体前屈侧面图像进行前景目标提取;将提取过前景目标的多个带特征标记的坐位体前屈侧面图像进行归一化处理,得到多个28*28的像素矩阵;通过逐像素法在多个28*28的像素矩阵的每一个28*28的像素矩阵中提取像素特征;对每一个28*28的像素矩阵中的像素特征进行标记,并将多个带标记的28*28的像素矩阵作为多个预处理后的坐位体前屈图像。
再进一步的,对多个带特征标记的坐位体前屈侧面图像中的每一个带特征标记的坐位体前屈侧面图像进行前景目标提取的具体实施方式为:对多个带特征标记的坐位体前屈侧面图像中的每一个带特征标记的坐位体前屈侧面图像进行前景目标提取;通过背景差分法获取多个带特征标记的坐位体前屈侧面图像的前景目标的二值图像;
将提取过前景目标的多个带特征标记的坐位体前屈侧面图像进行归一化处理,得到多个28*28的像素矩阵,具体为:将多个二值图像进行归一化处理,得到多个28*28的像素矩阵。
通过上述步骤,通过bp神经网络模型来识别坐位体前屈侧面图像中的体前屈角度,克服了因肢体长度不同而产生的测量误差,提高了体前屈角度测量的精确度,同时也有效的提高了体前屈角度的测量效率。
本发明实施例还提供了一种基于bp神经网络的人体屈体角度识别设备20,用于实现上述一种基于bp神经网络的人体屈体角度识别方法。
图2是根据本发明实施例的一种基于bp神经网络的人体屈体角度识别设备20的结构框图,如图2所示,该设备20包括:模型建立单元21,用于建立bp神经网络模型;提取单元22,用于提取待测试者的坐位体前屈侧面图像的前景目标,得到提取前景目标之后的坐位体前屈侧面图像;输入单元23,用于将坐位体前屈侧面图像输入至bp神经网络模型中进行体前屈角度识别;输出单元24,用于输出待测试者的体前屈角度。
对于一种基于bp神经网络的人体屈体角度识别设备20,模型建立单元21包括:获取子单元211,用于获取多个测试者的坐位体前屈侧面图像;标记子单元212,用于通过对多个测试者的坐位体前屈侧面图像进行特征标记,得到多个测试者的体前屈角度;预处理子单元213,用于对多个带特征标记的坐位体前屈侧面图像进行预处理,得到多个预处理后的坐位体前屈图像;调取子单元214,用于调取bp神经网络;输入子单元215,用于将多个测试者的体前屈角度与多个预处理后的坐位体前屈图像输入至bp神经网络中;训练子单元216,用于根据多个测试者的体前屈角度与多个预处理后的坐位体前屈图像,对bp神经网络进行训练,以建立bp神经网络模型。
对于一种基于bp神经网络的人体屈体角度识别设备20,标记子单元212包括:特征点标记模块2121,用于对多个坐位体前屈侧面图像中的每一个坐位体前屈侧面图像都进行特征点标记;上述特征点为肩部、髋部和踝关节;角度测量模块2122,用于测量每一个坐位体前屈侧面图像上标记的特征点形成的夹角的角度值;上述夹角的顶点为髋部;角度记录模块2123,用于将测量的多个角度值作为多个测试者的体前屈角度进行记录。
对于一种基于bp神经网络的人体屈体角度识别设备20,预处理子单元213包括:提取模块2131,用于对多个带特征标记的坐位体前屈侧面图像中的每一个带特征标记的坐位体前屈侧面图像进行前景目标提取;归一化处理模块2132,用于将提取过前景目标的多个带特征标记的坐位体前屈侧面图像进行归一化处理,得到多个28*28的像素矩阵;像素特征提取模块2133,用于通过逐像素法在多个28*28的像素矩阵的每一个28*28的像素矩阵中提取像素特征;标记模块2134,用于对每一个28*28的像素矩阵中的像素特征进行标记,并将多个带标记的28*28的像素矩阵作为多个预处理后的坐位体前屈图像。
对于一种基于bp神经网络的人体屈体角度识别设备20,提取模块2131包括:提取子模块21311,用于对多个带特征标记的坐位体前屈侧面图像中的每一个带特征标记的坐位体前屈侧面图像进行前景目标提取;获取子模块21312,用于通过背景差分法获取多个带特征标记的坐位体前屈侧面图像的前景目标的二值图像;
归一化处理模块2132,具体用于将多个二值图像进行归一化处理,得到多个28*28的像素矩阵。
需要说明的是,装置实施例中描述的一种基于bp神经网络的人体屈体角度识别设备对应于上述的方法实施例,其具体的实现过程在方法实施例中已经进行过详细说明,在此不再赘述。
为了使本发明的技术方案和实现方法更加清楚,下面将结合优选的实施例对其实现过程进行详细描述。
实施例一
本实施例提供一种基于bp神经网络的人体屈体角度识别方法,如图3所示,图3是根据本发明实施例一的基于bp神经网络的人体屈体角度识别方法的流程图,包括以下步骤:
步骤s301:获取多个测试者的坐位体前屈侧面图像;
本发明实施例中,通过拍摄多个测试者在做坐位体前屈项目时的侧面图像来获取大量的样本图像,在拍摄测试者的坐位体前屈侧面图像时需要保证多个测试者在做坐位体前屈项目时的侧面背景相同,这样才能保证多个样本图像具有统一性;
步骤s302:通过对多个测试者的坐位体前屈侧面图像进行特征标记,得到多个测试者的体前屈角度;
本发明实施例中,该步骤s302的具体实施方式为:对多个坐位体前屈侧面图像中的每一个坐位体前屈侧面图像都进行特征点标记;特征点为肩部、髋部和踝关节;测量每一个坐位体前屈侧面图像上标记的特征点形成的夹角的角度值;夹角的顶点为髋部;将所述测量的多个角度值作为多个测试者的体前屈角度进行记录;
作为一种可选的实施方式,上述在坐位体前屈侧面图像中标定特征点是由工作人员根据实际经验进行标定的,当标定好特征点之后,测量肩部、髋部和踝关节三点组成的夹角的角度值,该夹角的顶点为髋部,该夹角的角度值即为坐位体前屈侧面图像中的体前屈角度;
步骤s303:对多个带特征标记的坐位体前屈侧面图像进行预处理,得到多个预处理后的坐位体前屈图像;
本发明实施例中,该步骤s303的具体实施方式为:对多个带特征标记的坐位体前屈侧面图像中的每一个带特征标记的坐位体前屈侧面图像进行前景目标提取;将提取过前景目标的多个带特征标记的坐位体前屈侧面图像进行归一化处理,得到多个28*28的像素矩阵;通过逐像素法在多个28*28的像素矩阵的每一个28*28的像素矩阵中提取像素特征;对每一个28*28的像素矩阵中的像素特征进行标记,并将多个带标记的28*28的像素矩阵作为多个预处理后的坐位体前屈图像。
可选的,上述对多个带特征标记的坐位体前屈侧面图像中的每一个带特征标记的坐位体前屈侧面图像进行前景目标提取的步骤的具体实施方式为:对多个带特征标记的坐位体前屈侧面图像中的每一个带特征标记的坐位体前屈侧面图像进行前景目标提取;通过背景差分法获取多个带特征标记的坐位体前屈侧面图像的前景目标的二值图像;
将提取过前景目标的多个带特征标记的坐位体前屈侧面图像进行归一化处理,得到多个28*28的像素矩阵,具体为:将多个二值图像进行归一化处理,得到多个28*28的像素矩阵;
具体的,将多个二值图像进行归一化处理,得到多个28*28的像素矩阵,这样可以使多个输入至bp神经网络系统中的图像具有相同的分辨率,在将图像输入至bp神经网络系统中时是将代表该图像的28*28个像素作为该图像输入至bp神经网络系统中的;
进一步可选的,对带特征标记的坐位体前屈侧面图像的前景目标提取采用背景差分法,具体的,利用高斯混合模型对背景建模,对于图像中任一像素点随时间变化的序列{x1,x2,...,xt},当前观测点像素值的概率为:
上述公式中,k为高斯模型的数量,通常为3~5;ωi,t为t时刻第i个高斯模型的权值,满足
步骤s304:调取bp神经网络;
作为一种可选的实施方式,上述bp神经网络为单层隐含层结构的bp神经网络,该单层隐含层结构的bp神经网络可以分为三层结构,分别是输入层、隐含层以及输出层,本发明采用sigmoid函数作为神经元激活函数,该函数公式为:
本发明实施例对上述单层隐含层结构的bp神经网络各层的设置如下:
对于输入层:在本发明实施例中使用逐像素法提取像素特征,即784个像素全部作为bp神经网络系统的输入,输入层对输入的数据的权重为1,即对输入的数据不做任何处理,直接将输入的数据又作为隐含层的输入数据;
对于隐含层:本发明实施例中对隐含层采用单层结构,根据输入层和输出层的神经元个数,权衡识别率与计算量,可以将隐含层的神经元个数设为200;
对于输出层:由于正常的人体屈体角度在20~79度之间,共60个整数等级,因此将bp神经网络输出层的神经元个数设为60,将这60个神经元分别编号为0~60,坐位体前屈图像作为输入激励后,输出层的60个神经元会有不同输出,最大输出值的神经元的编号即为bp神经网络系统所识别到的人体屈体角度;
步骤s305:将多个测试者的体前屈角度与多个预处理后的坐位体前屈图像输入至bp神经网络中;
步骤s306:根据多个测试者的体前屈角度与多个预处理后的坐位体前屈图像,对bp神经网络进行训练,以建立bp神经网络模型;
步骤s307:提取待测试者的坐位体前屈侧面图像的前景目标,得到提取前景目标之后的坐位体前屈侧面图像;
本发明实施例中,在该步骤s307之前,需要先获取待测试者的坐位体前屈侧面图像,可以在坐位体前屈项目测试仪器侧面安装摄像头,用于拍摄待测试者的坐位体前屈侧面图像,将摄像头与体前屈角度识别设备连接在一起,这样体前屈角度识别设备就会在摄像头拍到待测试者的坐位体前屈侧面图像的瞬间接收到待测试者的坐位体前屈侧面图像,并通过bp神经网络模型识别体前屈角度,极大地提高了体前屈角度的识别速度,从而提高了坐位体前屈项目的测试效率;
步骤s308:将坐位体前屈侧面图像输入至bp神经网络模型中进行体前屈角度识别;
本发明实施例中,通过bp神经网络模型来识别测试者的坐位体前屈图像中的体前屈角度,有效的克服了因肢体长度不同而产生的测量误差,同时通过bp神经网络模型识别坐位体前屈侧面图像中的体前屈角度,有效的提高了体前屈角度的测量效率;
步骤s309:输出待测试者的体前屈角度。
可选的,当bp神经网络模型识别出测试者的体前屈角度时,可以通过识别设备自带的显示屏将体前屈角度值显示出来,也可以将测试者的体前屈角度值进行保存,并通过表格的形式导出,方便工作人员记录测试者的坐位体前屈项目成绩。
综合上述,通过上述实施例,通过对坐位体前屈侧面图像的分析得到测试者的体前屈角度,使得体前屈角度的测量更加准确,有效的克服了因肢体长度不同而产生的测量误差,同时通过bp神经网络模型识别坐位体前屈侧面图像中的体前屈角度,有效的提高了体前屈角度的测量效率。