发明内容
为了解决上述技术问题,本申请公开了一种头颈姿势监测方法、装置。
第一方面,本申请提供了一种头颈姿势监测方法,所述方法包括:
基于第一传感器检测用户头部相对于预设基准方向的第一角度;
基于第二传感器检测用户肩部相对于所述预设基准方向的第二角度;
根据所述第一角度和第二角度计算用户的颈部弯曲角度;
向用户反馈所述颈部弯曲角度。
结合第一方面,在第一方面第一种可行的实施方式中,基于第一传感器检测用户头部相对于预设基准方向的第一角度,包括:
基于第一传感器检测用户头部所在三维直角坐标系相对于预设三维直角坐标系初始方向的第一俯仰角和第一横滚角;
相应的,基于第二传感器检测用户肩部相对于所述预设基准方向的第二角度,包括:
基于第二传感器检测用户肩部所在三维直角坐标系相对于所述预设三维直角坐标系初始方向的第二俯仰角和第二横滚角;
其中,所述预设三维直角坐标系中,以相对于用户水平向左的方向为x轴初始方向,以相对用户水平向前的方法为y轴初始方向,以垂直向下的方向为z轴初始方向;所述第一俯仰角和第二俯仰角表示相应传感器以y轴为轴心旋转产生的夹角,第一横滚角和第二横滚角表示相应传感器以x轴为轴心旋转产生的夹角。
结合第一方面第一种可行的实施方式,在第一方面第二种可行的实施方式中,根据所述第一角度和第二角度计算用户的颈部弯曲角度,包括:
计算所述第一俯仰角与所述第二俯仰角之间的第一角度差值,并将所述第一角度差值作为第一弯曲角度;
计算所述第一横滚角与所述第二横滚角之间的第二角度差值,并将所述第二角度差值作为第二弯曲角度;
其中,所述第一弯曲角度表示用户颈部向右或向左弯曲的角度,所述第二弯曲角度表示用户颈部向前弯曲的角度。
结合第一方面,或者第一方面第一种可行的实施方式,或者第一方面第二种可行的实施方式,在第一方面第三种可行的实施方式中,所述方法还包括:
获取标准头颈部姿势下所述第一传感器检测到的第一参考角度,以及所述第二传感器检测到的第二参考角度;
根据所述第一参考角度和第二参考角度对所述颈部弯曲角度进行修正。
结合第一方面,或者第一方面第一种可行的实施方式,或者第一方面第二种可行的实施方式,在第一方面第四种可行的实施方式中,所述方法还包括:
判断所述颈部弯曲角度是否在第一预设范围内;
当所述颈部弯曲角度在第一预设范围内时,生成并输出第一提醒信息。
结合第一方面,或者第一方面第一种可行的实施方式,或者第一方面第二种可行的实施方式,在第一方面第五种可行的实施方式中,所述方法还包括:
判断所述颈部弯曲角度是否在第二预设范围内;
当所述颈部弯曲角度在第二预设范围内时,判断所述颈部弯曲角度在第二预设范围内的持续时间是否大于预设时间;
当所述持续时间大于预设时间时,生成并输出第二提醒信息。
第二方面,本申请提供了一种头颈姿势监测装置,所述装置包括:
第一监测单元,用于基于第一传感器检测用户头部相对于预设基准方向的第一角度;
第二监测单元,用于基于第二传感器检测用户肩部相对于所述预设基准方向的第二角度;
角度计算单元,用于根据所述第一角度和第二角度计算用户的颈部弯曲角度;
第一提醒单元,用于向用户反馈所述颈部弯曲角度。
结合第二方面,在第二方面第一种可行的实施方式中,所述第一监测单元包括:
第一三维监测单元,用于基于第一传感器检测用户头部所在三维直角坐标系相对于预设三维直角坐标系初始方向的第一俯仰角和第一横滚角;
相应的,所述第二监测单元包括:
第二三维监测单元,用于基于第二传感器检测用户肩部所在三维直角坐标系相对于所述预设三维直角坐标系初始方向的第二俯仰角和第二横滚角;
其中,所述预设三维直角坐标系中,以相对于用户水平向左的方向为x轴初始方向,以相对用户水平向前的方法为y轴初始方向,以垂直向下的方向为z轴初始方向;所述第一俯仰角和第二俯仰角表示相应传感器以y轴为轴心旋转产生的夹角,第一横滚角和第二横滚角表示相应传感器以x轴为轴心旋转产生的夹角。
结合第二方面第一种可行的实施方式,在第二方面第二种可行的实施方式中,所述角度计算单元,包括:
第一角度计算单元,用于计算所述第一俯仰角与所述第二俯仰角之间的第一角度差值,并将所述第一角度差值作为第一弯曲角度;
第二角度计算单元,用于计算所述第一横滚角与所述第二横滚角之间的第二角度差值,并将所述第二角度差值作为第二弯曲角度;
其中,所述第一弯曲角度表示用户颈部向右或向左弯曲的角度,所述第二弯曲角度表示用户颈部向前弯曲的角度。
结合第二方面,或者第二方面第一种可行的实施方式,或者第二方面第二种可行的实施方式,在第二方面第三种可行的实施方式中,所述装置还包括:
角度修正单元,用于获取标准头颈部姿势下所述第一传感器检测到的第一参考角度,以及所述第二传感器检测到的第二参考角度,并根据所述第一参考角度和第二参考角度对所述颈部弯曲角度进行修正。
结合第二方面,或者第二方面第一种可行的实施方式,或者第二方面第二种可行的实施方式,在第二方面第四种可行的实施方式中,所述装置还包括:
第二提醒单元,用于判断所述颈部弯曲角度是否在第一预设范围内,当所述颈部弯曲角度在第一预设范围内时,生成并输出第一提醒信息。
结合第二方面,或者第二方面第一种可行的实施方式,或者第二方面第二种可行的实施方式,在第二方面第五种可行的实施方式中,所述装置还包括:
第三提醒单元,用于判断所述颈部弯曲角度是否在第二预设范围内,当所述颈部弯曲角度在第二预设范围内时,判断所述颈部弯曲角度在第二预设范围内的持续时间是否大于预设时间,并在所述持续时间大于预设时间时,生成并输出第二提醒信息。
由以上技术方案可知,本申请实施例利用两个传感器分别检测用户头部和肩部相对于预设基准方向的夹角(即上述第一角度和第二角度),并计算两个夹角之差,即得到用户头部所在直线和肩部所在直线之间的夹角,即用户的颈部弯曲角度,并将该颈部弯曲角度反馈给用户,以提醒用户在必要时调整自己的不良头颈姿势。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
首先对本申请提供的头颈姿势监测方法的实施例进行说明。图1为本申请一个实施例提供的头颈姿势监测方法流程图;参照图1,该方法包括如下步骤。
S11、基于第一传感器检测用户头部相对于预设基准方向的第一角度。
S12、基于第二传感器检测用户肩部相对于所述预设基准方向的第二角度。
S13、根据所述第一角度和第二角度计算用户的颈部弯曲角度。
S14、向用户反馈所述颈部弯曲角度。
具体的,上述第一传感器固定于用户头部,第二传感器固定于用户肩部。可选的,该第一传感器和第二传感器均可采用重力传感器。
以图2侧视图所示的头颈姿势为例,可以设定垂直向下的方向T0为预设基准方向,通过设置在头部的第一传感器检测得到头部所在直线方向T1与预设基准方向T0之间的第一角度为A1,同时,通过设置在肩部的第二传感器可以检测得到肩部所在直线方向T2与预设基准方向T0之间的第二角度为A2,从而可以计算得到该姿势下的颈部弯曲角度A为A=A1-A2。
由以上技术方案可知,本申请实施例利用两个传感器分别检测用户头部和肩部相对于预设基准方向的夹角(即上述第一角度和第二角度),并计算两个夹角之差,即得到用户头部所在直线和肩部所在直线之间的夹角,即用户的颈部弯曲角度,并将该颈部弯曲角度反馈给用户,以提醒用户在必要时调整自己的不良头颈姿势。
可选的,本申请实施例中,将计算得到颈部弯曲角度反馈给用户,所采用的具体方式,可以为通过显示设备直接将计算得到的颈部弯曲角度展示给用户,如通过手机的显示屏等向用户展示如下提示信息“当前颈部弯曲角度为150度”,还可以为根据计算得到的实际夹角生成相应的语音信息,并通过音频设备(如手机的扬声器等)输出该语音信息。
参照图3,在本申请一个可行的实施例中,在得到用户的颈部弯曲角度后,除了向用户直接反馈该颈部弯曲角度,还可以执行如下步骤:
S15、判断所述颈部弯曲角度是否在第一预设范围内;
S16、当所述颈部弯曲角度在第一预设范围内时,生成并输出第一提醒信息。
仍参照图2所述场景,假设第一预设范围为(0°,100°],则当计算得到的颈部弯曲角度A在该预设范围内时,表明用户颈椎弯曲程度过大,故此时生成第一提醒信息,如“当前您颈部弯曲程度过大,请调整”等,并通过文字或语音等形式输出,告知用户。
进一步的,上述头颈姿势监测方法还可以包括:
S17、判断所述颈部弯曲角度是否在第二预设范围内;
S18、当所述颈部弯曲角度在第二预设范围内时,判断所述颈部弯曲角度在第二预设范围内的持续时间是否大于预设时间;
S19、当所述持续时间大于预设时间时,生成并输出第二提醒信息。
即,本实施例不仅监测用户颈部是否过度弯曲,还监测过度弯曲状态的持续时间,当该持续时间超过预设时间时,生成第二提醒信息,如“您颈部弯曲时间过长,请调整”等,同样可以通过文字或语音等形式向用户输出该第二提醒信息。
可见,上述步骤S15至S16,及S17至S19,实现了两种不同的提醒方式,实际应用中,可以采用其中任意一种,也可以两种提醒方式同时使用。优选的,若同时使用上述两种提醒方式,可以将第一预设范围和第二预设范围设定为不同角度区间;例如,可以设定第一预设范围为(0°,100°],第二预设范围为(100°,150°],即第一预设范围对应的颈部弯曲程度大于第二预设范围,故当计算得到颈部弯曲角度在第一预设范围内时,需要立即提醒用户调整姿势,而当计算得到的颈部弯曲角度在第二预设范围内时,由于此时颈部弯曲程度不大,不必要立即提醒,但由于颈部保持小程度弯曲时间过长,也会对颈椎造成压迫,故本实施例在判定颈部弯曲角度在第二预设范围内时就开始计时,即记录颈部弯曲角度在第二预设范围内的持续时间,当该持续时间达到预设时间(如5分钟)时,通过第二提醒信息提醒用户调整姿势。
上文实施例中,结合图2阐述了在二维平面内计算颈部弯曲角度的方法,主要适用于监测因用户低头动作造成的颈部弯曲情况;而实际上,用户头部还可能同时向左侧或向右侧倾斜,故为更准确的监测头颈姿势,本申请实施例还可以基于三维直角坐标系进行监测计算。
基于三维直角坐标系,在本申请一个可行的实施例中,上述步骤S11所述的基于第一传感器检测用户头部相对于预设基准方向的第一角度,具体可以包括:
基于第一传感器检测用户头部所在三维直角坐标系相对于预设三维直角坐标系初始方向的第一俯仰角和第一横滚角。
相应的,步骤S12所述的基于第二传感器检测用户肩部相对于所述预设基准方向的第二角度,具体可以包括:
基于第二传感器检测用户肩部所在三维直角坐标系相对于所述预设三维直角坐标系初始方向的第二俯仰角和第二横滚角。
如图4所示,本申请实施例所选定的预设三维直角坐标系的x、y、z三轴正方向分别为(下文所述的前后、左右、上下等方向均依照用户视角):以相对于用户水平向左的方向为x轴初始方向,以相对用户水平向前的方法为y轴初始方向,以垂直向下的方向为z轴初始方向,x、y、z三轴两两垂直。第一传感器G1固定于头部,第二传感器G2固定于肩部,图4所示标准姿势下,G1和G2所在三维直角坐标系的各坐标轴与预设三维直角坐标系的坐标轴方向对应相同,对应的标准姿势下颈部弯曲角度为180°,即无弯曲。下面参照图4阐述第一传感器和第二传感器均采用重力传感器时,监测头部和肩部对应角度的原理及计算公式。
假设用户肩部不动,头部向右并向前倾斜,使得G1对应三维直角坐标系的三个坐标轴边为x1轴、y1轴和z1轴;如图4所示,头部向右倾斜相当于使G1所在三维直角坐标系以y轴为轴心,在三维直角坐标系的xz平面内逆时针转动,所产生的x1轴和x轴之间的夹角与z1轴和z轴之间的夹角相同,均为上述第一俯仰角,即用户头部向右倾斜的角度,以ρ表示;相应的,头部向前倾斜使G1以x轴为轴心在yz平面逆时针转动,所产生的y1轴和y轴之间的夹角与z1轴和z轴之间的夹角相同,均为上述第一横滚角,即用户头部向前倾斜的角度,以η表示。
对于重力传感器G1,其在标准姿势下测得的x轴的重力加速度为Ax=0,y轴的重力加速度为Ay=0,z轴的重力加速度为Az=1g(其中,g为重力加速度常量,常取值为9.8m/s2或10m/s2),即,
仍参照图4,头部向右倾斜带动G1倾斜后,G1直接检测到的x1轴的重力加速度Ax1实际为z轴重力加速度在x1轴上的分量,由正弦定理得Ax1=-1g×sinρ,G1直接检测到的z1轴的重力加速度Az1实际为z轴重力加速度在z1轴上的分量,由余弦定理得Az1=1g×cosρ;因此,第一俯仰角ρ的计算公式为同理,头部向前倾斜带动G1倾斜后,G1直接检测到的y1轴的重力加速度Ay1实际为z轴重力加速度在y1轴上的分量,即Ay1=1g×sinη,G1直接检测到的z1轴的重力加速度Az1实际为z轴重力加速度在z1轴上的分量,即Az1=1g×cosη;因此,第一横滚角η的计算公式为
参照上述第一俯仰角ρ和第一横滚角η的计算过程,可知位于用户肩部的第二传感器检测第二俯仰角ρ’和第二横滚角η’的计算方法。
进一步的,基于上述第一俯仰角、第一横滚角、第二俯仰角和第二横滚角,步骤S13所述的根据所述第一角度和第二角度计算用户的颈部弯曲角度,具体可以包括:
计算所述第一俯仰角与所述第二俯仰角之间的第一角度差值,并将所述第一角度差值作为用户头部和用户肩部在所述预设三维直角坐标系x轴和z轴确定的第一平面内的第一弯曲角度;
计算所述第一横滚角与所述第二横滚角之间的第二角度差值,并将所述第二角度差值作为用户头部和用户肩部在所述预设三维直角坐标系y轴和z轴确定的第二平面内的第二弯曲角度。
参照上述实施例计算得到的第一俯仰角ρ、第一横滚角η、第二俯仰角ρ’和第二横滚角η’,上述第一弯曲角度的计算公式为Δρ=ρ-ρ',表示颈部向右(或向左)弯曲的角度,第二弯曲角度的计算公式为Δη=η-η',表示颈部向前弯曲的角度。
在本申请另一个可行的实施例中,考虑到传感器的静态误差,为得到更准确的监测结果,还可以执行以下步骤:
获取标准头颈部姿势下所述第一传感器检测到的第一参考角度,以及所述第二传感器检测到的第二参考角度;
根据所述第一参考角度和第二参考角度对所述颈部弯曲角度进行修正。
仍以重力传感器为例,理论上标准姿势下,该重力传感器检测得到的三轴重力加速度值应该为当重力传感器存在静态误差时,其在标准姿势下检测得到的Ax和Ay可能不等于0,Az不等于1,此时可参照上述实施例中计算ρ和η的过程,根据正弦定理和余弦定理计算得到第一传感器的静态误差ρ1和η1,及第二传感器的静态误差ρ2和η2,并根据该静态误差对上述第一弯曲角度Δρ和第二弯曲角度进行修正,即:
Δρ=(ρ-ρ1)-(ρ'-ρ2)=ρ-ρ'-ρ1+ρ2;
Δη=(η-η1)-(η'-η2)=η-η'-η1+η2。
可见,本实施例通过角度修正,消除传感器的静态误差,提高监测结果的准确度。
另外,本申请实施例还提供了一种计算机存储介质,例如可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等;该计算机存储介质中存储有程序,当所述存储介质中的程序由相关监测设备的处理器执行时,使得该处理器能够执行上述方法实施例中记载的任一种头颈姿势监测方法中的部分或全部步骤。
相应于上述头颈姿势监测方法,本申请实施例还提供了一种头颈姿势监测装置,图5为该装置的结构框图。参照图5,该装置包括:第一监测单元100、第二监测单元200、角度计算单元300和第一提醒单元400。
其中,该第一监测单元100与固定于用户头部的第一传感器G1进行通信连接,用于基于第一传感器检测用户头部相对于预设基准方向的第一角度。
该第二监测单元200与固定于用户肩部的第二传感器G2进行通信连接,用于基于第二传感器检测用户肩部相对于所述预设基准方向的第二角度。
该角度计算单元300,用于根据所述第一角度和第二角度计算用户的颈部弯曲角度。
该第一提醒单元400,用于向用户反馈所述颈部弯曲角度。
可选的,第一传感器G1和第二传感器G2作为头颈姿势监测装置的必备外设,可以通过蓝牙、红外、无线网络等实现第一监测单元与第一传感器,以及第二监测单元与第二传感器之间的通信连接。
由以上技术方案可知,本申请实施例利用两个传感器分别检测用户头部和肩部相对于预设基准方向的夹角(即上述第一角度和第二角度),并计算两个夹角之差,即得到用户头部所在直线和肩部所在直线之间的夹角,即用户的颈部弯曲角度,并将该颈部弯曲角度反馈给用户,以提醒用户在必要时调整自己的不良头颈姿势。
在本申请一个可行的实施方式中,上述头颈姿势监测装置还可以包括以下至少一种:
第二提醒单元,用于判断所述颈部弯曲角度是否在第一预设范围内,当所述颈部弯曲角度在第一预设范围内时,生成并输出第一提醒信息。
第三提醒单元,用于判断所述颈部弯曲角度是否在第二预设范围内,当所述颈部弯曲角度在第二预设范围内时,判断所述颈部弯曲角度在第二预设范围内的持续时间是否大于预设时间,并在所述持续时间大于预设时间时,生成并输出第二提醒信息。
在本申请一个可行的实施方式中,上述第一监测单元100具体可以包括:第一三维监测单元,用于基于第一传感器检测用户头部所在三维直角坐标系相对于预设三维直角坐标系初始方向的第一俯仰角和第一横滚角。
相应的,上述第二监测单元200具体可以包括:第二三维监测单元,用于基于第二传感器检测用户肩部所在三维直角坐标系相对于所述预设三维直角坐标系初始方向的第二俯仰角和第二横滚角。
其中,所述预设三维直角坐标系中,以相对于用户水平向左的方向为x轴初始方向,以相对用户水平向前的方法为y轴初始方向,以垂直向下的方向为z轴初始方向;所述第一俯仰角和第二俯仰角表示相应传感器以y轴为轴心旋转产生的夹角,第一横滚角和第二横滚角表示相应传感器以x轴为轴心旋转产生的夹角。
基于上述第一三维监测单元和第二三维监测单元,所述角度计算单元300具体可以包括:
第一角度计算单元,用于计算所述第一俯仰角与所述第二俯仰角之间的第一角度差值,并将所述第一角度差值作为第一弯曲角度;
第二角度计算单元,用于计算所述第一横滚角与所述第二横滚角之间的第二角度差值,并将所述第二角度差值作为第二弯曲角度。
其中,所述第一弯曲角度表示用户颈部向右或向左弯曲的角度,所述第二弯曲角度表示用户颈部向前弯曲的角度。
即,本申请实施例通过上述第一三维监测单元和第二三维监测单元获取头部和肩部在三维空间内不同方向上的倾斜角度,进而通过第一角度计算单元和第二角度计算单元计算得到用户颈部在不同方向上的弯曲角度,使得头颈姿势监测更立体、全面、准确。
在本申请另一个可行的实施方式中,上述头颈姿势监测装置还可以包括:
角度修正单元,用于获取标准头颈部姿势下所述第一传感器检测到的第一参考角度,以及所述第二传感器检测到的第二参考角度,并根据所述第一参考角度和第二参考角度对所述颈部弯曲角度进行修正。
可见,本实施例通过角度修正,消除传感器的静态误差,提高监测结果的准确度。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。