CN118170258B - 点击操作方法及装置、电子设备及存储介质 - Google Patents
点击操作方法及装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN118170258B CN118170258B CN202410585495.2A CN202410585495A CN118170258B CN 118170258 B CN118170258 B CN 118170258B CN 202410585495 A CN202410585495 A CN 202410585495A CN 118170258 B CN118170258 B CN 118170258B
- Authority
- CN
- China
- Prior art keywords
- click
- gesture
- hand
- rotation angle
- video image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000001514 detection method Methods 0.000 claims description 40
- 238000001914 filtration Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 12
- 230000008030 elimination Effects 0.000 claims description 8
- 238000003379 elimination reaction Methods 0.000 claims description 8
- 230000002123 temporal effect Effects 0.000 claims description 8
- 230000007704 transition Effects 0.000 claims description 6
- 238000002360 preparation method Methods 0.000 claims description 2
- 230000000007 visual effect Effects 0.000 abstract description 8
- 210000003811 finger Anatomy 0.000 description 52
- 230000009471 action Effects 0.000 description 25
- 230000003993 interaction Effects 0.000 description 18
- 239000013598 vector Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 230000003287 optical effect Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 238000003825 pressing Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000003068 static effect Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 239000011521 glass Substances 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 239000004984 smart glass Substances 0.000 description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 229910052710 silicon Inorganic materials 0.000 description 4
- 239000010703 silicon Substances 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 210000003813 thumb Anatomy 0.000 description 4
- 210000000707 wrist Anatomy 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 210000002411 hand bone Anatomy 0.000 description 1
- 210000004932 little finger Anatomy 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/36—Applying a local operator, i.e. means to operate on image points situated in the vicinity of a given point; Non-linear local filtering operations, e.g. median filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Nonlinear Science (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供了点击操作方法及装置、电子设备及存储介质。该点击操作方法包括:获取具有时间顺序的多个视频图像帧,其中,多个视频图像帧中至少部分包括对象手指;根据多个视频图像帧,识别点击事件,其中,点击事件为对象手指的第一关键点绕第一关节点旋转而进行的点击操作;在显示多个视频图像帧的展示页面中与第一关键点对应的位置执行与点击事件相关联的操作。该方法从用户点击操作习惯出发,非常直观、方便,节省用户的学习成本。
Description
技术领域
本公开的实施例涉及点击操作方法及装置、电子设备及存储介质。
背景技术
随着万物互联的发展,各种可穿戴智能设备逐步出现在人们的日常生活中,例如智能眼镜(扩展现实设备(XR),诸如增强现实(AR)、虚拟现实(VR)、混合现实(MR)等)可以通过近眼镜成像技术,将虚拟画面显示在用户的视野中,使用户具有更好的感官体验。同时,智能眼镜作为嵌入式的边缘智能设备,具备独立的操作系统,能提供例如翻译、导航、TTS播报、ASR语音转文本等智慧功能。
智能设备的人机交互方式通常用有触碰、语音、视觉手势、外辅助(例如外部互联设备)等。智能眼镜在外形设计上可能追求时尚、轻便或受限于其使用对象,因此智能眼镜的物理可操作区域有限。此外,语音交互方式对用户所处的环境有一定的要求,例如噪声程度、用户私密性等,因此针对不同的使用场景需求应对应用进行特定的开发。此外,外辅助则需要连接到专门的设备(例如手机),然后在设备上进行对智能眼镜的操作。
发明内容
本公开至少一实施例提供了一种基于视觉的手势的点击操作方法及装置、电子设备以及存储介质,该点击操作方法从用户操作习惯出发,可以更加准确、快捷且可以节省用户学习成本。
本公开的至少一个实施例提供了一种基于视觉的手势的点击操作方法,包括:获取具有时间顺序的多个视频图像帧,其中,所述多个视频图像帧中至少部分包括对象手指;根据所述多个视频图像帧,识别点击事件,其中,所述点击事件为所述对象手指的第一关键点绕第一关节点旋转而进行的点击操作;在显示所述多个视频图像帧的展示页面中与所述第一关键点对应的位置执行与所述点击事件相关联的操作。
例如,在本公开的至少一个实施例提供的点击操作方法中,根据所述多个视频图像帧,识别点击事件,包括:判定存在预备点击手势;以及识别与所述预备点击手势对应的点击事件的类别。
例如,在本公开的至少一个实施例提供的点击操作方法中,所述判定存在所述预备点击手势,包括:响应于所述多个视频图像帧中存在包括所述对象手指的手部的手部信息,获取包括所述手部信息和对应于所述时间顺序的序列信息;通过手部推理模型对所述手部信息和所述序列信息进行检测,以获取手部检测信息,其中,所述手部检测信息包括手部关键点的坐标信息和左右手标志位,所述手部关键点包括第一关键点和第一关节点;基于所述坐标信息和所述左右手标志位,计算由所述第一关键点绕所述第一关节点旋转的角度,以及响应于所述第一关键点绕所述第一关节点旋转的角度在阈值角度范围内,确定存在所述预备点击手势。
例如,在本公开的至少一个实施例提供的点击操作方法中,在判定存在所述预备点击手势之后,根据所述多个视频图像帧,识别所述点击事件,还包括:获取所述预备点击手势的点击焦点的坐标;以及对所述预备点击手势进行消抖处理。
例如,在本公开的至少一个实施例提供的点击操作方法中,所述获取所述预备点击手势的点击焦点的坐标,包括:响应于存在所述预备点击手势且所述第一关键点在一个区域的停留时间超过时间阈值,将所述第一关键点在所述区域内的坐标的平均值确定为所述焦点的位置。
例如,在本公开的至少一个实施例提供的点击操作方法中,所述对所述预备点击手势进行消抖处理,包括:响应于所述第一关键点存在抖动,对所述第一关键点绕所述第一关节点旋转的角度进行滤波,以进行所述消抖处理。
例如,在本公开的至少一个实施例提供的点击操作方法中,所述对所述第一关键点绕所述第一关节点旋转的角度进行滤波,包括:当检测到所述旋转的角度大于滤波区间的上边界时,如果前一旋转的角度被滤波为低电平,进行一次低电平到高电平的跳变,和当检测到所述旋转的角度小于滤波区间的下边界时,如果前一旋转的角度被滤波为高电平,进行一次高电平到低电平的跳变。
例如,在本公开的至少一个实施例提供的点击操作方法中,所述滤波区间是根据旋转角的阈值角度范围、所述滤波区间对所述旋转角的阈值角度范围的占比和旋转角的阈值角度所确定的。
例如,在本公开的至少一个实施例提供的点击操作方法中,识别与所述预备点击手势对应的所述点击事件的类别,包括:对所述第一关键点绕所述第一关节点旋转的角度进行滤波,通过统计目标电平的个数来判断所述点击事件的类别,其中,所述点击事件的类别包括单击事件、双击事件和三击事件。
例如,在本公开的至少一个实施例提供的点击操作方法中,根据所述多个视频图像帧,识别所述点击事件,包括:响应于所述点击事件的识别是基于右手类型的且所述对象手指属于左手,对所述左手的操作进行镜像处理,以对所述左手识别所述点击事件;或者响应于所述点击事件的识别是基于左手类型的且所述对象手指属于右手,对所述右手的操作进行镜像处理,以对所述右手识别所述点击事件。
例如,在本公开的至少一个实施例提供的点击操作方法,还包括:在执行与所述点击事件相关联的操作后删除所述多个视频图像帧。
本公开的至少一个实施例提供了一种点击操作装置,包括:至少一个处理器;至少一个存储器,存储有计算机可执行指令,其中,所述计算机可执行指令在被所述至少一个处理器执行时,执行上述任一实施例所述的点击操作方法。
本公开的至少一个实施例提供了一种电子设备,包括根据上述任一实施例所述的点击操作装置。
本公开的至少一个实施例提供了一种非暂时性存储介质,存储有可执行指令,其中,所述可执行指令当被至少一个处理器执行时,执行上述任一实施例所述的点击操作方法。
附图说明
通过下面结合附图对实施例的描述,本公开的方面、特征和优点将变得更加清楚和容易理解,其中:
图1 示出了一种操作手势的示意图;
图2示出了根据本公开的至少一实施例的基于视觉的手势关键点的示意图;
图3示出了根据本公开的至少一实施例的基于视觉的点击手势的示意图;
图4A示出了根据本公开的至少一实施例的基于视觉的手势的点击操作方法的流程图;
图4B示出了根据本公开的至少一实施例的基于视觉的手势的点击操作方法的流程图;
图5示出了根据本公开的至少一实施例的获取点击焦点的示例的示意图;
图6示出了根据本公开的至少一实施例的点击手势建模的示意图;
图7示出了根据本公开的至少一实施例的示例采样抖动波形图;
图8示出了根据本公开的至少一实施例的波形消抖的示意图;
图9示出了根据本公开的至少一实施例的示例性不同点击类型的波形图;
图10示出了根据本公开的至少一实施例的示例性电子设备的框图。
具体实施方式
在进行下面的详细描述之前,阐述贯穿本公开使用的某些单词和短语的定义可能是有利的。术语“耦接”、“连接”及其派生词指两个或多个元件之间的任何直接或间接通信或者连接,而无论那些元件是否彼此物理接触。术语“传输”、“接收”和“通信”及其派生词涵盖直接和间接通信。术语“包括”和“包含”及其派生词是指包括但不限于。术语“或”是包含性的,意思是和/或。短语“与……相关联”、“与……相对应”及其派生词是指包括、包括在……内、互连、包含、包含在……内、连接或与……连接、耦接或与……耦接、与……通信、配合、交织、并列、接近、绑定或与……绑定、具有、具有属性、具有关系或与……有关系等。术语“控制器”是指控制至少一个操作的任何设备、系统或其一部分。这种控制器可以用硬件、或者硬件和软件和/或固件的组合来实施。与任何特定控制器相关联的功能可以是集中式的或分布式的,无论是本地的还是远程的。短语“至少一个”,当与项目列表一起使用时,意指可以使用所列项目中的一个或多个的不同组合,并且可能只需要列表中的一个项目。例如,“A、B、C中的至少一个”包括以下组合中的任意一个:A、B、C、A和B、A和C、B和C、A和B和C。
贯穿本公开提供了其他特定单词和短语的定义。本领域普通技术人员应该理解,在许多情况下,即使不是大多数情况下,这种定义也适用于这样定义的单词和短语的先前和将来使用。
在本公开中,单元的应用组合以及子单元的划分层级仅用于说明,在不脱离本公开的范围内,单元的应用组合以及子单元的划分层级可以具有不同的方式。本公开的实施例可以以不同的形式实现,而不应当被解读为仅限于这里阐述的实施例。相反,提供这些实施例是为了使得本公开彻底和完整,并将向本领域技术人员全面传达示例性的实施方式。本公开的实施例可以组合以形成另外的实施例。
下面将参考本公开的示例性实施例对本公开进行详细描述。然而,本公开不限于这里所描述的实施例,其可以以许多不同的形式来实施。所描述的实施例仅用于使本公开彻底和完整,并全面地向本领域的技术人员传递本公开的构思。所描述的各个实施例的特征可以互相组合或替换,除非明确排除或根据上下文应当排除。
扩展现实(eXtended Reality,XR)(例如,增强现实(Augmented Reality,AR)、混合现实(Mixed Reality,MR)、虚拟现实(Virtual Reality,VR))是指通过计算机技术和可穿戴设备将真实与虚拟世界结合为用户提供沉浸式体验。MR设备是对AR设备的一种升级,AR/MR设备是一种实时地计算摄影机影像的位置及角度,并加上相应对图像、视频、三维(3D)模型进行分析的技术,通过摄像获取真实环境信息,然后将虚拟投射物体(如图像、场景或系统提示信息等)叠加到所获取的真实环境信息中,再将其展示给用户,从而实现虚拟世界与现实世界的结合与交互,使用户获得虚拟物体存在于现实环境的视觉效果,即,实现对现实场景的“增强”。
使用视觉手势的方式进行交互则为用户提供更多的便利,例如,基于视觉的手势的交互,只需对摄像头采集到的手势视频进行分析,识别出视频帧中手势的含义,执行对应手势的事件即可。
本公开至少一实施例所涉及的点击操作装置例如可以用于电子设备,该电子设备可以是XR设备,例如XR设备可以是AR设备,AR设备可以是AR眼镜或AR-HUD抬头显示设备等。例如,AR设备包括处理器、存储器以及显示装置等,该显示装置包括光学显示系统,该光学显示系统包括微型显示屏和光学元件(光机)。不同于虚拟现实(VR)设备,AR 设备对于用户而言需要实现透视,因此光学成像系统不能遮挡视线前方,由此需要使用一个或一组光学组合器,以通过“层叠”的形式将虚拟信息和真实场景融为一体。AR设备还可以包括内置或外接具有拍摄功能器件,例如摄像头,以用于拍摄环境画面。AR设备还可以包括通信装置,例如无线或有线的通信装置,用于接收或发送数据或控制信号等。
例如,AR设备的微型显示屏可以是基于硅基液晶显示(LCOS)、硅基有机发光显示(OLED)、Micro-LED显示、DLP(Digital Light Processing)投影等技术的显示屏;AR设备的光学元件可以包括棱镜光学方案、曲面反射镜(虫眼)光学方案、折反式(Birdbath)光学方案、光波导(Optical Waveguide)光学方案等。AR 设备可以使用摄像头来拍摄环境图像,该摄像头可以设置在AR设备上的任何位置;AR设备可以包括一个或多个摄像头,并且在包括多个摄像头的情形,还可以通过图像处理芯片来融合或拼接该多摄像头所拍摄的多幅画面。
摄像头可以包括图像传感器和光学镜头等,该图像传感器例如为CCD类型或CMOS类型的,其规格(例如分辨率等)可以是多种形式的,光学镜头可以包括凸透镜等光学器件。本公开的实施例对于微型显示屏、光学元件、摄像头等的类型和具体构成不做限制。
本公开至少一实施例所涉及的电子设备还可以是MR设备,MR设备可以被视为介于AR设备与VR设备之间的一种设备,例如MR设备可以是MR眼镜、智能手机、MR头戴显示设备等。MR设备将真实环境与电脑生成的虚拟环境进行混合,创造了新的环境并将其可视化以为用户提供沉浸式体验。
VR设备可以使用户完全沉浸在虚拟环境中,AR设备可以为用户创建一个叠加了虚拟内容的结合世界,但不能与真实世界进行交互,MR设备与VR和AR不同,其在AR设备所使用的上述技术的基础上,除了为用户提供了一种虚拟与真实世界结合的世界,还使得用户可以与混合的世界进行交互,甚至为用户呈现场景切换,实现物理空间交互。MR设备通过在混合的过程创建了虚拟物体,搭建了用户与混合世界交互的桥梁,从而使得用户能够与混合的世界进行交互信息反馈。同样地,MR设备还可以包括内置或外接具有拍摄功能器件,例如摄像头,以用于拍摄环境画面。MR设备还可以包括通信装置,例如无线或有线的通信装置,用于接收或发送数据或控制信号等。
本公开的至少一实施例提出的点击操作方法从用户操作习惯出发,非常直观、方便,节省用户的学习成本。进一步地,本公开的至少一实施例提出的点击操作方法使用检测手势停留的方式获取点击事件焦点,能细粒度的快速实现点击焦点的定位,方便快捷。例如,在进行点击事件判断时,以旋转角度进行度量,相对基于像素的度量方式,大大减少了成像分辨率及手部到摄像头距离对手势度量结果的影响。
图1 示出了一种操作手势的示意图。
对于XR设备,点击事件是常用的交互操作之一。参考图1,在基于视觉的手势的交互中,对操作手势的检测可以包括通过捕捉大拇指指尖(4号点)和食指指尖(8号点)的捏合程度来定义点击事件(如图1中的(a)),或者可以通过捕捉大拇指指尖(4号点)和食指近指骨间关节点(6号点)相对运动位置来定义点击事件(如图1中的(b))。上述基于视觉手势实现点击操作的交互方式仍存在以下缺陷。
首先,不同设备或不同场景下的操作手势不唯一,用户需要花费时间去适应,并且该操作手势相对之前的用户操作习惯可能并不直观,因此,该操作手势对于用户具有一定的学习成本。
其次,计算机实现算法可能不能细粒度捕捉点击事件焦点(即,屏幕点击位置)。例如,当屏幕中有多个支持点击操作的控件时,需要先使用其他方式选择获取点击事件焦点的控件(诸如,滑动手势或其他交互方式),然后才能执行点击事件。
然后,对捏合点的判断或相对运动位置的度量往往以像素为单位,但是不同设备的摄像头参数不一致,因此,捕获视频帧的分辨率不同,导致对同一手势在不同设备中计算得到的距离可能不同。此外,手部的远近也可能对手势判断的距离计算产生影响,例如,当手部的同一手势离摄像头近,像素点之间距离计算大,反之,像素点之间距离计算小,而所计算得到的距离的不一致将影响手势识别的灵敏度和准确率。
针对上述至少之一问题,本公开的至少一实施例提出了基于视觉的手势的点击操作方法和装置、电子设备及存储介质。
本公开的至少一个实施例提供了一种基于视觉的手势的点击操作方法,该点击操作方法包括:获取具有时间顺序的多个视频图像帧,其中,多个视频图像帧中至少部分包括对象手指;根据多个视频图像帧,识别点击事件,其中,点击事件为对象手指的第一关键点绕第一关节点旋转而进行的点击操作;在显示多个视频图像帧的展示页面中与第一关键点对应的位置执行与点击事件相关联的操作。
作为处理对象的视频包括多个在时间上连续的视频图像帧,例如该视频可以是实时拍摄的,或者可以是存储的之前拍摄的视频;这里,“对象手指”用于指代作为描述对象的手指,出现在上述视频图像帧之中。相似地,“第一关键点”和“第一关节点”用于指代被描述的关键点和关节点,可选地,关键点可以和关节点互换使用,可选地,关键点可以包括关节点。在静态情况下,可以根据手骨骼在二维将人的手部划分为多个(比如21个)关键点用于手势检测,不同骨骼的端点对应于不同的关键点,人的手部可以分为手指、手掌、手腕,取决于手部的朝向可以将手掌进一步划分为手背和手心,手指可以具有指尖、包括指关节、指根部等的关节点。这些关键点可以携带不同的朝向、坐标位置等参数,并且关键点的参数可以组合以形成的参数集,前述参数之一或其各种组合所形成的参数集可以一起提供手部姿态等信息。本公开的实施例对此不做限制。
本公开的至少上述实施例的基于视觉的手势的点击操作方法,可从用户点击操作习惯出发,并且该基于视觉的手势的点击操作方法可以作为基于手势识别的智能眼镜点击操作方法,相比现有的基于视觉的手势的操作,所提出的点击交互方法操作直观、简洁,可以极大降低用户学习成本。
例如,在本公开的至少一个实施例提供的点击操作方法中,根据多个视频图像帧,识别点击事件,包括:判定存在预备点击手势;以及识别与预备点击手势对应的点击事件的类别。
相比例如图1所示的获取点击焦点方法,本公开的至少上述实施例通过使用点击手势停留的方式来获取点击焦点,使得用户只需一个手势即可完成对点击事件焦点的定位,并且该定位的颗粒度更细,使得用户的操作可以更为直观,判断更精确。
例如,在本公开的至少一个实施例提供的点击操作方法中,判定存在预备点击手势,包括:响应于多个视频图像帧中存在包括对象手指的手部的手部信息,获取包括手部信息和对应于时间顺序的序列信息;通过手部推理模型对手部信息和序列信息进行检测,以获取手部检测信息,其中,手部检测信息包括手部关键点的坐标信息和左右手标志位,手部关键点包括第一关键点和第一关节点;基于坐标信息和左右手标志位,计算由第一关键点绕第一关节点旋转的角度,以及响应于第一关键点绕第一关节点旋转的角度在阈值角度范围内,确定存在预备点击手势。
相比基于像素的点击事件的判断,本公开的至少一实施例通过使用用户手指不同关键点所形成的旋转角度进行点击事件的建模及捕获的视频的图像帧的序列的判断,大大减少了成像分辨率及手部相对于摄像头的距离对手势度量结果的影响。
例如,在本公开的至少一个实施例提供的点击操作方法中,在判定存在预备点击手势之后,根据多个视频图像帧,识别点击事件,还包括:获取预备点击手势的点击焦点的坐标;以及对预备点击手势进行消抖处理。
例如,在本公开的至少一个实施例提供的点击操作方法中,获取预备点击手势的点击焦点的坐标,包括:响应于存在预备点击手势且第一关键点在一个区域的停留时间超过时间阈值,将第一关键点在该区域内的坐标的平均值确定为焦点的位置。
例如,在本公开的至少一个实施例提供的点击操作方法中,对预备点击手势进行消抖处理,包括:响应于第一关节点存在抖动,对第一关键点绕第一关节点旋转的角度进行滤波,以进行消抖处理。
例如,在本公开的至少一个实施例提供的点击操作方法中,对第一关键点绕第一关节点旋转的角度进行滤波,包括:当检测到旋转的角度大于滤波区间的上边界时,如果前一旋转的角度被滤波为低电平,进行一次低电平到高电平的跳变,和当检测到旋转的角度小于滤波区间的下边界时,如果前一旋转的角度被滤波为高电平,进行一次高电平到低电平的跳变。
例如,在本公开的至少一个实施例提供的点击操作方法中,滤波区间是根据旋转角的阈值角度范围、滤波区间对旋转角的阈值角度范围的占比和旋转角的阈值角度所确定的。
例如,对旋转角的阈值角度范围的占比的取值范围是至,滤波区间的上边界和下边界为通过以下公式计算推导:
上述取值范围也可以根据例如检测灵敏度等进行修改,本公开的实施例对此不做限制。
例如,在本公开的至少一个实施例提供的点击操作方法中,识别与预备点击手势对应的点击事件的类别,包括:对第一关键点绕第一关节点旋转的角度进行滤波,通过统计目标电平的个数来判断点击事件的类别,其中,点击事件的类别包括单击事件、双击事件和三击事件。
本公开的至少上述实施例还可以针对检测模型关键点输出漂移产生的波形抖动影响,使用了防抖动滤波的方法对波形进行处理,避免了波形采样时所产生的临界抖动问题,防止基于视觉的手势的点击操作事件在使用中的误触发。
例如,在本公开的至少一个实施例提供的点击操作方法中,根据多个视频图像帧,识别点击事件,包括:响应于点击事件的识别是基于右手类型的且对象手指属于左手,对左手的操作进行镜像处理,以对左手识别点击事件;或者响应于点击事件的识别是基于左手类型的且对象手指属于右手,对右手的操作进行镜像处理,以对右手识别点击事件。
本公开的至少上述实施例还提出了基于镜像对基于视觉的手势进行处理的方法,例如,基于已完成的右手手势识别功能,可以通过镜像功能实现左手手势识别的开发,极大增加了代码的复用性。
本公开的至少一个实施例还提供了一种点击操作装置,该点击操作装置包括至少一个存储器和至少一个处理器。该至少一个存储器配置为存储计算机可执行指令;该至少一个处理器配置为执行计算机可执行指令,其中,计算机可执行指令被至少一个处理器执行时实现如上任一实施例所述的显示方法。
本公开的至少一个实施例还提供了一种非暂时性存储介质,非暂时性地存储计算机可执行指令,其中,当计算机可执行指令由至少一个处理器执行时,实现如上任一实施例所述的显示方法。
图2示出了根据本公开的至少一实施例的基于视觉的手势关键点的示意图。图3示出了根据本公开的至少一实施例的基于视觉的点击手势的示意图。
例如,人的手部可以从静态手骨骼的二维角度被划分为多个关键点(例如,21个)用于手势检测,这些关键点在手势识别中可以根据用户的需求和应用而被不同地编号和选取。例如,人的手部可以分为手指、手掌、手腕,取决于手部的朝向可以将手掌进一步划分为手背和手心,手指可以具有指尖、包括指关节、指根部等的关节点。这些关键点可以通过各自携带不同的朝向、坐标位置等参数以及将关键点的参数进行组合后共同形成的数据集一起提供手部姿态等信息。
例如,图2中所示出的手为右手,以关键点0号为手腕,关键点1号为拇指掌骨近腕骨端的点。关键点2-4号形成了拇指,关键点5-8号形成了食指,关键点9-12号形成了中指,关键点13-16号形成了无名指,关键点17-20号形成了小指,其中,关键点2、5、9、13、17号也可以被称为关节点2、5、9、13、17号,关键点4、8、12、16、20号为手指的指尖。此处,可以不对关键点所携带的信息进行限制,可根据用户的需求可以使关键点携带定制的参数。
下文中所涉及的具体操作可以是智能眼镜视角的点击手势,如无镜像处理等特殊说明,均以右手进行示出,相应地,对左手进行镜像处理即可获得相关信息用于进行处理。
可以从用户操作习惯出发,点击手势示意图如图3所示,以食指指尖(即图1中的手势关键点的8号点)作为点击事件的触发焦点,以食指按压作为点击手势,以旋转角θ作为点击动作的度量。
例如,在一段所采集的视频帧中,如图3中(a)的手势在一个区域停留时间超过某一阈值,则将8号关键点位置作为触发事件焦点。然后,在该视频的后续图像帧中,判断是否存在食指按压动作,其可能构成点击事件。当判断存在食指按压动作,统计按压动作的次数。如果按压次数为1,并且在按压之后一定时间阈值内无二次按压,则将该按压动作识别为单击手势。如果按压次数为2,并且在第二次按压之后一定时间阈值内再无按压动作,则识别为双击手势。类似地,如果按压次数为3,并且在第三次按压之后一定时间阈值内再无按压动作,则识别为三击手势。
参考图3,以食指的关节点5号为起点,向食指指尖的关键点8号方向作向量,食指完成按压动作时所产生的旋转角度为θ。以食指的关节点5号点为起点,向手腕关键点0号点方向作向量。x轴正方向任取一向量,记为,向量与x轴正方向的夹角为,向量和向量的夹角为,以上各参数将在下文中进一步阐明使用方式。
图4A示出了根据本公开的至少一实施例的基于视觉的手势的点击操作方法的流程图。该方法可以通过本公开实施例的点击操作装置来实施。
如图4A所示的方法包括如下所述的步骤S01-S03,其中,点击操作装置可以用于电子设备(例如XR设备)。
在步骤S01,获取具有时间顺序的多个视频图像帧,其中,多个视频图像帧中至少部分包括对象手指。
例如,电子设备可以通过其摄像头(诸如智能眼镜的摄像头)来捕获视频,该视频的图像帧可以具有时间顺序或其他能够帮助获取时间信息的序列,其中,该点击操作方法针对是多个视频图像帧中至少部分包括对象手指的情形。
在步骤S02,根据多个视频图像帧,识别点击事件,其中,点击事件为对象手指的第一关键点绕第一关节点旋转而进行的点击操作。
例如,在电子设备在上一步根据多个视频图像帧识别到对象手指,也就是说可能发生手指进行点击事件后,电子设备可以根据多个视频图像帧进一步来识别手势,即对象手指进行点击事件,例如,点击事件可以是对象手指的第一关键点(诸如图3中的8号关键点)绕第一关节点(诸如图3中的5号关键点)旋转而进行的点击操作。
在步骤S03,在显示多个视频图像帧的展示页面中与第一关键点对应的位置执行与点击事件相关联的操作。
例如,在电子设备识别到点击事件之后,可以进一步执行与该点击事件相关联的操作,例如,在显示多个视频图像帧的展示页面中与第一关键点对应的位置执行与点击事件相关联的操作。更具体的过程将在图4B中根据本公开的又一实施例进行详细描述。
图4B示出了根据本公开的至少一实施例的基于视觉的手势的点击操作方法的流程图。该方法可以通过本公开实施例的点击操作装置来实施。
如图4B所示的方法包括如下所述的步骤401-415,其中,点击操作装置可以用于电子设备(例如XR设备)。
在步骤401,获取具有时间顺序的多个视频图像帧,其中,多个视频图像帧中至少部分包括对象手指。例如,可以使用电子设备的摄像头(诸如智能眼镜的摄像头)来获取视频图像帧。
接下来的步骤中,点击操作装置可以根据上述多个视频图像帧,识别点击事件,其中,点击事件为对象手指的第一关键点绕第一关节点旋转而进行的点击操作;在显示多个视频图像帧的展示页面中与第一关键点对应的位置(诸如控件、按钮等)执行与点击事件相关联的操作,该操作例如可以为点击按钮、插入光标、选中目标对象等。点击操作装置识别点击事件包括判定是否存在预备点击手势(例如请见步骤405);识别与预备点击手势对应的点击事件的类别(例如请见步骤410和步骤412)。
在步骤402,判断是否检测到手部信息。例如,点击操作装置可以判断是否检测到手部信息。如果判断为检测到手部信息,则进入步骤403,如果判断为没有检测到手部信息,则进入步骤415,选择退出手势交互。
例如,根据具有时间顺序的多个视频图像帧来检测图像帧中是否存在手部信息;可以使用预先训练的手部检测模型,如果输入的视频图像帧经由手部检测模型检测到不存在手部,则该模型可以直接返回为空(即如果当前图像帧不存在手部信息则退出手势交互);如果检测到存在手部,则可以响应于多个视频图像帧中存在包括对象手指的手部的手部信息,进一步获取包括手部信息和对应于时间顺序的序列信息,以进行后续的关键点检测及左右手判别。
在步骤403,将具有时间顺序的手部检测信息加入缓存队列。
例如,可以将该缓存队列记为q,其中,可以使用诸如时间戳信息等的序列信息来表示时间顺序。该时间戳可以是每个视频图像帧所包含的信息。
例如,点击操作装置可以通过预先训练的手部检测模型对手部信息和序列信息进行检测,以获取手部检测信息,其中,手部检测信息包括手部关键点的坐标信息和左右手标志位,手部关键点包括第一关键点和第一关节点。例如,手部检测信息可以包括手部的21个关键点坐标信息(如图1所示)、手势识别结果信息(例如,静态手势的含义)以及表示该手部是左手还是右手的左右手标志位。例如,图3所示的手势在静态手势中可以表示数字1。
手部检测模型和手势检测模型都可以使用神经网络模型,例如包括卷积神经网络的模型,本公开的实施例对此不做限制。例如,如果检测到存在手部,可以直接推理出21个关键点信息和左右手信息,如果不存在手部,则推理结果为空,业务上可以进一步进行其他判断处理。可选地,还可以使用多模型分段的方式进行对手势的检测,例如,将功能按过程进行拆分,使用手部检测模型检测图像是否存在手部,使用针对手势关键点的检测模型检测手势21个关键点,使用左右手判别模型进行左右手的检测。
在步骤404,从缓存队列q中获取当前时间前时间段的手部信息。
这里,t是一个值,取值范围例如为。点击操作装置可以将t时间段内的手部信息按对应于该手部信息的具有时间信息的序列信息(诸如,时间戳)从小到大排序,记为。
在步骤405,判断是否存在预备点击手势。例如,点击操作装置可以判定是否存在预备点击手势。
例如,在点击操作装置的摄像头所拍摄的视频的图像帧中自带时间戳之类的时间信息,点击操作装置可以按时间戳从小到大的顺序逐帧分析队列的手部检测信息,判断是否存在预备点击手势(如图3中的(a))。
示例性的分析包括,点击操作装置可以使用手势检测模型对图3中的(a)所示的手势进行识别。例如,可以使用深度学习的方式,对该种手势的图像数据集进行采集并进行训练;也可使用手势关键点估计的方式,来检测出图3中的(a)所示的手势的关键点分布(手势关键点位置可以如图2所示),然后,点击操作装置可以使用硬编码的方式,对数据进行约束匹配判断,以确定该手势是否为预备点击手势。本领域技术人员也可以使用其他手势检测方法、手势判断方法以及多种方法混合的形式进行预备点击手势的识别,本公开的实施例对此不做限制。
例如,点击操作装置可以首先通过手势检测模型基于图像推理出21个手势关键点、静态手势结果(例如,1到9的10个手势数字)和左右手标志位。图3中的(a)为静态手势数字1的一种。点击操作装置可以进一步根据左右手信息和21个关键点的坐标的分布,首先,判断当前手势是不是静态手势数字1(点击手势是否为图3中的(a))。如果当前手势是静态手势数字1,那么继续预备点击手势的识别,预备点击手势的判断方式如下(以下均右手进行说明,左手可通过镜像处理以实现相同的处理,关键点标号与图2的示例一致,其中,图2和图3中假设手部所处的坐标系为:以图像的左上角为原点,取向右为x轴的正方向,向下为y轴的正方向):
(1)获取图2中的2号关键点(记为)坐标和9号关键点(记为)坐标。
(2)如果图2中的9号关键点在2号关键点右上方,即满足且,则进入步骤(3),反之则不认为存在预备点击手势。
(3)获取5号关键点(记为)坐标、0号关键点(记为)坐标和8号关键点(记为)坐标。
(4)以5号点为起点,向0号点方向作向量,向量坐标记为,且满足,。
(5)计算向量与x轴正方向的夹角,x轴正方向任取一向量,记为,坐标为(n,0),其中n>0。计算方式如下:
--(公式1)
可以根据需求来设置的上限和下限,分别记为和,和是两个阈值参数,例如,根据本公开的至少一实施例和可以分别取值为和,当满足时,进入步骤(6)以做进一步判断。
(6)以5号点为起点,向8号点方向作向量,向量坐标记为,且满足,。
根据和可以推导出向量和向量的夹角的计算方式如下:
--(公式2)
由可知,向量和向量反方向的延长线的夹角θ的计算方式如下:
--(公式3)
图3的(a)中所示的旋转角θ可以根据需求来设置上限和下限,分别记为和,和也是两个阈值参数,例如,根据本公开的至少一实施例和可以分别取值为和。
(7)当θ满足时,则可以初步认为当前的手势为预备点击手势。虽然,此时0号点、5号点、8号点近似在一条直线上,但仍使用进行判断,而不是使用,一方面是因为3点仅是在一条近似的直线,另一方面是减少模型推理关键点的漂移对准确判断的影响)。
如果在步骤405判断出不存在预备点击手势,则在步骤406,进行其他手势姿态(或逻辑)的判断,如果判断也不存在其他手势姿态则进入步骤415,判断是否退出手势交互。可以选择退出手势交互。
如果在步骤405判断存在预备点击手势,则在步骤407,判断预备点击手势在一个位置停留时间是否超过阈值。例如,时间阈值,如果没有停留超过阈值时间,则进入步骤415,可以选择退出手势交互。
如果在步骤407判断预备点击手势在一个位置停留时间是否超过阈值,则在步骤408,记录点击焦点坐标。
例如,当前预备点击手势中食指指尖的位置可以作为点击事件触发焦点位置,记为(即,图3的(a)中所示的8号关键点),具体如何确定点击焦点将在下文中详细描述。
如果在步骤407判断预备点击手势在一个位置停留时间是否超过阈值,并在步骤408记录了点击焦点坐标,则在步骤409,判断是否检测到点击动作。具体地,若检测到点击动作,可以对点击事件进行消抖处理,具体消抖处理的示例将在下文中详细描述。
在步骤410,判断是否为单击动作。若存在单击动作,点击操作装置可以在步骤411执行单击操作。若不存在单击动作,进一步在步骤412,判断是否为双击动作。若存在双击动作,点击操作装置可以在步骤413执行双击操作。此处的点击操作不限于单击动作或双击动作,还可以包括三击动作或其他手势动作,判断条件可以根据用户的需求重新设置并后续执行所判断的动作。
例如,当点击操作装置获取到点击事件焦点之后,根据后续手部检测数据可以判定是否为单击或双击事件,并在焦点处执行对应的事件处理。
在步骤414,清除点击相关图像帧数据。
例如,如果点击操作装置检测到了点击事件的执行,需要清除缓存队列q中包含的中的手部检测数据,以防止误触发多次点击。
最后,在步骤415,判断是否退出手势交互。例如,如果判断为是,则退出手势交互。反之,可以回到步骤401重新进行新的手势交互。
如上所述,以上内容均以右手进行了描述说明,一般而言,根据手势检测模型推理的结果,如果检测到是左手,则需要按照上述右手的实施方法在整个流程的各个步骤进行判断及修改,由此需要维护两个大的程序分支,代码量可能较大且代码复杂,维护起来可能消耗较多的计算资源,因此,在实际使用中,如需支持左手,可以通过镜像处理来支持左手的手势识别。
例如,当手掌检测模型检测结果为左手时,将图像进行水平方向翻转,然后将反转后的图像送入模型进行手部检测,此时获得的检测结果对应右手。
点击操作装置可以在存入缓存队列q时将水平翻转的手部检测数据加上标志位,用以区分是该检测结果是镜像的检测结果。
然后点击操作装置可以参照上述方式从q中获取并进行点击手势的判断,如果确定为点击手势,且为左手的镜像数据,此时获取的点击焦点为左手的水平镜像图像的食指指尖坐标,记为,对应坐标。特别地,对于点击焦点的确认,需进行水平方向的转换才能得到原始左手的点击焦点,记为,对应坐标,计算方法如下:
--(公式4)
其中,w为图像帧在水平方向上的宽度。
最后,在对应的点击焦点上执行对应的点击动作即可。
图5示出了根据本公开的至少一实施例的获取点击焦点的示例的示意图。
本公开的至少一实施例还针对检测模型关键点漂移对点击焦点获取的影响,使用焦点最小区域的方法对焦点的关联数据进行处理,确保了获取点击焦点的实施可行性。
参考图5,例如,当点击操作装置检测到预备点击手势,且手势8号关键点在一个位置停留时间超过(例如,取值),则认为要执行点击动作,此时获取点击焦点坐标。由于推理模型所使用的算法本质是一种概率估计,因此,同一手势图像推理出的关键点可能存在微小的差异,所以判断8号关键点在一个位置停留时间实际是判断8号关键点在一个小区域中的停留时间,例如,该小区域可以是如图5虚线所示的圆,但不限于圆形,可以取圆形区域半径阈值假定为r(r是一个阈值参数,实际中根据用户灵敏度进行设定,通常可以选择取值r在10个像素以内)。
例如,点击操作装置从队列按时间戳从小到大的顺序分析各帧手部检测数据,当检测到存在预备点击手势时,从此帧开始,可以判断接下来时间段内的帧手势数据是否存在且均为预备点击手势。如果满足前述两个条件,点击操作装置可以进一步判断时间段内的各帧手势数据中的8号点位置是否聚集在一个小区域内。点击操作装置可以配置为统计时间段内各帧手势数据中的所有8号点位置的横坐标和纵坐标(编号为1、2、3、…、n的位置的横坐标和纵坐标),在所有横坐标中找出最大值和最小值,在所有纵坐标中找出最大值和最小值。如果满足且,则认为时间段内各帧手势数据中8号点位置聚集在一个小区域内。此时,可以对所有位置进行例如均值处理或其他合适的数据取值处理方式获取点击焦点的坐标,例如,可以计算所有横坐标的平均值和所有纵坐标的平均值,组成坐标来作为点击焦点的坐标,记为。
图6示出了根据本公开的至少一实施例的点击手势建模的示意图。
参考图6,由多个关键点(8号关键点和5号关键点及其之间的关键点)得到的两个线条的夹角θ为点击手势中手指转动所形成的旋转角,带有箭头的单线示例性示出了关键点可能移动的方向,即构成了点击动作,形成点击手势。当点击操作装置从队列获取到点击焦点坐标之后,可以根据队列中后续的手部检测数据判断预备点击手势、确定点击焦点,旋转角θ的计算详见上文中的公式2和公式3及其相关描述,此处将不再赘述。
图7示出了根据本公开的至少一实施例的示例采样抖动波形图。
例如,当点击操作装置检测到存在预备点击手势时(如图3中的(a)),此时,旋转角θ满足,当执行点击按下动作时(如图3中的(b)),此时旋转角θ变大。由于模型推理的漂移(例如,通过概率模型进行推理所输出的数据存在一定程度的差异),关键点可能出现抖动,因此可以对波形进行消抖处理。例如,可以初步设置关于抖动的阈值角度,当时,则当前手势可以被认为处于点击按下状态(如图3中的(b))。
参考图7所示的采样的波形图,在两个圆圈中示出了消除抖动前的抖动波形。可知,在阈值临界点处,会采集到多个高低电平的跳变(如下面将要描述的图8中所示),这样会导致多次误触发点击事件。为减少模型推理带来的抖动的影响,点击操作装置可以将关于抖动的阈值角度定义为一个区间,以完成波形的防抖滤波,的计算方式如下:
--(公式5)
其中,还被设置关联的抖动滤波区间,具体可以定义阈值,表示抖动滤波区间对的占比,取值可以为,滤波区间可以是基于用户习惯限定的给定阈值所确定的滤波范围。使得用户可以触发手势但不会发生误触,使得本方法既可以保证灵敏度又不失精确度。例如,可以根据用户的习惯通过实验调整参数来确定阈值及其取值范围,即,
--(公式6)
由于,可以根据公式6,如下计算,:
--(公式7)
因此,例如,当执行按压动作时,即从图3的(a)到(b)的过程中,手部手指的关键点绕关节点旋转所形成的旋转角θ不断变大,只有当时,才认为是点击按下操作。当手指按压结束呈现离开动作时,即从图3的(b)到(a)的过程中,旋转角θ不断变小,只有当时,才认为是点击离开操作。
图8示出了根据本公开的至少一实施例的波形消抖的示意图。
抖动是指如果把食指的旋转角度设置为某单一阈值,当食指的旋转角度变化经过阈值时,会检测到旋转角度值在阈值处上下波动(根据模型推理漂移),可能出现被判断为存在多个点击动作的情况,因此,在原始方波中会检测到多个短时方波,因此需要进行消抖处理。若将食指的旋转角度的某单一阈值延伸成一个区间,当旋转角度大于区间上限时是一种状态,旋转角度小于区间下限时是另一种状态,可以通过该区间以达到滤波消抖的目的。参考图8,示出了原始波形的旋转角θ随时间t的变化,若不对原始波形进行消抖处理的滤波,则原始方波如图8所示可能存在多个密集的方波,若经由消抖处理进行滤波,例如,以和为上下界形成的交叉阴影部分为防抖滤波区域,则整型后的方波如图8所示可以获得消抖后的方波。
例如,假设且,则可以根据公式5计算出阈值。令,则可以根据公式6推导出、。
由于旋转角θ在在进行点击动作的情况下,从点击手势的起始到结束,其值是从小到大,再从大到小来回变化的。所以当θ从小到大变化,检测到,跳转到高电平,直至检测到,重新回到低电平。如果不进行消抖,以为阈值进行非区间的方式的判断,由于存在抖动,在旋转角θ变化时穿过时,就会出现抖动(见原始方波),即当θ大于时为高电平,反之为低电平。使得原始波形的误差太大,极易产生点击事件的误触。
因此,对旋转角θ进行消抖处理的滤波,其中,当检测到第一关键点绕第一关节点旋转的角度大于滤波区间的上边界时,如果前一旋转的角度被滤波为低电平,进行一次低电平到高电平的跳变;当检测到旋转的角度小于滤波区间的下边界时,如果前一旋转的角度被滤波为高电平,进行一次高电平到低电平的跳变。
图9示出了根据本公开的至少一实施例的示例性不同点击类型的波形图。
由于点击事件根据手指按压动作的不同,可以分为多种如单击事件、双击事件和三击事件等,单击事件和双击事件的波形图如图9所示。
例如,当点击操作装置在中检测到预备点击动作时,判断手势关键点的8号点是否在一个小区域停留时间超过,如果满足条件,则获取点击焦点。针对点击的动态手势,以θ的变化建模采集波形,并滤波消抖整型,形成方波。
通过和为上下界形成的防抖滤波区域(如图9所示的交叉阴影部分)对原始波形进行消抖整型处理获得整型后的方波(相应的帧采样波形如图9所示),计算在后续的手势检测数据是否出现方波的高电平,如果出现高电平,统计出现高电平的次数。例如,在采样滑动窗口中,当高电平出现的次数为1时,在第一个高电平完成向低电平的跳变后,如果后续的手势检测数据对应的方波数据均为低电平,且低电平持续时长超过阈值(例如,可以取值为),则可以认为对应一个单击事件,在焦点处执行单击动作,执行完单击动作后可以删除所使用的队列数据,或根据需要保留预定时间。又例如,在采样滑动窗口中,当高电平出现的次数为2时,在第二个高电平完成向低电平的跳变后,如果后续的手势检测数据对应的方波数据均为低电平,且低电平持续时长超过阈值(例如,可以取值为),则可以认为对应一个双击事件,在焦点处执行双击动作,执行完双击动作后可以删除所使用的队列数据。
上述从q中删除的元素的目的是在检测到序列为点击手势后,防止在每次滑动取样时,同一个点击事件被触发多次(即误触发)。
本公开的至少一个实施例还提供了一种电子设备,其至少包括上述点击操作装置,该电子设备例如是XR设备。
图10示出了根据本公开的至少一实施例的示例性电子设备的框图。
参考图10,电子设备1000例如可以是XR设备或AR设备等,包括器件处理器1001、总线1002、存储器1003、摄像头1004以及显示装置1005,可以分别被用于前述任一的实施例提供的点击操作方法。这里,存储器1003可以被用于存储数据和/或计算机代码,这些数据包括文件、图像等,这些计算机代码包括源程序、目标程序、可执行程序等,它们可以被处理器执行以实现所需要的功能。处理器1001可以被用于执行可执行程序以进行相关的计算。显示装置可以被用于XR设备的内容显示。摄像头1004可以被用于采集图像。例如,总线1002可以被用于各个器件间之间的信息(数据或控制信号)传输。
处理器1001可以包括中央处理器(CPU),根据需要还可以包括协处理器,协处理器可以包括图像处理器(GPU)或AI加速器(例如张量处理器等);例如,该CPU可以为基于ARM、RISC-V或X86等指令集的CPU,可以为多核处理器或单核处理器等,本公开的实施例对此不做限制。
存储器1003可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DRRAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
该显示装置1005包括光学显示系统,该光学显示系统可以包括微型显示屏和光学元件(光机)。例如,微型显示屏可以是基于硅基液晶显示(LCOS)、硅基有机发光显示(OLED)、Micro-LED显示、DLP(Digital Light Processing)投影等技术的显示屏;电子设备的光学元件可以包括棱镜光学方案、曲面反射镜(虫眼)光学方案、折反式(Birdbath)光学方案、光波导(Optical Waveguide)光学方案等。
上述电子设备根据需要还可以包括其他功能部件,例如还可以进一步包括外设接口(图中未示出)等;该外设接口可以为各种类型的接口,例如为USB接口、闪电(lighting)接口等。上述电子设备还可以包括通信装置,该通信装置可以通过无线通信来与网络和其他设备进行通信,该网络例如为因特网、内部网和/或诸如蜂窝电话网络之类的无线网络、无线局域网(LAN)和/或城域网(MAN)。例如,无线通信可以使用多种通信标准、协议和技术中的任何一种,包括但不局限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、Wi-Fi(例如基于IEEE 802.11a、IEEE 802. 11b、IEEE 802. 11g和/或IEEE 802. 11n标准)、基于因特网协议的语音传输(VoIP)、Wi-MAX,用于电子邮件、即时消息传递和/或短消息服务(SMS)的协议,或任何其他合适的通信协议。
本领域技术人员将理解,本申请描述的各种说明性逻辑框、模块、电路、和步骤可被实现为硬件、软件、或两者的组合。为清楚地说明硬件与软件的这一可互换性,各种说明性组件、框、模块、电路、和步骤在上面是以其功能集的形式作一般化描述的。此类功能集是被实现为硬件还是软件取决于具体应用和强加于整体系统的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能集,但此类设计决策不应被解释为致使脱离本申请的范围。
本公开描述的各个说明性逻辑框、模块、以及电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文中描述的功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或更多个微处理器、或任何其他此类配置。
本公开描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、或本领域中所知的任何其他形式的存储介质。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性设计中,功能可以硬件、软件、固件、或其任意组合来实现。如果在软件中实现,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,后者包括有助于计算机程序从一地到另一地的转移的任何介质。存储介质可以是能被通用或专用计算机访问的任何可用介质。
本公开的上述实施例仅仅是为了容易描述和帮助全面理解本公开,而不是旨在限制本公开的范围。因此,应该理解,除了本文公开的上述实施例之外,源自本公开的技术构思的所有修改和改变或者修改和改变的形式都落入本公开的范围内。
Claims (14)
1.一种基于视觉的手势的点击操作方法,包括:
获取具有时间顺序的多个视频图像帧,其中,所述多个视频图像帧中至少部分包括对象手指;
根据所述多个视频图像帧,识别点击事件,其中,所述点击事件为所述对象手指的第一关键点绕第一关节点旋转而进行的点击操作;
在显示所述多个视频图像帧的展示页面中与所述第一关键点对应的位置执行与所述点击事件相关联的操作。
2.根据权利要求1所述的点击操作方法,其中,根据所述多个视频图像帧,识别所述点击事件,包括:
判定存在预备点击手势;以及
识别与所述预备点击手势对应的点击事件的类别。
3.根据权利要求2所述的点击操作方法,其中,所述判定存在所述预备点击手势,包括:
响应于所述多个视频图像帧中存在包括所述对象手指的手部的手部信息,获取包括所述手部信息和对应于所述时间顺序的序列信息;
通过手部推理模型对所述手部信息和所述序列信息进行检测,以获取手部检测信息,其中,所述手部检测信息包括手部关键点的坐标信息和左右手标志位,所述手部关键点包括所述第一关键点和所述第一关节点;
基于所述坐标信息和所述左右手标志位,计算由所述第一关键点绕所述第一关节点旋转的角度,以及
响应于所述第一关键点绕所述第一关节点旋转的角度在阈值角度范围内,确定存在所述预备点击手势。
4.根据权利要求2所述的点击操作方法,其中,在判定存在所述预备点击手势之后,根据所述多个视频图像帧,识别所述点击事件,还包括:
获取所述预备点击手势的点击焦点的坐标;以及
对所述预备点击手势进行消抖处理。
5.根据权利要求4所述的点击操作方法,其中,所述获取所述预备点击手势的点击焦点的坐标,包括:
响应于存在所述预备点击手势且所述第一关键点在一个区域的停留时间超过时间阈值,将所述第一关键点在所述区域内的坐标的平均值确定为所述焦点的位置。
6.根据权利要求4所述的点击操作方法,其中,所述对所述预备点击手势进行消抖处理,包括:
响应于所述第一关键点存在抖动,对所述第一关键点绕所述第一关节点旋转的角度进行滤波,以进行所述消抖处理。
7.根据权利要求6所述的点击操作方法,其中,所述对所述第一关键点绕所述第一关节点旋转的角度进行滤波,包括:
当检测到所述旋转的角度大于滤波区间的上边界时,如果前一旋转的角度被滤波为低电平,进行一次低电平到高电平的跳变,和
当检测到所述旋转的角度小于滤波区间的下边界时,如果前一旋转的角度被滤波为高电平,进行一次高电平到低电平的跳变。
8.根据权利要求7所述的点击操作方法,其中,所述滤波区间是根据旋转角的阈值角度范围[θl,θu]、所述滤波区间对所述旋转角的阈值角度范围[θl,θu]的占比λ和旋转角的阈值角度θc所确定的,
其中,θl是所述旋转角的下限,θu是所述旋转角的上限,
其中,λ是(所述滤波区间的上边界-所述滤波区间的下边界)/(θu-θl),和
其中,θc是根据所述阈值角度范围所确定的。
9.根据权利要求2所述的点击操作方法,其中,识别与所述预备点击手势对应的所述点击事件的类别,包括:
对所述第一关键点绕所述第一关节点旋转的角度进行滤波,通过统计目标电平的个数来判断所述点击事件的类别,
其中,所述点击事件的类别包括单击事件、双击事件和三击事件。
10.根据权利要求1-9任一所述的点击操作方法,其中,根据所述多个视频图像帧,识别所述点击事件,包括:
响应于所述点击事件的识别是基于右手类型的且所述对象手指属于左手,对所述左手的操作进行镜像处理,以对所述左手识别所述点击事件;或者
响应于所述点击事件的识别是基于左手类型的且所述对象手指属于右手,对所述右手的操作进行镜像处理,以对所述右手识别所述点击事件。
11.根据权利要求1-9任一所述的点击操作方法,还包括:
在执行与所述点击事件相关联的操作后删除所述多个视频图像帧。
12.一种点击操作装置,包括:
至少一个处理器;
至少一个存储器,存储有计算机可执行指令,
其中,所述计算机可执行指令在被所述至少一个处理器执行时,执行前述权利要求1-11中任一项所述的点击操作方法。
13.一种电子设备,包括根据权利要求12所述的点击操作装置。
14.一种非暂时性存储介质,存储有可执行指令,其中,所述可执行指令当被至少一个处理器执行时,执行前述权利要求1-11中任一项所述的点击操作方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410585495.2A CN118170258B (zh) | 2024-05-13 | 2024-05-13 | 点击操作方法及装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410585495.2A CN118170258B (zh) | 2024-05-13 | 2024-05-13 | 点击操作方法及装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118170258A CN118170258A (zh) | 2024-06-11 |
CN118170258B true CN118170258B (zh) | 2024-08-06 |
Family
ID=91360644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410585495.2A Active CN118170258B (zh) | 2024-05-13 | 2024-05-13 | 点击操作方法及装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118170258B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597450A (zh) * | 2019-09-16 | 2019-12-20 | 广东小天才科技有限公司 | 防误触识别方法、装置、点读设备及其点读识别方法 |
CN116704614A (zh) * | 2023-06-29 | 2023-09-05 | 北京百度网讯科技有限公司 | 动作识别方法、装置、电子设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3467707B1 (en) * | 2017-10-07 | 2024-03-13 | Tata Consultancy Services Limited | System and method for deep learning based hand gesture recognition in first person view |
US11474614B2 (en) * | 2020-04-26 | 2022-10-18 | Huawei Technologies Co., Ltd. | Method and device for adjusting the control-display gain of a gesture controlled electronic device |
EP3985484A1 (en) * | 2020-10-19 | 2022-04-20 | ameria AG | Calibration method, calibration device and control method for touchless gesture control |
CN114581535B (zh) * | 2022-03-03 | 2023-04-18 | 北京深光科技有限公司 | 图像中用户骨关键点标注方法、装置、存储介质及设备 |
CN116092183A (zh) * | 2022-12-13 | 2023-05-09 | 恒玄科技(上海)股份有限公司 | 手势识别方法及装置、电子设备、存储介质 |
CN117389414A (zh) * | 2023-10-17 | 2024-01-12 | 维沃移动通信有限公司 | 映射参数调整方法、电子设备和可读存储介质 |
-
2024
- 2024-05-13 CN CN202410585495.2A patent/CN118170258B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597450A (zh) * | 2019-09-16 | 2019-12-20 | 广东小天才科技有限公司 | 防误触识别方法、装置、点读设备及其点读识别方法 |
CN116704614A (zh) * | 2023-06-29 | 2023-09-05 | 北京百度网讯科技有限公司 | 动作识别方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN118170258A (zh) | 2024-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11715231B2 (en) | Head pose estimation from local eye region | |
CN112585566B (zh) | 用于与具有内置摄像头的设备进行交互的手遮脸输入感测 | |
US11782514B2 (en) | Wearable device and control method thereof, gesture recognition method, and control system | |
US9442571B2 (en) | Control method for generating control instruction based on motion parameter of hand and electronic device using the control method | |
US10168790B2 (en) | Method and device for enabling virtual reality interaction with gesture control | |
JP6341755B2 (ja) | 情報処理装置、方法及びプログラム並びに記録媒体 | |
US11455836B2 (en) | Dynamic motion detection method and apparatus, and storage medium | |
CN108090463B (zh) | 对象控制方法、装置、存储介质和计算机设备 | |
CN109254662A (zh) | 移动设备操作方法、装置、计算机设备及存储介质 | |
CN114138121B (zh) | 用户手势识别方法、装置、系统、存储介质及计算设备 | |
WO2023273372A1 (zh) | 手势识别对象确定方法及装置 | |
Chowdhury et al. | Gesture recognition based virtual mouse and keyboard | |
WO2023173668A1 (zh) | 一种虚拟场景中的输入识别方法、设备及存储介质 | |
CN107450717B (zh) | 一种信息处理方法及穿戴式设备 | |
CN114972958A (zh) | 关键点检测方法、神经网络的训练方法、装置和设备 | |
CN109947243B (zh) | 基于触摸手检测的智能电子设备手势捕获与识别技术 | |
JP2016099643A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
CN118170258B (zh) | 点击操作方法及装置、电子设备及存储介质 | |
US20230305634A1 (en) | Gesture recognition apparatus, head-mounted-type display apparatus, gesture recognition method, and non-transitory computer readable medium | |
CN109993059B (zh) | 智能电子设备上基于单摄像头的双目视觉与物体识别技术 | |
CN109960406B (zh) | 基于双手手指之间动作的智能电子设备手势捕获与识别技术 | |
US11159716B1 (en) | Photography assist using smart contact lenses | |
CN115484411A (zh) | 拍摄参数的调整方法、装置、电子设备和可读存储介质 | |
CN112183155B (zh) | 动作姿态库建立、动作姿态生成、识别方法及装置 | |
CN114913540A (zh) | 一种手势识别方法及装置、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |