发明名称 一种基于头势识别技术的轮椅控制方法
摘要 本发明提出一种基于头势识别技术的轮椅控制方法,属于人工智能技术领域。在轮椅车体上安装图像采集设备、计算及控制单元、支架及电机。当使用轮椅时,图像采集设备实时的采集轮椅使用者的头部图像并传输至计算及控制单元中。计算单元通过对图像进行处理、分析和计算,得到人脸和鼻子的位置信息,并据此判断使用者的头部姿势。根据所获取的头部姿势,由计算及控制单元产生对应的控制命令。最后电机根据得到的控制命令,驱动轮椅运动。本发明方法通过以非接触式图像感知和检测方法为基础,综合考虑了图像中的人脸姿势和鼻子位置的分布情况,使得头势判断更加准确,有利于对轮椅的控制,具有人机交互友好、便于高度残疾人士使用的优点,附加成本低。
申请公布号 CN101889928A 申请公布日期 2010.11.24
申请号 CN201010237571.9 申请日期 2010.07.27
申请人 北京理工大学 发明人 赵清杰;石小明;郑军
分类号 A61G5/10(2006.01)I;G05B19/02(2006.01)I;G06K9/00(2006.01)I;G06K9/62(2006.01)I;G06T7/00(2006.01)I 主分类号 A61G5/10(2006.01)I
代理机构 代理人
主权项 一种基于头势识别技术的轮椅控制方法,包括以下步骤:首先,在轮椅车体上安装图像采集设备、计算及控制单元、支架及电机;其中,所属图像采集设备通过支架一端固定在正对人脸的位置;支架另一端同车体连接;计算及控制单元分别同图像采集设备、电机相连接;电机安装在轮椅上,并同轮椅的行走机构相连接,用于根据控制单元产生的控制信号,驱动轮椅的运动;其特征在于:当使用轮椅时,图像采集设备实时的采集轮椅使用者的头部图像并传输至计算及控制单元中;计算单元通过对图像进行处理、分析和计算,得到人脸和鼻子的位置信息,并据此判断使用者的头部姿势,具体过程如下:对所获图像进行正面人脸检测,判断图像中是否为正面脸;如果是,则进一步检测鼻子的位置,并根据鼻子位置对正面人脸进行细分,确定是抬头、低头、平视、半左侧、半右侧五种头部姿势中的哪一种;如果不是正面脸,则对图像进行左侧人脸检测,确定是左侧、右侧、无头势三种情况中的哪一种;为实现上述检测判断过程,要采用正面人脸分类器、左侧人脸分类器和鼻子分类器,分别用来检测正面人脸、左侧人脸和鼻子区域的位置;对三个分类器的训练方法,均采用Adaboost算法;训练过程中,正面人脸分类器和左侧人脸分类器的输入为整幅图像,输出则为脸部区域的位置信息,包括脸部区域左上角的坐标及该区域的长和宽;鼻子分类器的输入为仅包含正面人脸部分的图像,输出则为鼻子区域的位置信息,包括鼻子区域左上角的坐标及该区域的长和宽,其中区域左上角的坐标及该区域的长和宽统一表示在一个列表中;人脸区域和鼻子区域位置的检测详细过程如下:(1)把整幅图像输入至正面人脸分类器,如果正面人脸分类器的输出不为空,则说明图像中含有正面人脸区域,进行(2)操作;如果正面人脸分类器的输出为空,则把该图像输入至左侧人脸分离器,检测图像中是否含有左侧人脸;如果左侧人脸分类器的输出不为空,则说明图像中含有左侧人脸,对应左侧头势;如果左侧人脸分类器的输出为空,则把该图像进行左右翻转,再次输入至左侧人脸分类器,若此时输出不为空则说明图像中含有右侧人脸,对应右侧头势;否则图像中不含人脸;(2)当(1)检测到含有正面人脸,则截取正面人脸区域图像,把仅包含正面人脸区域的图像输入至鼻子分类器,鼻子分类器的输出是鼻子区域的位置信息列表,包括:鼻子区域左上角相对于正面人脸区域左上角的横坐标px和纵坐标py,以及鼻子区域的长度lenx和宽度leny,由此算出鼻子区域中心位置相对于正面人脸区域左上角的坐标为(px+lenx/2,py+leny/2);令正面人脸区域的大小为长Fx、宽Fy,得到鼻子相对于正面人脸区域的横向相对位置为POSX=(px+lenx/2)/Fx,纵向相对位置为POSY=(py+leny/2)/Fy;根据POSX和POSY的数值,将正面人脸细分为抬头、低头、平视、半左侧、半右侧五种头部姿势;采用打分制,根据鼻子的纵向相对位置和鼻子区域的相对宽度确定最佳鼻子区域,具体如下:(a)令每个候选鼻子的分值Score=100;(b)计算各候选鼻子的纵向相对位置POSY=(py+leny/2)/Fy,以及相对宽度LEN=lenx/Fx;(c)根据各候选鼻子的纵向相对位置数值修改分值,即,Score1=Score*(1‑|0.6‑POSY|/0.6)(d)根据各候选鼻子的相对宽度数值再次修改分值,即LEN<1/6时,Score2=Score1*[1‑6*(1/6‑LEN]LEN∈[1/6,1/3]时,Score2=Score1,LEN>1/3时,Score2=Score1*[1‑1.5*(LEN‑1/3)](e)比较各候选鼻子的Score2值,该值最大者定为最佳鼻子区域;对于确定好的最佳鼻子区域,再根据其在人脸区域内的中心坐标以及其POSX和POSY数值,进一步将正面人脸细分为抬头、低头、平视、半左侧、半右侧五种头部姿势,具体判断方法为:1)根据鼻子中心横坐标(px+lenx/2)的值是否等于Fx的一半,确定鼻子区域的中心是否位于人脸区域的垂直中线上;2)如果鼻子区域的中心位于人脸区域的垂直中线上,则根据鼻子相对人脸部的纵向相对位置POSY判断抬头、低头、平视三种头势,此时判断头势的方法是:如果POSY小于设定的阈值a1,0≤a1≤1,则为抬头头势;如果POSY大于设定的阈值a2,0≤a2≤1,则为低头头势;如果a1≤POSY≤a2,则为平视头势;其中,a1小于a2;3)如果鼻子区域的中心不在人脸区域的垂直中线上,则根据鼻子相对人脸部的横向相对位置POSX判断半左侧、半右侧两种头势,此时判断头势的方法是:如果POSX小于设定的阈值b,0≤b≤1,则为半左侧,否则为半右侧;之后,根据所获取的头部姿势,由计算及控制单元产生对应的控制命令,具体如下:仰头、低头和平视三种头部姿势分别对应前进、后退和停止三种控制命令;半左侧、左侧、半右侧、右侧这四种头部姿势分别对应微左转、左转和微右转、右转四种控制命令;如果未检测出任何头势,则轮椅停止运动;最后,电机根据得到的控制命令,驱动轮椅运动;
地址 100081 北京市海淀区中关村南大街5号