发明内容
由于现有技术中的方案人为因素影响较大,本发明提供一种受人为因素影响较小,测试准确度高的自动化的柔韧性测试方法及***。
本发明一种柔韧性测试方法,包括步骤:S1、在测试区域设置测试垫床和零位板,初始拍摄测试区域图像,定出所述测试垫床以及零位板在所述测试区域图像中的位置;S2、拍摄测试区域图像,判断测试区域图像中所述测试垫床上是否有人体图像,若是,则执行步骤S3;若否,则重复执行步骤S2;S3、继续拍摄测试区域图像,监测人体图像的手部是否相对零位板持续运动后静止,且静止维持的时间达到一预设的时间阈值,若是,则执行步骤S4;若否,则重复执行步骤S3;S4、计算步骤S3中的手部静止时人体图像的腿部与测试垫床合围而成的区域面积,判断该区域面积是否大于一设定的面积阈值,若是则提示动作不标准;若否,则执行步骤S5;S5、计算分析此时人体图像的手部与零位板的相对位置关系,得到测试结果。
作为一种优选方案,步骤S1中定出所述测试垫床以及零位板在所述测试区域图像中的位置包括如下步骤:S11、在零位板上设置一标志物;S12、拍摄测试区域图像,检测出零位板上的标志物,从而确定出零位板在测试区域图像中的位置;S13、根据测试垫床与零位板的位置关系定出所述测试垫床在所述测试区域图像中的位置;
步骤S1中还定出了手部出现域以及腿部出现域,包括如下步骤:S14、以测试区域图像中的零位板为基准,在零位板上方确定出一手部出现域;S15、以测试区域图像中的零位板以及测试垫床为基准,在零位板测试时朝向测试者一侧与测试垫床上表面之间确定出一腿部出现域;各步骤中,将出现在所述手部出现域的人体图像部分确定为手部,将出现在所述腿部出现域的人体图像部分确定为腿部。
作为一种优选方案,在拍摄测试区域图像时,将测试区域的背景设置为反光布且拍摄时提供光源照射测试区域,各步骤中的人体图像需进行二值化处理;步骤S1中还定出了人体像素阈值,包括:人保持正确的腿部姿势,脚底顶住零位板坐在测试垫床上,拍摄获取测试区域图像;统计二值化后的腿部图像的像素值,定出能够判断为坐立人体时的最小像素值,即为人体像素阈值;步骤S2中判断为有人体图像部分的像素值需大于所述人体像素阈值。
作为一种优选方案,步骤S4中计算人体图像腿部与测试垫床合围而成的区域面积,包括:计算二值化后的腿部图像的每一列的中点,将所有列中点依次连接形成腿部曲线,计算该腿部曲线与测试垫床围成的面积。
作为一种优选方案,所述步骤S1中还预先计算出测试区域图像中的单位像素与实际长度值之间的比例关系;所述步骤S5包括:S51、逐行搜索二值化后的手部图像,得到指尖位置;S52、判定指尖位置是否位于所述零位板朝向测试者的一侧,若是,则测试分数为零;若否,则执行步骤S53;S53、测出指尖图像与零位板图像之间的最大垂直距离,然后根据测试区域图像中的单位像素与实际长度值之间的比例关系算出实际距离值,算出测试分数,得到测试结果。
本发明一种柔韧性测试***,包括:测试区域,包含有测试垫床以及位于测试垫床一端的零位板;拍摄模块,用于拍摄测试区域图像;定位模块,用于定出所述测试垫床以及零位板在所述测试区域图像中的位置;人体识别模块,用于接收测试区域图像以及所述定位模块定出的位置,并计算判断测试区域图像中所述测试垫床上是否有人体图像;若是则向动作完成判定模块发出启动信号;动作完成判定模块,用于在接收到人体识别模块发送的启动信号时启动并接收测试区域图像,监测人体手部是否相对零位板持续运动后静止,且静止维持的时间达到一预设的时间阈值,若是则判定动作完成并向姿势判定模块发出启动信号;姿势判定模块,用于当接收到动作完成判定模块发送的启动信号时启动并接收测试区域图像,计算人体腿部与测试垫床合围而成的区域面积,判定该区域面积是否大于一设定的面积阈值,若否则判定姿态标准,并向测试结果统计模块发出启动信号;以及测试结果统计模块,用于当接收到姿态判定模块发送的启动信号时启动并接收测试区域图像,计算人体手部与零位板的相对位置关系,得到测试结果。
作为一种优选方案,所述零位板上贴有一标志物,所述定位模块包括:基准定位单元,用于接收拍摄模块拍摄的测试区域图像,检测出零位板上的标志物,从而确定出零位板在图像中的位置,并根据测试垫床与零位板的位置关系定出所述测试垫床在所述测试区域图像中的位置;区域定位单元,用于接收基准定位单元传送过来的已定好零位板以及测试垫床位置的测试区域图像,在零位板上方确定一手部出现域以将该区域出现的人体图像确定为手部,在零位板与测试垫床上表面之间确定出一腿部出现域以将该区域出现的人体图像确定为腿部。
作为一种优选方案,所述柔韧性测试***还包括:反光布,用于设置为测试区域的测试背景;光源,用于在拍摄模块拍摄测试区域图像时,照射所述测试区域;二值化模块,用于接收所述拍摄模块拍摄测试区域图像并将二值化处理完毕后的测试区域图像发给所述定位模块、所述人体识别模块、所述动作完成判定模块以及所述姿势判定模块;所述拍摄模块在测试开始前还用于拍摄测试者坐在测试垫床上,脚底顶住零位板且保持正确姿势时的人体图像,以得到正确姿势腿部图像;所述定位模块还包括一像素阈值设定单元,用于测试开始前接收二值化后的所述正确姿势腿部图像,并据此推算定出能够判断为坐立人体时腿部出现域的像素阈值,且传送给人体识别模块,人体识别模块在测得腿部出现域的像素值大于所述人体像素阈值时判断为有人。
作为一种优选方案,所述姿势判定模块包括:腿部曲线形成单元,用于接收二值化模块二值化处理后的腿部图像,计算腿部图像每一列的中点,将所有列中点依次连线形成腿部曲线;面积计算单元,用于接收腿部曲线形成单元传送过来的腿部曲线,计算该曲线与测试垫床围成的面积即为腿部与测试垫床合围而成的区域面积。
作为一种优选方案,所述定位模块又包括一长度比值确定单元,用于在测试开始前接收二值化后的测试区域图像,算出测试区域图像中的单位像素与实际长度值之间的比例关系并传送给所述测试结果统计模块;所述测试结果统计模块包括:指尖位置确定单元,用于逐行搜索二值化后的手部图像,得到指尖位置;记分初判单元,用于接收二值化后的测试区域图像以及指尖位置确定单元判定出的指尖位置,判断指尖位置是否位于所述零位板朝向测试者的一侧,若是,则测试结果分数直接为零,否则向分值计算单元发出启动信号;分值计算单元,用于接收单位像素与实际长度值之间的比例关系以及二值化后的测试区域图像和指尖位置,测出指尖与零位板图像之间的最大垂直距离,根据所述比例关系算出指尖与零位板的实际距离值,算出测试分数,得到测试结果。
本发明一种柔韧性测试方法及***,采用图像识别进行柔韧性测试,自动识别测试过程姿态并记录信息,不仅大大降低人为因素对测试结果的影响,而且测试准确度高。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用来限定本发明。
本发明的柔韧性测试方法及***可以用于国民体质检测的柔韧性测试中。
请参看图1、图2,本发明柔韧性测试***包括:测试区域1、拍摄模块2、定位模块3、人体识别模块4、动作完成判定模块5、姿势判定模块6、测试结果统计模块7以及二值化模块8。
测试区域1在拍摄模块2的拍摄视野范围内。测试区域1包含测试垫床101和零位板102,零位板102垂直于测试垫床101安装在测试垫床101的一端。测试垫床101可以是传统测试中使用的垫床,具有较高的硬度,以减小由于测试垫床101的弹性对测试结果造成的影响。
参看图3,测试时,测试者坐在测试垫床101上,双脚抵住零位板102,双手掌心向下,双臂并拢平伸,上体前屈,以双手中指尖越过零位板102的最远距离作为身体柔韧性判断标准。
拍摄模块2用于拍摄测试区域1的图像,拍摄模块2的镜头面向测试区域1,具体的说,面向测试垫床101和零位板102,人体侧面正对拍摄模块2坐于测试垫床101上。在本实施例中,拍摄模块2是红外摄像机。而为了快速定出测试垫床101和零位板102在图像中的位置,以及方便后续进行目标检测,测试区域1的背景设置有一块反光布103,且提供红外光源(图中未示出)照射测试区域1,并利用红外摄像机进行拍摄。该拍摄环境,贯穿整个体测过程。
进一步的,为了使拍摄模块2拍摄到的图像能够准确检测到零位板102,在零位板102上贴有一标志物(图中未示出),该标志物为不易于反射光线的材料,如黑色材料。由于背景为反光布,图像中黑色材料的标志点或人体较反光布反射光的能力弱,因此拍得的图像中标志物或人体部分的图像亮度将低于图像中其它部分的亮度值,标志物或人体部分与背景明亮的环境形成反差。
对于拍摄模块2拍摄到的测试区域图像,***提供二值化模块8先进行二值化处理,处理后的图像发送给定位模块3、人体识别模块4、动作完成判定模块5以及姿势判定模块6,使得各模块所分析的图像均为二值化处理后的图像。
测试开始前进行标定,由定位模块3先定出测试垫床101以及零位板102在拍得的测试区域图像中的位置。具体的,定位模块3包括一基准定位单元。对于拍摄模块2拍摄的测试区域图像,经由二值化模块8作二值化处理后,基准定位单元先检测出图像中零位板102上的标志物。参看图4,基准定位单元对图像采用Hough变换等处理方法,检测得到图像中的黑线,该黑线即是设置在零位板102上的标志物。由于标志物在零位板102上位置已知,因此,根据检测到的标志物的位置,即可定出测零位板102在测试区域图像中的位置,继而,根据测试垫床101与零位板102的位置关系,确定出测试垫床101在测试区域图像中的位置。
作为进一步优化的方案,定位模块33还包括一区域定位单元。在确定了测试垫床101与零位板102在测试区域图像中的位置后,区域定位单元在零位板102上方确定手部出现域以将该区域出现的人体图像确定为手部;在零位板102与垫床101上表面之间确定出腿部出现域以将该区域出现的人体图像确定为腿部。测试区域图像中手部出现域和腿部出现域的事先确定,方便测试过程中,需对人体手部和腿部作姿态分析时,直接提取该手部和腿部出现域的图像,从而减小搜索范围。
此外,定位模块3还包括一像素阈值设定单元,用于在测试前设定一像素阈值,为后续人体检测时判断图像中测试垫床101上是否坐有人提供依据。该像素阈值的设定过程为:参看图3,测试者坐在测试垫床101上,双脚抵住零位板102,拍摄模块2拍摄测试区域图像。拍摄得到的图像在经由二值化模块8作二值化处理后,定位模块3统计腿部域的像素值,该值即为像素阈值。参看图5,在经对拍摄到的测试区域图像作二值化处理后,图像中右边黑色部分即为坐在测试垫床101上测试者的腿部,统计该部分像素值,即得到像素阈值。
在定位模块3完成测试前的标定后,进行体测过程的人体姿态检测。
测试开始,拍摄模块2拍摄测试区域图像,经由二值化模块8处理后,人体识别模块4先检测是否有人坐于垫床101上等待测试。具体为,人体识别模块4计算测试区域图像中腿部出现域部分的像素值,判断该值是否大于定位单元3设定的像素阈值,若否,则判定没有人,则继续接收拍摄模块2拍摄到的测试区域图像,进行同样的分析;反之,则判定有人。在判定有人坐于垫床101上等待测试时,人体识别模块4向动作完成判定模块5发出启动信号。
在收到人体识别模块4发出的启动信号后,动作完成判定模块5监测手部出现域中的手部是否相对零位板102持续运动后静止,且静止维持的时间达到一预设的时间阈值,若是则判定测试动作完成,并向姿态判定模块6发出启动信号,若否则说明动作未完成,动作完成模块5继续监测。
在收到动作完成判定模块5发出的启动信号后,姿态判定模块6检测分析图像中人的姿态是否标准,只有标准姿势下的动作才能计入成绩。进一步地,姿态判定模块6包括一腿部曲线形成单元和一面积计算单元。在接收到动作完成判定模块5发出的启动信号后,腿部曲线形成单元接收测试区域图像,分析图像中腿部出现域部分的图像,计算腿部图像每一列的中点,将所有列中点依次连接形成腿部曲线;面积计算单元计算该腿部曲线与测试垫床围成的面积即为腿部与测试垫床合围而成的区域面积,即该腿部曲线与垫床101围成的面积。然后,姿态判定模块6判断该区域面积是否大于一设定的面积阈值(该面积阈值,可以根据测试的严格程度进行人为设定),若否则表明腿部没有弯曲或弯曲程度在允许范围内,判定姿势标准,向测试结果统计模块7发出启动信号;反之,则说明姿势不标准,可采用语音和画面显示的方式提醒测试者保持姿势正确。
当检测出测试者姿态标准时,测试结果统计模块7用于做最后的成绩统计。该测试结果统计模块7包括一指尖位置确定单元、一计分初判单元和一分值计算单元。在接收到姿势判定模块6发出的启动信号后,指尖位置确定单元对测试区域图像中手部出现域部分的手部图像进行逐行搜索,得到指尖位置。继而,计分初判单元判断指尖位置是否位于零位板102朝向测试者的一侧,若是,则测试分数直接为零,若否,则分值计算单元测出图像中指尖与零位板102之间的最大垂直距离,算出测试分数,给出测试结果。
进一步的,为了使检测到的测试者指尖离零位板的距离更加直观和便于计分处理,定位模块3还包括一长度比值确定单元,其在测试开始前接收经二值化处理后的测试区域图像,算出测试区域图像中的单位像素与实际长度值之间的比例关系。这样,在测试结果统计模块7计算测出图像中指尖与零位板102之间的最大垂直距离时,可结合单位像素与实际长度值之间的比例关系,算出测试分数,给出测试结果。
与现有技术相比,本发明柔韧性测试***,采用图像识别进行柔韧性测试,自动识别测试过程姿态并记录信息,不仅大大降低人为因素对测试结果的影响,而且测试准确度高。
同时,本发明还提供了一种柔韧性测试方法。参看图6,该方法包括步骤:
S1、在测试区域设置测试垫床和零位板,初始拍摄测试区域图像,定出所述测试垫床以及零位板在所述测试区域图像中的位置;
参看图2,测试区域100包括测试垫床101和零位板102。在进行台阶测试前,事先进行标定。标定的内容包括:定出测试垫床、零位板在拍得的测试区域图像中的位置。
在本实施例中,为了快速定出测试垫床和零位板在图像中的位置,以及方便后续进行目标检测,我们将测试区域的背景设置为反光布,且提供红外光源照射测试区域并利用红外摄像机进行拍摄。该拍摄环境,贯穿整个体测过程。同时,在零位板上,如测试台中间,设置一标志物,该标志物为不易于反射光线的材料,如黑色材料。设置完毕后,红外光源照射测试区域,摄像机拍摄测试区域图像。由于背景为反光布,图像中黑色材料的标志物或人体较反光布反射光的能力弱,因此拍得的图像中标志物或人体部分的图像亮度将低于图像中其它部分的亮度值,标志物或人体部分的图像与背景明亮的环境形成反差。参看图4,在经过对拍摄得到的测试区域图像作二值化处理后,采用Hough变换等处理方法,检测出图像中黑线,该黑线即是设置在零位板上的标志物。由于标志物在测试台上的位置已知,因此,根据检测到的标志物的位置,即可定出测零位板102在测试区域图像中的位置,继而,根据测试垫床与零位板的位置关系,确定出测试垫床在测试区域图像中的位置。
进一步的,在确定了测试垫床与零位板在测试区域图像中的位置后,将在零位板上方确定手部出现域以将该区域出现的人体图像确定为手部;在零位板与垫床上表面之间确定出腿部出现域以将该区域出现的人体图像确定为腿部。测试区域图像中手部出现域和腿部出现域的事先确定,方便测试过程中,需对人体手部和腿部作姿态分析时,直接提取该手部和腿部出现域的图像,从而减小搜索范围。
此外,测试前的标定还包括对像素阈值的设定,为后续作人体检测时判断图像中测试垫床上是否有人提供依据。设定时,测试者坐在测试垫床上,双脚抵住零位板,拍摄测试区域图像。拍摄得到的图像在作二值化处理后,统计腿部域的像素值,该值即为像素阈值。参看图5,在经对拍摄到的测试区域图像作二值化处理后,图像中右边黑色部分即为坐在测试垫床上测试者的腿部,统计该部分像素值,即得到像素阈值。
S2、拍摄测试区域图像,判断测试区域图像中所述测试垫床上是否有人体图像,若是,则执行步骤S3;若否,则重复执行步骤S2
完成测试前的标定后,进行体测过程的人体检测。首先,拍摄测试区域图像,对图像中腿部出现域部分的图像作二值化处理,统计处理后的图像中像素值,若该值大于像素阈值,则判定有人坐于测试垫床上等待测试,继续执行步骤S3;若小于,则判定测试垫床上没有人,继续拍摄测试区域图像,进行图像中测试垫床上是否有人的判定。
S3、继续拍摄测试区域图像,监测人体图像的手部是否相对零位板持续运动后静止,且静止维持的时间达到一预设的时间阈值,若是,则执行步骤S4;若否,则重复执行步骤S3。
在判定启动控制区处有人后,继续拍摄测试区域图像,在对获得的测试区域图像中测试台上方位置的图像作二值化处理后,监测人体图像的手部是否相对零位板持续运动后静止,且静止维持的时间达到一预设的时间阈值,若是,则执行步骤S4;若否,则继续执行步骤S3,作同样的分析。该步骤中,需要进行静止维持时间的监测是因为在柔韧性测试中,如若人体只是瞬间伸展至某一极限位置但不能在该位置维持就立即缩回,则将该位置的测试结果作为该人体柔韧性测试的结果是不准确的,应将该种不准确的情形进行排除。
S4、计算步骤S3中的手部静止时人体图像的腿部与测试垫床合围而成的区域面积,判断该区域面积是否大于一设定的面积阈值,若是则提示动作不标准;若否,则执行步骤S5;
在检测出测试者手部相对零位板持续运动后静止,且静止维持的时间达到预设的时间阈值后,继续分析图像中人的姿态是否标准,只有标准姿势下的动作才能计入成绩。姿态是否标准的评判依据为,计算人体图像的腿部与测试垫床合围而成的区域面积,判断该区域面积是否大于一设定的面积阈值(该面积阈值,可以根据测试的严格程度进行人为设定),若是则可采用语音和画面显示的方式提示姿势不准确,并提醒测试者保持正确姿势;若否,则表明腿部没有弯曲或弯曲程度在允许范围内,判定姿势标准。人体图像的腿部与测试垫床合围而成的区域面积计算过程为,取已作二值化处理的测试区域图像中腿部出现域部分的图像,计算腿部图像每一列的中点,将所有列中点依次连接形成腿部曲线,该腿部曲线与测试垫床围成的面积即为腿部与测试垫床合围而成的区域面积。
当检测分析出人的姿态是标准时,则继续执行步骤S5,开始计算测试成绩。
S5、计算分析此时人体图像的手部与零位板的相对位置关系,得到测试结果。
在计算测试结果步骤中,取已作二值化处理的测试区域图像中手部出现域部分的图像,对手部图像进行逐行搜索,得到指尖位置,然后判定该指尖位置是否位于零位板朝向测试者的一侧,若是,则测试分数为零;若否,则检测出图像中指尖与零位板之间的最大垂直距离,然后根据该最大垂直距离,算出测试分数。为了使检测到的测试者指尖离零位板的距离更加直观和便于计分处理,在测试前的标定中,需要对已作二值化处理后的测试区域图像,算出图像中的单位像素与实际长度值之间的比例关系。这样,在计算测出图像中指尖与零位板之间的最大垂直距离时,可结合单位像素与实际长度值之间的比例关系,算出测试分数,给出测试结果。
与现有技术相比,本发明柔韧性测试方法,采用图像识别进行柔韧性测试,自动识别测试过程姿态并记录信息,不仅大大降低人为因素对测试结果的影响,而且测试准确度高。
对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。