掌桥专利:专业的专利平台
掌桥专利
首页

坐姿检测装置及方法

文献发布时间:2023-06-19 18:30:43


坐姿检测装置及方法

技术领域

本申请涉及坐姿检测技术,具体涉及一种坐姿检测装置及方法。

背景技术

人类在使用计算机进行工作或者娱乐时,很容易出现弯腰、曲背、低头等不健康坐姿,长期保持这样的不健康坐姿很容易导致人类的健康问题。

以往,人类仅能仰赖自己以目视的方式注意是否头部或姿势有不当的角度。然而,自身的判断往往并非精确。如果能有精确的坐姿检测技术让使用者得以通过多样的检测机制检测坐姿,将对于健康的照护有极大的助益。

发明内容

本申请实施例提供一种坐姿检测装置及方法,以改善先前技术。

本申请实施例提供一种坐姿检测装置,包括:处理器。处理器配置以执行程序码以运行坐姿检测系统的程序码,坐姿检测系统包括:人脸行人辨识模块、人脸角度估计模块、人体姿态估计模块以及检测模块。人脸行人辨识模块配置以对输入影像进行辨识以产生待检测人物的待检测人脸框以及待检测人形框。人脸角度估计模块配置以产生待检测人脸框的多个人脸角度。人体姿态估计模块配置以产生待检测人形框的多个骨骼点坐标。检测模块配置以根据多个人脸角度及多个骨骼点坐标产生标准坐姿数据,并根据多个人脸角度、多个骨骼点坐标及标准坐姿数据判断待检测人物的坐姿。

本申请实施例还提供一种坐姿检测方法,包括:对输入影像进行辨识以产生待检测人物的待检测人脸框以及待检测人形框;计算待检测人脸框的多个人脸角度;计算待检测人形框的多个骨骼点坐标;以及根据多个人脸角度及多个骨骼点坐标产生标准坐姿数据,并根据多个人脸角度、多个骨骼点坐标及标准坐姿数据判断待检测人物的坐姿。

有关本申请的特征、实作与功效,兹配合图式作较佳实施例详细说明如下。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的坐姿检测装置的方块图;

图2为本申请实施例提供的坐姿检测系统的方块图;

图3为本申请实施例提供的人脸角度估计模块更详细的方块图;

图4为本申请实施例提供的人体姿态估计模块更详细的方块图;

图5为本申请实施例提供的检测模块更详细的方块图;

图6为本申请实施例提供的坐姿检测方法的流程图;

图7为本申请实施例提供的图6中的步骤S650更详细的流程图;以及

图8为本申请实施例提供的图6中的步骤S670更详细的流程图。

【符号说明】

100:坐姿检测装置

110:前处理器

120:存储器

130:处理器

140:中央处理器

150:绘图处理器

190:摄像装置

200:坐姿检测系统

210:人脸行人辨识模块

220:人脸角度估计模块

230:人体姿态估计模块

240:检测模块

300:人脸估计神经网络

310:人脸角度计算模块

400:骨骼点定位神经网络

410:坐标计算模块

500:低头判断模块

510:偏头判断模块

520:高低肩判断模块

530:标准坐姿计算模块

540:弯腰驼背判断模块

550:正确坐姿判断模块

600:坐姿检测方法

S610~S670:步骤

S710~S760:步骤

S810~S880:步骤

AP:应用程序

a0、a1、a2:尺度参数

BD:弯腰驼背判断结果

b0、b1、b2:尺度参数

c0、c1、c2:尺度参数

DD:偏头判断结果

d0、d1、d2:偏移参数

FF:待检测人脸框

HD:头部偏离判断结果

HE:头顶坐标

HF:待检测人形框

IN:输入影像

LD:低头判断结果

LS:左肩坐标

NC0~NC3:正规化特征值

NE:颈部坐标

PA:俯仰角度

PD:姿态偏离判断结果

p0、p1、p2:机率值

RA:翻滚角度

RS:右肩坐标

SD:高低肩判断结果

