一种基于图割算法的低成本指尖触控系统
2023-09-18赵泓屹卢健
赵泓屹 卢健
摘 要:文章针对大多数笔记本电脑不提供触控交互方式的现状,提出了一种低成本的指尖触控系统,使普通笔记本电脑屏幕也能满足用户触控交互的需要,其仅需笔记本电脑的自带摄像头通过平面镜的反射完成触屏检测,具有人机距离限制小和硬件成本低等诸多优点。利用手指会在屏幕上产生倒影的特性,通过识别手指与手指倒影间的距离,实现手指触屏的识别。文章提出了一种结合阈值和图论的手指自动分割算法。此算法通过阈值提取获取手指和倒影的种子像素,并结合图论算法进行手指和倒影分割。实验结果表明,该交互系统在不同实验环境下有较好的表现,能够完成手指触控识别,满足用户的交互需求。
关键词:人机交互;图像分割;触控识别
中图分类号:TP391.4 文献标识码:A 文章编号:2096-4706(2023)15-0001-06
A Low-cost Fingertip Touch Control System Based on Graph Cuts Algorithm
ZHAO Hongyi, LU Jian
(School of Information Engineering, Dalian University, Dalian 116622, China)
Abstract: This paper addresses the current situation that most notebook computers do not provide touch control interaction, and proposes a low-cost fingertip touch control system, so that ordinary notebook computer screens can also meet the needs of user touch control interaction, which only requires the notebook computer's own camera through the reflection of the plane mirror to complete the touch screen detection, with a small human-machine distance limit and low hardware costs and many other advantages. It uses the feature of finger reflection is on the screen, then the finger touch screen recognition is achieved by recognizing the distance between the finger and the finger reflection. An automatic finger segmentation algorithm combining threshold and graph theory is proposed in the paper. This algorithm extracts through threshold and obtains the seed pixels of fingers and reflections, and performs finger and reflection segmentation by combining graph theory algorithm. The experimental results show that the interactive system has good performance in different experimental environments and can complete finger touch control recognition to meet the user's interaction requirements.
Keywords: human-computer interaction; graph cuts; touch control recognition
0 引 言
近年來,随着计算机性能的快速发展以及用户需求的多样化,以平板、笔记本电脑为代表的移动型硬件迅速普及,推动着人机交互技术的发展。而触摸屏的出现,打破了既往的人机交互方式,用户可以通过对屏幕的触碰完成交互,实现绘画、标注及涂改等便携功能。电阻触摸屏、红外线触摸屏、电容触摸屏和声波触摸屏等,已经形成了商业化技术。但是也存在一个问题,现在的交互方式虽然变得简单可视化,但是成本却在不断上涨,市面上满足触控功能的显示屏价格相比之下要高出许多。那么如何通过低成本的方式让没有触屏功能的笔记本电脑也能拥有触屏功能呢?为此,本文提出了一种基于图割算法的低成本指尖触控系统,它具有人机距离限制小、操作自然灵活、没有个人依赖性、硬件成本低、用户之间的特征差异小等诸多优点。其仅需笔记本的自带摄像头外加一枚平面镜,即可检测手指与屏幕的交互状态,完成手指触屏的实时交互检测。
1 相关研究现状
为了打破传统鼠标键盘的人机交互方式,许多学者提出不同的人机交互方法。李贝[1]借助kinect深度摄像头,对复杂手势交互行为进行识别,并将深度信息与图像颜色信息进行融合分割。随后又提出一种融合Hu不变矩的HOG特征提取方法,增加提取的特征向量,从而提升手势识别的准确率。于霄洋[2]在指尖触控中加入了深度信息以获得手指到桌面的距离,利用了飞行时间法计算其深度距离,以便达到更精准的指尖触控。Liang等[3]提出了一种环形输入设备DualRing,通过捕捉手指的运动状态,感知相对于桌面的运动轨迹,完成手部交互的识别目的。伍杰[4]针对传统手势识别交互硬件昂贵和准确率低下的特点,提出了基于Leap Motion的静态手势识别框架,并将手势模型的数值特征与图像的HOG特征进行融合,从而提高准确率。童欣[5]结合肤色检测和重心距离法检测指尖的位置,通过佩戴黑色手环分割手指部分,完成轮廓识别和指尖跟踪,辅助手指交互的应用。2018年清华大学提出了一种基于投影-摄像系统的投影触摸板技术[6],结合了结构光和深度信息来获取手指的相对坐标,通过手部模型来判断手指的运动轨迹和位置,并利用手部的21个关键点结合卡曼尔滤波进行精确跟踪,实验结果表明可以较好地完成手部和投影之间的交互。Tsai等人提出了一种低成本的人机交互手势识别系统[7],该系统从背景中进行肤色检测捕获手指后,通过连通分量标记算法捕获提取像素的质心,随后采用凸包算法去除手臂等干扰肤色点,提取手部像素,进行手势分类识别,最终实现手势交互。各学者提出的新型人机交互系统虽各有特色,但是大部分系统的硬件要求依然很高,且对实验环境要求苛刻,并不具有通用性。
2 基于视觉的指尖触控系统
此文旨在研究出一种基于视觉的指尖触屏技术,因为手指的触碰会在屏幕上产生倒影,所以此系统利用手指与倒影之间的距离作为手指触碰屏幕的条件进行判定。为了使笔记本的自带摄像头可以拍摄到包含屏幕与手指的图像,通过置放一枚平面镜固定在摄像头前方,摄像头通过平面镜的反射拍摄屏幕与手指以及倒影图像,其实际工作场景如图1所示。
系统主要分为三个部分介绍。第一个部分为手指和手指倒影的检测以及分割,第二个部分为手指触碰到屏幕的判定条件,第三个部分为触屏点位置的确定。系统流程图如图2所示。
2.1 手指及倒影的检测和分割
若想利用倒影辅助信息完成手指触屏的识别,首先需要从每一帧的图像中获取到手指和倒影的信息。为了高效准确地检测并分割屏幕前的手指及手指倒影,此文提出了一种结合阈值和图论的图像分割算法。此算法首先通过阈值提取到手指及倒影部分作为初始前景种子点,随后根据已知种子点对图像进行图论分割,最后通过开运算对可能的噪点进行去噪,得到分割后的手指及倒影图像。常用的图像分割方法分别有基于阈值和图论的图像分割方法,其适用条件和分割效果也有所不同。
基于阈值的图像分割方法[8]的基本思想就是根据目标的灰度特征选取适合的像素点,过滤掉区间外的像素点从而实现分割。通过选取静态阈值的方法进行手指分割效率较高,但是对噪声的干扰非常敏感,且阈值区间的选取对于分割效果有举足轻重的作用,过小会导致无法选取目标像素点,而区间过大会将背景的干扰点误分割为目标像素,并不适用于背景复杂的图割应用。
而基于图论的图像分割则采用将图像分解的思想,将图像抽象的划分为一张节点关系图,通过节点之间的关系建立能量函数,再通过最大流最小割求解能量函数的最优解,从而完成图像分割,最早由Boykov等人提出了Graph Cuts算法[9],其需要用户对初始图像进行标记,划分前景和背景种子点,将图像分割问题转化为带权无向图的分割问题,如图3所示,其为建立的s-t网络关系图。通过构建能量函数求解最优解得到最适宜的分割路径,用最大流最小割算法[10]求解能量函数。但是Graph Cuts算法交互行为繁多,且仅基于灰度图的图像分割。2004年Rother等人提出了GrabCut算法[11],此算法只需用户绘出目标的矩阵框选取前景范围,不需标记背景种子点。通过建立高斯混合模型得到能量函数中的区域项,并求取像素点间的颜色欧氏距离获得边界项从而建立能量函数。此方法在精度上得到了很大的提升,并且减少了标记交互行为。但是由于采用了EM算法[12]反复迭代更新模型中的参数,所以计算速度较慢,并不适用于实时系统中。且其仍然需要人工标记种子点作为分割条件,并非图像的自动分割。
2.1.1 在HSV颜色空间下的静态阈值提取
此系统首先通过静态阈值提取手指及倒影的像素种子点,在颜色空间的选择上,经过实验,相比于RGB颜色空间,HSV空间可以更直观地表达图像色彩的鲜艳程度和明亮度,更好地体现出不同颜色之间的差值。所以此系统选择在HSV颜色空间下进行阈值提取。如图4所示,是在实验环境中采集的一张含有手指触屏的图像,可以看到,目标像素点在H和S分量上均有较好聚集性。
随后关键的是能否找到合适的阈值空间提取手指及倒影种子点,通过采集了不同实验环境和不同光照条件下的1 000张手指触屏图像,应用GrabCut经典图像分割算法对手指及倒影部分进行人工标记分割,统计其在HSV颜色空间下的像素分布,经过多次实验,在HSV颜色空间中选择的閾值区间为H[0,32]、S[0,145]、V[155,255]。随后对于处理后得到的二值图像进行连通域分析,找到最大的连通域默认为手指的前景种子区域,并对连通域外界矩阵框提取出的手指部分像素点作为可能的前景目标种子点,对手指外界矩阵框进行扩充,并将扩充后的矩阵框作为接下来图论分割方法的初始图像。这样做的目的就是为了提高分割效率,将大部分的图片背景部分消除,大大节省了计算时间,同时保留部分背景像素点作为接下来图割的背景种子,保留了背景特征,保证了手指及倒影分割的精确度。
2.1.2 基于图论的手指及倒影分割
经过上一步通过静态阈值提取的方法得到了手指及其倒影连通域的外接扩充矩阵框,对于此矩阵框将连通域中的像素点作为前景种子,将外接矩阵框的扩充部分作为背景种子点,这样避免了以往类似GrabCut算法中过于烦冗的人工标记部分,从而实现自动分割。
随后根据得到的前景种子和背景种子点对外接扩充矩阵框内的图像进行图论图像分割,根据手指颜色分布集中,形状单一的特点,建立能量函数(1):
其中E1表示标记前景和背景种子点的区域项,节点i,j ∈ v表示图像上的像素点,xi表示该节点所分配的标签。因为手指和倒影的颜色单一,所以此算法舍弃了传统图论算法中非种子点到源点S和终点T的边权重计算,仅仅加入前景和背景种子点归属权重,这样可以大大加快计算速度,提高分割效率。
式(2)表示能量函数中的E1能量项,其中F和B分别表示前景和背景种子点集合,MAX为自定义的一个极大参数,i为图像中的遍历像素点。当该节点为前景种子节点时,该节点与源点S的边值为一个极大值,而与终点T的边值为0。此时该节点与终点T之间的能量更小,越容易被分割开来,从而归属到前景部分。反之当该节点为背景种子点时,该节点与源点S的边值为0,而与终点T的边值为一个极大值,此时该节点与源点S之间边的能量更小,越会被与前景分割开来,归属到背景部分。
式(3)表示能量函数中的E2能量项,其中i,j ∈ u表示图像中的像素点集合,旨在约束相邻节点之间的边值权重。其边值的计算为相邻节点i、j在HSV颜色空间下个个分量的差值,当两个相邻节点之间的色差越大,相邻节点之间的边值就越小,E2的返回值越小,从而能量函数越贴近最优解,也代表两个相邻节点之间越容易被分割开来。相反当相邻节点的色值很贴近,相邻节点之间的边值就越大,E2的返回值也就越大,两个相邻节点之间越不容易被分割开,其属于同一前景/背景的概率也就越大。
建立完能量函数后,通过最大流/最小割算法对能量函数进行求解,将摄像头捕获到的手指和手指倒影进行精准分割。经过图论分割前后的手指提取效果对比如图5所示。
2.2 判定手指触屏/悬停条件
随后系统对于上一步分割后的手指及倒影图像进行轮廓提取来判断二者指尖之间的距离。首先对分割后的图像进行轮廓提取,计算各个轮廓的面积并对其进行升序排序,将面积最大的轮廓判定为手指轮廓,将第二大的轮廓判定为屏幕中的手指倒影轮廓。提取到这两个轮廓之后,绘出轮廓对应的矩阵框,通过计算矩阵框Y轴坐标判断是否为触碰状态,若为悬停状态,倒影的矩阵框的h值加上矩阵左上角点的Y坐标应该小于手指矩阵框的左上点Y坐标。以此为判断依据确定手指的触屏状态。随后通过遍历手指在X轴上的左右轮廓差大小来判定指尖的位置,也就是说在Y轴遍历同一行右边缘减去左边缘的结果,当结果最小的时候,将其左右轮廓像素点之间的中点判定为指尖,从而确定触碰点。如图6所示,为触碰状态和悬停状态的检测效果,其中粉色圆点为触碰/悬停点。
2.3 手指触屏位置的确定
在判断了手指是否触碰到屏幕之后,接下来就是检测手指触屏位置从而代替鼠标光标进行交互操作。此系统应用单应性变换,首先通过校准获得摄像头拍到的触碰点的坐标和现实点击屏幕的触碰点坐标,随后通过已知信息求出二者的线性关系,也就是Homography(单应性矩阵)。单应性矩阵是一种平面单应性矩阵,在三轴坐标中,类似于Z = 1的齐次坐标。为了保证所求单应性矩阵的稳健性,此系统在校准环节通过9个校准点输入触点坐标,随后通过RANSAC算法排除校准点中出现的外点问题,确保每个校准点的图像坐标和屏幕坐标满足相同的线性关系,排除校准环节中的误判点对于单应性变换的影响。通过RANSAC算法优化单应性后,即可完成图像坐标到屏幕坐标的映射了,从而控制鼠标光标进行操作,即达成整个指尖触控系统的实现。
3 实验结果及分析
笔记本摄像头在不同实验条件下经过平面镜的反射捕捉到的手指及手指倒影与屏幕的图像如图7所示,其中矩阵框代表当前捕获的手指或手指倒影区域,圆点为当前判定的触点或悬停点。
为了验证系统在不同实验环境下的表现,通过增加两种干扰因素,分别为光照强度的干扰和复杂屏幕背景的干扰,并通过调整干扰强度来检测系统的运行情况。具体结果如表1所示,可以看到当没有光照和屏幕干扰的实验环境下,系统的识别准确率较高,且每秒能处理30帧图像,实时性较好。当光照强度改变,且加入复杂背景的情况下,系统的识别准确率相比之下会降低,但是也能满足基本的触屏识别。
接下来对系统进行消融实验,测试文中的手指及倒影的检测分割方法对于系统是否有提升效果。实验结果如表2所示。
通过消融实验的结果可以看出,仅基于静态阈值的手指分割方法虽然计算速度较快,但是准确率却大大降低,而仅基于图论的手指分割计算效率过慢,不能达成系统实时运行的目的。结合阈值和图论的手指分割方法刚好综合解决了这两个问题,在保证实时运行的前提下,也有较好的准确率。
最后通过此指尖触控系统进行实际应用,如图8所示。结果证明此指尖触控系统在实际应用中表现效果较好,通过触控的交互方式更加灵活便捷,证实了其实际应用的可行性。
4 结 论
本文研究了一种基于图割算法的低成本指尖触控系统,通过手指在屏幕上会产生倒影的特性,提出了一种结合阈值和图论的手指自动检测分割方法,对摄像头捕获的手指触屏行为进行识别。从系统实验结果来看,此系统对于复杂背景和正常光照环境下的辨别效果较好,由于去除了能量函数中区域项像素点归属的计算,大大提高了运行效率,满足实时检测的要求。但是本系统仍然存有不足,系统对光照变换的抗干扰能力不强,因为光照会改变手指部分返回的色值,对检测手指存在影响,并且在个别类肤色的背景下也存在误判的情况,有待进一步提高。
参考文献:
[1] 李贝.基于Kinect的手势识别与多指手交互研究 [D].武汉:武汉科技大学,2018.
[2] 于霄洋.基于深度信息的手指交互技术研究 [D].北京:北方工业大学,2021.
[3] LIANG C,YU C,QIN Y,et al. DualRing: Enabling Subtle and Expressive Hand Interaction with Dual IMU Rings [J].Proceedings of the ACM on Interactive,Mobile,Wearable and Ubiquitous Technologies,2021,5(3):1-27.
[4] 伍杰.基于视觉的实时手势识别方法研究 [D].大连:大连理工大学,2019.
[5] 童欣.一种基于OpenCV的手势轮廓识别与指尖定位跟踪方法 [J].福建电脑,2018,34(12):96-97+109.
[6] 李森.一种基于投影-摄像系统的投影触摸板关键技术研究 [D].北京:清华大学,2018.
[7] TSAI T-H,HUANG C-C,ZHANG K-L. Design of Hand Gesture Recognition System for Human-Computer Interaction [J].Multimedia Tools and Applications,2020,79:5989-6007.
[8] 刘硕.阈值分割技术发展现状综述 [J].科技创新与应用,2020(24):129-130.
[9] BOYKOV Y Y,JOLLY M-P. Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images [C]//Proceedings Eighth IEEE International Conference on Computer Vision.ICCV 2001.Vancouver:IEEE,2001:105-112.
[10] BOYKOV Y,KOLMOGOROV V. An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2004,26(9):1124-1137.
[11] ROTHER C,KOLMOGOROV V,BLAKE A. “GrabCut” Interactive Foreground Extraction Using Iterated Graph Cuts [J].ACM Transactions on Graphics (TOG),2004,23(3):309-314.
[12] 陶葉辉,赵寿为.基于改进EM算法的高斯混合模型图像聚类方法 [J].软件导刊,2022,21(12):182-186.