人机交互式虚拟触控装置、系统及方法
【专利摘要】本发明提供一种人机交互式虚拟触控装置、系统及方法,该方法包括:摄像头采集的用户单手悬空平放于图像捕捉区域的图像数据进行手部识别以确定手部中心位置在图像中的位置,并结合摄像头解析度将手部中心点像素位置转换为XZ、YZ坐标面的二维坐标值,以建立手部中心点在XYZ三维坐标系中的坐标值,判断手部中心点的X坐标落入可操作图标的X坐标区域时将其Y值与可操作图标的Y坐标区域比较以确定操作模式,并根据工作模式与操作模式确定用户手部的操作结果,根据操作结果和可操作图标的坐标绘制出虚拟触控屏上手部的位置和有效的操作画面并显示该绘制的图像。利用本发明,方便用户随时随地通过虚拟触控屏进行自如的人机交互操作。
【专利说明】人机交互式虚拟触控装置、系统及方法
【技术领域】
[0001]本发明涉及虚拟触控【技术领域】,尤其涉及一种人机交互式虚拟触控装置、系统及方法。
【背景技术】
[0002]触控屏(触摸控制屏幕)是现有技术的人机交互中的重要组成部分,现有的触控屏输入都依赖于实体触控屏设备,也就是说,必须要有一个实际存在的触控屏才能够完成人机交互,这样就大大限制了进行人机交互的场所范围和条件。
【发明内容】
[0003]鉴于上述问题,本发明提供一种克服上述问题或者至少部分解决上述问题的人机交互式虚拟触控装置、系统及方法。
[0004]本发明提供一种人机交互式虚拟触控装置,包括显示控制单元与显示单元,该装置包括:
[0005]视图识别单元,用于对摄像头对用户双手中需要操作的单手采集的图像数据进行手部识别,以确定手部中心位置在图像中的位置。
[0006]水平面二维坐标建立单元,用于根据该视图识别单元识别出的手部中心点位置在图像中的位置与摄像头的像素解析度,将手部中心点像素位置转换为XZ坐标面的二维坐标值。
[0007]垂直面二维坐标建立单元,用于根据该视图识别单元识别出的手部中心点位置在图像中的位置与摄像头的像素解析度,将手部中心点像素位置转换为YZ坐标面的二维坐标值。
[0008]三维坐标计算单元,用于根据该水平面二维坐标建立单元和垂直面二维坐标建立单元分别确定的手部中心点像素位置在XZ坐标面和YZ坐标面的二维坐标值建立手部中心点在XYZ三维坐标系中的坐标值。
[0009]工作模式判断单元,用于根据该识别的单手图像中用户使用的手指个数进行工作模式的选择。
[0010]动作判断单元,用于判断该三维坐标计算单元确定的手部中心点的三维坐标值中的X坐标是否落入可操作图标的X坐标区域内。确定落入该可操作图标的X坐标区域内时将该手部中心点的三维坐标值中的Y值与该可操作图标的Y坐标区域进行比较以确定对该可操作图标的操作模式。以及根据该工作模式判断单元确定的工作模式与该确定的操作模式确定用户手部的操作结果。以及
[0011]图形绘制单元,用于根据该动作判断单元确定的操作结果和可操作图标的坐标绘制出虚拟触控屏上手部的位置和有效的操作画面,以调用该显示控制单元控制该显示单元显示用户操作的图像,使得用户根据反馈得知当前的手部中心点对应的虚拟触控屏中的位置以及根据所述显示的图像继续移动手部进行虚拟触控操作。
[0012]本发明还提供一种人机交互式虚拟触控系统,包括如上任意一项所述的人机交互式虚拟触控装置以及与所述装置通信连接的两个摄像设备。
[0013]本发明还提供一种人机交互式虚拟触控方法,该方法包括:
[0014]用户将双手中需要操作的单手悬空平放于图像捕捉区域中,对摄像头采集的图像数据进行手部识别,以确定手部中心位置在图像中的位置。
[0015]根据识别出的手部中心点位置在图像中的位置与摄像头的像素解析度,将手部中心点像素位置分别转换为XZ坐标面与YZ坐标面的二维坐标值。
[0016]根据手部中心点像素位置在XZ坐标面和YZ坐标面的二维坐标值建立手部中心点在XYZ三维坐标系中的坐标值。
[0017]根据识别的单手图像中用户使用的手指个数进行工作模式的选择。
[0018]判断该手部中心点的三维坐标值中的X坐标是否落入可操作图标的X坐标区域内,并当确定落入该可操作图标的X坐标区域内时将该手部中心点的三维坐标值中的Y值与该可操作图标的Y坐标区域进行比较以确定对该可操作图标的操作模式,根据该确定的工作模式与该确定的操作模式确定用户手部的操作结果。
[0019]根据该操作结果和可操作图标的坐标绘制出虚拟触控屏上手部的位置和有效的操作画面。以及
[0020]显示该绘制的图像供用户观看,使得用户根据反馈得知当前的手部中心点对应的虚拟触控屏中的位置以及根据所述显示的图像继续移动手部进行虚拟触控操作。
[0021]本发明提供的一种人机交互式虚拟触控装置、系统及方法,由摄像头抓取图像并通过图像识别手部来确定操作位置和通过识别手指个数来判断工作模式,由得到的手部三维坐标直接映射为对虚拟触控屏的操作动作,并在显示器上显示出来反馈给用户,可以使触控屏输入不再需要实体设备,通过智能眼镜和智能手环,或者智能便携移动设备上的摄像设备快速搭建虚拟触控屏输入环境,随时随地进行触控屏输入,方便用户随时随地通过虚拟触控屏进行自如的人机交互操作。
【专利附图】
【附图说明】
[0022]图1为本发明实施方式中的人机交互虚拟触控系统的硬件架构示意图;
[0023]图2为本发明实施方式中的人机交互式虚拟触控装置的功能模块示意图;
[0024]图3为本发明实施方式中的绘制图形的模型示意图;
[0025]图4为本发明实施方式中的人机交互式虚拟触控的操作示意图;
[0026]图5为本发明实施方式中的人机交互式虚拟触控方法的流程示意图;
[0027]图6为本发明实施方式中判断用户操作位置和操作模式的方法的子流程示意图。
[0028]标号说明:
[0029]系统100
[0030]装置10
[0031]亮度传感单元101
[0032]视图识别单元102
[0033]纵向视图识别子单元1021
[0034]横向视图识别子单元 1022
[0035]手指个数判断单元103
[0036]工作模式判断单元104
[0037]水平面二维坐标建立单元105
[0038]垂直面二维坐标建立单元106
[0039]三维坐标计算单元107
[0040]动作判断单元108
[0041]图形绘制单元109
[0042]显示控制单元110
[0043]显示单元111
[0044]摄像设备20
[0045]第一摄像头201
[0046]第二摄像头202
[0047]显示设备21
【具体实施方式】
[0048]为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0049]请参阅图1,为本发明实施方式中的人机交互式虚拟触控系统的硬件架构示意图,该系统100包括人机交互式虚拟触控装置10、两个摄像设备20以及显示设备21,用于对用户手势的检测实现触控输入。
[0050]请同时参阅图2,为本发明实施方式中的人机交互式虚拟触控装置的功能模块示意图,该装置10包括环境亮度传感单元101、视图识别单元102、手指个数判断单元103、工作模式判断单元104、水平面二维坐标建立单元105、垂直面二维坐标建立单元106、三维坐标计算单元107、动作判断单元108、图形绘制单元109、显示控制单元110以及显示单元
111。该装置10可以应用诸如照相机、手机、平板电脑等电子设备中,该摄像设备20通过网络与该装置10进行通信连接,该网络的传输介质可以是蓝牙、zigbee, WIFI等无线传输介质。
[0051]每个摄像设备20均包括第一摄像头201以及第二摄像头202,分别作为纵向摄像设备和横向摄像设备。其中,作为纵向摄像设备的第一摄像头201可以为智能眼镜等可以处于用户手部上方的移动便携式电子设备,作为横向摄像设备的第二摄像头202可以为智能手环等可以放置于用户前方的移动便携式电子设备。进一步地,每个摄像设备20的第一摄像头201和第二摄像头202分别为普通摄像头和红外摄像头。其中,普通摄像头可以在光线条件较好的情况下,对用户操作动作进行图像采集并送往装置10分析。红外摄像头可以在光线条件较差的情况下,对用户操作动作进行图像采集并送往装置10分析。该视图识别单元102包括纵向视图识别子单元1021以及横向视图识别子单元1022,分别对应作为纵向摄像设备和横向摄像设备的第一摄像头201以及第二摄像头202设置,用于对其采集的图像进行识别处理。
[0052]在初始状态时,两对摄像头(一对普通摄像头和一对红外摄像头)配合使用,摄像方向设置为互相垂直,可以同时捕捉手部垂直方向和水平方向的动作行为。通常,智能眼镜中两个摄像头(一个普通摄像头和一个红外摄像头)朝下摆放,智能手环或者智能手机上的两个摄像头(一个普通摄像头和一个红外摄像头)水平摆放。并且,由两对摄像头的可拍摄的矩形区域共同形成图像捕捉区域。
[0053]该环境亮度传感单元101感应环境的亮度值,并把环境亮度值传送到该视图识别单元102中。该视图识别单元102根据预先设置的亮度门限值判断使用普通摄像头还是红外摄像头。例如,亮度感应范围为I?100,门限值为50,则环境亮度值超过50时确定使用普通摄像头,当环境亮度值低于50时使用红外摄像头图像。
[0054]在进行交互式操作时,用户将双手中需要操作的一只手(以下简称单手)悬空平放于图像捕捉区域中,该纵向视图识别子单元1021根据该环境亮度传感单元101侦测到的环境亮度值判断使用普通摄像头还是红外摄像头,并当确定使用的摄像头后对处于单手上方作为纵向摄像设备的普通摄像头或者红外摄像头采集的图像数据进行手部识别,以确定手部中心位置在图像中的位置。该横向视图识别子单元1022根据该环境亮度传感单元101侦测到的环境亮度值判断使用普通摄像头还是红外摄像头,并当确定使用的摄像头后对处于单手前方作为横向摄像设备的普通摄像头或者红外摄像头采集的图像数据进行手部识另U,以确定手部中心位置在图像中的位置。
[0055]其中,该纵向视图识别子单元1021确定的手部中心位置在图像中的位置为在XZ坐标面的手部中心点像素在图像中的位置,例如,手部中心点像素位于XZ面图像的a行b列。该横向视图识别子单元1022确定的手部中心位置在图像中的位置为在YZ坐标面的手部中心点像素在图像中的位置。
[0056]进一步地,通过普通摄像头判断手部中心点的方法包括单色背景法和颜色手套法。其中,单色背景法具体为:双手操作的环境背景需要颜色相对简单和单一,这样可以直接通过人体肤色的颜色区间范围直接把手部影像提取出来,然后根据提取出的手部图像区域中最高点与最低点的平均值得到中心点的行数,通过最左点和最右点的平均值得到中心点的列数。颜色手套辅助法具体为:用户佩戴专用的纯红色手套,由于普通摄像头都是RGB(红绿蓝三基色)采样,可以直接提取出纯红色区域位置,也可以使用绿色或者蓝色作为手套手指端点颜色。然后,根据提取出的手部图像区域中最高点和最低点的平均值得到中心点的行数,通过最左点和最右点的平均值得到中心点的列数。
[0057]通过红外摄像头判断手指中心点的方法包括温度滤除法和颜色手套辅助法。其中,温度滤除法具体地为:双手操作可以直接通过人体表面温度相对环境温度较高的特点直接把温度较高的手部影像提取出来,然后根据提取出的手部图像区域中最高点和最低点的平均值得到中心点的行数,通过最左点和最右点的平均值得到中心点的列数。颜色手套辅助法具体为:用户佩戴专用手套,手套的表面有加热效果,这样可以直接提取出图像中热区域,然后根据提取出的手部图像区域中最高点和最低点的平均值得到中心点的行数,通过最左点和最右点的平均值得到中心点的列数。
[0058]该水平面二维坐标建立单元105根据该纵向视图识别子单元1021识别出的手部中心点位置在图像中的位置与摄像头的像素解析度,将手部中心点像素位置转换为XZ坐标面的二维坐标值。该垂直面二维坐标建立单元106根据该横向视图识别子单元1022识别出的手部中心点位置在图像中的位置与摄像头的像素解析度,将手部中心点像素位置转换为YZ坐标面的二维坐标值。
[0059]其中,将手部中心点像素位置转换为XZ坐标面的二维坐标值的转换原理具体地为:将图像左下角像素点设置为二维坐标系的起始点0,根据图像解析度和转换为二维坐标后的坐标值范围计算出坐标值范围相对每个图像的行数和列数的比例。例如,XZ坐标面图像解析度宽高为2000*1000,二维XZ平面坐标系的坐标值范围为X轴为I到150、Z轴为I到100,则Z轴坐标值范围相对图像的行数比例为100/1000,X轴坐标值范围相对图像的列数比例150/2000。将手部中心点的像素位置乘以计算得到的坐标范围相对图像行、列数的比例,从而得到转换为二维坐标后的端点二维坐标值。例如,某个手部中心点的像素位置为300行200列,则该手部中心点的Z轴坐标为300*100/1000 = 30,该手部中心点的X轴坐标为200*150/2000 = 15。将手部中心点像素位置转换为YZ坐标面的二维坐标值的转换原理同上,在此不加赘述。
[0060]该三维坐标计算单元107根据该水平面二维坐标建立单元105和垂直面二维坐标建立单元106分别确定的手部中心点像素位置在XZ坐标面和YZ坐标面的二维坐标值建立手部中心点在XYZ三维坐标系中的坐标值。
[0061]其中,建立手部中心点在XYZ三维坐标系中的坐标值的工作原理具体为:由于XZ坐标面和YZ坐标面有共同的Z轴,所以将XZ坐标面中每个坐标端点的Z值与YZ坐标面中每个坐标端点的Z值都提取出来进行比较,Z轴坐标值一致或者最接近的坐标端点会被认为是同一个端点,然后将被判断为同一端点的XZ坐标面的坐标值与YZ坐标面的坐标值合并为一个坐标端点,以作为XYZ三维坐标系的坐标值。因为Z值有可能不一样,所以新产生的三维坐标的Z值为XZ坐标面的坐标Z值加上YZ坐标面的坐标Z值然后除以2的运算结果,三维坐标系中的X、Y坐标值分别等于XZ坐标面和YZ坐标面的X坐标值与Y坐标值。
[0062]该纵向视图识别子单元1021将手部中心点位置在图像中的位置送往该水平面二维坐标建立单元105的同时还把识别出的手部图像送往该手指个数判断单元103。
[0063]该手指个数判断单元103根据手部图像识别纵向视图中用户进行操作所使用的手指个数。
[0064]具体地,该手指个数判断单元103通过对手部图像中手指端点的识别确定手指个数。其中,通过普通摄像头识别手指端点的方法包括单色背景法和颜色手套辅助法,单色背景法具体为:双手操作的环境背景需要颜色相对简单和单一,这样可以直接通过人体肤色的颜色区间范围直接把手部影像提取出来,然后根据图形端点算法计算出手部每个条状延伸的截止点位置,作为每根手指的端点位置,然后计算一共有几个端点。颜色手套辅助法具体为:用户需要佩戴专用手套,手套的每个指尖位置都是纯红色,由于普通摄像头都是RGB(红绿蓝三基色)采样,可以直接提取出纯红点的位置,也可以使用绿色或者蓝色作为手套手指端点颜色,然后计算一共有几个端点。
[0065]通过红外摄像头识别手指端点的方法包括温度滤除法和颜色手套辅助法,温度滤除法具体为:双手操作可以直接通过人体表面温度相对环境温度较高的特点直接把温度较高的手部影像提取出来,然后根据图形端点算法计算出手部每个条状延伸的截止点位置,作为每根手指的端点位置,然后计算一共有几个端点。颜色手套辅助法具体地为:用户佩戴专用手套,手套的每个指尖位置都是有加热的点,这样可以直接提取出图像中热点位置,然后计算一共有几个端点。
[0066]该工作模式判断单元104根据该手指个数判断单元103确定的用户使用手指的个数进行工作模式的选择,例如,没有手指伸出(手部处于握团状)时,对虚拟触控屏的操作模式为改变手部在屏幕中的位置坐标;只使用一根手指(其他手指处于握团状)时,对虚拟触控屏的操作模式为选中某个图标;使用两根手指时,对虚拟触控屏的操作模式为拖动选中的图标;使用三根手指时,对虚拟触控屏的操作模式为滑动整个屏幕。最多可定义O根手指到5根手指,一共6种工作模式,使用不同手指对应的工作模式都是可再定义的。
[0067]该动作判断单元108根据该三维坐标计算单元107建立的手部中心点的三维坐标值、该工作模式判断单元104确定的工作模式、以及该图形绘制单元109反馈的可操作图标的XZ坐标范围区域,判断用户的操作位置和操作模式。
[0068]该动作判断单元108将该三维坐标计算单元107确定的手部中心点的三维坐标值中的XZ面坐标值与每个可操作图标的XZ面坐标区域进行比较,以判断该手部中心点的XZ面坐标值是否落入某个可操作图标的XZ面的坐标区域。如果确定手部中心点的三维坐标值中的XZ面坐标值落在某个可操作图标的XZ面坐标区域内时,(即手部中心点的坐标点的X值在可操作图标X坐标区间内),同时手部中心点的坐标点Z值在可操作图标的Z坐标区间内,将手部中心点的三维坐标值中垂直方向(也就是Y轴坐标值)的坐标值与每个可操作图标的三维坐标值中的坐标Y值进行比较,以得到用户手部是否对该可操作图标进行了点击操作。
[0069]如果手部中心点的坐标Y值大于可操作图标的Y值,则确定手部没有点击该可操作图标,如果手部中心点的坐标Y值小于该可操作图标的Y值,则确定手部有效点击了该可操作图标。然后,该动作判断单元108结合当前的工作模式判断当前进行的手部穿过点击判定面所对应的操作结果。例如,在O根手指对应的改变手部在屏幕中的位置坐标的工作模式下,点击操作并没有任何含义;在I根手指对应的选中某个图标工作模式下,点击操作表不选中某个屏.中的图标;在2根手指对应的拖动选中的图标工作|吴式下,点击动作表示用户将某个图标开始或者结束拖动操作;在3根手指对应的滑动整个屏幕工作模式下,点击动作表示用户将整个屏幕画面开始或者结束拖动的操作等等。
[0070]在本实施方式中,该动作判断单元108根据手部中心点的三维坐标值中垂直方向的最低端点(也就是Y轴的最小坐标值)作为该点击判定平面。
[0071]其中,将手部中心点的三维坐标值映射到触控屏的可操作区域上,具体地为:设定该可操作区域范围为XZ坐标面的坐标值范围,手部中心点的XZ面的坐标可以直接映射为可操作区域中的平面位置坐标。
[0072]该图形绘制单元109根据该动作判断单元108的判断结果和当前所有可操作图标的坐标,绘制出虚拟触控屏上手部的位置和有效操作的画面。
[0073]请同时参阅图3,该图形绘制单元109绘制手部位置和有效的操作画面具体地为:三维图形的模拟视点位置为垂直于屏幕表面的某个点,然后以此视点绘制三维图标投影到屏幕的三维效果图。以正常三维图形屏幕投射原理为例,首先是在绘图空间中绘制好三维图形,并设置视点位置,然后再从视点位置出发将三维图形投射到屏幕上,从而得到需要显示的图像。
[0074]进一步地,该图形绘制单元109 —开始初始化所有可操作图标的XZ坐标面的坐标值,并把每个可操作图标的XZ坐标面的坐标区域反馈至该动作判断单元108。该图形绘制单元109根据不同的操作改变可操作图标的位置,根据出现的点击行为的位置区域做出特定的响应,例如,高亮选中、拖动、删除等,并将绘制好的图像发送至该显示控制单元110,同时更新移动位置后的可操作图标的坐标值并反馈至该动作判断单元108。
[0075]请同时参阅图4,该显示控制单元110把由该图形绘制单元109绘制的图像转换为显示设备21可以显示的时序,调用该显示单元111将虚拟键盘被操作的图像显示到显示设备21上供用户观看,用户根据反馈可以得知自己当前的手部中心点对应的虚拟触控屏中的位置,然后可以根据显示内容开始继续移动手部继续进行虚拟触控操作。
[0076]请参阅图5,为本发明实施方式中的人机交互式虚拟触控方法的流程示意图,该方法包括:
[0077]步骤S30,该环境亮度传感单元101感应环境的亮度值,该视图识别单元102根据预先设置的亮度门限值以及该环境亮度传感单元101感应到的环境亮度值判断使用普通摄像头还是红外摄像头。
[0078]在初始状态时,两对摄像头(一对普通摄像头和一对红外摄像头)配合使用,摄像方向设置为互相垂直,可以同时捕捉手部垂直方向和水平方向的动作行为。通常,智能眼镜中两个摄像头(一个普通摄像头和一个红外摄像头)朝下摆放,智能手环或者智能手机上的两个摄像头(一个普通摄像头和一个红外摄像头)水平摆放。并且,由两对摄像头的可拍摄的矩形区域共同形成图像捕捉区域。
[0079]步骤S31,用户将双手中需要操作的一只手(以下简称单手)悬空平放于图像捕捉区域中,该纵向视图识别子单元1021根据处于单手上方作为纵向摄像设备的普通摄像头或者是红外摄像头采集的图像数据进行手部识别,以确定手部中心位置在图像中的位置。该横向视图识别子单元1022根据处于单手前方作为横向摄像设备中的普通摄像头或者红外摄像头采集的图像数据进行手部识别,以确定手部中心位置在图像中的位置。
[0080]具体地,该纵向视图识别子单元1021确定的手部中心位置在图像中的位置为在XZ坐标面的手部中心点像素在图像中的位置,例如,手部中心点像素位于XZ面图像的a行b列。该横向视图识别子单元1022确定的手部中心位置在图像中的位置为在YZ坐标面的手部中心点像素在图像中的位置。
[0081]进一步地,通过普通摄像头判断手部中心点的方法包括单色背景法和颜色手套法。其中,单色背景法具体为:双手操作的环境背景需要颜色相对简单和单一,这样可以直接通过人体肤色的颜色区间范围直接把手部影像提取出来,然后根据提取出的手部图像区域中最高点与最低点的平均值得到中心点的行数,通过最左点和最右点的平均值得到中心点的列数。颜色手套辅助法具体为:用户佩戴专用的纯红色手套,由于普通摄像头都是RGB(红绿蓝三基色)采样,可以直接提取出纯红色区域位置,也可以使用绿色或者蓝色作为手套手指端点颜色。然后,根据提取出的手部图像区域中最高点和最低点的平均值得到中心点的行数,通过最左点和最右点的平均值得到中心点的列数。
[0082]通过红外摄像头判断手指中心点的方法包括温度滤除法和颜色手套辅助法。其中,温度滤除法具体地为:双手操作可以直接通过人体表面温度相对环境温度较高的特点直接把温度较高的手部影像提取出来,然后根据提取出的手部图像区域中最高点和最低点的平均值得到中心点的行数,通过最左点和最右点的平均值得到中心点的列数。颜色手套辅助法具体为:用户佩戴专用手套,手套的表面有加热效果,这样可以直接提取出图像中热区域,然后根据提取出的手部图像区域中最高点和最低点的平均值得到中心点的行数,通过最左点和最右点的平均值得到中心点的列数。
[0083]步骤S32,该水平面二维坐标建立单元105根据该纵向视图识别子单元1021识别出的手部中心点位置在图像中的位置与摄像头的像素解析度,将手部中心点像素位置转换为XZ坐标面的二维坐标值。该垂直面二维坐标建立单元106根据该横向视图识别子单元1022识别出的手部中心点位置在图像中的位置与摄像头的像素解析度,将手部中心点像素位置转换为YZ坐标面的二维坐标值。
[0084]其中,将手部中心点像素位置转换为XZ坐标面的二维坐标值的转换原理具体地为:将图像左下角像素点设置为二维坐标系的起始点0,根据图像解析度和转换为二维坐标后的坐标值范围计算出坐标值范围相对每个图像的行数和列数的比例。例如,XZ坐标面图像解析度宽高为2000*1000,二维XZ平面坐标系的坐标值范围为X轴为I到150、Z轴为I到100,则Z轴坐标值范围相对图像的行数比例为100/1000,X轴坐标值范围相对图像的列数比例150/2000。将手部中心点的像素位置乘以计算得到的坐标范围相对图像行、列数的比例,从而得到转换为二维坐标后的端点二维坐标值。例如,某个手部中心点的像素位置为300行200列,则该手部中心点的Z轴坐标为300*100/1000 = 30,该手部中心点的X轴坐标为200*150/2000 = 15。将手部中心点像素位置转换为YZ坐标面的二维坐标值的转换原理同上,在此不加赘述。
[0085]步骤S33,该三维坐标计算单元107根据该水平面二维坐标建立单元105和垂直面二维坐标建立单元106分别确定的手部中心点像素位置在XZ坐标面和YZ坐标面的二维坐标值建立手部中心点在XYZ三维坐标系中的坐标值。
[0086]其中,建立手部中心点在XYZ三维坐标系中的坐标值的方法具体为:由于XZ坐标面和YZ坐标面有共同的Z轴,所以将XZ坐标面中每个坐标端点的Z值与YZ坐标面中每个坐标端点的Z值都提取出来进行比较,Z轴坐标值一致或者最接近的坐标端点会被认为是同一个端点,然后将被判断为同一端点的XZ坐标面的坐标值与YZ坐标面的坐标值合并为一个坐标端点,以作为XYZ三维坐标系的坐标值。因为Z值有可能不一样,所以新产生的三维坐标的Z值为XZ坐标面的坐标Z值加上YZ坐标面的坐标Z值然后除以2的运算结果,三维坐标系中的X、Y坐标值分别等于XZ坐标面和YZ坐标面的X坐标值与Y坐标值。
[0087]步骤S34,该手指个数判断单元103根据手部图像识别纵向视图中用户进行操作所使用的手指个数。
[0088]具体地,该手指个数判断单元103通过对手部图像中手指端点的识别确定手指个数。其中,通过普通摄像头识别手指端点的方法包括单色背景法和颜色手套辅助法,单色背景法具体为:双手操作的环境背景需要颜色相对简单和单一,这样可以直接通过人体肤色的颜色区间范围直接把手部影像提取出来,然后根据图形端点算法计算出手部每个条状延伸的截止点位置,作为每根手指的端点位置,然后计算一共有几个端点。颜色手套辅助法具体为:用户需要佩戴专用手套,手套的每个指尖位置都是纯红色,由于普通摄像头都是RGB(红绿蓝三基色)采样,可以直接提取出纯红点的位置,也可以使用绿色或者蓝色作为手套手指端点颜色,然后计算一共有几个端点。
[0089]通过红外摄像头识别手指端点的方法包括温度滤除法和颜色手套辅助法,温度滤除法具体为:双手操作可以直接通过人体表面温度相对环境温度较高的特点直接把温度较高的手部影像提取出来,然后根据图形端点算法计算出手部每个条状延伸的截止点位置,作为每根手指的端点位置,然后计算一共有几个端点。颜色手套辅助法具体地为:用户佩戴专用手套,手套的每个指尖位置都是有加热的点,这样可以直接提取出图像中热点位置,然后计算一共有几个端点。
[0090]步骤S35,该工作模式判断单元104根据该手指个数判断单元103确定的用户使用手指的个数进行工作模式的选择。
[0091]例如,没有手指伸出(手部处于握团状)时,对虚拟触控屏的操作模式为改变手部在屏幕中的位置坐标;只使用一根手指(其他手指处于握团状)时,对虚拟触控屏的操作模式为选中某个图标;使用两根手指时,对虚拟触控屏的操作模式为拖动选中的图标;使用三根手指时,对虚拟触控屏的操作模式为滑动整个屏幕。最多可定义O根手指到5根手指,一共6种工作模式,使用不同手指对应的工作模式都是可再定义的。
[0092]步骤S36,该动作判断单元108根据该三维坐标计算单元107建立的手部中心点的三维坐标值、该工作模式判断单元104确定的工作模式、以及该图形绘制单元109反馈的可操作图标的XZ坐标范围区域,判断用户的操作位置和操作模式。
[0093]请同时参阅图6,为本发明实施方式中判断用户操作位置和操作模式的方法的流程不意图。
[0094]子步骤S40,该动作判断单元108将该三维坐标计算单元107确定的手部中心点的三维坐标值中的XZ面坐标值与每个可操作图标的XZ面坐标区域进行比较,以判断该手部中心点的XZ面坐标值是否落入某个可操作图标的XZ面的坐标区域。若是,则进入子步骤S41,否则,继续执行子步骤S40。
[0095]子步骤S41,当确定手部中心点的三维坐标值中的XZ面坐标值落在某个可操作图标的XZ面坐标区域内时,(即手部中心点的坐标点的X值在可操作图标X坐标区间内),同时手部中心点的坐标点Z值在可操作图标的Z坐标区间内,将手部中心点的三维坐标值中垂直方向(也就是Y轴坐标值)的坐标值与每个可操作图标的三维坐标值中的坐标Y值进行比较,以判断手部中心点的坐标Y值是否小于可操作图标的Y值。若是,则进入子步骤S42,否则,返回子步骤S40。
[0096]子步骤S42,当确定手部中心点的坐标Y值小于该可操作图标的Y值时确定手部有效点击了该可操作图标,该动作判断单元108结合当前的工作模式判断当前进行的手部穿过点击判定面所对应的操作结果。
[0097]例如,在O根手指对应的改变手部在屏幕中的位置坐标的工作模式下,点击操作并没有任何含义;在I根手指对应的选中某个图标工作模式下,点击操作表示选中某个屏幕中的图标;在2根手指对应的拖动选中的图标工作模式下,点击动作表示用户将某个图标开始或者结束拖动操作;在3根手指对应的滑动整个屏幕工作模式下,点击动作表示用户将整个屏幕画面开始或者结束拖动的操作等等。
[0098]在本实施方式中,该动作判断单元108根据手部中心点的三维坐标值中垂直方向的最低端点(也就是Y轴的最小坐标值)作为该点击判定平面。
[0099]其中,将手部中心点的三维坐标值映射到触控屏的可操作区域上的方法为:设定该可操作区域范围为XZ坐标面的坐标值范围,手部中心点的XZ面的坐标可以直接映射为可操作区域中的平面位置坐标。
[0100]步骤S37,该图形绘制单元109根据该动作判断单元108的判断结果和当前所有可操作图标的坐标,绘制出虚拟触控屏上手部的位置和有效操作的画面。
[0101]其中,该图形绘制单元109绘制手部位置和有效的操作画面的方法为:三维图形的模拟视点位置为垂直于屏幕表面的某个点,然后以此视点绘制三维图标投影到屏幕的三维效果图。以正常三维图形屏幕投射原理为例,首先是在绘图空间中绘制好三维图形,并设置视点位置,然后再从视点位置出发将三维图形投射到屏幕上,从而得到需要显示的图像。
[0102]进一步地,该图形绘制单元109 —开始初始化所有可操作图标的XZ坐标面的坐标值,并把每个可操作图标的XZ坐标面的坐标区域反馈至该动作判断单元108。该图形绘制单元109根据不同的操作改变可操作图标的位置,根据出现的点击行为的位置区域做出特定的响应,例如,高亮选中、拖动、删除等,并将绘制好的图像发送至该显示控制单元110,同时更新移动位置后的可操作图标的坐标值并反馈至该动作判断单元108。
[0103]步骤S38,该显示控制单元110把由该图形绘制单元109绘制的图像转换为显示设备21可以显示的时序,调用该显示单元111将虚拟键盘被操作的图像显示到显示设备21上供用户观看,用户根据反馈可以得知自己当前的手部中心点对应的虚拟触控屏中的位置,然后可以根据显示内容开始继续移动手部继续进行虚拟触控操作。
[0104]本发明提供的一种人机交互式虚拟触控装置、系统及方法,由摄像头抓取图像并通过图像识别手部来确定操作位置和通过识别手指个数来判断工作模式,由得到的手部三维坐标直接映射为对虚拟触控屏的操作动作,并在显示器上显示出来反馈给用户,可以使触控屏输入不再需要实体设备,通过智能眼镜和智能手环,或者智能便携移动设备上的摄像设备快速搭建虚拟触控屏输入环境,随时随地进行触控屏输入,方便用户随时随地通过虚拟触控屏进行自如的人机交互操作。
[0105]以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种人机交互式虚拟触控装置,包括显示控制单元与显示单元,其特征在于,所述装置包括: 视图识别单元,用于对摄像头对用户双手中需要操作的单手采集的图像数据进行手部识别,以确定手部中心位置在图像中的位置; 水平面二维坐标建立单元,用于根据所述视图识别单元识别出的手部中心点位置在图像中的位置与摄像头的像素解析度,将手部中心点像素位置转换为XZ坐标面的二维坐标值; 垂直面二维坐标建立单元,用于根据所述视图识别单元识别出的手部中心点位置在图像中的位置与摄像头的像素解析度,将手部中心点像素位置转换为YZ坐标面的二维坐标值; 三维坐标计算单元,用于根据所述水平面二维坐标建立单元和垂直面二维坐标建立单元分别确定的手部中心点像素位置在XZ坐标面和YZ坐标面的二维坐标值建立手部中心点在XYZ三维坐标系中的坐标值; 工作模式判断单元,用于根据所述识别的单手图像中用户使用的手指个数进行工作模式的选择; 动作判断单元,用于判断所述三维坐标计算单元确定的手部中心点的三维坐标值中的X坐标是否落入可操作图标的X坐标区域内;确定落入所述可操作图标的X坐标区域内时将所述手部中心点的三维坐标值中的Y值与所述可操作图标的Y坐标区域进行比较以确定对所述可操作图标的操作模式;以及根据所述工作模式判断单元确定的工作模式与所述确定的操作模式确定用户手部的操作结果;以及 图形绘制单元,用于根据所述动作判断单元确定的操作结果和可操作图标的坐标绘制出虚拟触控屏上手部的位置和有效的操作画面,以调用所述显示控制单元控制所述显示单元显示用户操作的图像,使得用户根据反馈得知当前的手部中心点对应的虚拟触控屏中的位置以及根据所述显示的图像继续移动手部进行虚拟触控操作。
2.如权利要求1所述的人机交互式虚拟触控装置,其特征在于,还包括环境亮度传感单元,用于感应环境的亮度值; 所述视图识别单元包括: 纵向视图识别子单元,用于根据所述环境亮度传感单元侦测到的环境亮度值判断使用普通摄像头还是红外摄像头,并当确定使用的摄像头后对所述采集的图像数据进行手部识另IJ,以确定在XZ坐标面的手部中心点像素在图像中的位置;以及 横向视图识别子单元,用于根据所述环境亮度传感单元侦测到的环境亮度值判断使用普通摄像头还是红外摄像头,并当确定使用的摄像头后对所述采集的图像数据进行手部识另IJ,以确定在YZ坐标面的手部中心点像素在图像中的位置。
3.如权利要求2所述的人机交互式虚拟触控装置,其特征在于,还包括手指个数判断单元,用于根据所述纵向视图识别子单元识别的手部图像识别纵向视图中用户使用的手指个数。
4.如权利要求1所述的人机交互式虚拟触控装置,其特征在于,所述水平面二维坐标建立单元将手部中心点像素位置转换为XZ坐标面的二维坐标值,以及所述垂直面二维坐标建立单元将手部中心点像素位置转换为YZ坐标面的二维坐标值,具体为:将图像左下角像素点设置为二维坐标系的起始点O,根据图像解析度和转换为二维坐标后的坐标值范围计算出坐标值范围相对每个图像的行数和列数的比例。
5.如权利要求1所述的人机交互式虚拟触控装置,其特征在于,所述图形绘制单元绘制手部位置和有效的操作画面具体地为:设置三维图形的模拟视点位置为垂直于一显示屏幕表面的某个点,以所述模拟视点绘制三维图标并投影到所述显示屏幕形成三维效果图。
6.一种人机交互式虚拟触控系统,其特征在于,包括如权利要求1-5任意一项所述的人机交互式虚拟触控装置以及与所述装置通信连接的两个摄像设备。
7.如权利要求6所述的人机交互式虚拟触控系统,其特征在于,所述摄像设备包括第一摄像头以及第二摄像头,分别作为纵向摄像设备和横向摄像设备,摄像方向设置为互相垂直。
8.如权利要求7所述的人机交互式虚拟触控系统,其特征在于,所述第一摄像头和第二摄像头分别为普通摄像头和红外摄像头。
9.一种人机交互式虚拟触控方法,其特征在于,所述方法包括: 用户将双手中需要操作的单手悬空平放于图像捕捉区域中,对摄像头采集的图像数据进行手部识别,以确定手部中心位置在图像中的位置; 根据识别出的手部中心点位置在图像中的位置与摄像头的像素解析度,将手部中心点像素位置分别转换为XZ坐标面与YZ坐标面的二维坐标值; 根据手部中心点像素位置在XZ坐标面和YZ坐标面的二维坐标值建立手部中心点在XYZ三维坐标系中的坐标值; 根据识别的单手图像中用户使用的手指个数进行工作模式的选择; 判断所述手部中心点的三维坐标值中的X坐标是否落入可操作图标的X坐标区域内,并当确定落入所述可操作图标的X坐标区域内时将所述手部中心点的三维坐标值中的Y值与所述可操作图标的Y坐标区域进行比较以确定对所述可操作图标的操作模式,根据所述确定的工作模式与所述确定的操作模式确定用户手部的操作结果; 根据所述操作结果和可操作图标的坐标绘制出虚拟触控屏上手部的位置和有效的操作画面;以及 显示所述绘制的图像供用户观看,使得用户根据反馈得知当前的手部中心点对应的虚拟触控屏中的位置以及根据所述显示的图像继续移动手部进行虚拟触控操作。
10.如权利要求9所述的人机交互式虚拟触控方法,其特征在于,所述用户将双手中需要操作的单手悬空平放于图像捕捉区域中,对摄像头采集的图像数据进行手部识别,以确定手部中心位置在图像中的位置的步骤之前,包括: 根据感应的环境亮度值与预先设置的亮度门限值判断使用普通摄像头还是红外摄像头,以利用确定的摄像头采集用户手部的图像数据。
11.如权利要求9所述的人机交互式虚拟触控方法,其特征在于,所述用户将双手中需要操作的单手悬空平放于图像捕捉区域中,对摄像头采集的图像数据进行手部识别,以确定手部中心位置在图像中的位置的步骤具体为: 分别确定在XZ坐标面与YZ坐标面的手部中心点像素在图像中的位置。
12.如权利要求11所述的人机交互式虚拟触控方法,其特征在于,所述根据识别出的手部中心点位置在图像中的位置与摄像头的像素解析度,将手部中心点像素位置分别转换为XZ坐标面与YZ坐标面的二维坐标值的步骤具体为: 将图像左下角像素点设置为二维坐标系的起始点O,根据图像解析度和转换为二维坐标后的坐标值范围计算出坐标值范围相对每个图像的行数和列数的比例。
13.如权利要求9所述的人机交互式虚拟触控方法,其特征在于,所述根据所述操作结果和可操作图标的坐标绘制出虚拟触控屏上手部的位置和有效的操作画面的步骤具体为:设置三维图形的模拟视点位置为垂直于一显示屏幕表面的某个点,以所述模拟视点绘制三维图标并投影到所述显示屏幕形成三维效果图。
【文档编号】G06F3/01GK104199548SQ201410436131
【公开日】2014年12月10日 申请日期:2014年8月29日 优先权日:2014年8月29日
【发明者】廖裕民 申请人:福州瑞芯微电子有限公司