SE:标准坐姿数据

SSD:标准坐姿判断结果

具体实施方式

本申请实施例提供一种坐姿检测装置及方法,通过对待检测人形框计算人脸角度以及骨骼点坐标产生标准坐姿数据,进而判断待检测人物的坐姿,以达到精确的坐姿判断。

请参照图1,图1为本申请实施例提供的坐姿检测装置100的方块图。

坐姿检测装置100配置以从摄像装置190接收输入影像IN,以对输入影像IN中的待检测人物进行坐姿的检测。在一实施例中,摄像装置190可为例如具有单一镜头的摄像机,配置以对环境感光并撷取输入影像IN。输入影像IN可依时间先后包括多个影像框。

坐姿检测装置100包括:前处理器110、存储器120以及处理器130。

前处理器110配置以对输入影像IN进行缩放处理、色域变换处理或其组合后,馈入至处理器130。

存储器120配置以储存应用程序AP。存储器120可选择性为单一个存储器或是多个不同类型的存储器的集合,以储存不同类型的数据。在一实施例中,存储器120例如为动态随机存取存储器(dynamic random access memory;DRAM)。在一实施例中,存储器120不在坐姿检测装置100内,坐姿检测装置100以外接方式与存储器120连接。

处理器130配置以从存储器120撷取并执行应用程序AP,以对输入影像IN进行辨识与计算。在一实施例中,处理器130可包括中央处理器140以及绘图处理器150,以由中央处理器140对输入影像IN的数据进行计算及判断,并由绘图处理器150运作例如但不限于神经网络对输入影像IN进行辨识。在一实施例中,绘图处理器150的功能亦可由例如但不限于神经网络处理器来实现。

请同时参照图2,图2为本申请实施例提供的坐姿检测系统200的方块图。坐姿检测系统200是由软件(例如应用程序AP)实现,并由处理器120执行应用程序AP以进行运作,其包括:人脸行人辨识模块210、人脸角度估计模块220、人体姿态估计模块230以及检测模块240。

人脸行人辨识模块210配置以对输入影像IN进行辨识并产生待检测人物的待检测人脸框FF以及待检测人形框HF。

在一实施例中,人脸行人辨识模块210由人脸辨识神经网络模型所实现,以由例如但不限于图1的绘图处理器150从存储器120撷取后运行。人脸行人辨识模块210配置以对输入影像IN辨识多个人脸框以及多个人形框,并从人形框中选择最大人形框做为待检测人形框HF。

人脸行人辨识模块210进一步将人脸框分别与最大人形框计算重叠度(intersection over union,IOU)。更详细的说,人脸行人辨识模块210将各人脸框与最大人形框的交集面积除以联集面积来得到重叠度,进而从该多个人脸框中选择与最大人形框具有最大重叠程度的最大重叠人脸框做为待检测人脸框FF。

人脸角度估计模块220配置以计算待检测人脸框FF的多个人脸角度。人脸角度可包括例如,但不限于欧拉角(Euler angles)中的俯仰(pitch)角度PA以及翻滚(Roll)角度RA。

请参照图3,图3为本申请实施例提供的人脸角度估计模块220更详细的方块图。在一实施例中,人脸角度估计模块220包括人脸估计神经网络300以及人脸角度计算模块310。

在一实施例中,人脸估计神经网络300由例如但不限于图1的绘图处理器150自存储器120撷取后运行。

人脸估计神经网络300配置以对应人脸角度其中的一待运算角度平均设置多个角度区间以及各角度区间包括的多个子角度区间,以对待检测人脸框FF辨识产生各子角度区间对应的尺度参数、各角度区间对应的偏移参数以及各角度区间对应的机率值。

以俯仰角度PA为例,人脸估计神经网络300可使俯仰角度PA做为待运算角度,并设置0~30度、30~60度以及60~90度的三个角度区间。0~30度的角度区间包括0~10度、10~20度以及20~30度的三个从小至大的子角度区间,30~60度的角度区间包括30~40度、40~50度以及50~60度的三个子角度区间,60~90度的角度区间包括60~70度、70~80度以及80~90度的三个子角度区间。因此,三个角度区间将包括共从小至大的九个子角度区间。

