CN117935354A - 手部跟踪方法及装置、电子设备及存储介质 - Google Patents
手部跟踪方法及装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117935354A CN117935354A CN202311833403.XA CN202311833403A CN117935354A CN 117935354 A CN117935354 A CN 117935354A CN 202311833403 A CN202311833403 A CN 202311833403A CN 117935354 A CN117935354 A CN 117935354A
- Authority
- CN
- China
- Prior art keywords
- target area
- target
- tracking
- hand
- feature vector
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 239000013598 vector Substances 0.000 claims abstract description 92
- 238000001514 detection method Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 9
- 230000003068 static effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method 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
- 230000009191 jumping Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- 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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Image Analysis (AREA)
Abstract
本申请适用于图像处理技术领域,提供了一种手部跟踪方法及装置、电子设备及存储介质,其中该方法包括:获取当前帧;对当前帧中的手部进行目标检测,得到当前帧中的多个目标区域;在当前帧多个目标区域中,选择第一手部特征向量与跟踪目标的跟踪特征向量相似度最高,并且为运动状态的目标区域作为跟踪目标在当前帧中的跟踪结果,其中第一手部特征向量是根据目标区域的手部关键点模型构建的。
Description
技术领域
本申请属于图像处理技术领域,尤其涉及一种手部跟踪方法及装置、电子设备及计算机可读存储介质。
背景技术
近年来,随着计算机视觉技术的发展,手势交互、即通过手势来遥控设备成为人机交互的新的重要发展方向。为实现这一功能,需要实现准确的手势识别。
手势识别一般采用计算机视觉技术,在包含手的一段视频,即一段依照时间排列的图像序列中实现对手的跟踪,得到手的运动轨迹,并根据该运动轨迹识别出视频中的手势的具体类型。
在复杂的交互环境中,拍摄的视频中可能同时存在多只手,这些手中的部分或全部是需要跟踪的目标,然而对于跟踪目标而言,其他手可能对它造成干扰,使得如何快速并且准确的实现手的多目标跟踪成为需要解决的难题。
相关技术中往往是通过在手上穿戴标志性配饰来区分,或者直接在图像中画出一片区域以通知用户需要确保该区域只有一只手。这些方法都会带来明显的额外限制,影响手势交互的自由度。
发明内容
本申请实施例提供了一种手部跟踪方法、电子设备及存储介质,可以解决相关技术中手的多目标跟踪需要额外限制的问题。
第一方面,本申请实施例提供了一种手部跟踪方法,该方法包括:获取当前帧;对当前帧中的手部进行目标检测,得到当前帧中的多个目标区域;在当前帧多个目标区域中,选择第一手部特征向量与跟踪目标的跟踪特征向量相似度最高,并且为运动状态的目标区域作为跟踪目标在当前帧中的跟踪结果,其中第一手部特征向量是根据目标区域的手部关键点模型构建的。
第二方面,本申请实施例提供了一种手部跟踪装置,该装置包括:获取模块,用于获取当前帧;检测模块,用于对当前帧中的手部进行目标检测,得到当前帧中的多个目标区域;跟踪模块,用于在当前帧多个目标区域中,选择第一手部特征向量与跟踪目标的跟踪特征向量相似度最高,并且为运动状态的目标区域作为跟踪目标在当前帧中的跟踪结果,其中第一手部特征向量是根据目标区域的手部关键点模型构建的。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可被处理器执行的计算机程序,处理器执行计算机程序时实现上述第一方面所述的手部跟踪方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述第一方面所述的手部跟踪方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面所述的手部跟踪方法。
本申请实施例与现有技术相比存在的有益效果是:通过获取当前帧;对当前帧中的手部进行目标检测,得到当前帧中的多个目标区域;在当前帧多个目标区域中,选择第一手部特征向量与跟踪目标的跟踪特征向量相似度最高,并且为运动状态的目标区域作为跟踪目标在当前帧中的跟踪结果,其中第一手部特征向量是根据目标区域的手部关键点模型构建的,添加运动状态这一限制能够有效的减少静止状态的手对跟踪目标的干扰,在保障准确性的同时能够快速的找到跟踪目标在当前帧中的跟踪结果,从而不需要进行额外的限制,实现了在存在多只手的复杂环境中对特定的一只或多只手进行运动跟踪。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的电子设备的结构示意图;
图2是本申请一实施例提供的手部跟踪方法的流程示意图;
图3是本申请一实施例提供的手部跟踪方法中为目标区域构建第一手部特征向量的流程示意图;
图4是本申请一实施例提供的手部跟踪方法中手部关键点模型的示例图;
图5是本申请一实施例提供的手部跟踪方法中判断各目标区域是否为运动状态的流程示意图;
图6是图5中S26的具体流程示意图;
图7是本申请一实施例提供的手部跟踪方法的具体流程示意图;
图8是本申请一实施例提供的手部跟踪装置的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的手部跟踪方法可以应用于电子设备中,电子设备包括但不限于服务器、服务器集群、手机、平板电脑、笔记本电脑、台式电脑、个人数字助理及穿戴式设备等具有运算功能的电子设备。本申请实施例对电子设备的具体类型不作任何限制。
图1示出的是与本申请实施例提供的电子设备的部分结构的框图。参考图1,电子设备包括:处理器10、存储器20、总线30、输入装置40、输出装置50和通信装置60。处理器10、存储器20通过总线30彼此连接,输入装置40、输出装置50、通信装置60也连接至总线30。本领域技术人员可以理解,图1中示出的电子设备的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对电子设备的各个构成部件进行具体的介绍:
处理器10是电子设备的控制中心,可以运行存储在存储器20中的程序而执行各种功能和处理数据。处理器10可以是中央处理单元(Central Processing Unit,CPU),该处理器10还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。在一些实施例中,处理器10可以包括A I(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器20还可以用于暂时地存储执行程序所需的以及产生的数据。存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如闪存、硬盘、多媒体卡、卡型存储器等。存储器20可以包括设置于电子设备的内部的存储单元,例如电子设备的硬盘,和/或可拆卸的外部存储单元,例如移动硬盘、U盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡等。
输入装置40可包括键盘、鼠标、触控面板、操作杆等中的至少一种,用于收集用户的输入操作,以产生对应的输入信号。
输出装置50用于输出待提供给用户的信息。输出装置50一般包括显示器,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等。此外,输出装置可以进一步包括扬声器。
通信装置60可以包括调制解调器、网卡等,用于与其他电子设备建立网络连接并彼此通信。
本申请实施例提供的手部跟踪方法可以被实现为计算机软件程序。例如,本申请的实施例提供一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置60从网络上被下载和安装,和/或从可拆卸的外部存储单元被安装。在该计算机程序被处理器10执行时,实现本申请实施例提供的手部跟踪方法中限定的各种功能。
图2示出了本申请一实施例提供的手部跟踪方法的示意性流程图,作为示例而非限定,该方法可以应用于上述电子设备中。
S1:获取当前帧。
当前帧可以为三维图像,包含环境中物体的深度信息,即与采集深度信息的图像传感器之间的距离信息。
采集深度信息的图像传感器可以被称为深度相机,可以采用双目立体视觉、结构光、飞行时间、雷达测距等方式来采集深度信息。深度信息可以以点云或者深度图像的方式存储和使用,并且二者之间可以相互转换。点云中包括多个三维点的坐标,每个三维点表示环境中物体表面上的一个点。深度图像是二维图像,其中每个像素的像素值表示该像素的深度信息。
除了采集深度信息的图像传感器之外,还可以同时使用常见的可见光波段的相机/摄像头拍摄得到常规的平面图像,并将平面图像与直接或间接得到的深度图像进行融合,得到RGB-D图像。RGB-D图像中每个像素的像素值包括R、G、B和D共4个通道,其中D通道的像素值表示该像素的深度信息,结合该像素在图像中的平面坐标,可以计算出该像素对应的三维坐标。
当前帧可以为点云、RGB-D图像、或者对点云/RGB-D图像进行三维重建得到的三维模型,在此不做限制。
S2:对当前帧中的手部进行目标检测,得到当前帧中的多个目标区域。
为简化描述,以下除了特意说明的部分之外,目标区域是指当前帧中的目标区域。
可以对当前帧本身进行目标检测,或者可以对生产当前帧所用的中间图像,例如点云、平面图像等,进行目标检测。如果目标检测的对象为平面图像或RGB-D图像,那么一个目标区域表现为当前帧中的一个矩形区域,并且目标检测算法判定该矩形区域中存在一只手。如果目标检测的对象为三维模型,那么一个目标区域表现为当前帧中的一个长方体区域,并且目标检测算法判定该长方体区域中存在一只手。为便于描述,后续以目标区域表现为矩形区域为例进行说明,以此类推,可以得到目标区域表现为长方体区域的情况。
可以采用传统的图像处理来进行目标检测,也可以采用神经网络来进行目标检测。如果采用神经网络,输出的除了目标区域之外,还包括目标区域的置信度。
S3:在当前帧多个目标区域中,选择第一手部特征向量与跟踪目标的跟踪特征向量相似度最高,并且为运动状态的目标区域作为跟踪目标在当前帧中的跟踪结果。
跟踪目标可以包括检测到的手中的部分或全部,如果是部分,可以预先设定的规则,例如用手摆出指定的姿势,来表示启动跟踪。本实施例中主要讨论如何对已经明确的跟踪目标继续进行跟踪,不讨论如何确认是否有新增的目标。
在S3之前,可以先为目标区域构建第一手部特征向量,第一手部特征向量是根据目标区域的手部关键点模型构建的。如图3所示,为目标区域构建第一手部特征向量可以具体包括以下部分。
S21:对目标区域进行手部关键点检测,得到目标区域的手部关键点模型。
由于目标区域仅表示一个将手围绕在内的区域,其本身并不能表示其中的手的具体形状,因此需要提取其中手的具体信息以供后续使用。为了减少资源消耗,一般对目标区域进行手部关键点检测,将目标区域中手所占据的具体区域,转换为少量的手部关键点,形成手部关键点模型以供后续使用。一个手部关键点模型的例子如图4所示。
S22:根据手部关键点模型中相邻关键点之间的距离构建目标区域的第一手部特征向量。
仍旧参考图4给出的例子,第一手部特征向量是21维向量,包含点0到点1的距离,点1到点2的距离,点2到点3的距离,点3到点4的距离,点0到点5的距离,点5到点6的距离,点6到点7的距离,点7到点8的距离,点5到点9的距离,点9到点10的距离,点10到点11的距离,点11到点12的距离,点9到点13的距离,点13到点14的距离,点14到点15的距离,点15到点16的距离,点13到点17的距离,点0到点17的距离,点17到点18的距离,点18到点19的距离,点19到点20的距离,共21个分量。
S23:使用基准向量对第一手部特征向量进行修正。
可选的,可以根据统计数据、实验数据、理论模型等得到基准向量。对基准向量和第一手部特征向量进行第一处理,具体对基准向量和第一手部特征向量中的至少一个进行缩放,以使得二者的分量总和,也可以被称为总长度相同。由于后续使用的是第一手部特征向量,为便于描述,在此以仅对基准向量进行缩放为例进行说明,实际应用中可以修改缩放的向量。
缩放后的基准向量B的分量总和与第一手部特征向量的分量总和相同,一一比较缩放后的基准向量中的分量与第一手部特征向量中的分量,得到各分量的比较结果,这里某个分量的比较结果可以为两个向量中该分量的差值绝对值、比值等。当某个分量的比较结果表示两个向量中该分量的区别较大时,例如差值绝对值超过预设值,比值与1的差值超出设定范围等,使用基准向量中的该分量对第一手部特征向量中的该分量进行修正以减少可能出现的模型异常对后续计算的影响,反之则不进行修正。例如对于需要修正的分量,可以采用计算基准向量中的该分量与第一手部特征向量中的该分量的加权平均值或者算术平均值,然后将第一手部特征向量中的该分量替换为计算出的平均值的方式来对该修正的分量。
可以计算第一手部特征向量与跟踪特征向量之间的距离来表示二者之间的相似度,距离可以包括余弦距离、欧氏距离、汉明顿距离等。如果选择的距离会收到向量本身的模值的影响,那么可以预先对第一手部特征向量进行归一化处理,即对第一手部特征向量进行缩放以将其模值修改为统一的值,例如1。以余弦距离为例,余弦距离越大,表示相似度越高,可以选择其第一手部特征向量与跟踪特征向量之间的余弦距离最大,且处于运动状态的目标区域作为跟踪目标在当前帧中的跟踪结果。
在S3之前,可以先判断各目标区域是否为运动状态,这一过程与前述的构建第一手部特征向量的过程之间的先后顺序并无限制,可以并行执行。当先判断各目标区域是否为运动状态,然后再构建第一手部特征向量时,为节省资源,可以选择仅为筛选出的运动状态的目标区域构建第一手部特征向量。
如图5所示,判断各目标区域是否为运动状态可以具体包括以下部分。
S25:对各目标区域按照交并比最高的原则对前一帧中的多个目标区域分别进行匹配,得到各目标区域的匹配结果。
交并比(Intersection over Union,IoU),又称重叠度,是用于评价图像中两个区域重叠程度的一个指标,具体计算方式为两个区域的交集与并集的比值,取值范围为[0,1]。理想状态下两个区域完全重叠,交并比达到最大值1。
具体的,对于当前帧中的一目标区域A,可以计算其与前一帧中的每个目标区域的交并比,选择前一帧中交并比最大的一个目标区域作为目标区域A的匹配结果。为当前帧中的每个目标区域执行前述步骤,完成当前帧中各目标区域的匹配。
S26:根据目标区域及其匹配结果判断目标区域是否为运动状态。
可选的,如图6所示,本步骤可以具体包括以下部分。
S261:根据目标区域及其匹配结果之间的交并比判断目标区域是否发生移动。
可选的,当目标区域及其匹配结果之间的交并比小于第一阈值时,表示目标区域及其匹配结果之间的重叠部分较少,那么目标区域在当前帧和前一帧之间位置发生了明显变化,可以判定目标区域发生移动;当目标区域及其匹配结果之间的交并比大于或等于第一阈值时,判定目标区域未发生移动。
当目标区域发生移动时,跳转至S263;当目标区域未发生移动时,由于目标区域仅表示一个将手围绕在内的区域,其本身并不能表示其中的手的具体形状,存在目标区域不动而其中的手改变形状的可能性,因此可以进一步判断手的形状是否发生改变以提高运动状态的判定准确率,从而提高手部跟踪的准确率,跳转至S262。
S262:根据目标区域及其匹配结果的手部关键点模型判断目标区域是否发生形状变化。
具体的,可以根据目标区域的手部关键点模型中各关键点的三维坐标构建目标区域的第二手部特征向量,并根据匹配结果的手部关键点模型中各关键点的三维坐标构建匹配结果的第二手部特征向量。为了去除目标区域与匹配结果之间的位移对后续计算的影响,一般会先对各手部关键点模型进行归一化处理,即将对世界坐标系进行平移,平移后的原点为手部关键点模型中的指定关键点,例如图4中的0号点。经过归一化处理之后,各第二手部特征向量中指定关键点的坐标均为(0,0,0)。
当目标区域及其匹配结果的第二手部特征向量之间的相似度小于第二阈值时,判定目标区域发生形状变化。当目标区域及其匹配结果的第二手部特征向量之间的相似度大于或等于第二阈值时,判定目标区域未发生形状变化。
类似的,可以计算目标区域及其匹配结果的第二手部特征向量之间的距离来表示目标区域与其匹配结果之间的相似度,距离可以包括余弦距离、欧氏距离、汉明顿距离等。如果选择的距离会收到向量本身的模值的影响,那么可以预先对第二手部特征向量进行归一化处理,即对第二手部特征向量进行缩放以将其模值修改为统一的值,例如1。
当目标区域发生形状变化时,跳转至S263;当目标区域未发生形状变化时,跳转至S264。
S263:判定目标区域为运动状态。
S264:判定目标区域为静止状态。
S4:使用跟踪结果更新跟踪特征向量。
具体的,可以计算跟踪结果与跟踪特征向量的加权平均值,然后将跟踪特征向量更新为该加权平均值以供下一轮计算使用。当采用神经网络进行目标检测时,跟踪结果的权重可以为神经网络输出的置信度;当采用传统图像处理进行目标检测时,跟踪结果的权重可以为固定值,或者是采用传统图像处理方式计算得到的置信度。跟踪特征向量的权重可以按照需要设置,例如设置为固定值。
通过本实施例的实施,在当前帧多个目标区域中,选择第一手部特征向量与跟踪目标的跟踪特征向量相似度最高,并且为运动状态的目标区域作为跟踪目标在当前帧中的跟踪结果。添加运动状态这一限制能够有效的减少静止状态的手对跟踪目标的干扰,在保障准确性的同时能够快速的找到跟踪目标在当前帧中的跟踪结果,从而不需要进行额外的限制,实现了在存在多只手的复杂环境中对特定的一只或多只手进行运动跟踪。
下面结合附图举例说明手部跟踪方法的具体流程。
如图7所示,本申请一实施例提供的手部跟踪方法具体包括以下部分。本实施例是对上述实施例的具体扩展,其中相同/相应的部分不再重复。
S31:获取当前帧。
S32:对当前帧中的手部进行目标检测,得到当前帧中的多个目标区域。
S33:对各目标区域分别进行手部关键点检测,得到各目标区域的手部关键点模型。
S34:根据各目标区域的手部关键点模型中相邻关键点之间的距离分别构建各目标区域的第一手部特征向量。
S35:使用基准向量尝试对各第一手部特征向量进行修正。
S36:对各目标区域按照交并比最高的原则对前一帧中的多个目标区域分别进行匹配,得到各目标区域的匹配结果。
S37:根据目标区域及其匹配结果之间的交并比判断目标区域是否发生移动。
当目标区域及其匹配结果之间的交并比小于第一阈值时,判定发生了移动,跳转至S40,当目标区域及其匹配结果之间的交并比大于或等于第一阈值时,判定未发生移动,跳转至S38。
S38:根据目标区域和匹配结果的手部关键点模型中各关键点的三维坐标分别构建目标区域和匹配结果的第二手部特征向量。
S39:根据目标区域及其匹配结果的第二手部特征向量之间的相似度判断目标区域是否发生形状变化。
当目标区域及其匹配结果的第二手部特征向量之间的相似度小于第二阈值时,判定发生了形状变化,跳转至S40;当目标区域及其匹配结果的第二手部特征向量之间的相似度大于或等于第二阈值时,判定未发生形状变化,跳转至S41。
S40:判定目标区域为运动状态。
S41:判定目标区域为静止状态。
需要为每个目标区域执行图中虚线框出的S37-S41部分,以确定各目标区域是否为运动状态,完成后跳转至S42。
S42:在当前帧多个目标区域中,选择第一手部特征向量与跟踪目标的跟踪特征向量相似度最高,并且为运动状态的目标区域作为跟踪目标在当前帧中的跟踪结果。
S43:使用跟踪结果更新跟踪特征向量。
图8示出了本申请一实施例提供的手部跟踪装置的结构示意图,该手部跟踪装置包括获取模块11,检测模块12和跟踪模块13。
获取模块11,用于获取当前帧。
检测模块12,用于对所述当前帧中的手部进行目标检测,得到所述当前帧中的多个目标区域。
跟踪模块13,用于在所述当前帧多个目标区域中,选择第一手部特征向量与跟踪目标的跟踪特征向量相似度最高,并且为运动状态的目标区域作为所述跟踪目标在所述当前帧中的跟踪结果,其中所述第一手部特征向量是根据所述目标区域的手部关键点模型构建的。
需要说明的是,上述装置/模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种手部跟踪方法,其特征在于,所述方法包括:
获取当前帧;
对所述当前帧中的手部进行目标检测,得到所述当前帧中的多个目标区域;
在所述当前帧多个目标区域中,选择第一手部特征向量与跟踪目标的跟踪特征向量相似度最高,并且为运动状态的目标区域作为所述跟踪目标在所述当前帧中的跟踪结果,其中所述第一手部特征向量是根据所述目标区域的手部关键点模型构建的。
2.如权利要求1所述的方法,其特征在于,
所述在所述当前帧多个目标区域中,选择第一手部特征向量与跟踪目标的跟踪特征向量相似度最高,并且为运动状态的目标区域作为所述跟踪目标在所述当前帧中的跟踪结果之前还包括:
对各所述目标区域按照交并比最高的原则对前一帧中的多个目标区域分别进行匹配,得到各所述目标区域的匹配结果;
根据所述目标区域及其匹配结果判断所述目标区域是否为运动状态。
3.如权利要求2所述的方法,其特征在于,
所述根据所述目标区域及其匹配结果判断所述目标区域是否为运动状态包括:
根据所述目标区域及其匹配结果之间的交并比判断所述目标区域是否发生移动;
当所述目标区域发生移动时,判定所述目标区域为运动状态,当所述目标区域未发生移动时,根据所述目标区域及其匹配结果的手部关键点模型判断所述目标区域是否发生形状变化;
当所述目标区域发生形状变化时,判定所述目标区域为运动状态,当所述目标区域未发生形状变化时,判定所述目标区域为静止状态。
4.如权利要求3所述的方法,其特征在于,
所述根据所述目标区域及其匹配结果之间的交并比判断所述目标区域是否发生移动包括:
当所述目标区域及其匹配结果之间的交并比小于第一阈值时,判定所述目标区域发生移动;
当所述目标区域及其匹配结果之间的交并比大于或等于第一阈值时,判定所述目标区域未发生移动。
5.如权利要求3所述的方法,其特征在于,
所述根据所述目标区域及其匹配结果的手部关键点模型判断所述目标区域是否发生形状变化包括:
根据所述目标区域的手部关键点模型中各关键点的三维坐标构建所述目标区域的第二手部特征向量,并根据所述匹配结果的手部关键点模型中各关键点的三维坐标构建所述匹配结果的第二手部特征向量;
当所述目标区域及其匹配结果的第二手部特征向量之间的相似度小于第二阈值时,判定所述目标区域发生形状变化;
当所述目标区域及其匹配结果的第二手部特征向量之间的相似度大于或等于第二阈值时,判定所述目标区域未发生形状变化。
6.如权利要求1所述的方法,其特征在于,
所述在所述当前帧多个目标区域中,选择第一手部特征向量与跟踪目标的跟踪特征向量相似度最高,并且为运动状态的目标区域作为所述跟踪目标在所述当前帧中的跟踪结果之前还包括:
对所述目标区域进行手部关键点检测,得到所述目标区域的手部关键点模型;
根据所述手部关键点模型中相邻关键点之间的距离构建所述目标区域的第一手部特征向量;
使用基准向量对所述第一手部特征向量进行修正。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
使用所述跟踪结果更新所述跟踪特征向量。
8.一种手部跟踪装置,其特征在于,所述装置包括:
获取模块,用于获取当前帧;
检测模块,用于对所述当前帧中的手部进行目标检测,得到所述当前帧中的多个目标区域;
跟踪模块,用于在所述当前帧多个目标区域中,选择第一手部特征向量与跟踪目标的跟踪特征向量相似度最高,并且为运动状态的目标区域作为所述跟踪目标在所述当前帧中的跟踪结果,其中所述第一手部特征向量是根据所述目标区域的手部关键点模型构建的。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可被处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311833403.XA CN117935354A (zh) | 2023-12-27 | 2023-12-27 | 手部跟踪方法及装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311833403.XA CN117935354A (zh) | 2023-12-27 | 2023-12-27 | 手部跟踪方法及装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117935354A true CN117935354A (zh) | 2024-04-26 |
Family
ID=90758387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311833403.XA Pending CN117935354A (zh) | 2023-12-27 | 2023-12-27 | 手部跟踪方法及装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117935354A (zh) |
-
2023
- 2023-12-27 CN CN202311833403.XA patent/CN117935354A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220383535A1 (en) | Object Tracking Method and Device, Electronic Device, and Computer-Readable Storage Medium | |
EP3951721A1 (en) | Method and apparatus for determining occluded area of virtual object, and terminal device | |
CN111815754B (zh) | 一种三维信息确定方法、三维信息确定装置及终端设备 | |
Bousetouane et al. | Improved mean shift integrating texture and color features for robust real time object tracking | |
US11568549B2 (en) | Method and system for detecting peripheral device displacement | |
CN112336342A (zh) | 手部关键点检测方法、装置及终端设备 | |
CN112904331A (zh) | 移动轨迹的确定方法、装置、设备及存储介质 | |
CN111640103B (zh) | 图像检测方法、装置、设备以及存储介质 | |
CN113139416A (zh) | 目标关联方法、计算机设备和存储介质 | |
CN117372604A (zh) | 一种3d人脸模型生成方法、装置、设备及可读存储介质 | |
CN112085842B (zh) | 深度值确定方法及装置、电子设备和存储介质 | |
CN111951211B (zh) | 一种目标检测方法、装置及计算机可读存储介质 | |
CN117935354A (zh) | 手部跟踪方法及装置、电子设备及存储介质 | |
CN116433722A (zh) | 目标跟踪方法、电子设备、存储介质及程序产品 | |
CN106201078B (zh) | 一种轨迹补全方法和终端 | |
CN111931794B (zh) | 一种基于草图的图像匹配方法 | |
CN114565777A (zh) | 数据处理方法和装置 | |
CN114648556A (zh) | 视觉跟踪方法、装置和电子设备 | |
CN114219831A (zh) | 目标跟踪方法、装置、终端设备及计算机可读存储介质 | |
CN112837349A (zh) | 一种目标跟踪方法、设备及计算机可读存储介质 | |
CN111507944A (zh) | 皮肤光滑度的确定方法、装置和电子设备 | |
CN117372612B (zh) | 集束调整方法及电子设备 | |
Yang et al. | PLSAV: Parallel loop searching and verifying for loop closure detection | |
CN111103967A (zh) | 虚拟对象的控制方法和装置 | |
CN118397315B (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 |