CN110807410A - 关键点定位方法、装置、电子设备和存储介质 - Google Patents
关键点定位方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN110807410A CN110807410A CN201911044546.6A CN201911044546A CN110807410A CN 110807410 A CN110807410 A CN 110807410A CN 201911044546 A CN201911044546 A CN 201911044546A CN 110807410 A CN110807410 A CN 110807410A
- Authority
- CN
- China
- Prior art keywords
- current frame
- hand
- frame
- detection
- key point
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000001514 detection method Methods 0.000 claims abstract description 219
- 238000009499 grossing Methods 0.000 claims abstract description 49
- 238000004422 calculation algorithm Methods 0.000 claims description 35
- 238000003062 neural network model Methods 0.000 claims description 22
- 238000006073 displacement reaction Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 19
- 238000001914 filtration Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 15
- 230000009286 beneficial effect Effects 0.000 abstract description 10
- 238000012545 processing Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000004807 localization Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect 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
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
- G06V10/464—Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了关键点定位方法、装置、电子设备和存储介质,涉及关键点检测领域。具体实现方案为:关键点定位方法,包括:获取当前帧包括的至少一个手部区域;利用关键点检测模型对当前帧的各手部区域进行关键点检测,得到当前帧的各手部区域包括的各关键点的预测位置;对当前帧的各手部区域包括的各关键点的预测位置进行平滑处理,得到当前帧的各关键点的定位结果。本申请在利用关键点检测模型检测得到当前帧的各手部区域包括的各关键点后,通过对各手部区域包括的各关键点的预测位置进行平滑处理,得到当前帧的各关键点的定位结果,有利于减少抖动,提高模型输出结果的稳定性。
Description
技术领域
本申请涉及图像处理领域,尤其涉及关键点检测领域。
背景技术
人手相比于人脸这种具有显著特征的部位来说,其检测定位是一个比较难的问题。人手的灵活度较高,其形态也是千变万化。相比于人脸具有眼镜、鼻子、嘴角和耳朵这些相对位置非常稳定的显著特征,人手姿态的分布空间更加庞大。另外人手经常出现遮挡,包括其他物体的遮挡和自遮挡,这会导致人手的一部分在图像中是不可见的。另外不同的人的手也存在个体上的差异,加上拍摄环境的差异,人手姿态的分布空间指数增长。
目前人手关键点检测定位首先在图像中搜索人手区域,对每一块图像区域进行分类,鉴别其是否为人手。然后利用RGB(Red Green Blue,三通道)彩色图像/RGB-D(RGB-DepthMap,RGB深度)图像,对可能是人手的区域进行人手关键点检测,输出最终的关键点检测结果。
目前人手关键点检测,一般使用较大的模型来保证检测效果,计算量非常巨大,需要高性能显卡来加速。例如使用移动端GPU(Graphics Processing Unit,图形处理器)资源。但是目前拥有GPU的移动设备非常少,所以在没有GPU的设备上难以部署。由于需要对处理每帧都进行人手检测和关键点检测,计算量大。在进行人手检测时,由于检测器性能受限于计算资源,容易造成许多误检。此外,人手关键点检测模型输出的结果存在比较严重的抖动,会给下一步的应用造成困难。
发明内容
本申请实施例提供了一种关键点定位方法,包括:
获取当前帧包括的至少一个手部区域;
利用关键点检测模型对当前帧的各手部区域进行关键点检测,得到当前帧的各手部区域包括的各关键点的预测位置;
对当前帧的各手部区域包括的各关键点的预测位置进行平滑处理,得到当前帧的各关键点的定位结果。
本申请在利用关键点检测模型检测得到当前帧的各手部区域包括的各关键点后,通过对各手部区域包括的各关键点的预测位置进行平滑处理,得到当前帧的各关键点的定位结果,有利于减少抖动,提高模型输出结果的稳定性。
在一种实施方式中,获取当前帧包括的至少一个手部区域,包括:
在无需更新手部区域的情况下,利用跟踪算法获取当前帧包括的至少一个手部区域。
在一种实施方式中,利用跟踪算法获取当前帧包括的至少一个手部区域,包括:
获取当前帧的前一帧的至少一个手部区域;
对前一帧的各手部区域进行扩大处理,得到当前帧的各手部区域。
上述实施方式中,利用跟踪算法可以从当前帧中快速截取可能属于手部的部分图像区域。由于无需对当前帧进行全图扫描,因此,可以减少手部区域检测的运算量,提高检测速度。
在一种实施方式中,该方法还包括:
在需要更新手部区域的情况下,利用手部区域检测模型对当前帧进行手部检测,手部区域检测模型是根据轻量级神经网络模型、特征金字塔网络模型和目标检测模型得到的。
上述实施方式中,根据轻量级神经网络模型、特征金字塔网络模型和目标检测模型得到手部区域检测模型,既可以减少数据处理量,又能够提高手部区域检测准确性。
在一种实施方式中,该方法还包括:
判断当前帧是否需要更新手部区域;
在满足检测条件的情况下,当前帧需要更新手部区域;
其中,检测条件包括以下至少一种:
当前帧为待检测视频的第一帧;
当前帧之前帧的手部区域的数目变化;
当前帧距离上一次利用手部区域检测模型进行手部检测的帧之间的差值达到设定阈值。
上述实施方式中,判断当前帧是否需要更新手部区域,可以只对需要更新手部区域的帧利用模型进行全图扫描,而不需要更新手部区域的帧则利用跟踪算法扫描部分图像,从而可以减少手部区域检测的运算量,提高检测速度。
在一种实施方式中,关键点检测模型是根据轻量级神经网络模型和沙漏模型得到的。通过轻量级神经网络模型和沙漏模型得到关键点检测模型,既可以减少数据处理量,又能够提高关键点检测准确性。
在一种实施方式中,关键点检测模型还输出当前帧的各手部区域包括的各关键点的预测位置的置信度,该方法还包括:
计算当前帧的各手部区域的各关键点的置信度的平均值,得到当前帧的各手部区域对应的置信度;
将对应的置信度低于目标阈值的手部区域判定为误检;
将当前帧中被判定为误检的手部区域过滤掉。
上述实施方式中,通过手部区域中各关键点的置信度,判定手部区域是否为误检,由于过滤掉误检的手部区域,提高检测结果准确性,减少冗余处理。
在一种实施方式中,对当前帧的各手部区域包括的各关键点的预测位置进行平滑处理,得到当前帧的各关键点的定位结果,包括:
对当前帧与其前n帧的预测位置进行时域高斯平滑,得到当前帧的各关键点的定位结果,n为正整数。
上述实施方式中,通过前几帧对当前帧的关键点的预测位置进行时域高斯平滑处理,有利于减少抖动,使得检测结果更加平滑稳定。
在一种实施方式中,时域高斯平滑包括:
对当前帧与当前帧的前n帧的预测位置进行加权平均,得到当前帧的平均位置;
在当前帧相对于前一帧的位移大于设定阈值的情况下,则将当前帧的定位结果确定为当前帧的预测位置;
在当前帧相对于前一帧的位移小于或等于设定阈值的情况下,则将当前帧的定位结果确定为当前帧的前一帧的预测位置。
上述实施方式中,通过前几帧对当前帧的关键点的预测位置进行时域高斯平滑处理,并且根据位移大小来确定是否更新关键点的位置,有利于减少抖动,使得检测结果更加平滑稳定。
本申请实施例还提供了一种关键点定位装置,包括:
获取模块,用于获取当前帧包括的至少一个手部区域;
关键点检测模块,用于利用关键点检测模型对当前帧的各手部区域进行关键点检测,得到当前帧的各手部区域包括的各关键点的预测位置;
平滑处理模块,用于对当前帧的各手部区域包括的各关键点的预测位置进行平滑处理,得到当前帧的各关键点的定位结果。
在一种实施方式中,获取模块还用于在无需更新手部区域的情况下,利用跟踪算法获取当前帧包括的至少一个手部区域。
在一种实施方式中,获取模块包括:
第一获取子模块,用于获取当前帧的前一帧的至少一个手部区域;
扩大子模块,用于对前一帧的各手部区域进行扩大处理,得到当前帧的各手部区域。
在一种实施方式中,该装置还包括:
手部检测模块,用于在需要更新手部区域的情况下,利用手部区域检测模型对当前帧进行手部检测,手部区域检测模型是根据轻量级神经网络模型、特征金字塔网络模型和目标检测模型得到的。
在一种实施方式中,该装置还包括:
更新模块,用于判断当前帧是否需要更新手部区域;在满足检测条件的情况下,当前帧需要更新手部区域;
其中,检测条件包括以下至少一种:
当前帧为待检测视频的第一帧;
当前帧之前帧的手部区域的数目变化;
当前帧距离上一次利用手部区域检测模型进行手部检测的帧之间的差值达到设定阈值。
在一种实施方式中,关键点检测模型是根据轻量级神经网络模型和沙漏模型得到的。
在一种实施方式中,关键点检测模型还输出当前帧的各手部区域包括的各关键点的预测位置的置信度,该装置还包括误检过滤模块,具体包括:
置信度计算子模块,用于计算当前帧的各手部区域的各关键点的置信度的平均值,得到当前帧的各手部区域对应的置信度;
误检判定子模块,用于将对应的置信度低于目标阈值的手部区域判定为误检;
过滤子模块,用于将当前帧中被判定为误检的手部区域过滤掉。
在一种实施方式中,平滑处理模块还用于对当前帧与其前n帧的预测位置进行时域高斯平滑,得到当前帧的各关键点的定位结果,n为正整数。
在一种实施方式中,平滑处理模块用于通过以下子模块进行时域高斯平滑:
加权平均子模块,用于对当前帧与当前帧的前n帧的预测位置进行加权平均,得到当前帧的平均位置;
定位子模块,用于在当前帧相对于前一帧的位移大于设定阈值的情况下,则将当前帧的定位结果确定为当前帧的预测位置;在当前帧相对于前一帧的位移小于或等于设定阈值的情况下,则将当前帧的定位结果确定为当前帧的前一帧的预测位置。
本申请实施例还提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本申请实施例中任意一种关键点定位方法。
本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行本申请实施例中任意一种关键点定位方法。
上述申请中的一个实施例具有如下优点或有益效果:在利用关键点检测模型检测得到当前帧的各手部区域包括的各关键点后,通过对各手部区域包括的各关键点的预测位置进行平滑处理,得到当前帧的各关键点的定位结果,有利于减少抖动,提高模型输出结果的稳定性。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请一实施例的关键点定位方法的流程图。
图2是根据本申请另一实施例的关键点定位方法的流程图。
图3是根据本申请另一实施例的关键点定位方法中人手关键点的示意图。
图4是根据本申请另一实施例的关键点定位方法应用于人手关键点检测的流程图。
图5是根据本申请一实施例的关键点定位装置的框图。
图6是根据本申请另一实施例的关键点定位装置的框图。
图7是用来实现本申请实施例的关键点定位方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请一实施例的关键点定位方法的流程图。如图1所示,该方法可以包括:
步骤S11、获取当前帧包括的至少一个手部区域;
步骤S12、利用关键点检测模型对当前帧的各手部区域进行关键点检测,得到当前帧的各手部区域包括的各关键点的预测位置;
步骤S13、对当前帧的各手部区域包括的各关键点的预测位置进行平滑处理,得到当前帧的各关键点的定位结果。
一般来说,视频中包括若干帧图像。可以对视频的每一帧图像进行处理。当前需要处理的帧图像可以称之为当前帧。在本申请实施例中,视频中可能包括手部图像。在视频帧中,包括手部图像的区域可以称之为手部区域。
在步骤S11中的当前帧的手部区域,可以是确定的手部区域,例如,人工标注的手部区域;也可以是利用模型预测的手部区域,例如利用物体检测模型等预测得到的手部区域,或者利用目标跟踪模型跟踪得到的手部区域。
在步骤S12中的关键点检测模型可以包括多种。例如,可以根据轻量级神经网络模型和沙漏模型构建得到关键点检测模型。
关键点检测模型可以包括底座(backbone)和关键点检测组件(head)的模式。数据流经的顺序是backbone-Head。底座可以采用轻量级神经网络模型例如shufflenetV2,关键点检测组件(head)可以采用沙漏模型(Hourglass)。
shufflenetV2是一种轻量级的CNN(Convolutional Neural Networks,卷积神经网络)模型。shufflenetV2采用channel split(通道分裂)算法先将输入特征图在通道维度分成两个分支,一个分支不经过卷积操作,将原特征图直接向下传递;另一个分支由3个输入输出通道数相同的卷积组成。而且两个1x1卷积不再是组卷积,两个分支相当于已经分成两组。卷积后,两个分支concat(合并)操作,因此输出通道数和输入通道数保持相同。本申请以shufflenetV2为例进行说明,也可以采用其他的轻量级神经网络模型作为底座,例如MobileNetV3、MNasNet等。
利用沙漏模型可以先对特征矩阵进行降采样,再进行上采样。这样,得到的特征具有语义信息以及更大的感受野。
在训练关键点检测模型时,可以利用量化检测模型进行实际部署。例如,首先训练一个float32(32位浮点型数)的模型作为预训练模型。然后对于模型中的变量,之前是float32表示的,变成用int8(1个字节)来表示,并且将int8的变量给予float32模型来训练。这样,训练过程中模型大小会变为原来的1/4。而在模型推理(inference)阶段,只用int8的变量计算,计算量相比float32降低,最终模型推理也会获得加速。
在利用关键点检测模型检测得到当前帧的各手部区域包括的各关键点后,通过对各手部区域包括的各关键点的预测位置进行平滑处理,得到当前帧的各关键点的定位结果,有利于减少抖动,提高模型输出结果的稳定性。
图2是根据本申请另一实施例的关键点定位方法的流程图。如图2所示,该方法可以包括:
步骤S21、判断当前帧是否需要更新手部区域。
在满足检测条件的情况下,当前帧需要更新手部区域,执行步骤S23。否则,在不满足检测条件的情况下,无需更新手部区域,执行步骤S22。
其中,检测条件可以包括但不限于以下至少一种:
当前帧为待检测视频的第一帧;
当前帧之前帧的手部区域的数目变化;
当前帧距离上一次利用手部区域检测模型进行手部检测的帧之间的差值达到设定阈值。
例如,如果当前帧为视频的第一帧,尚没有可以跟踪的手部区域,可以直接判定为需要更新手部区域。
再如,如果当前帧为第N帧,第N-1帧的手部区域的数目为5个,第N-2帧的手部数目为6个,可能在第N-1帧过滤掉1个误检的手部区域,可以判定为需要更新手部区域。
再如,如果设定阈值为某个时长,计算当前帧与上一次采用手部区域检测模型进行手部检测的帧之间的时间差。如果时间差大于阈值,表示需要更新手部区域。如果设定阈值为某个帧数,计算当前帧与上一次采用手部区域检测模型进行手部检测的帧之间的帧数差。如果帧数差大于阈值,表示需要更新手部区域。
步骤S22、在无需更新手部区域的情况下,利用跟踪算法获取当前帧包括的至少一个手部区域。
其中,跟踪算法可以基于当前帧之前的帧的手部区域,得到当前帧的手部区域。在一种示例中,跟踪算法可以包括:获取当前帧的前一帧的至少一个手部区域;对前一帧的各手部区域进行扩大处理,得到当前帧的各手部区域。
其中,获得当前帧的前一帧的手部区域的方式有多种。如果当前帧为第N帧,前一帧为第N-1帧,N为大于1的正整数。每一帧包括的手部区域的数目可以为0个、1个或多个。
可以通过人工标注的方式确定第N-1帧中的手部区域。例如:当前帧为第2帧,利用人工标注方式确定视频第1帧中的各手部区域,然后利用跟踪算法在第1帧基础上得到第2帧的各手部区域,后续继续利用跟踪算法得到第3帧以及以后的帧的各手部区域。
还可以利用训练好的物体检测模型例如手部区域检测模型识别得到第N-1帧中的手部区域。例如:当前帧为第5帧,利用训练好的物体检测模型确定视频第4帧中的各手部区域,然后利用跟踪算法在第4帧基础上得到第5帧的各手部区域,后续继续利用跟踪算法得到第6帧以及以后的帧的各手部区域。
还可以利用跟踪算法得到第N-1帧中的手部区域。例如:当前帧为第10帧,利用跟踪算法确定视频第9帧中的各手部区域,然后利用跟踪算法在第9帧基础上得到第10帧的各手部区域,后续继续利用跟踪算法得到第11帧以及以后的帧的各手部区域。
在不用更新手部区域的情况下,利用跟踪算法可以从当前帧中快速截取可能属于手部的部分图像区域。由于无需采用物体检测模型对当前帧进行全图扫描,因此,可以减少手部区域检测的运算量,提高检测速度。
步骤S23、在需要更新手部区域的情况下,利用手部区域检测模型对当前帧进行手部检测。其中,手部区域检测模型可以是根据轻量级神经网络模型、特征金字塔网络模型和目标检测模型得到的。根据轻量级神经网络模型、特征金字塔网络模型和目标检测模型得到手部区域检测模型,既可以减少数据处理量,又能够提高手部区域检测准确性。
例如,基于SSD(Single Shot detectors,单步目标检测)算法得到手部区域检测模型。SSD算法可以包括检测组件(Head)和底座(Backbone)组成。底座用来提取特征,而检测组件会根据这些特征判断目标区域是否是物体以及回归得到包含物体的最小框的坐标。使用轻量级神经网络例如shufflenetV2作为底座,可以提升检测速度。加入FPN(FeaturePyramid Networks,特征金字塔网络)结构可以提升检测效果。模型的数据的流经的顺序是shufflenetV2-FPN-Head。其中,FPN可以加强特征的表达能力,并且对速度没有太大的影响。此外,可以利用量化检测模型部署手部区域检测模型。利用量化检测模型进行部署的原理可以参见上述实施例的相关描述。
在满足上述的检测条件下,需要利用手部区域检测模型更新手部区域。也可以理解为,更新当前帧中手部的位置。例如,在某一帧的手部区域检测或关键点检测之后,如果发现本帧的手部区域数目与前一帧相比发生了变化(例如,被过滤掉几个),可以将下一帧的手部区域检测的算法设置为利用手部区域检测模型对输入的全图进行检测。
步骤S24、利用关键点检测模型对当前帧的各手部区域进行关键点检测,得到当前帧的各手部区域包括的各关键点的预测位置。其中,关键点检测模型是根据轻量级神经网络模型和沙漏模型得到的。并且,可以利用量化检测模型部署关键点检测模型。利用轻量级神经网络模型和沙漏模型得到关键点检测模型,以及利用量化检测模型部署关键点检测模型的原理可以参见上述实施例的相关描述。通过轻量级神经网络模型和沙漏模型得到关键点检测模型,既可以减少数据处理量,又能够提高关键点检测准确性。
在一种实施方式中,关键点检测模型还输出当前帧的各手部区域包括的各关键点的预测位置的置信度。如图2所示,该方法还可以包括:
步骤S25、根据当前帧的各手部区域包括的各关键点的预测位置的置信度进行误检过滤。
在一种实施方式中,误检过滤方式包括:计算当前帧的各手部区域的各关键点的置信度的平均值,得到当前帧的各手部区域对应的置信度;将对应的置信度低于目标阈值的手部区域判定为误检;将当前帧中被判定为误检的手部区域过滤掉。
例如,当前帧检测出4个可能的手部区域A、B、C、D,每个手部区域有10个关键点。计算每个手部区域的这10个关键点的平均值,分别得到区域A的置信度A1、区域B的置信度B1、区域C的置信度C1、区域D的置信度D1。分别比较A1、B1、C1、D1与目标阈值的大小。假设A1小于目标阈值,B1、C1、D1大于或等于目标阈值,则将区域A过滤掉。
上述实施方式中,通过手部区域中各关键点的置信度,判定手部区域是否为误检,由于过滤掉误检的手部区域,提高检测结果准确性,减少冗余处理。
在一种实施方式中,如图2所示,该方法还包括:
步骤S26、对当前帧的各手部区域包括的各关键点的预测位置进行平滑处理。
在本申请实施例中,可以在误检过滤后再进行平滑处理,也可以不进行误检过滤,直接进行平滑处理。在误检过滤后再进行平滑处理的数据处理量更少,也更加准确。
在一种示例中,平滑处理可以包括:对当前帧与其前n帧的预测位置进行时域高斯平滑,得到当前帧的各关键点的定位结果,n为正整数。
其中,时域高斯平滑可以包括:
对当前帧与当前帧的前n帧的预测位置进行加权平均,得到当前帧的平均位置;
在当前帧相对于前一帧的位移大于设定阈值的情况下,则将当前帧的定位结果确定为当前帧的预测位置;
在当前帧相对于前一帧的位移小于或等于设定阈值的情况下,则将当前帧的定位结果确定为当前帧的前一帧的预测位置。
上述实施方式中,通过前几帧对当前帧的关键点的预测位置进行时域高斯平滑处理,有利于减少抖动,使得检测结果更加平滑稳定。
在一种示例中,对当前帧与当前帧的前n帧的预测位置进行加权平均的方式,可以参见式(1)。
在一种示例中,根据当前帧相对于前一帧的位移确定当前帧的定位结果的方式,可以参见位置更新公式(2)。
其中,为当前帧中某个关键点的位置。在当前帧(第i帧)与前一帧(第i-1)帧相比,该关键点的位移大于设定阈值dth的情况下,当前帧的该关键点的定位结果即位置为平滑后的当前帧的该关键点的位置(即式(1)的计算结果)。否则,当前帧的该关键点的定位结果即位置为平滑后的前一帧的该关键点的位置
上述实施方式中,通过前几帧对当前帧的关键点的预测位置进行时域高斯平滑处理,并且根据位移大小来确定是否更新关键点的位置,有利于减少抖动,使得检测结果更加平滑稳定。
下面以视频中包括的手部图像为人手图像为例进行说明。在一种示例中,如图3所示,人手关键点检测可以检测定位人手的21个关键点。这些关键点和人手的骨骼有实际意义上的联系,可以用于人机交互、手语识别、AR(Augmented Reality,增强现实)游戏等场景中。
本申请检测定位人手关键点可以包括以下步骤:首先使用物体检测算法以及跟踪算法,从视频帧例如RGB图像中获取潜在的人手位置。接着,使用人手关键点检测算法,来定位可能存在人手区域的人手关键点。然后,对结果进行后处理。对检测到的人手关键点进行后处理,使其更加平滑稳定。
在一种示例,如图4所示,人手关键点可以包括以下步骤:
步骤S61、输入图像。该图像可以为视频中的帧图像。当前需要处理的帧图像可以称之为当前帧。
步骤S62、判断是否更新人手位置。例如,如果是视频的第一帧,可以更新人手位置。如果当前帧之前的视频帧中的人手区域的数目发生变化,可以更新人手位置。如果距离上一次更新的时间差大于设定时间阈值或帧数差大于设定帧数阈值,可以更新人手位置。如果需要更新人手位置,可以执行步骤S63后执行步骤S64。如果不需要更新人手位置,可以利用跟踪算法获取当前帧的人手位置后,执行步骤S64。
如果不需要更新人手位置,可以利用人手关键点跟踪模型得到当前帧的各潜在的人手区域。利用模型进行潜在的人手区域的检测通常需要扫描整张图像。如果每帧都进行全图扫描,所需时间和运算量都较大。因此,这部分时间可以利用人手跟踪来缩减。因为视频中出现的人手是连续的,所以连续帧之间不会突然出现剧烈的变化。前一帧出现的人手在下一帧中一般不会突然消失,所以前一帧人手的位置可以用来缩小下一帧潜在人手的扫描区域。因此可以利用前一帧人手关键点的预测结果,得到一个人手区域,然后适当地扩大这个区域,作为下一帧人手关键点检测模型的输入。而人手关键点检测模型在训练时,可以使用多尺度(multi-scale)训练,这样模型对这种输入大小变化的情况的具有较好的鲁棒性。例如,一种多尺度训练可以包括:如果目标区域大小是10x10,可以在目标区域周围随机进行数据垫补得到多个输入图像。然后将输入图像统一到一个分辨率,这样输入图像中包括的目标区域的大小可能为10x10,9x9,8x8等。
另外为了防止人手的漏检和误检,可以采用定时刷新机制来更新视频流中可跟踪的人手数目。
步骤S63、对当前帧进行人手潜在区域检测,定位当前帧包括的潜在的人手区域。本申请可以包括自顶向下的方案,可以先使用物体检测算法来检测定位潜在的物体区域。例如,使用单步目标检测(SSD)算法,具体可以使用改组网络加金字塔网络的结构(shufflenetV2+FPN)作为检测算法底座,来获得加速的同时保证检测效果的准确性。并且为了压缩模型大小、减少计算量来获得加速,还可以采用量化检测模型进行实际部署。
步骤S64、人手关键点检测。在得到潜在的人手区域后,可以利用关键点检测模型例如人手关键点检测模型来检测定位人手区域内的各关键点。为了获得加速效果,可以使用改组网络加沙漏模型的结构(shufflenetV2+HourGlass)作为关键点检测算法的底座,然后模型会输出关键点检测结果。例如,模型输出包括21个估计的人手关键点的热点图,其中热点图最亮的地方对应关键点的预测位置。同时为了压缩网检测模型大小,并且减少计算量获取加速,对关键点检测模型可以利用量化检测模型进行部署。在一种示例中,本申请的关键点检测模型可以预测出21个人手关键点,如图3所示。
步骤S65、潜在人手区域结果重筛选。在该步骤中,可以利用潜在的人手区域的各关键点的置信度进行判断,判断该人手区域包括的各关键点的置信度的平均值(即该人手区域对应的置信度)是否大于阈值。如果是,则不过滤该人手区域,可以对该人手区域的各关键点执行步骤S66进行平滑处理。
由于人手检测步骤可能引入误检,所以最终得到的结果可能会有误检。利用人手关键点检测模型的输出可以过滤掉误检。例如,人手关键点检测模型可以输出每个关键点的位置以及关键点的置信度。如果一个真实的人手区域存在对应的关键点,那么其置信度比较高,反之会比较低。假设将21个预测关键点的置信度的平均值作为人手区域对应的置信度。如果这个区域对应的置信度低于目标阈值,那么后处理可以将这个区域作为误检而过滤掉。如果当前帧中所有的人手区域都被过滤掉,可以结束此次流程。从当前帧的下一帧开始返回执行步骤S61。
步骤S66、对于不属于误检的人手区域中的各人手关键点,可以进行平滑处理,达到人手关键点帧间平滑稳定。
人手关键点检测模型预测时可能会受到一些随机因素的干扰,所以预测结果也会有一些扰动,这可能使得预测结果看起来不连续,出现抖动。使用过去几帧的预测结果和当前帧的结果,利用时域高斯平滑,可以得到当前帧的关键点的最终预测结果(例如上述实施例中所提到的定位结果)。具体来说,当前帧的关键点的位置可以是过去几帧关键点位置的加权平均,如式(1)所示。
步骤S67、判断关键点位移是否小于阈值。如果当前帧的关键点的位置与其之前帧相比,位移小于预定义的阈值,可以不更新该关键点(将前一帧的关键点的位置作为当前帧的关键点的位置),否则更新该关键点,如式(2)所示。
其中,为当前帧中某个关键点的位置。在当前帧(第i帧)与前一帧(第i-1)帧相比,该关键点在第i帧与第i-1帧的位移大于设定阈值dth的情况下,当前帧的该关键点的位置为平滑后的当前帧的该关键点的位置(即式(1)的计算结果)。否则,当前帧的该关键点的位置为平滑后的前一帧的该关键点的位置
在一种示例中,某个关键点在两个帧之间的位移,可以利用该关键点在图像中的坐标来计算。例如,如果该关键点在第i帧的坐标为(xi,yi),在第i-1帧的坐标为(xi-1,yi-1),则该关键点在第i帧与第i-1帧的位移为
步骤S68、输出关键点预测结果。
采用本申请实施例的关键点检测方法,通过轻量级神经网络、跟踪算法等,可减少对人手关键点的检测定位的计算量需求,并且通过金字塔模型、沙漏模型可以得到准确的人手关键点的定位结果。因此,有利于在移动端的部署人手关键点检测应用。通过关键点的置信度可以进行误检过滤,减少误检的情况。通过平滑处理可以减少抖动,提高检测效果。
图5是根据本申请一实施例的关键点定位装置的框图。如图5所示,该关键点定位装置可以包括:
获取模块71,用于获取当前帧包括的至少一个手部区域;
关键点检测模块72,用于利用关键点检测模型对当前帧的各手部区域进行关键点检测,得到当前帧的各手部区域包括的各关键点的预测位置;
平滑处理模块73,用于对当前帧的各手部区域包括的各关键点的预测位置进行平滑处理,得到当前帧的各关键点的定位结果。
在一种实施方式中,获取模块71还用于在无需更新手部区域的情况下,利用跟踪算法获取当前帧包括的至少一个手部区域。
在一种实施方式中,如图6所示,获取模块71包括:
第一获取子模块711,用于获取当前帧的前一帧的至少一个手部区域;
扩大子模块712,用于对前一帧的各手部区域进行扩大处理,得到当前帧的各手部区域。
在一种实施方式中,该装置还包括:
手部检测模块81,用于在需要更新手部区域的情况下,利用手部区域检测模型对当前帧进行手部检测,手部区域检测模型是根据轻量级神经网络模型、特征金字塔网络模型和目标检测模型得到的。
在一种实施方式中,该装置还包括:
更新模块82,用于判断当前帧是否需要更新手部区域;在满足检测条件的情况下,当前帧需要更新手部区域;
其中,检测条件包括以下至少一种:
当前帧为待检测视频的第一帧;
当前帧之前帧的手部区域的数目变化;
当前帧距离上一次利用手部区域检测模型进行手部检测的帧之间的差值达到设定阈值。
在一种实施方式中,关键点检测模型是根据轻量级神经网络模型和沙漏模型得到的。
在一种实施方式中,关键点检测模型还输出当前帧的各手部区域包括的各关键点的预测位置的置信度,该装置还包括误检过滤模块83,具体包括:
置信度计算子模块831,用于计算当前帧的各手部区域的各关键点的置信度的平均值,得到当前帧的各手部区域对应的置信度;
误检判定子模块832,用于将对应的置信度低于目标阈值的手部区域判定为误检;
过滤子模块833,用于将当前帧中被判定为误检的手部区域过滤掉。
在一种实施方式中,平滑处理模块73还用于对当前帧与其前n帧的预测位置进行时域高斯平滑,得到当前帧的各关键点的定位结果,n为正整数。
在一种实施方式中,平滑处理模块73用于通过以下子模块进行时域高斯平滑:
加权平均子模块731,用于对当前帧与当前帧的前n帧的预测位置进行加权平均,得到当前帧的平均位置;
定位子模块732,用于在当前帧相对于前一帧的位移大于设定阈值的情况下,则将当前帧的定位结果确定为当前帧的预测位置;在当前帧相对于前一帧的位移小于或等于设定阈值的情况下,则将当前帧的定位结果确定为当前帧的前一帧的预测位置。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的关键点定位方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器901为例。
存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的关键点定位方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的关键点定位方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的关键点定位方法对应的程序指令/模块(例如,附图5所示的获取模块71、关键点检测模块72和平滑处理模块73)。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的关键点定位方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据关键点定位方法的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至关键点定位方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
关键点定位方法的电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与关键点定位方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(Liquid Crystal Display,LCD)、发光二极管(Light EmittingDiode,LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路(Application Specific Integrated Circuits,ASIC)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(programmable logic device,PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode Ray Tube,阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,在利用关键点检测模型检测得到当前帧的各手部区域包括的各关键点后,通过对各手部区域包括的各关键点的预测位置进行平滑处理,得到当前帧的各关键点的定位结果,有利于减少抖动,提高模型输出结果的稳定性。通过轻量级神经网络模型和沙漏模型得到关键点检测模型,既可以减少数据处理量,又能够提高关键点检测准确性。根据轻量级神经网络模型、特征金字塔网络模型和目标检测模型得到手部区域检测模型,既可以减少数据处理量,又能够提高手部区域检测准确性。判断当前帧是否需要更新手部区域,可以只对需要更新手部区域的帧利用模型进行全图扫描,而不需要更新手部区域的帧则利用跟踪算法扫描部分图像,从而可以减少手部区域检测的运算量,提高检测速度。通过手部区域中各关键点的置信度,判定手部区域是否为误检,由于过滤掉误检的手部区域,提高检测结果准确性,减少冗余处理。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (20)
1.一种关键点定位方法,其特征在于,包括:
获取当前帧包括的至少一个手部区域;
利用关键点检测模型对所述当前帧的各手部区域进行关键点检测,得到所述当前帧的各手部区域包括的各关键点的预测位置;
对所述当前帧的各手部区域包括的各关键点的预测位置进行平滑处理,得到所述当前帧的各关键点的定位结果。
2.根据权利要求1所述的方法,其特征在于,获取当前帧包括的至少一个手部区域,包括:
在无需更新手部区域的情况下,利用跟踪算法获取当前帧包括的至少一个手部区域。
3.根据权利要求2所述的方法,其特征在于,利用跟踪算法获取当前帧包括的至少一个手部区域,包括:
获取所述当前帧的前一帧的至少一个手部区域;
对所述前一帧的各手部区域进行扩大处理,得到所述当前帧的各手部区域。
4.根据权利要求1所述的方法,其特征在于,还包括:
在需要更新手部区域的情况下,利用手部区域检测模型对所述当前帧进行手部检测,所述手部区域检测模型是根据轻量级神经网络模型、特征金字塔网络模型和目标检测模型得到的。
5.根据权利要求2至4中任一项所述的方法,其特征在于,还包括:
判断当前帧是否需要更新手部区域;
在满足检测条件的情况下,所述当前帧需要更新手部区域;
其中,所述检测条件包括以下至少一种:
所述当前帧为待检测视频的第一帧;
所述当前帧之前帧的手部区域的数目变化;
所述当前帧距离上一次利用手部区域检测模型进行手部检测的帧之间的差值达到设定阈值。
6.根据权利要求1所述的方法,其特征在于,所述关键点检测模型是根据轻量级神经网络模型和沙漏模型得到的。
7.根据权利要求1所述的方法,其特征在于,所述关键点检测模型还输出所述当前帧的各手部区域包括的各关键点的预测位置的置信度,所述方法还包括:
计算所述当前帧的各手部区域的各关键点的置信度的平均值,得到所述当前帧的各手部区域对应的置信度;
将对应的置信度低于目标阈值的手部区域判定为误检;
将所述当前帧中被判定为误检的手部区域过滤掉。
8.根据权利要求1所述的方法,其特征在于,对所述当前帧的各手部区域包括的各关键点的预测位置进行平滑处理,得到所述当前帧的各关键点的定位结果,包括:
对所述当前帧与其前n帧的预测位置进行时域高斯平滑,得到所述当前帧的各关键点的定位结果,n为正整数。
9.根据权利要求8所述的方法,其特征在于,所述时域高斯平滑包括:
对所述当前帧与所述当前帧的前n帧的预测位置进行加权平均,得到所述当前帧的平均位置;
在所述当前帧相对于前一帧的位移大于设定阈值的情况下,则将当前帧的定位结果确定为所述当前帧的预测位置;
在所述当前帧相对于前一帧的位移小于或等于设定阈值的情况下,则将当前帧的定位结果确定为所述当前帧的前一帧的预测位置。
10.一种关键点定位装置,其特征在于,包括:
获取模块,用于获取当前帧包括的至少一个手部区域;
关键点检测模块,用于利用关键点检测模型对所述当前帧的各手部区域进行关键点检测,得到所述当前帧的各手部区域包括的各关键点的预测位置;
平滑处理模块,用于对所述当前帧的各手部区域包括的各关键点的预测位置进行平滑处理,得到所述当前帧的各关键点的定位结果。
11.根据权利要求10所述的装置,其特征在于,所述获取模块还用于在无需更新手部区域的情况下,利用跟踪算法获取当前帧包括的至少一个手部区域。
12.根据权利要求11所述的装置,其特征在于,所述获取模块包括:
第一获取子模块,用于获取所述当前帧的前一帧的至少一个手部区域;
扩大子模块,用于对所述前一帧的各手部区域进行扩大处理,得到所述当前帧的各手部区域。
13.根据权利要求10所述的装置,其特征在于,还包括:
手部检测模块,用于在需要更新手部区域的情况下,利用手部区域检测模型对所述当前帧进行手部检测,所述手部区域检测模型是根据轻量级神经网络模型、特征金字塔网络模型和目标检测模型得到的。
14.根据权利要求11至13中任一项所述的装置,其特征在于,还包括:
更新模块,用于判断当前帧是否需要更新手部区域;在满足检测条件的情况下,所述当前帧需要更新手部区域;
其中,所述检测条件包括以下至少一种:
所述当前帧为待检测视频的第一帧;
所述当前帧之前帧的手部区域的数目变化;
所述当前帧距离上一次利用手部区域检测模型进行手部检测的帧之间的差值达到设定阈值。
15.根据权利要求10所述的装置,其特征在于,所述关键点检测模型是根据轻量级神经网络模型和沙漏模型得到的。
16.根据权利要求10所述的装置,其特征在于,所述关键点检测模型还输出所述当前帧的各手部区域包括的各关键点的预测位置的置信度,所述装置还包括误检过滤模块,具体包括:
置信度计算子模块,用于计算所述当前帧的各手部区域的各关键点的置信度的平均值,得到所述当前帧的各手部区域对应的置信度;
误检判定子模块,用于将对应的置信度低于目标阈值的手部区域判定为误检;
过滤子模块,用于将所述当前帧中被判定为误检的手部区域过滤掉。
17.根据权利要求10所述的装置,其特征在于,所述平滑处理模块还用于对所述当前帧与其前n帧的预测位置进行时域高斯平滑,得到所述当前帧的各关键点的定位结果,n为正整数。
18.根据权利要求17所述的装置,其特征在于,所述平滑处理模块用于通过以下子模块进行所述时域高斯平滑:
加权平均子模块,用于对所述当前帧与所述当前帧的前n帧的预测位置进行加权平均,得到所述当前帧的平均位置;
定位子模块,用于在所述当前帧相对于前一帧的位移大于设定阈值的情况下,则将当前帧的定位结果确定为所述当前帧的预测位置;在所述当前帧相对于前一帧的位移小于或等于设定阈值的情况下,则将当前帧的定位结果确定为所述当前帧的前一帧的预测位置。
19.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911044546.6A CN110807410B (zh) | 2019-10-30 | 2019-10-30 | 关键点定位方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911044546.6A CN110807410B (zh) | 2019-10-30 | 2019-10-30 | 关键点定位方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110807410A true CN110807410A (zh) | 2020-02-18 |
CN110807410B CN110807410B (zh) | 2022-09-06 |
Family
ID=69489862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911044546.6A Active CN110807410B (zh) | 2019-10-30 | 2019-10-30 | 关键点定位方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110807410B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111768005A (zh) * | 2020-06-19 | 2020-10-13 | 北京百度网讯科技有限公司 | 轻量级检测模型的训练方法、装置、电子设备及存储介质 |
CN112052747A (zh) * | 2020-08-11 | 2020-12-08 | 深圳市欧森隆健康科技有限公司 | 手掌识别、健康报告生成方法、健康检测系统和电子设备 |
CN112417963A (zh) * | 2020-10-20 | 2021-02-26 | 上海卫莎网络科技有限公司 | 一种优化视频目标检测、识别或分割的精度和效率的方法 |
CN112613409A (zh) * | 2020-12-24 | 2021-04-06 | 咪咕动漫有限公司 | 手部关键点检测方法、装置、网络设备及存储介质 |
CN112950672A (zh) * | 2021-03-03 | 2021-06-11 | 百度在线网络技术(北京)有限公司 | 确定关键点的位置的方法、装置和电子设备 |
CN113128436A (zh) * | 2021-04-27 | 2021-07-16 | 北京百度网讯科技有限公司 | 关键点的检测方法和装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718879A (zh) * | 2016-01-19 | 2016-06-29 | 华南理工大学 | 基于深度卷积神经网络的自由场景第一视角手指关键点检测方法 |
CN107920257A (zh) * | 2017-12-01 | 2018-04-17 | 北京奇虎科技有限公司 | 视频关键点实时处理方法、装置及计算设备 |
CN108694724A (zh) * | 2018-05-11 | 2018-10-23 | 西安天和防务技术股份有限公司 | 一种长时间目标跟踪方法 |
CN109359538A (zh) * | 2018-09-14 | 2019-02-19 | 广州杰赛科技股份有限公司 | 卷积神经网络的训练方法、手势识别方法、装置及设备 |
CN109657537A (zh) * | 2018-11-05 | 2019-04-19 | 北京达佳互联信息技术有限公司 | 基于目标检测的图像识别方法、系统和电子设备 |
CN109788190A (zh) * | 2018-12-10 | 2019-05-21 | 北京奇艺世纪科技有限公司 | 一种图像处理方法、装置、移动终端及存储介质 |
CN110147742A (zh) * | 2019-05-08 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 一种关键点定位方法、装置及终端 |
CN110163055A (zh) * | 2018-08-10 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 手势识别方法、装置和计算机设备 |
CN110222576A (zh) * | 2019-05-07 | 2019-09-10 | 北京字节跳动网络技术有限公司 | 拳击动作识别方法、装置和电子设备 |
CN110246181A (zh) * | 2019-05-24 | 2019-09-17 | 华中科技大学 | 基于锚点的姿态估计模型训练方法、姿态估计方法和系统 |
-
2019
- 2019-10-30 CN CN201911044546.6A patent/CN110807410B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718879A (zh) * | 2016-01-19 | 2016-06-29 | 华南理工大学 | 基于深度卷积神经网络的自由场景第一视角手指关键点检测方法 |
CN107920257A (zh) * | 2017-12-01 | 2018-04-17 | 北京奇虎科技有限公司 | 视频关键点实时处理方法、装置及计算设备 |
CN108694724A (zh) * | 2018-05-11 | 2018-10-23 | 西安天和防务技术股份有限公司 | 一种长时间目标跟踪方法 |
CN110163055A (zh) * | 2018-08-10 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 手势识别方法、装置和计算机设备 |
CN109359538A (zh) * | 2018-09-14 | 2019-02-19 | 广州杰赛科技股份有限公司 | 卷积神经网络的训练方法、手势识别方法、装置及设备 |
CN109657537A (zh) * | 2018-11-05 | 2019-04-19 | 北京达佳互联信息技术有限公司 | 基于目标检测的图像识别方法、系统和电子设备 |
CN109788190A (zh) * | 2018-12-10 | 2019-05-21 | 北京奇艺世纪科技有限公司 | 一种图像处理方法、装置、移动终端及存储介质 |
CN110222576A (zh) * | 2019-05-07 | 2019-09-10 | 北京字节跳动网络技术有限公司 | 拳击动作识别方法、装置和电子设备 |
CN110147742A (zh) * | 2019-05-08 | 2019-08-20 | 腾讯科技(深圳)有限公司 | 一种关键点定位方法、装置及终端 |
CN110246181A (zh) * | 2019-05-24 | 2019-09-17 | 华中科技大学 | 基于锚点的姿态估计模型训练方法、姿态估计方法和系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111768005A (zh) * | 2020-06-19 | 2020-10-13 | 北京百度网讯科技有限公司 | 轻量级检测模型的训练方法、装置、电子设备及存储介质 |
CN111768005B (zh) * | 2020-06-19 | 2024-02-20 | 北京康夫子健康技术有限公司 | 轻量级检测模型的训练方法、装置、电子设备及存储介质 |
CN112052747A (zh) * | 2020-08-11 | 2020-12-08 | 深圳市欧森隆健康科技有限公司 | 手掌识别、健康报告生成方法、健康检测系统和电子设备 |
CN112417963A (zh) * | 2020-10-20 | 2021-02-26 | 上海卫莎网络科技有限公司 | 一种优化视频目标检测、识别或分割的精度和效率的方法 |
CN112613409A (zh) * | 2020-12-24 | 2021-04-06 | 咪咕动漫有限公司 | 手部关键点检测方法、装置、网络设备及存储介质 |
CN112950672A (zh) * | 2021-03-03 | 2021-06-11 | 百度在线网络技术(北京)有限公司 | 确定关键点的位置的方法、装置和电子设备 |
CN112950672B (zh) * | 2021-03-03 | 2023-09-19 | 百度在线网络技术(北京)有限公司 | 确定关键点的位置的方法、装置和电子设备 |
CN113128436A (zh) * | 2021-04-27 | 2021-07-16 | 北京百度网讯科技有限公司 | 关键点的检测方法和装置 |
CN113128436B (zh) * | 2021-04-27 | 2022-04-01 | 北京百度网讯科技有限公司 | 关键点的检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110807410B (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807410B (zh) | 关键点定位方法、装置、电子设备和存储介质 | |
US20220383535A1 (en) | Object Tracking Method and Device, Electronic Device, and Computer-Readable Storage Medium | |
CN111259751B (zh) | 基于视频的人体行为识别方法、装置、设备及存储介质 | |
KR20170014491A (ko) | 움직임 인식 방법 및 움직임 인식 장치 | |
US10990170B2 (en) | Eye tracking method, electronic device, and non-transitory computer readable storage medium | |
CN112149636A (zh) | 用于检测目标物体的方法、装置、电子设备及存储介质 | |
CN113378770B (zh) | 手势识别方法、装置、设备、存储介质 | |
CN115699102A (zh) | 使用遮挡感知单对象跟踪在视频流中跟踪多个对象 | |
JP2017523498A (ja) | 効率的なフォレストセンシングに基づくアイトラッキング | |
CN110659600A (zh) | 物体检测方法、装置及设备 | |
CN117581275A (zh) | 眼睛注视分类 | |
KR20220126264A (ko) | 비디오 흔들림 검출 방법, 장치, 전자 기기 및 저장 매체 | |
CN112381183A (zh) | 目标检测方法、装置、电子设备及存储介质 | |
KR102217003B1 (ko) | 객체 추적 방법 및 이를 수행하는 장치 | |
CN112116525A (zh) | 换脸识别方法、装置、设备和计算机可读存储介质 | |
CN114220163A (zh) | 人体姿态估计方法、装置、电子设备及存储介质 | |
CN112200169B (zh) | 用于训练模型的方法、装置、设备以及存储介质 | |
EP3639193A1 (en) | Human feedback in 3d model fitting | |
CN115937993B (zh) | 活体检测模型训练方法、活体检测方法、装置和电子设备 | |
CN116403285A (zh) | 动作识别方法、装置、电子设备以及存储介质 | |
CN111783644A (zh) | 检测方法、装置、设备和计算机存储介质 | |
US11847823B2 (en) | Object and keypoint detection system with low spatial jitter, low latency and low power usage | |
Mou et al. | Attention based dual branches fingertip detection network and virtual key system | |
Dawod et al. | Gesture segmentation: automatic continuous sign language technique based on adaptive contrast stretching approach | |
WO2023029702A1 (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 |