人脸估计神经网络300在经由训练后,可对待检测人脸框FF进行辨识,并对应上述九个子角度区间产生尺度参数a0、a1、a2、b0、b1、b2、c0、c1、c2、偏移参数d0、d1、d2以及机率值p0、p1、p2。

在上述参数中,尺度参数a0、a1、a2分别对应0~10度、10~20度以及20~30度的子角度区间,尺度参数b0、b1、b2分别对应30~40度、40~50度以及50~60度的子角度区间,尺度参数c0、c1、c2分别对应60~70度、70~80度以及80~90度的子角度区间,以分别表示待检测人脸框FF内的物件在此些子角度区间中的尺度大小。

偏移参数d0、d1、d2分别对应0~30度、30~60度以及60~90度的角度区间,以分别表示待检测人脸框FF内的物件在此些角度区间中的偏移量。机率值p0、p1、p2分别对应0~30度、30~60度以及60~90度的角度区间,以分别表示待检测人脸框FF内的物件在此些角度区间中出现的机率。

在一实施例中,人脸角度计算模块310由例如但不限于图1的中央处理器140从存储器120撷取后运行。

人脸角度计算模块310配置以根据预设的运算过程对上述参数进行运算。首先,人脸角度计算模块310计算各角度区间计算所有的尺度参数与偏移参数的乘积和S1、S2、S3。在一实施例中,乘积和S1、S2、S3的表达式是如下所示:

人脸角度计算模块310依序对从小至大的各角度区间计算乘积和相对机率累积值的比值T0、T1、T2,其中机率累积值为角度区间其中的一对应角度区间的机率值与较对应角度区间小的角度区间对应的所有机率值的总乘积。在一实施例中,比值T0、T1、T2的表达式是如下所示:

T0=S0/(3×(1+p0))(式4)

T1=S1/(3×(1+p1)×3×(1+p2))(式5)

T2=S2/(3×(1+p1)×3×(1+p2)×3×(1+p3))(式6)

人脸角度计算模块310进而将所有角度区间的比值加总以获得待运算角度。以俯仰角度PA为例,其表达式是如下所示:

PA=(T0+T1+T2)×NF(式7)

在(式7)中,NF为正规化参数,其数值可依照需求设置以使网络收敛。在一实际数值范例中,NF为99。然而本申请并不限于此。

在一实施例中,翻滚角度RA亦可根据上述的方法获得,在此不再赘述。

须注意的是,上述角度区间的区分方法与数值设置、据以运算的方式以及表达式中的部分参数的设置均仅为一范例。在其他实施例中,亦可以其他方法或是数值设置角度区间,或是以其他表达式及参数设置进行计算而得到人脸角度。本申请并不限于此。

人体姿态估计模块230配置以计算待检测人形框的多个骨骼点坐标。骨骼点坐标可包括例如,但不限于左肩坐标LS、右肩坐标RS、头顶坐标HE以及颈部坐标NE。

请参照图4,图4为本申请实施例提供的人体姿态估计模块230更详细的方块图。在一实施例中,人体姿态估计模块230包括骨骼点定位神经网络400以及坐标计算模块410。

在一实施例中,骨骼点定位神经网络400由例如但不限于图1的绘图处理器150从存储器120撷取后运行。

骨骼点定位神经网络400配置以从待检测人形框HF辨识多个骨骼点对应的多个正规化特征值NC0~NC3。

骨骼点定位神经网络400在经由训练后,可对待检测人形框HF进行辨识,以撷取多达例如但不限于14个对应人体的骨骼点的正规化特征值NC0~NC3。然而在本实施例中,人体姿态估计模块230可仅需使用对应左肩、右肩、头部以及颈部的骨骼点的正规化特征值NC0~NC3。

在一实施例中,坐标计算模块410由例如但不限于图1的中央处理器140从存储器120撷取后运行。

