本发明涉及计算机视觉表达技术领域,具体而言,尤其涉及一种基于头部姿态估计的辅助失语瘫痪病人需求表达方法,可以为失语的瘫痪病人提供一种简单方便的需求表达方式。
背景技术:
瘫痪是一种世界范围内的常见疾病。根据christopher与danareeve基金会的一项研究显示,在美国每50人就大约有1人患有一定程度的瘫痪。中国的人口基数巨大,瘫痪病人数量更多。根据2012年秦泗河等人发表的“1090例脑性瘫痪外科手术治疗统计分析”中,语言表达能力低于正常者占53.2%,完全失语2.8%。可见瘫痪并且存在语言障碍的患者不在少数。
该类病人无法通过语言直接和周围人类进行交流,病人无法正常使用常见电子设备(如计算机、智能手机等设备)。实现语言障碍的患者主动表达自己的需求具有重大的社会意义和市场应用价值,让患者使用电子设备表达日常需求,进行紧急救援或者联系家属是非常有必要的。
传统获取瘫痪病人表达有多种,利用视觉是发展时间最长的方式,方法主要有两种:第一种是利用肢体动作进行交互。例如,2007年jiap等约定患者的某个动作与康复机械的一个动作的对应,当患者做出该动作时,康复机械做出约定的对应动作。该方法有局限性,不能适用于全身瘫痪的病人。第二种是利用眼动信息,例如2018年meena等人,利用目光信息让中风瘫痪的病人实现利用虚拟键盘打字操作。该方法误操作率高,实际应用中会给患者操作困难。近年来,可通过脑电信号直接获取的大脑区域电位变化,经过分析后,识别患者真正意图。但是该想法仅为理论准确率并不高,不能应用到实际。目前,让失语瘫痪病人表达需求依然是一个困难的问题。
头部姿态是人类重要的行为表达方式,是理解人类表达的重要因素。准确的头部姿态估计有非常广泛的应用前景。例如视线估计、行为分析和人机交互等研究。目前利用患者头部姿态进行需求表达的研究工做很少。由于人脸图像受到现实场景中的不同光照条件、表情变化、几何变换等诸多因素的影响,从而导致姿态表征的不确定性,这使得图像中头部姿态估计成为一项具有挑战性的工作。
头部姿态估计是在三维空间上对头部偏转的精确度量,也就是头部相对于某一坐标平面的偏转角度的推断过程。对头部偏转角度的一种度量方式是欧拉角。其定义为:如果将人的头部视为一个刚体,则可以通过俯仰角(pitch)、偏航角(yaw)、滚动角(roll)三个角度集合在一个固定的坐标系下描述刚体运动。成年人头部偏转范围是有限的,统计意义上俯仰角范围为(-60.4°~69.6°),滚动角范围为(-40.9°~36.3°)、偏航角范围为(-79.8°~75.37°)。
头部姿态估计算法可以分为传统的头部姿态估计算法和基于深度学习的头部姿态估计算法。传统头部姿态的获取方法主要有:基于表观模板匹配、柔性模型方法、灵活模型方法、检测器阵列方法、几何方法、混合方法和基于深度rgb-d图像的方法等。基于柔性模型的方法主要是通过构建的头部模型特征点的映射关系来估计头部姿态。优点主要有对姿态测量连续,该算法的准确率依赖于对人脸特征点的定位精度,虽然可以获得连续的头部姿态估计值,然而准确率易受到遮挡、光照变化及较大头部偏转姿态等干扰因素影响。基于外观模型的方法主要是通过将未知姿态的图片与一组已标记图片数据集进行比较,通过测量未知姿态图片与已标记图片的相似性来确定所属的姿态。此方法不用预测关键点,就可以预测头部姿态。不使用插值方法,只能够估计离散的姿态位置。
基于深度学习头部姿态估计算法优点在于可以对姿态进行连续的测量,并且不需要在检测时对面部特征点进行估计。在光照变化、遮挡、头部姿态大幅度变化等因素存在时,算法的稳定性高。目前为止出现了一批优秀的头部姿态估计的网络模型,比如a.kumar提出了一种改进的googlenet架构,natianruize,使用深度神经网络resnet50实际的多损失函数架构等等。
技术实现要素:
根据上述提出现有方法,辅助失语瘫痪病人表达准确率低、操作困难的技术问题,而提供一种基于头部姿态估计的辅助失语瘫痪病人需求表达方法,使用基于深度神经网络的头部姿态估计算法,辅助有语言障碍的瘫痪病人表达。
本发明采用的技术手段如下:
1、一种基于头部姿态估计的辅助失语瘫痪病人需求表达方法,包括:
步骤1:图像获取,采用摄像机获取瘫痪病人的头部运动信息;
步骤2:人脸检测,利用人脸检测器检测人脸面部区域,利用训练好的人脸检测网络模型对采集的到的连续多帧图像进行检测,得到瘫痪病人面部区域,将所述面部区域按比例放大得到瘫痪病人头部区域;
步骤3:利用深度卷积神经网络进行头部姿态欧拉角估计,利用训练好的头部姿态估计网络模型,以步骤2中获取的头部区域作为输入,得到瘫痪病人头部姿态欧拉角;
步骤4:建立欧拉角变化与虚拟输入设备操作的映射关系;
步骤5:患者通过虚拟输入设备,选择显示器上的相应需求选项,从而主动表达需求。
本发明还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时,执行上述方法。
本发明还提供了一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器通过所述计算机程序运行执行上述方法。
较现有技术相比,本发明具有以下优点:
1、本发明提供的出一种基于头部姿态估计的辅助失语瘫痪病人表达方法,相比于通过基于表情动作等方法辅助瘫痪病人表达,更加方便瘫痪病人操作和理解;相比于使用脑机接口技术辅助交流方法(直接将患者意识行动转化为可供传递和表达的数字或模拟电信号),本方法于通过检测连续头部姿态的表征来控制虚拟键盘或者鼠标,错误率低,使得表达的更为精准。
2、本发明使用基于深度神经网络模型进行头部姿态估计,相比于传统的头部姿态估计优点在于可以对姿态进行连续的测量,并且不需要在检测时对面部特征点进行估计,降低了在检测特征点缺失时对头部姿态估计产生的干扰。在光照变化、遮挡、头部姿态大幅度变化等因素存在时,算法的稳定性高。
3、本发明通用性强,在智能电视、平板电脑或pc等具有显示屏与摄像头的终端设备上,都能适用。
综上,应用本发明的技术方案,解决了失语瘫痪病人表达困难的问题,本方法可以实时运行,通过多名测试者进行的反复试验,证明本方法准确率高,辅助表达精准。
基于上述理由本发明可以在各个瘫痪病人康复中心进行广泛推广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明失语瘫痪病人表达方法流程示意图。
图2为本发明头部姿态的欧拉旋转角示意图。
图3为本发明实施例中ssd网络结构示意图。
图4为本发明实施例中hopenet的网络结构示意图。
图5为本发明实施例中三元组分叉网络网络示意图。
图6辅助表达方法进行实时操作的效果图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1-2所示,本发明提供了一种基于头部姿态估计的辅助失语瘫痪病人需求表达方法,具体包括:
步骤1:图像获取,采用摄像机获取瘫痪病人的头部运动信息。将摄像机固定到瘫痪病人身体朝向的正前方40cm~60cm处,采集视频,获得连续的多帧图像。本实施例中使用usb摄像头固定在瘫痪病人面前,距离患者45cm,获取摄像头采集的实时视频中的每一帧图像。
步骤2:人脸检测,利用人脸检测器检测人脸面部区域,将训练好的人脸检测网络模型对采集的到的连续多帧图像进行检测,得到瘫痪病人面部区域,得到面部区域经过按比例放大得到瘫痪病人头部区域。
作为本发明的优选方案,本实施例中使用opencv库中训练好的ssd人脸检测模型res10_300*300_ssd_iter_140000.caffemodel,ssd网络是一种单步目标检测算法,ssd网络结构图如图3所示,利用ssd人脸检测模型能在光线复杂的条件下检测出人脸,将步骤s1采集到的图像输入网络,最终输出人脸个数及每个人脸的矩形区域的中心点坐标(xi,yi),以及矩形宽度wi,矩形高度hi。通过按照1.5倍放大人脸区域得到头部区域的中心坐标为(xi,yi),以及矩形宽度1.5*wi,矩形高度1.5*hi。
步骤3:利用深度卷积神经网络进行头部姿态欧拉角(yaw,pitch,roll)的估计。利用训练好头部姿态估计网络模型,结合步骤2中获取得到的头部区域作为输入,得到瘫痪病人头部姿态欧拉角。
作为本发明的优选方案,本实施例中采用的三元组分叉网络bifurcatenet。根据2018年,natanielruiz等人为了实现更鲁棒更精准的头部姿态控制效果,提出了的残差表征神经网络hopenet(如图4所示)进行改进得来的,缩小残差神经网络(resnet)的大小,将resnet50减小为resnet34。增加了三个卷积层复合的模块用来提取每个欧拉角独特的特征;全连接仅仅与对每个欧拉角应特征部位的神经网络模块相连。三元组分叉网络(bifurcatenet)网络如图5所示,利用lp-300w数据集训练。将数据集的每张图片进行水平翻转,加倍训练集的数量。选取adam(adaptivemomentestimation)为训练时的优化器。学习率固定在0.001,迭代200次。在训练中对于三个欧拉角(yaw,pitch,roll)的损失函数定义可以写作:
式中α代表线性比例度,用以调节两种损失函数的比例,
得到的训练好的模型,计算量更小,具有运行速度更快,满足了实际应用中的识别精度和实时性的要求。
步骤4:建立欧拉角(yaw,pitch,row)变化与虚拟键盘或鼠标操作的映射关系;
统计意义上讲,成年人的头部姿态转动的角度有一个范围。俯仰角(pitch)范围为(-60.4°~69.6°),滚动角(roll)范围为(-40.9°~36.3°)、偏航角(yaw)范围为(-79.8°~75.37°)。实现鼠标模拟器重点是判断表征头部姿态的三个欧拉角如何对应鼠标的移动和左键右键点击逻辑。对于鼠标在二维平面的运动,同样使用欧拉角的其中两个维度(pitch,row)相对应,而第三个维度(yaw)则对应左键按下、左键松开。利用初始病人面部正对摄像机采集到的欧拉角,进行调0。设置三个角度变化的阈值,即每个角度有正负两个阈值,从初始角度达一个触发阈值对应一个相应的操作。阈值选择根据不同病人进行微调。即可通过病人头部姿态的三个角度变化达到相应的阈值作为触发条件,控制鼠标上下移动及点击事件。控制虚拟键盘方法与控制鼠标方法类似,将判断表征头部姿态的欧拉角的两个维度对应上下、左右四个按键,剩下的一个欧拉角维度对应回车按键。欧拉角变化与虚拟鼠标之间的映射关系见表1。初始角度可根据实际情况设定,设定角度不限于本表,本表的初始角度范围为欧拉角范围的0.3倍。但必须小于阈值。建立表征头部姿态欧拉角的变化与键盘上下,左右,回车之间的映射关系。根据实际的效果选取适合的阈值。具体欧拉角变化与虚拟键盘之间的映射关系见表2。
表1、欧拉角变化与虚拟鼠标之间的映射关系
表2、欧拉角变化与虚拟键盘之间的映射关系
步骤5:让患者通过用虚拟键盘或鼠标,配合显示器上的需求选项,从而主动表达需求。通过步骤3获得的瘫痪病人表征头部姿态的三个欧拉角,再通过步骤4选定欧拉角从初始角度变化到相应触发阈值连对应的操作从而控制虚拟鼠标或者键盘,配合显示器上显示的需求选项,从而主动选择需求选项。最终实现辅助失语瘫痪病人表达的一种方法。
如图6所示,作为本发明的优选方案,本实施例中使用pyqt5编写用户图像界面,内涵选项条,包含吃饭,喝水,活动,按摩,娱乐调节温度,呼叫人工帮助等常见的病人日常需求。实时运行效果图见图6。通过实时运行的步骤s3中的bifurcatenet网络模型。联合s4中的映射模型,当病人将自己的头左偏,代表点击←键,右偏代表点击→键,低头表示点击↓键从该层级菜单进入到子菜单中,仰头代表点击↑键从该层级菜单退出到上一层级菜单中。从而最终实现一种基于头部姿态估计的辅助失语瘫痪病人需求表达方法。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本发明还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时,执行上述方法。
本发明还提供了一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器通过所述计算机程序运行执行上述方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
1.一种基于头部姿态估计的辅助失语瘫痪病人需求表达方法,其特征在于,包括:
步骤1:图像获取,采用摄像机获取瘫痪病人的头部运动信息;
步骤2:人脸检测,利用人脸检测器检测人脸面部区域,利用训练好的人脸检测网络模型对采集的到的连续多帧图像进行检测,得到瘫痪病人面部区域,将所述面部区域按比例放大得到瘫痪病人头部区域;
步骤3:利用深度卷积神经网络进行头部姿态欧拉角估计,利用训练好的头部姿态估计网络模型,以步骤2中获取的头部区域作为输入,得到瘫痪病人头部姿态欧拉角;
步骤4:建立欧拉角变化与虚拟输入设备操作的映射关系;
步骤5:患者通过虚拟输入设备,选择显示器上的相应需求选项,从而主动表达需求。
2.根据权利要求1所述的一种基于头部姿态估计的辅助失语瘫痪病人需求表达方法,其特征在于,所述虚拟输入设备包括虚拟键盘或鼠标。
3.根据权利要求2所述的一种基于头部姿态估计的辅助失语瘫痪病人需求表达方法,其特征在于,建立欧拉角变化与虚拟鼠标操作的映射关系,包括:
利用欧拉角的其中两个维度(pitch,row)对应虚拟鼠标在二维平面的运动,利用欧拉角的第三个维度(yaw)对应虚拟鼠标左键按下以及左键松开;
设置三个角度变化的阈值,从初始角度达一个触发阈值对应一个相应的操作。
4.根据权利要求2所述的一种基于头部姿态估计的辅助失语瘫痪病人需求表达方法,其特征在于,建立欧拉角变化与虚拟键盘操作的映射关系,包括:
利用欧拉角的其中两个维度(pitch,row)对应虚拟键盘上、下、左、右四个按键,利用欧拉角的第三个维度(yaw)对应虚拟键盘回车按键;
设置三个角度变化的阈值,从初始角度达一个触发阈值对应一个相应的操作。
5.根据权利要求3或4所述的一种基于头部姿态估计的辅助失语瘫痪病人需求表达方法,其特征在于,建立欧拉角变化与虚拟输入设备操作的映射关系,还包括:利用初始病人面部正对摄像机采集到的欧拉角,进行调0。
6.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时,执行所述权利要求1至5中任一项权利要求所述的方法。
7.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序运行执行所述权利要求1至5中任一项权利要求所述的方法。
技术总结