发明名称 一种指尖触碰检测系统及方法
摘要 本发明提供了一种指尖触碰检测系统和方法,该系统包括投影界面处理单元,用于接收外部输入的人机交互界面信息,并将人机交互界面信息输出给投影单元;投影单元,用于将人机交互界面信息投影至投影平面;图像传感单元,用于采集投影区域图像,并将投影区域图像发送给图像处理单元;图像处理单元,用于判断投影区域图像中是否含有指尖,并在含有指尖时计算指尖与人机交互界面的距离及其在人机交互界面中的位置信息;触碰检测单元,包括判断执行模块、成像面上光心映射位置计算模块、指尖最低点获取模块、阴影前端点获取模块以及指尖触碰判断模块,用于判断触碰及输出触碰消息。该发明能够实现低成本、低功耗、高精度的触碰检测。
申请公布号 CN103955316A 申请公布日期 2014.07.30
申请号 CN201410175698.0 申请日期 2014.04.28
申请人 清华大学 发明人 谢翔;李国林;蔡西蕾;宋玮;郑毅;吕众;任力飞;王志华
分类号 G06F3/042(2006.01)I 主分类号 G06F3/042(2006.01)I
代理机构 北京路浩知识产权代理有限公司 11002 代理人 李迪
主权项 一种指尖触碰检测系统,其特征在于,该系统包括:投影界面处理单元,用于接收外部输入的人机交互界面信息,并将接收的人机交互界面信息输出给投影单元;投影单元,用于将人机交互界面信息投影至投影平面;图像传感单元,用于采集投影平面上的投影区域图像,并将采集到的投影区域图像发送给图像处理单元;图像处理单元用于判断投影区域图像内是否含有指尖,并在含有指尖时计算指尖与人机交互界面的距离及其在人机交互界面中的位置信息;若所述指尖与人机交互界面的距离小于等于第一门限值,输出触碰信息至触碰检测单元;否则输出含指尖的投影区域图像和指尖在人机交互界面中的位置信息至触碰检测单元;图像处理单元还用于获取系统内参数、系统固有外参数、系统可变外参数和投影单元与图像传感单元间的单应性矩阵,并将所述系统内参数、系统固有外参数、系统可变外参数和投影单元与图像传感单元间的单应性矩阵输出至触碰检测单元;其中系统内参数为投影单元和图像传感单元的光心位置参数;系统固有外参数为投影单元和图像传感单元间相对空间位置和姿态关系参数;系统可变外参数为图像传感单元及投影单元与投影平面之间的相对空间位置与姿态关系参数;触碰检测单元,包括判断执行模块、成像面上光心映射位置计算模块、指尖最低点获取模块、阴影前端点获取模块以及指尖触碰判断模块,其中,判断执行模块,用于当接收来自图像处理单元的输出信息为触碰信息时,直接输出触碰信息,若接收来自图像处理单元的输出信息为含指尖的投影区域图像和指尖在人机交互界面中的位置信息时,执行成像面上光心映射位置计算模块;成像面上光心映射位置计算模块,用于接收图像处理单元输出的系统固有外参数、系统可变外参数、系统固有内参数以及投影单元与图像传感单元间单应性矩阵,将所述接收到的参数通过几何计算获取图像传感单元平面上过图像传感单元光心且垂直于投影平面的直线与投影面的交点b以及过投影单元光心与图像传感单元光心的直线与投影面的交点a位置信息,并将以上两交点信息输出至所述指尖最低点获取模块及所述阴影前端点获取模块;指尖最低点获取模块,用于接收图像处理单元输出的含指尖的投影区域图像和指尖在人机交互界面中的位置信息以及来自所述成像面上光心映射位置计算模块输出的交点b的位置信息,利用指尖在人机交互界面中可能发生触碰的区域信息及指尖的颜色信息获取指尖并对指尖进行边缘检测获取指尖边缘,对指尖边缘进行圆拟合拟合出圆心o,连接圆心o与交点b,直线ob与指尖边缘交点即定义为指尖最低点f,设其在图像传感单元成像面上的坐标为<img file="FDA0000497817740000021.GIF" wi="242" he="104" />并将指尖最低点f的位置信息输出至所述阴影前端点获取模块;阴影前端点获取模块,用于接收图像处理单元输出的含指尖的投影区域图像和指尖在人机交互界面中的位置信息及接收来自所述成像面上光心映射位置计算模块输出的交点a的位置信息、所述指尖最低点获取模块输出的指尖最低点f的位置信息,利用阴影在HSV颜色空间中的特征获取指尖阴影区域,通过连接交点a与指尖最低点f,连线与阴影边缘处交点即为阴影前端点s,设其在图像传感单元成像面上的坐标为<img file="FDA0000497817740000022.GIF" wi="225" he="96" />并输出指尖最低点f及阴影前端点s位置信息至所述指尖触碰判断模块;指尖触碰判断模块,用于接收所述图像处理单元输出的投影单元与图像传感单元间单应性矩阵,以及来自所述阴影前端点获取模块输出的指尖最低点位置、阴影前端点位置,通过投影单元与图像传感单元间单应性矩阵计算出阴影前端点在投影单元平面上的位置<img file="FDA0000497817740000023.GIF" wi="241" he="86" />利用图像处理单元输出的系统固有内、外参数可获取图像传感单元与投影单元间的旋转矩阵R及平移矩阵T,计算出同一坐标系下的投影单元光心位置及图像传感单元光心位置,设统一到图像传感单元光心坐标系下,图像传感单元光心为(0,0,0),投影单元光心为T<sub>c→p</sub>,指尖最低点为<img file="FDA0000497817740000031.GIF" wi="323" he="91" />阴影前端点为<img file="FDA0000497817740000032.GIF" wi="666" he="91" />其中R<sub>p→c</sub>为3x3由投影单元坐标系到图像传感单元坐标系的旋转矩阵,T<sub>c→p</sub>为1x3由图像传感单元坐标系到投影单元坐标系的平移矩阵,f<sub>c</sub>、f<sub>p</sub>分别为图像传感单元与投影单元焦距,<img file="FDA0000497817740000033.GIF" wi="193" he="91" />和<img file="FDA0000497817740000034.GIF" wi="186" he="83" />分别为经过图像传感单元与投影单元内参数校正后的<img file="FDA0000497817740000035.GIF" wi="180" he="91" />和<img file="FDA0000497817740000036.GIF" wi="201" he="83" />根据图像传感单元成像面上指尖最低点位置、投影单元成像面上阴影前端点位置及图像传感单元光心与投影单元光心位置,则空间中过投影单元光心、投影单元平面上阴影前端点的直线[x<sup>c</sup>,y<sup>c</sup>,z<sup>c</sup>]=λ<sub>1</sub>v<sub>1</sub>+T<sub>c→p</sub>与过图像传感单元光心、图像传感单元平面上指尖最低点的直线[x<sup>c</sup>,y<sup>c</sup>,z<sup>c</sup>]=λ<sub>2</sub>v<sub>2</sub>交点的空间坐标为λ<sub>2</sub>'v<sub>2</sub>,并将该交点位置作为指尖位置,其中<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>v</mi><mn>1</mn></msub><mo>=</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>s</mi><mrow><mi>p</mi><mo>&prime;</mo></mrow></msubsup><mo>,</mo><msubsup><mi>y</mi><mi>s</mi><mrow><mi>p</mi><mo>&prime;</mo></mrow></msubsup><mo>,</mo><msub><mi>f</mi><mi>p</mi></msub><mo>)</mo></mrow><mo>,</mo><msub><mi>v</mi><mn>2</mn></msub><mo>=</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>f</mi><mrow><mi>c</mi><mo>&prime;</mo></mrow></msubsup><mo>,</mo><msubsup><mi>y</mi><mi>f</mi><mrow><mi>c</mi><mo>&prime;</mo></mrow></msubsup><mo>,</mo><msub><mi>f</mi><mi>c</mi></msub><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000497817740000037.GIF" wi="896" he="91" /></maths>λ<sub>1</sub>、λ<sub>2</sub>为比例系数,则λ<sub>2</sub>'为定值且满足<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mfenced open='(' close=')'><mtable><mtr><mtd><msub><msup><mi>&lambda;</mi><mo>&prime;</mo></msup><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><msup><mi>&lambda;</mi><mo>&prime;</mo></msup><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mo>=</mo><msup><mfenced open='(' close=')'><mtable><mtr><mtd><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>v</mi><mn>1</mn></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup></mtd><mtd><mo>-</mo><msubsup><mi>v</mi><mn>1</mn><mi>t</mi></msubsup><msub><mi>v</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mo>-</mo><msubsup><mi>v</mi><mn>2</mn><mi>t</mi></msubsup><msub><mi>v</mi><mn>1</mn></msub></mtd><mtd><msup><mrow><mo>|</mo><mo>|</mo><msub><mi>v</mi><mn>2</mn></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msup></mtd></mtr></mtable></mfenced><mrow><mo>-</mo><mn>1</mn></mrow></msup><mfenced open='(' close=')'><mtable><mtr><mtd><mo>-</mo><msubsup><mi>v</mi><mn>1</mn><mi>t</mi></msubsup><msub><mi>T</mi><mrow><mi>c</mi><mo>&RightArrow;</mo><mi>p</mi></mrow></msub></mtd></mtr><mtr><mtd><msubsup><mi>v</mi><mn>2</mn><mi>t</mi></msubsup><msub><mi>T</mi><mrow><mi>c</mi><mo>&RightArrow;</mo><mi>p</mi></mrow></msub></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000497817740000038.GIF" wi="945" he="242" /></maths><img file="FDA0000497817740000039.GIF" wi="61" he="87" />是v<sub>1</sub>的转置矩阵,<img file="FDA00004978177400000310.GIF" wi="61" he="87" />是v<sub>2</sub>的转置矩阵,最后通过系统可变外参数计算出投影面方程,以法向量n<sup>c</sup>和单点p<sup>c</sup>表示,计算获取上述交点与投影面间距离<img file="FDA00004978177400000311.GIF" wi="547" he="125" />当距离小于第二门限值时,判断为触碰操作;当发生触碰操作时,指尖触碰判断模块还将根据接收的图像传感单元与投影单元之间的单应性矩阵,继而计算获得触碰点在投影的人机交互界面中的坐标位置,并输出指尖触碰信息,指尖触碰信息至少包括指尖触碰原始投影的人机交互界面中的位置坐标信息;控制单元,用于控制系统中的所有其他单元,并协调所有其他单元的工作;控制单元还可控制系统处于系统固有内、外参数获取状态、系统可变参数获取状态以及指尖获取与碰触操作状态。
地址 100084 北京市海淀区清华园北京100084-82信箱