坐标计算模块410配置以使正规化特征值NC0~NC3与输入影像IN的宽度以及高度相乘,以获得包括左肩坐标LS、右肩坐标RS、头顶坐标HE以及颈部坐标NE的骨骼点坐标。在一实施例中,左肩坐标LS、右肩坐标RS、头顶坐标HE以及颈部坐标NE包括沿X轴方向的横向坐标以及沿着Y轴方向的纵向坐标。

检测模块240配置以根据人脸角度判断待检测人物是否发生头部偏离状况,以及根据骨骼点坐标判断待检测人物是否发生姿态偏离状况。当待检测人物非处于头部偏离状况及姿态偏离状况时,检测模块240产生对应待检测人物的标准坐姿数据。

在一实施例中,检测模块240设定角度偏离条件,以在人脸角度符合角度偏离条件时判断待检测人物发生头部偏离状况。并且,检测模块240亦可设定姿态偏离条件,以在骨骼点坐标符合姿态偏离条件时判断待检测人物发生姿态偏离状况。当人脸角度不符合角度偏离条件且骨骼点坐标不符合姿态偏离条件时,检测模块240将对应此时的人脸角度与骨骼点坐标产生标准坐姿数据。

请参照图5,图5为本申请实施例提供的检测模块240更详细的方块图。在一实施例中,检测模块240包括低头判断模块500、偏头判断模块510、高低肩判断模块520、标准坐姿计算模块530、弯腰驼背判断模块540以及正确坐姿判断模块550。

低头判断模块500配置以产生低头判断结果LD,以在俯仰角度PA大于预设俯仰角度时判断人脸角度符合角度偏离条件,进而使低头判断结果LD显示待检测人物发生头部偏离状况包括的低头状况。

偏头判断模块510配置以产生偏头判断结果DD,以在翻滚角度RA的绝对值大于预设翻滚角度时判断人脸角度符合角度偏离条件,进而使偏头判断结果DD显示待检测人物发生头部偏离状况包括的偏头状况。

高低肩判断模块520配置以产生高低肩判断结果SD,以在左肩坐标LS以及右肩坐标RS间的纵向坐标绝对差值大于肩部门槛值时判断骨骼点坐标符合姿态偏离条件,进一步使高低肩判断结果SD显示待检测人物发生姿态偏离状况包括的高低肩状况。

标准坐姿计算模块530配置以接收低头判断结果LD、偏头判断结果DD以及高低肩判断结果SD,以在待检测人物不处于头部偏离状况以及姿态偏离状况时产生待检测人物的标准坐姿数据SE。

在一实施例中,标准坐姿计算模块530配置以在输入影像IN中连续预设数目的多个影像框,例如但不限于15个影像框均未发生头部偏离状况以及姿态偏离状况时,将此些影像框对应的骨骼点坐标进行平均计算并记录为标准坐姿数据SE中的标准骨骼点坐标。依据实际需求,标准坐姿计算模块530可根据不同数目的骨骼点坐标来产生标准坐姿数据SE。举例而言,标准坐姿计算模块530可至少储存5个骨骼点坐标来做为标准坐姿数据SE。当所需的精确度较高时,标准坐姿计算模块530亦可储存所有撷取到的骨骼点的坐标来做为标准坐姿数据SE。

由于不同的待检测人物具有不同的身高与体型,标准坐姿计算模块530是针对不同的待检测人物所个别产生对应的标准坐姿数据SE。在标准坐姿数据SE产生后,标准坐姿计算模块530将不再重新产生标准坐姿数据SE。

然而,待检测人物一旦被侦测具有明显的改变,例如但不限于当前的待检测人物离开输入影像IN的范围而重新回来或是置换为新的待检测人物,则坐姿检测系统200将重新执行上述产生标准坐姿数据SE的过程,以产生新的标准坐姿数据SE。

在标准坐姿数据SE产生后,高低肩判断模块520以及弯腰驼背判断模块540将根据标准坐姿数据SE判断待检测人物的坐姿。

