CN113724317B - 手部关节定位及局部区域面积计算方法、处理器和存储器 - Google Patents
手部关节定位及局部区域面积计算方法、处理器和存储器 Download PDFInfo
- Publication number
- CN113724317B CN113724317B CN202111013489.2A CN202111013489A CN113724317B CN 113724317 B CN113724317 B CN 113724317B CN 202111013489 A CN202111013489 A CN 202111013489A CN 113724317 B CN113724317 B CN 113724317B
- Authority
- CN
- China
- Prior art keywords
- point
- hand
- coordinate
- point position
- points
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种手部关节定位和局部区域面积的计算方法,通过获得手部的点位数据,所述点位数据包括坐标数据和颜色数据,所述点位数据通过扫描带有手部点位标识的手部图像获得;所述上述手部点位标识位于分割手部结构为远节、中节、近节以及手掌的关节的两端,形成按照手部结构划分的远节点位、中节点位、近节点位以及手掌点位4种点位位置类型;将每个点位的中心绕旋转点旋转成手部竖直状态,所述旋转点为形成手掌的各个手部点位的质心;根据点位位置类型以及点位中心的坐标完成手部结构对应位置的定位。通过本申请解决了对手部关节进行精确定位和局部区域面积检测的问题,从而能够对手部进行更为精确的后续研究。
Description
技术领域
本申请涉及到测量领域,具体而言,涉及指关节定位及面积获取方法和装置。
背景技术
在某些应用场景下,需要对手部的关节进行精确定位并获得相邻关节组成手部区域的面积,以获得与手部关节位置、对应手部区域面积相关的后续数据。
随着神经网络算法的出现,全自动实现图像目标检测的算法已经存在。然而目前现有技术中,以全自动实现图像目标检测来计算手部的相关数据的神经网络算法主要集中在手势,例如谷歌MediaPipe Holistic为540多个关键点(33个姿势、21个手和468个人脸关键点)提供了统一的拓扑结构,并在移动设备上实现了近乎实时的性能。其应用旨在实现对肢体语言、手势和面部表情进行整体的和同步的感知,完成人机交互。但是其手势关键点太少,无法满足15个部位的45个关键点定位的需要。
由于国内外还没有手部15个关节部位的45个关键点的有监督的大样本量的数据集,因此基于神经网络的全自动目标检测算法当前无法实现对手部的精确定位和面积检测。
发明内容
本申请实施例提供了一种手部关节定位和局部区域面积的计算方法,以至少解决现有技术中无法对手部关节进行精确定位和局部区域面积检测的问题。
根据本申请的一个方面,提供了一种手部关节定位方法,获得手部的点位数据,所述点位数据包括坐标数据和颜色数据,所述点位数据通过扫描带有手部点位标识的手部图像获得;所述手部点位标识位于手部轮廓线上,且上述手部点位标识位于分割手部结构为远节、中节、近节以及手掌的关节的两端,形成按照手部结构划分的远节点位、中节点位、近节点位以及手掌点位4种点位位置类型;
将每个点位的中心绕旋转点旋转成手部竖直状态,所述旋转点为形成手掌的各个手部点位的质心,所述手部竖直状态为以食指的中节竖直为标准;
根据点位位置类型以及点位中心的坐标完成手部结构对应位置的定位。
进一步的,在本发明中,所述手部点位标识通过Windows 10的3D绘图软件标记获得,每种点位位置类型对应于在3D绘图软件中被标记成不同的颜色。
进一步的,在本发明中,所述每个点位的中心绕旋转点转成手部竖直状态,按照如下方式进行:
获取每个点位的底边最右端的图像坐标、该点位的底边长度w和标尺h,计算点位的中心的图像坐标,将上述点位的中心的图像坐标转换为笛卡尔坐标(x',y');
获取构成食指的中节对应的两个关节处的4个点位,将每个关节对应的两两点位连线,获得两条连线中点的连接线,获得上述连接线与竖直线之间的夹角为α;
按照如下算式计算旋转后的点位的中心的坐标(X,Y)
X=(x'-x0)*cos(α)-(y'-y0)*sin(α)+x0,
Y=(x'-x0)*sin(α)-(y'-y0)*cos(α)+y0,
其中,(x0,y0)为旋转点的笛卡尔坐标。
进一步的,在本发明中,所述获取每个点位的底边最右端的坐标(x,y)按照如下方式进行:
第一步、获取某一颜色的所有点位坐标集合;
第二步、将集合中所有点位按照纵坐标大小排序;
第三步、按照排队序列定位队列纵坐标较大一端端部连续的w个坐标点,该w个坐标点中横坐标最大的点为该w个坐标点所属的点位的底边最右端的坐标;
第四步、获得上述w个坐标点所属的点位对应的所有的坐标点构成当前点位坐标,从原点位坐标集合中去除当前点位坐标形成新的集合并替换原点位坐标集合;
重复上述第二步到第四步,直至确定该颜色的所有的点位底边最右端的坐标。
进一步的,在本发明中,所述获得上述w个坐标点所属的点位对应的所有的坐标点的方法如下:
定义进入点位P0和上移判断点位F_U作为与行关联的参数,所述进入点位P0代表对其所在行进行坐标点是否属于对应的点位的起始判断点,所述上移判断点位F_U用于判断进入点位P0是否上移更新;初始进入点位P0为所述w个坐标点所属的点位的起始点,初始上移判断点位F_U为与初始进入点位P0同行的另一个点;
对于每个当前行进行判断时均进行如下过程:
判断所述进入点位P0属于目标点位,并以进入点位P0的位置为起点,分别向左和向右逐一判断其所在行的相邻坐标点是否为当前颜色,直至当前行的所有坐标点判断结束;
上述判断过程中,若当前行的某一坐标点为当前颜色,则判断该坐标点属于目标点位,否则当前行的该方向判断结束;当该坐标点属于目标点位时,进一步判断该坐标点的上方一个坐标点是否为当前颜色,若为当前颜色则将上方该坐标点作为当前行的上一行的进入点位P0并继续当前行的坐标点的逐一判断,若不为当前颜色,则直接继续当前行的坐标点的逐一判断;
当当前行的左右方向均判断结束,若此时满足当前的进入点位P0属于当前颜色,且当前的进入点位P0与上移判断点位F_U不同,则以当前的进入点位P0的坐标位置更新上移判断点位F_U,并以当前的进入点位P0作为所在行的判断起始点开始新的一行的判断;若不满足上述条件,则结束判断。
进一步的,在本发明中,所述根据点位位置类型以及点位中心的坐标完成手部结构对应位置的定位的方法如下:
获取某一手部结构旋转后对应的所有点位的中心坐标,选择某一点位作为参考点,其中心坐标为(a0,b0),其余任一点位中心坐标用(a,b)表示;
按照下式计算其余任一点位相对于参考点的角度位置β:
根据角度位置β的大小,确定所述各个点位中心之间的相对位置关系,根据相对位置关系确定手部结构与所述各个点位的对应关系完成定位。
根据本申请的第二个方面,提供一种手部局部区域面积的计算方法,根据所述的手部关节定位的方法,获得属于某一手部结构相关的各个点位组成的凸多边形,按照下式计算所述某一手部结构的面积:
其中,p为所述凸多边形的像素,为手部图像的面积像素比。
进一步的,在本发明中,一种手部局部区域面积的计算方法,:根据所述的手部关节定位的方法,当所述某一手部结构为远节位置时,获得属于所述手部结构相关的各个点位组成的凸多边形,按照下式计算所述某一手部结构的面积:
其中,p为所述凸多边形的像素,为手部图像的面积像素比。
根据本申请的第三个方面,提供一种处理器,用于执行软件,所述软件用于执行上述方法。
根据本申请的第四个方面,提供一种存储器,用于存储软件,所述软件用于执行上述的方法。
在本申请实施例中,采用了一种手部关节定位方法,获得手部的点位数据,所述点位数据包括坐标数据和颜色数据,所述点位数据通过扫描带有手部点位标识的手部图像获得;所述手部点位标识位于手部轮廓线上,且上述手部点位标识位于分割手部结构为远节、中节、近节以及手掌的关节的两端,形成按照手部结构划分的远节点位、中节点位、近节点位以及手掌点位4种点位位置类型;将每个点位的中心绕旋转点旋转成手部竖直状态,所述旋转点为形成手掌的各个手部点位的质心,所述手部竖直状态为以食指的中节竖直为标准;根据点位位置类型以及点位中心的坐标完成手部结构对应位置的定位;并进一步通过属于某一手部结构相关的各个点位组成的凸多边形,按照局部区域像素占整个手部的像素的比例换算局部区域的面积。通过本申请解决了对手部关节进行精确定位和局部区域面积检测的问题,从而能够对手部进行更为精确的后续研究。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的手部关节定位方法的流程图;
图2是根据本申请实施例的手部的45个点位的示意图;
图3是本申请实施例中采用不同绘图标尺对应的标识点的形状示意图;
图4是本申请实施例中绘图标尺h与检测点底边长w对应关系;
图5是本申请实施例中标尺为15的标识点的中心的示意图;
图6是本申请实施例中确定某种颜色所有检测点中心的流程图;
图7是本申请实施例中单个检测点像素聚类示意图;
图8是本申请实施例中单个检测点像素聚类流程图。
图9是本申请实施例中组合点逆向排序算法的流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
由于国内外还没有手部15个关节部位的45个关键点的有监督的大样本量的数据集,因此基于神经网络的全自动目标检测算法当前无法实现对手部的精确定位。因此提出一种如图1所示的手部关节定位的计算方法,完成手部15个部位的45个关键点的精确定位。
如图1所示,一种手部关节定位方法,包括以下步骤:
S102、获得手部的点位数据,所述点位数据包括坐标数据和颜色数据,所述点位数据通过扫描带有手部点位标识的手部图像获得;所述手部点位标识位于手部轮廓线上,且上述手部点位标识位于分割手部结构为远节、中节、近节以及手掌的关节的两端,形成按照手部结构划分的远节点位、中节点位、近节点位以及手掌点位4种点位位置类型;
S104、将每个点位的中心绕旋转点旋转成手部竖直状态,所述旋转点为形成手掌的各个手部点位的质心,所述手部竖直状态为以食指的中节竖直为标准;
S106、根据点位位置类型以及点位中心的坐标完成手部结构对应位置的定位。
上述方法结合了人工标记点位标识和自动定位两个主要过程,是一种半自动化的手部关键关节定位的检测算法。通过人工在手部图像上对关节和手掌区域的关键点的标记并读取形成点位数据,每个点位数据均具有坐标和颜色两个维度的参数,其中坐标代表了点位的具体位置,颜色代表了点位的大致区域,通过旋转点位的中心坐标将手部调成竖直状态的过程进行简化,手部的竖直状态有助于更好地利用各个点位的坐标和颜色进行点位的区分,从而能够将数据化的点位和手部具体结构形成对应关系,最终完成手部结构定位。
在本发明的实施例中,具体进行以下硬件和软件的配置:
硬件配置方面:800万以上像素的手机、照相机或图像扫描仪;与手机、照相机或扫描仪配套使用的手部定距离支架。
软件方面:Windows 10的3D绘图软件。本地或云上的图像检测的集成开发环境包含ubuntu13.10、docker、python3.6、flask1.0.2、gunicorn19.9.0、gevent1.4.0和opencv-4.4.0.46,支持进程数为30的高并发请求。
由于Windows 10自带的3D画图可以进行三维模型制作和画图,可以完成1-100像素大小的检测点的绘制。因此在本发明的实施例中,所述手部点位标识通过Windows 10的3D绘图软件标记获得,每种点位位置类型对应于在3D绘图软件中被标记成不同的颜色。
如图2所示,为通过照相机拍摄的手部图片,并通过Windows 10自带的3D画图在手部图片的关键位置进行标记作业获得手部点位标识。图中英文字母RGBC分别代表标识时选用的不同颜色,其中R表示红色,G表示绿色,B表示蓝色,C表示青色。字母后面的数字表示该颜色下的标识的序号。
表1中示出了指掌名称与标识点的对应关系。
表1
指掌名称 | 关键点组合 |
大拇指远节 | (R9,R9|10,R10,G10,G9) |
大拇指近节 | (G9,G10,C10,C9) |
食指远节 | (R7,R7|8,R8,G8,G7) |
食指中节 | (G7,G8,B8,B7) |
食指近节 | (B7,B8,C8,C7) |
中指远节 | (R5,R5|6,R6,G6,G5) |
中指中节 | (G5,G6,B6,B5) |
中指近节 | (B5,B6,C6,C5) |
无名指远节 | (R3,R3|4,R4,G4,G3) |
无名指中节 | (G3,G4,B4,B3) |
无名指近节 | (B3,B4,C4,C3) |
小指远节 | (R1,R1|2,R2,G2,G1) |
小指中节 | (G1,G2,B2,B1) |
小指近节 | (B1,B2,C2,C1) |
手掌 | (C0,C1,...,C11) |
特别要说明的是,远节中位于指端的一侧设置有3个标识点,利用上述3个标识点与指端的弧形形状适配。
当使用Windows 10的3D绘图完成检测点绘制后,在图像保存过程中受不同显卡分辨率影响,会出现像素失真,所以在读取图片时,必须要对图片的失真像素进行还原。像素失真还原的具体数值如表2所示。
表2
对于当前原装系统为windows 10系统的电脑,经测试,失真后的红、绿、蓝、青像素点均处于表2所示的范围内。只需以失真范围为判据即可实现失真数据的复原。
在计算机读取图像后,上述标识点以像素点的图像坐标的形式保存在计算机中,每个标识点包括多个像素点,每个标识点像素点的组成主要与Windows 10的3D绘图时选用的绘图标尺h的大小有关。如图3所示为Windows 10的3D绘图软件中不同绘图标尺对应的标识点的形状,该形状由若干个像素点组成,近似圆形。所示绘图标尺h为图中标识点的高度,该标识点还具有一底边宽度w,其为图案中的最下面的一条像素边的像素数量。Window103D画图支持的最高绘图标尺为100,具体绘图标尺h与底边宽度w满足表3和图4的对应关系。本实施例中,根据人类手部大小确定的较为适合的绘图标尺h为15~20。
表3
图像扫描后,由于标识点众多且每个标识点包括多个像素点,因此,在计算机中存储有数以千万计的像素坐标数据,在如此多的数据的情况下,本发明的实施例中,选择后续以每个标识点的中心像素点代表标识点作为手部关键位置的定位和局部面积的计算能够减少较多的计算量。因此,本实施例中的关键步骤在于需要将每个标识点的中心像素点找到。
绘图标尺h与底边宽度w是计算标识点的中心像素必备的两个参数,只要再确定标识点底边最右边的一个像素点坐标(x,y),则该检测点的中心则可唯一确定。我们以绘图标尺为15的检测点为例,其中心的示意图如图5所示。由图5可知,检测点底边长为w,则最左和最右像素点的图像坐标分别为(x-w-1,y)和(x,y),底边的中点坐标为(x-(w-1)/2,y)。由于绘图标尺h等于对称轴的轴长,则纵横对称轴的交点即为该规则检测点的质心。所以该标识点在图像坐标系下的质心坐标c=(x-(w-1)/2,y+1-h/2)。
作为可选的实施例,在人工标记标识点时,有可能会出现标识点并非如图3所示的标准的形状,仍然可以使用上述计算中心像素的方法以计算出近似的中心像素坐标即质心坐标,如此,可以兼容绘图人员出现的少量可容忍差错以提高模型的鲁棒性。
基于上述计算方法,关键步骤在于确定每个标识点底边最右端的坐标(x,y)。本发明的实施例通过颜色将不同位置类型的标识点进行粗分,针对某一颜色的标识点再逐一将标识点和标识点进行区分,针对区分出的标识点即可确定其底边最右端的坐标(x,y)并进一步获得该标识点的中心像素点的位置。
基于上述思路,在本实施例中,如图6所示,所述获取每个点位的底边最右端的坐标(x,y)按照如下方式进行:
第一步、获取某一颜色的所有点位坐标集合;
第二步、将集合中所有点位按照纵坐标大小排序;
第三步、按照排队序列定位队列纵坐标较大一端端部连续的w个坐标点,该w个坐标点中横坐标最大的点为该w个坐标点所属的点位的底边最右端的坐标;
第四步、获得上述w个坐标点所属的点位对应的所有的坐标点构成当前点位坐标,从原点位坐标集合中去除当前点位坐标形成新的集合并替换原点位坐标集合;
重复上述第二步到第四步,直至确定该颜色的所有的点位底边最右端的坐标。
图6中,A为某颜色所有检测点像素坐标集合;B为记录该检测点像素坐标的集合;C为某颜色所有检测点质心坐标的集合。
作为可选的实施例,通过上述方法,可以分别求出不同颜色对应的中心像素的集合C。红、绿、蓝、青对应的中心像素的正确个数分别为15、10、8和12个。通过判别不同颜色C集合中质心的个数与正确值差别,判别该颜色对应的检测点是否多画、少画或监测点严重畸形超出容许误差范围。
更为具体的,在本发明的实施例中,在众多像素点的情况下进一步获得隶属于同一个标识点的像素是本发明需要解决的难点。由于本发明的实施例在实时过程中必然满足各个标识点之间具有一定的间隙,即标识点和标识点之间至少满足间隔1个像素点,因此在这样的条件下本发明的实施例提供一种像素聚类的方法,如图7和图8所示,所述获得上述w个坐标点所属的点位对应的所有的坐标点的方法如下:
定义进入点位P0和上移判断点位F_U作为与行关联的参数,所述进入点位P0代表对其所在行进行坐标点是否属于对应的点位的起始判断点,所述上移判断点位F_U用于判断进入点位P0是否上移更新;初始进入点位P0为所述w个坐标点所属的点位的起始点,初始上移判断点位F_U为与初始进入点位P0同行的另一个点;
对于每个当前行进行判断时均进行如下过程:
判断所述进入点位P0属于目标点位,并以进入点位P0的位置为起点,分别向左和向右逐一判断其所在行的相邻坐标点是否为当前颜色,直至当前行的所有坐标点判断结束;
上述判断过程中,若当前行的某一坐标点为当前颜色,则判断该坐标点属于目标点位,否则当前行的该方向判断结束;当该坐标点属于目标点位时,进一步判断该坐标点的上方一个坐标点是否为当前颜色,若为当前颜色则将上方该坐标点作为当前行的上一行的进入点位P0并继续当前行的坐标点的逐一判断,若不为当前颜色,则直接继续当前行的坐标点的逐一判断;
当当前行的左右方向均判断结束,若此时满足当前的进入点位P0属于当前颜色,且当前的进入点位P0与上移判断点位F_U不同,则结束判断,若不满足上述条件,则以当前的进入点位P0的坐标位置更新上移判断点位F_U,并以当前的进入点位P0作为所在行的判断起始点开始新的一行的判断。
附图8中,集合A作为某一颜色的集合的标记,集合B表示同一点位中像素的集合。初始上移判断点位F_U定位为初始进入点位P0的右边一点。并且定义F_L和F_R分别作为向左、向右移动开始和结束的标志位,其中标志位取0表示开始移动,标志位取1表示该方向结束。
上述判断方法,由于实际点位与点位之间必然有间隙,所以采用逐一步进判断,在左右分支中通过便捷的颜色判断即可快速确定该行是否结束,通过对当前行的判断过程中同时对当前判断点的上一行对应的点进行颜色判断即可快速确定其上一行是否存在目标点位中的像素,并确定上一行的进入点位P0,随着当前的判断,上一行的进入点位P0不断更新,直至当前行判断结束获得一最新的上一行进入点位P0。具体上一行的进入点位P0的位置与实际点位中像素的多少有关,其具体位置不影响本发明上述聚类方案的执行。
作为可选的实施例,同一张绘图中,所有标识点的标尺相同,如此上述像素聚类方法可以兼容不规则标识点。
上述像素聚类算法通过每次位移一步并结合颜色判断的方式将属于当前聚类点的像素点找出完成该标识点的聚类,并在该颜色下去除已确定的标识点,重复上述过程即逐点聚类,从而完成该颜色下所有标识点的聚类。
当所有的标识点的中心像素位置确定后,需要进一步将中心像素与手部的位置进行对应。同样的,由于中心像素位置是坐标形式存在,需要结合手部的生理结构将中心像素与手部关键位置进行对应。尤其是考虑到拍照或扫描时出现手部严重倾斜,比如图2所示的状态,各个中心像素点与手部关键结构之间无明显满足的关联关系,导致定位困难。在本发明的实施例中,在通过颜色能够对不同位置类型的标记点进行区分的基础上,进一步提出结合手部方向的调整,更方便地将各个标识点(以各自中心像素为代表)与手部关键位置进行对应。本发明的实施例中,不对整张图像进行旋转,而是对中心像素的坐标进行旋转,因此只需要旋转45个点坐标点就可以实现整幅图像全部调整相同的效果,使得工作量大幅下降。
本发明的实施例通过将手部转成竖直状态,则必然满足同一种颜色下,随着标识点横坐标的增大,标识点的排列是与从左到右的手部关键结构一一对应的。具体的,在本发明的实施例中,所述每个点位的中心绕旋转点转成手部竖直状态,按照如下方式进行:
第一步、获取每个点位的底边最右端的图像坐标、该点位的底边长度w和标尺h,计算点位的中心的图像坐标,将上述点位的中心的图像坐标转换为笛卡尔坐标(x',y');
第二步、获取构成食指的中节对应的两个关节处的4个点位,将每个关节对应的两两点位连线,获得两条连线中点的连接线,获得上述连接线与竖直线之间的夹角为α,具体见图2所示;
第三步、按照如下算式计算旋转后的点位的中心的坐标(X,Y)
X=(x'-x0)*cos(α)-(y'-y0)*sin(α)+x0,
Y=(x'-x0)*sin(α)-(y'-y0)*cos(α)+y0,
其中,(x0,y0)为旋转点的笛卡尔坐标。
其中,在旋转前,图像坐标点转化成笛卡尔坐标的具体方法如下:笛卡尔横坐标等于图像坐标点的横坐标,笛卡尔的纵坐标等于拍照或扫描总高度减去图像坐标的纵坐标值。
在本发明的实施例中,上述旋转点为手掌的质心,因此,在本发明的实施例中,计算12个青点围城多边形的笛卡尔质心坐标并将其作为旋转的中心点(x0,y0)。
xi,yi分别为青点质心的横纵坐标值。
质心旋转后,按照坐标的横坐标取值大小将红、绿、蓝对应的检测点正序排列,则可以准确确定每个关节部位涉及的各颜色的质心坐标。对于青点需要先按照纵坐标大小进行正序排列,取前10个检测点的质心点,然后再对这10个质心点按照横坐标大小进行正序排列,此时的正序质心点与C1~C10一一对应。但在实践中发现,即使手势竖直向上,大拇指仍可能水平,这导致C9与C10、G9与G10、R9与R10无法从根据横坐标大小判断出彼此左右关系。虽然可以准确确定大拇指远节和近节的组合分别由(R9,R9|10,R10,G10,G9)、(G9,G10,C10,C9)组成,但确定不了组合点内部各点具体在大拇指远节或近节的哪个位置。
为了解决无法通过纵横坐标确定组合点内各点真实的位置的问题,本发明的实施例提出组合点内的逆向排序算法如图9所示,即所述根据点位位置类型以及点位中心的坐标完成手部结构对应位置的定位的方法如下:
第一步、获取某一手部结构对应的所有点位中心,并获得上述所有点位中心的质心位置(a0,b0);
第二步、按照下式计算每个点位中心(a,b)相对于上述质心的角度位置β:
第三步、根据角度位置β的大小,确定所述各个点位中心之间的相对位置关系,根据相对位置关系确定手部结构与所述各个点位的对应关系完成定位。
在完成定位后,可以进一步通过如下方法进行手部局部位置的面积计算,即获得属于某一手部结构相关的各个点位组成的凸多边形,按照下式计算所述某一手部结构的面积:
/>
其中,p为所述凸多边形的像素,为手部图像的面积像素比,该参数与手部图像本身的像素大小有关,因此计算局部区域的面积只需要获得该区域的像素大小与上述手部图像的面积像素比求积即可换算得到。
具体的,单手的指关节及手掌如表4所示,经过组合点内的逆向排序算法后,已经满足凸多边形面积计算的要求。假设某个组合点经逆向排序后,各点坐标分别为:
((a1,b1),(a2,b2),...,(ak,bk),...,(an-1,bn-1),(an,bn)),
很显然某个关节可以由这n个点组合成的凸多边形表示,凸多边形可以解构成n-2个三角形。计算出n-2个三角形的面积和即为该关节的面积。我们以(a1,b1)为三角形公共点,则由(a1,b1),(ak,bk),(ak+1,bk+1)三点覆盖的像素个数为:
则凸多边形包含的像素个数为:
特别的,由于当所述某一手部结构为远节位置时,手部结构具有一弧形结构,对于远节指关节采用五边形拟合,其面积值较真实值略小,因此在计算面积时采用上述凸边形算法会存在少量的面积损失,因此在计算这部分面积时通过系数将面积损失进行弥补,为此采用分层抽样法对不同性别以及年龄测试人员的远端指关节进行测试,结果显示五边形拟合的面积的1.1倍与真实值的误差在±5%之内,因此,在计算这部分面积时,所述
表4
在本实施例中,提供一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行以上实施例中的方法。
这些计算机程序也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤,对应与不同的步骤可以通过不同的模块来实现。
上述程序可以运行在处理器中,或者也可以存储在存储器中(或称为计算机可读介质),计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本发明的实施例在前述软件和硬件的基础上,具体还需要按照如下方式展开:
相机前设置垂直透明的矩形玻璃板,玻璃板竖直放在可自由调节高度的活动支架上。玻璃板上水平贴装宽高分别为450mm和300mm的黑色边框。同时设置竖向长条形对称轴,对称轴宽高分别为10mm和300mm,将黑色边框分成对称的两幅。每一幅中有竖直向上的黑色虚线手势摆放区。拍照前,需调节相机使拍摄区域正好匹配黑色边框,且拍摄焦点位于黑色边框的形心位置。
拍照前的准备工作完成后,测试人员左右手分别压在玻璃板的黑色虚线手势摆放区,手部压紧玻璃板,手部关节不能翘起,要确保手部横纹能够被人工识别到。
拍摄完毕,照片被自动送入云处理器或本地处理器,算法自动识别黑色边框的中轴线,将黑色框切对称切割成两幅。人工使用Windows103D绘图软件完成左右手关键点的绘制。绘图标尺原则上1~60即可,但根据实践经验,更推荐采用标尺为15或20进行关键点绘制。
绘图完成后,图片自动输入服务器,算法自动完成面积计算,并根据图片名称自动将结果保存在Oracle数据库。对于不合格的图片,算法自动筛查并将结果反馈给责任绘图人。在具体实施时,通过阿里云平台开发环境搭建,并将该算法上云。本发明实施例的算法支持高并发,受云服务器或本地服务器性能影响,目前最高可以实现进程数为30的高并发运算,即同时处理30只手的指关节及手掌面积计算。
为了比较本发明的方法的可行性及系统的性能,邀请同一个测试者,先使用本发明实施例中的方法完成该测试者双手指关节及手掌面积计算。然后再使用完全人工的方式具体为描绘手部轮廓,查找指关节内的格子数确定面积。另外,为了保证性能比较的客观性,邀请多位专家在实验室内对手部进行高精度人工绘图和积分计算,并将多专家计算结果的均值看做理论值。表5分别给出实验室计算、完全人工以及本专利算法的计算结果。
表5
/>
由上表5可知,本发明的实施例中的计算结果与实验室计算结果误差在±3%以内,而人工描轮廓数格子的方式误差甚至已经超过8%,比如表4中左食指近节、右大拇指近节、右小指近节的人工和实验室计算结果的误差分别为8.78%、8.87%、10.67%。因为人工绘制手部轮廓误差较大,从结果来看也很显然本发明实施例的算法计算精度比人工更精确。其次,人工查表需要高度集中精力很容易疲劳,查格子的准确度只会随着工作量增大而大幅降低,从测试得出,本专利从双手图像采集到面积结果保存到数据库共消耗3分钟,而人工查表共消耗45分钟,因此人工和本发明的实施例的计算的效率差距很大。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (9)
1.一种手部关节定位方法,其特征在于:
获得手部的点位数据,所述点位数据包括坐标数据和颜色数据,所述点位数据通过扫描带有手部点位标识的手部图像获得;所述手部点位标识位于手部轮廓线上,且上述手部点位标识位于分割手部结构为远节、中节、近节以及手掌的关节的两端,形成按照手部结构划分的远节点位、中节点位、近节点位以及手掌点位4种点位位置类型;
将每个点位的中心绕旋转点旋转成手部竖直状态,所述旋转点为形成手掌的各个手部点位的质心,所述手部竖直状态为以食指的中节竖直为标准;
根据点位位置类型以及点位中心的坐标完成手部结构对应位置的定位,所述根据点位位置类型以及点位中心的坐标完成手部结构对应位置的定位的方法如下:
获取某一手部结构旋转后对应的所有点位的中心坐标,选择某一点位作为参考点,其中心坐标为(a0,b0),其余任一点位中心坐标用(a,b)表示;
按照下式计算其余任一点位相对于参考点的角度位置β:
根据角度位置β的大小,确定所述各个点位中心之间的相对位置关系,根据相对位置关系确定手部结构与所述各个点位的对应关系完成定位。
2.根据权利要求1所述的方法,其特征在于:所述手部点位标识通过Windows 10的3D绘图软件标记获得,每种点位位置类型对应于在3D绘图软件中被标记成不同的颜色。
3.根据权利要求2所述的方法,其特征在于:所述每个点位的中心绕旋转点转成手部竖直状态,按照如下方式进行:
获取每个点位的底边最右端的图像坐标、该点位的底边长度w和标尺h,计算点位的中心的图像坐标,将上述点位的中心的图像坐标转换为笛卡尔坐标(x',y');
获取构成食指的中节对应的两个关节处的4个点位,将每个关节对应的两两点位连线,获得两条连线中点的连接线,获得上述连接线与竖直线之间的夹角为α;
按照如下算式计算旋转后的点位的中心的坐标(X,Y)
X=(x'-x0)*cos(α)-(y'-y0)*sin(α)+x0,
Y=(x'-x0)*sin(α)-(y'-y0)*cos(α)+y0,
其中,(x0,y0)为旋转点的笛卡尔坐标。
4.根据权利要求3所述的方法,其特征在于:所述获取每个点位的底边最右端的坐标(x,y)按照如下方式进行:
第一步、获取某一颜色的所有点位坐标集合;
第二步、将集合中所有点位按照纵坐标大小排序;
第三步、按照排队序列定位队列纵坐标较大一端端部连续的w个坐标点,该w个坐标点中横坐标最大的点为该w个坐标点所属的点位的底边最右端的坐标,定义该位置为该w个坐标点所属的点位的起始点;
第四步、获得上述w个坐标点所属的点位对应的所有的坐标点构成当前点位坐标,从原点位坐标集合中去除当前点位坐标形成新的集合并替换原点位坐标集合;
重复上述第二步到第四步,直至确定该颜色的所有的点位底边最右端的坐标。
5.根据权利要求4所述的方法,其特征在于:所述获得上述w个坐标点所属的点位对应的所有的坐标点的方法如下:
定义进入点位P0和上移判断点位F_U作为与行关联的参数,所述进入点位P0代表对其所在行进行坐标点是否属于对应的点位的起始判断点,所述上移判断点位F_U用于判断进入点位P0是否上移更新;初始进入点位P0为所述w个坐标点所属的点位的起始点,初始上移判断点位F_U为与初始进入点位P0同行的另一个点;
对于每个当前行进行判断时均进行如下过程:
判断所述进入点位P0属于目标点位,并以进入点位P0的位置为起点,分别向左和向右逐一判断其所在行的相邻坐标点是否为当前颜色,直至当前行的所有坐标点判断结束;
上述判断过程中,若当前行的某一坐标点为当前颜色,则判断该坐标点属于目标点位,否则当前行的该方向判断结束;当该坐标点属于目标点位时,进一步判断该坐标点的上方一个坐标点是否为当前颜色,若为当前颜色则将上方该坐标点作为当前行的上一行的进入点位P0并继续当前行的坐标点的逐一判断,若不为当前颜色,则直接继续当前行的坐标点的逐一判断;
当当前行的左右方向均判断结束,若此时满足当前的进入点位P0属于当前颜色,且当前的进入点位P0与上移判断点位F_U不同,则以当前的进入点位P0的坐标位置更新上移判断点位F_U,并以当前的进入点位P0作为所在行的判断起始点开始新的一行的判断;若不满足上述条件,则结束判断。
6.一种手部局部区域面积的计算方法,其特征在于:根据权利要求1-5中任意一项所述的手部关节定位的方法,获得非远节位置时属于某一手部结构相关的各个点位组成的凸多边形,按照下式计算所述某一手部结构的面积:
其中,p为所述凸多边形的像素,为手部图像的面积像素比。
7.一种手部局部区域面积的计算方法,其特征在于:根据权利要求1-5中任意一项所述的手部关节定位的方法,当所述某一手部结构为远节位置时,获得属于所述手部结构相关的各个点位组成的凸多边形,按照下式计算所述某一手部结构的面积:
其中,p为所述凸多边形的像素,为手部图像的面积像素比。
8.一种处理器,用于执行软件,其特征在于,所述软件用于执行权利要求1至7中任一项所述的方法。
9.一种存储器,用于存储软件,其特征在于,所述软件用于执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111013489.2A CN113724317B (zh) | 2021-08-31 | 2021-08-31 | 手部关节定位及局部区域面积计算方法、处理器和存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111013489.2A CN113724317B (zh) | 2021-08-31 | 2021-08-31 | 手部关节定位及局部区域面积计算方法、处理器和存储器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113724317A CN113724317A (zh) | 2021-11-30 |
CN113724317B true CN113724317B (zh) | 2023-09-29 |
Family
ID=78679917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111013489.2A Active CN113724317B (zh) | 2021-08-31 | 2021-08-31 | 手部关节定位及局部区域面积计算方法、处理器和存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113724317B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7353544B1 (en) * | 2005-07-14 | 2008-04-08 | Hillerich & Bradsby Co. | Baseball glove |
CN105117685A (zh) * | 2015-07-27 | 2015-12-02 | 华南理工大学 | 基于图像模板匹配的手指手腕关节自动定位方法 |
CN110443154A (zh) * | 2019-07-15 | 2019-11-12 | 北京达佳互联信息技术有限公司 | 关键点的三维坐标定位方法、装置、电子设备和存储介质 |
CN110852311A (zh) * | 2020-01-14 | 2020-02-28 | 长沙小钴科技有限公司 | 一种三维人手关键点定位方法及装置 |
WO2020228217A1 (zh) * | 2019-05-13 | 2020-11-19 | 河北工业大学 | 移乘搬运护理机器人的人体姿态视觉识别方法、存储介质及电子装置 |
-
2021
- 2021-08-31 CN CN202111013489.2A patent/CN113724317B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7353544B1 (en) * | 2005-07-14 | 2008-04-08 | Hillerich & Bradsby Co. | Baseball glove |
CN105117685A (zh) * | 2015-07-27 | 2015-12-02 | 华南理工大学 | 基于图像模板匹配的手指手腕关节自动定位方法 |
WO2020228217A1 (zh) * | 2019-05-13 | 2020-11-19 | 河北工业大学 | 移乘搬运护理机器人的人体姿态视觉识别方法、存储介质及电子装置 |
CN110443154A (zh) * | 2019-07-15 | 2019-11-12 | 北京达佳互联信息技术有限公司 | 关键点的三维坐标定位方法、装置、电子设备和存储介质 |
CN110852311A (zh) * | 2020-01-14 | 2020-02-28 | 长沙小钴科技有限公司 | 一种三维人手关键点定位方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于Kinect 的手部关节位置推断方法的研究;郭小焕 等;《计算机应用与软件》;第37卷(第10期);第162-166页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113724317A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109598762B (zh) | 一种高精度双目相机标定方法 | |
CN106595528A (zh) | 一种基于数字散斑的远心显微双目立体视觉测量方法 | |
CN111872544B (zh) | 激光出光指示点的标定方法、装置和振镜同轴视觉系统 | |
CN110458898A (zh) | 相机标定板、标定数据采集方法、畸变校正方法及装置 | |
CN110443879B (zh) | 一种基于神经网络的透视误差补偿方法 | |
JP4779041B2 (ja) | 画像撮影システム、画像撮影方法、および画像撮影プログラム | |
CN112132907B (zh) | 一种相机标定方法、装置、电子设备及存储介质 | |
JP4270949B2 (ja) | キャリブレーションチャート画像表示装置、キャリブレーション装置、キャリブレーション方法 | |
CN102376089A (zh) | 一种标靶校正方法及系统 | |
CN108377371A (zh) | 一种投影图像校正的方法及装置 | |
JPS58198712A (ja) | 産業プラント構造物に関する情報を引き出し、蓄積する方法 | |
CN110163087A (zh) | 一种人脸姿态识别方法及系统 | |
CN108269289A (zh) | 一种相机参数标定的两步优化方法 | |
CN110009687A (zh) | 基于三相机的彩色三维成像系统及其标定方法 | |
CN113962853B (zh) | 一种旋转线阵扫描图像位姿自动化精密解算方法 | |
CN109920003A (zh) | 相机标定检测方法、装置以及设备 | |
WO2023116430A1 (zh) | 视频与城市信息模型三维场景融合方法、系统及存储介质 | |
CN110533686A (zh) | 线阵相机行频与物体运动速度是否匹配的判断方法及系统 | |
CN114792345B (zh) | 一种基于单目结构光系统的标定方法 | |
CN111623942A (zh) | 一种单向振动台试验结构模型位移测量方法 | |
CN115187612A (zh) | 一种基于机器视觉的平面面积测量方法、装置及系统 | |
CN111968182B (zh) | 一种双目相机非线性模型参数的标定方法 | |
CN110223356A (zh) | 一种基于能量生长的单目相机全自动标定方法 | |
CN113724317B (zh) | 手部关节定位及局部区域面积计算方法、处理器和存储器 | |
CN117726759A (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 |