高低肩判断模块520配置以使人体姿态估计模块230所持续侦测的骨骼点坐标与标准坐姿数据SE中储存的各标准骨骼点坐标进行比对,以产生高低肩判断结果SD。在一实施例中,高低肩判断模块520可计算所侦测的骨骼点坐标与标准坐姿数据SE的标准骨骼点坐标间的偏离程度,以在偏离程度大于预设值时判断骨骼点坐标符合姿态偏离条件,进一步使高低肩判断结果SD显示待检测人物发生姿态偏离状况包括的高低肩状况。

弯腰驼背判断模块540配置以使颈部坐标NE与标准坐姿数据SE中储存的标准颈部坐标比较,以产生弯腰驼背判断结果BD。在一实施例中,弯腰驼背判断模块540在颈部坐标绝对差值大于颈部门槛值时判断骨骼点坐标符合姿态偏离条件,进一步使弯腰驼背判断结果BD显示待检测人物发生姿态偏离状况包括的弯腰驼背状况。

正确坐姿判断模块550配置以接收对应头部偏离状况的头部偏离判断结果HD,以判断头部偏离状况是否发生。更详细的说,头部偏离判断结果HD包括低头判断结果LD以及偏头判断结果DD。正确坐姿判断模块550可根据低头判断结果LD以及偏头判断结果DD,在低头状况以及偏头状况其中之一发生时判断头部偏离状况发生。

正确坐姿判断模块550配置以接收对应姿态偏离状况的姿态偏离判断结果PD,以判断姿态偏离状况是否发生。更详细的说,姿态偏离判断结果PD包括高低肩判断结果SD以及弯腰驼背判断结果BD。正确坐姿判断模块550可根据高低肩判断结果SD以及弯腰驼背判断结果BD,在高低肩状况以及弯腰驼背状况其中之一发生时判断姿态偏离状况发生。

正确坐姿判断模块550配置以根据头部偏离判断结果HD以及姿态偏离判断结果PD产生标准坐姿判断结果SSD,以在头部偏离状况以及姿态偏离状况均未发生时,使标准坐姿判断结果SSD显示待检测人物具有正确坐姿。

在一实施例中,图1的处理器130可控制包括荧幕和/或喇叭的沟通界面,在坐姿检测系统200起始运作时提供画面与声音提示使用者坐下,并在检测进行或完成时,根据检测模块240所产生的低头判断结果LD、偏头判断结果DD、高低肩判断结果SD、弯腰驼背判断结果BD以及标准坐姿判断结果SSD,提示使用者目前是否发生低头状况、偏头状况、高低肩状况以及弯腰驼背状况,以及是否具有正确坐姿。本申请并不限于此。

请参照图6,图6为本申请实施例提供的坐姿检测方法600的流程图。除前述装置外,本申请还揭露一种坐姿检测方法600,应用于例如,但不限于图1的坐姿检测装置100中。坐姿检测方法600如图6所示,包括下列步骤。

在步骤S610,由人脸行人辨识模块210接收输入影像IN,以进行辨识并产生待检测人物的待检测人脸框FF以及待检测人形框HF。

在步骤S620,由人脸角度估计模块220计算待检测人脸框FF的多个人脸角度。

在步骤S630,由人体姿态估计模块230计算待检测人形框HF的多个骨骼点坐标。

在步骤S640,由检测模块240判断标准坐姿数据是否已产生。

在步骤S650,在标准坐姿数据并未产生时,由检测模块240判断待检测人物是否发生头部偏离状况或姿态偏离状况。

在待检测人物发生头部偏离状况或姿态偏离状况时,流程将回至步骤S610,以重新进行上述步骤的检测。

在步骤S660,在待检测人物并未发生头部偏离状况或姿态偏离状况时,检测模块240产生对应待检测人物的标准坐姿数据。

在步骤S670,在标准坐姿数据已产生时,由检测模块240根据人脸角度、骨骼点坐标及标准坐姿数据判断待检测人物的坐姿。

请参照图7,图7为本申请实施例提供的图6中的步骤S650更详细的流程图。

在步骤S710,由低头判断模块500判断俯仰角度PA是否大于预设俯仰角度。

在步骤S720,在俯仰角度PA大于预设俯仰角度时,由低头判断模块500判断低头状况发生。流程将回至图6的步骤S610,以重新进行检测。

在步骤S730,在俯仰角度PA未大于预设俯仰角度时,由低头判断模块500判断低头状况并未发生,并由偏头判断模块510判断翻滚角度RA的绝对值是否大于预设翻滚角度。

在步骤S740,在翻滚角度RA的绝对值大于预设翻滚角度时,由偏头判断模块510判断偏头状况发生。流程将回至图6的步骤S610,以重新进行检测。

在步骤S750,在翻滚角度RA的绝对值未大于预设翻滚角度时,由偏头判断模块510判断偏头状况并未发生,并由高低肩判断模块520判断左肩坐标LS以及右肩坐标RS间的纵向坐标绝对差值是否大于肩部门槛值。

在步骤S760,在纵向坐标绝对差值大于肩部门槛值时,由高低肩判断模块520判断高低肩状况发生。流程将回至图6的步骤S610,以重新进行检测。

在纵向坐标绝对差值未大于肩部门槛值时,由高低肩判断模块520判断高低肩状况并未发生。流程将回至图6的步骤S660,以根据此时的骨骼坐标点产生对应待检测人物的标准坐姿数据。

请参照图8,图8为本申请实施例提供的图6中的步骤S670更详细的流程图。

在步骤S810,由低头判断模块500判断俯仰角度PA是否大于预设俯仰角度。

在步骤S820,在俯仰角度PA大于预设俯仰角度时,由低头判断模块500判断低头状况发生。流程将进行至步骤S880,以判断待检测人物具有非正确坐姿。

在步骤S830,在俯仰角度PA未大于预设俯仰角度时,由低头判断模块500判断低头状况并未发生,并由偏头判断模块510判断翻滚角度RA的绝对值是否大于预设翻滚角度。

在步骤S840,在翻滚角度RA的绝对值大于预设翻滚角度时,由偏头判断模块510判断偏头状况发生。流程将进行至步骤S880,以判断待检测人物具有非正确坐姿。

在步骤S850,在翻滚角度RA的绝对值未大于预设翻滚角度时,由偏头判断模块510判断偏头状况并未发生,并由高低肩判断模块520以及弯腰驼背判断模块540判断骨骼点坐标是否与标准坐姿数据相符。

在步骤S860,在骨骼点坐标与标准坐姿数据不相符时,高低肩判断模块520以及弯腰驼背判断模块540判断高低肩状况或弯腰驼背状况发生。流程将进行至步骤S880,以判断待检测人物具有非正确坐姿。

在步骤S870,在骨骼点坐标与标准坐姿数据相符时,高低肩判断模块520以及弯腰驼背判断模块540判断高低肩状况或弯腰驼背状况并未发生,进而判断待检测人物具有正确坐姿。

需要说明的是,本申请实施例中,“多个”包括“两个”及“两个以上”。

需注意的是,上述的实施方式仅为一范例。在其他实施例中,本领域技术人员当可在不违背本申请的精神下进行改动。应了解到,在上述的实施方式中所提及的步骤,除特别叙明其顺序者外,均可依实际需要调整其前后顺序,甚至可同时或部分同时执行。

本申请中的坐姿检测装置及方法可通过对待检测人形框计算人脸角度以判断待检测人物是否发生头部偏离状况以及通过对待检测人形框计算骨骼点坐标以判断待检测人物是否发生姿态偏离状况,达到精确的坐姿判断。本申请的坐姿检测装置及方法可不需要以多镜头取得多个影像进行判断,并可对头部以及姿态的偏离分别判断,在低成本的情形下兼具多样判断机制的特性。

以上对本申请实施例所提供的坐姿检测装置及方法进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

技术分类

06120115592536