



技术领域technical field
本公开的实施例涉及计算机技术领域,具体涉及生成跟踪姿态结果的方法、装置、电子设备和计算机可读介质。Embodiments of the present disclosure relate to the field of computer technology, and in particular to a method, device, electronic device, and computer-readable medium for generating a tracking pose result.
背景技术Background technique
随着信息技术的不断进步,手势交互显得更加重要。手势交互技术的实现大多依赖于手部跟踪技术。但是现有的手部跟踪技术中手部跟踪的结果往往存在抖动或存在较长时间的延时现象。With the continuous advancement of information technology, gesture interaction becomes more important. The realization of gesture interaction technology mostly relies on hand tracking technology. However, hand tracking results in existing hand tracking technologies often have jitter or a relatively long time delay.
发明内容Contents of the invention
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。The Summary of the Disclosure is provided to introduce concepts in a simplified form that are described in detail in the Detailed Description that follows. The content of this disclosure is not intended to identify the key features or essential features of the claimed technical solution, nor is it intended to be used to limit the scope of the claimed technical solution.
本公开的一些实施例提出了用于生成跟踪姿态结果的方法、装置、电子设备和计算机可读介质,来解决以上背景技术部分提到的技术问题。Some embodiments of the present disclosure propose a method, an apparatus, an electronic device, and a computer-readable medium for generating a tracking gesture result, so as to solve the technical problems mentioned in the background art section above.
第一方面,本公开的一些实施例提供了一种用于生成跟踪姿态结果的方法,该方法包括:根据图像中腕带标记物的颜色特征和手部上臂形态特征,将深度图像中的手部区域进行分割,获得点云集合;基于点云集合和三维手部模型,确定第一对应点集合和第二对应点集合;根据第一对应点集合和第二对应点集合构建约束方程;根据约束方程,生成跟踪姿态结果。In the first aspect, some embodiments of the present disclosure provide a method for generating a tracking gesture result, the method includes: according to the color feature of the wristband marker in the image and the shape feature of the upper arm of the hand, the hand in the depth image Segment the internal region to obtain a point cloud set; determine the first corresponding point set and the second corresponding point set based on the point cloud set and the three-dimensional hand model; construct a constraint equation according to the first corresponding point set and the second corresponding point set; Constraint equations that generate tracking pose results.
第二方面,本公开的一些实施例提供了一种生成跟踪姿态结果的装置,装置包括:分割单元,被配置成根据图像中腕带标记物的颜色特征和手部上臂形态特征,将深度图像中的手部区域进行分割,获得点云集合;确定单元,被配置成基于上述点云集合和三维手部模型,确定第一对应点集合和第二对应点集合,其中,上述第一对应点集合包括上述点云集合中各点与三维手部模型表面的对应点,上述第二对应点集合包括三维手部模型与深度图像的二维轮廓的对应点;构建单元,被配置成根据上述第一对应点集合和上述第二对应点集合构建约束方程,其中,上述约束方程包括手部跟踪的空间约束方程、姿态约束方程和时序约束方程;生成单元,被配置成根据约束方程,生成跟踪姿态结果。In the second aspect, some embodiments of the present disclosure provide an apparatus for generating tracking gesture results, the apparatus includes: a segmentation unit configured to convert the depth image into Segment the hand region in the above to obtain a point cloud set; the determination unit is configured to determine the first corresponding point set and the second corresponding point set based on the above point cloud set and the three-dimensional hand model, wherein the first corresponding point The set includes corresponding points between each point in the point cloud set and the surface of the three-dimensional hand model, and the second set of corresponding points includes corresponding points between the three-dimensional hand model and the two-dimensional contour of the depth image; the construction unit is configured according to the above-mentioned first A set of corresponding points and the above-mentioned second set of corresponding points construct a constraint equation, wherein the above-mentioned constraint equation includes a space constraint equation of hand tracking, an attitude constraint equation and a timing constraint equation; the generating unit is configured to generate a tracking attitude according to the constraint equation result.
第三方面,本申请实施例提供了一种电子设备,该网络设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。In a third aspect, the embodiment of the present application provides an electronic device, the network device includes: one or more processors; a storage device for storing one or more programs; when one or more programs are used by one or more The processor executes, so that one or more processors implement the method described in any implementation manner of the first aspect.
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。In a fourth aspect, an embodiment of the present application provides a computer-readable medium, on which a computer program is stored, and when the computer program is executed by a processor, the method described in any implementation manner in the first aspect is implemented.
本公开的上述各个实施例中的一个实施例具有如下有益效果:通过将深度图像中的手部区域进行分割,获得点云集合,而后基于点云集合和三维手部模型确定对应点,再根据对应点构建约束方程,最后根据约束方程生成跟踪姿态结果。从而生成较为平稳的手部跟踪姿态结果,同时生成的手部跟踪姿态结果的延时时长相对较短。One of the above-mentioned embodiments of the present disclosure has the following beneficial effects: by segmenting the hand region in the depth image, a point cloud set is obtained, and then the corresponding points are determined based on the point cloud set and the three-dimensional hand model, and then according to The corresponding points construct the constraint equation, and finally generate the tracking attitude result according to the constraint equation. In this way, a relatively stable hand tracking pose result is generated, and at the same time, the delay time of the generated hand tracking pose result is relatively short.
附图说明Description of drawings
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。The above and other features, advantages and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic and that elements and elements are not necessarily drawn to scale.
图1是本公开的一些实施例可以应用于其中的示例性系统的架构图;FIG. 1 is an architectural diagram of an exemplary system to which some embodiments of the present disclosure can be applied;
图2是根据本公开的生成跟踪姿态结果的方法的一些实施例的流程图;Figure 2 is a flowchart of some embodiments of a method of generating tracking pose results according to the present disclosure;
图3根据本公开的生成跟踪姿态结果的装置的一些实施例的结构示意图;FIG. 3 is a schematic structural diagram of some embodiments of an apparatus for generating tracking gesture results according to the present disclosure;
图4适于用来实现本公开的一些实施例的电子设备的结构示意图。FIG. 4 is a schematic structural diagram of an electronic device suitable for implementing some embodiments of the present disclosure.
具体实施方式Detailed ways
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the disclosure are shown in the drawings, it should be understood that the disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these examples are provided so that the understanding of this disclosure will be thorough and complete. It should be understood that the drawings and embodiments of the present disclosure are for exemplary purposes only, and are not intended to limit the protection scope of the present disclosure.
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。It should also be noted that, for the convenience of description, only the parts related to the related invention are shown in the drawings. In the case of no conflict, the embodiments in the present disclosure and the features in the embodiments can be combined with each other.
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。It should be noted that concepts such as "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the sequence of functions performed by these devices, modules or units or interdependence.
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative and not restrictive, and those skilled in the art should understand that unless the context clearly indicates otherwise, it should be understood as "one or more" multiple".
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。The names of messages or information exchanged between multiple devices in the embodiments of the present disclosure are used for illustrative purposes only, and are not used to limit the scope of these messages or information.
下面将参考附图并结合实施例来详细说明本公开。The present disclosure will be described in detail below with reference to the accompanying drawings and embodiments.
图1示出了可以应用本公开的一些实施例的生成跟踪姿态结果的方法或生成跟踪姿态结果的装置的示例性系统架构100。FIG. 1 shows an
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。As shown in FIG. 1 , a
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以提供图像等。终端设备101、102、103上可以安装有各种图像拍摄应用,例如相机应用等。Users can use
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。The
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上生成跟踪姿态结果提供支持的后台服务器。后台服务器可以对接收到的图像请求等数据进行分析等处理,并将处理结果(例如跟踪姿态结果)反馈给终端设备。The
需要说明的是,本公开的实施例所提供的用于生成跟踪姿态结果的方法可以由终端设备101、102、103执行,也可以由服务器105执行。相应地,用于生成跟踪姿态结果的装置可以设置于终端设备101、102、103中,也可以设置于服务器105中。在此不做具体限定。It should be noted that, the method for generating a tracking pose result provided by the embodiments of the present disclosure may be executed by the
需要说明的是,服务端、客户端可以是硬件,也可以是软件。当服务端、客户端为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务端、客户端为软件时,可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。It should be noted that the server and the client may be hardware or software. When the server and client are hardware, it can be implemented as a distributed server cluster composed of multiple servers, or as a single server. When the server and the client are software, they may be implemented as multiple software or software modules for providing distributed services, or as a single software or software module. No specific limitation is made here.
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。It should be understood that the numbers of terminal devices, networks and servers in Fig. 1 are only illustrative. According to the implementation needs, there can be any number of terminal devices, networks and servers.
继续参考图2,示出了根据本公开的生成跟踪姿态结果的方法的一些实施例的流程200。该生成跟踪姿态结果的方法,包括以下步骤:With continued reference to FIG. 2 , a
步骤201,根据图像中腕带标记物的颜色特征和手部上臂形态特征,将深度图像中的手部区域进行分割,获得点云集合。
在一些实施例中,生成跟踪姿态结果的方法的执行主体(例如图1所示的服务器)可以根据图像中腕带标记物的颜色特征和手部上臂形态特征,将深度图像中的手部区域进行分割并获得点云集合。In some embodiments, the executing body of the method for generating tracking pose results (for example, the server shown in FIG. 1 ) can convert the hand region in the depth image to Segmentation is performed and a collection of point clouds is obtained.
在这里,上述腕带标记物通常是指纯色标记物,例如,可以是黄色布条等标记物。上述手部上臂形态特征通常是指小臂的形态特征,例如,小臂的轮廓图等。上述深度图像通常是指将从图像采集器到场景中各点的距离(深度)作为像素值的图像。在这里,上述点云通常是指在获取物体表面每个采样点的空间坐标后,得到的点的集合,称之为“点云”。上述分割通常是指图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。作为示例,上述分割可以是在深度图像中奖手臂上臂形态的图像中以腕带标记物为分界进行分割。Here, the aforementioned wristband markers generally refer to solid-color markers, for example, markers such as yellow cloth strips. The aforementioned morphological features of the upper arm of the hand generally refer to morphological features of the forearm, for example, an outline of the forearm. The aforementioned depth image generally refers to an image in which the distance (depth) from the image collector to each point in the scene is taken as the pixel value. Here, the above-mentioned point cloud usually refers to a collection of points obtained after obtaining the spatial coordinates of each sampling point on the surface of the object, which is called a "point cloud". The above-mentioned segmentation usually refers to the technology and process of dividing an image into several specific regions with unique properties and proposing objects of interest. As an example, the above segmentation may be performed using the wristband marker as a boundary in the image of the upper arm shape of the winning arm in the depth image.
在一些实施例的一些可选的实现方式中,上述执行主体可以对上述图像进行过滤,得到手部腕带标记物区域对应的像素点集合;确定上述像素点集合内像素点在深度图像中对应深度值的平均值;确定深度图像中深度值与上述平均值的差值小于预定阈值的像素点作为小臂及手部区域像素点,以及获取上述像素点对应的三维点云点集;基于上述像素点集合和上述三维点云点集确定分割区域;将上述点云点集和上述像素点集合在上述分割区域中的点作为手部分割结果。In some optional implementations of some embodiments, the execution subject may filter the image to obtain a set of pixel points corresponding to the region of the wristband marker; determine that the pixels in the set of pixel points correspond to The average value of the depth value; determine the pixel point in the depth image whose difference between the depth value and the above average value is less than a predetermined threshold as the pixel point in the forearm and hand area, and obtain the three-dimensional point cloud point set corresponding to the above pixel point; based on the above The set of pixel points and the above-mentioned three-dimensional point cloud point set determine the segmented area; the point where the above-mentioned point cloud point set and the above-mentioned pixel point set are in the above-mentioned segmented area is taken as a hand segmentation result.
在这里,上述过滤通常是指将上述图像在颜色空间进行过滤。颜色空间(HueSaturation Value,HSV)通常是指根据颜色的直观特性在1978年创建的一种颜色空间,也称六角锥体模型。上述基于上述像素点集合和上述三维点云点集确定分割区域通常根据以下步骤得到:对三维点云点集进行主成分分析以获取主成分方向作为小臂的朝向向量,确定三维点云点集中的重心作为腕部重心。以腕部重心为起点小臂的朝向向量为偏移方向确定分割区域球心。Here, the aforementioned filtering generally refers to filtering the aforementioned image in a color space. Color space (HueSaturation Value, HSV) usually refers to a color space created in 1978 based on the intuitive characteristics of color, also known as the hexagonal pyramid model. The above-mentioned determination of the segmented area based on the above-mentioned pixel point set and the above-mentioned three-dimensional point cloud point set is usually obtained according to the following steps: performing principal component analysis on the three-dimensional point cloud point set to obtain the principal component direction as the orientation vector of the forearm, and determining the point concentration of the three-dimensional point cloud The center of gravity of the wrist acts as the center of gravity of the wrist. With the center of gravity of the wrist as the starting point, the orientation vector of the forearm is used as the offset direction to determine the center of the segmented area.
步骤202,基于上述点云集合和三维手部模型,确定第一对应点集合和第二对应点集合。
在一些实施例中,上述执行主体(例如图1所示的服务器)可以基于上述点云集合和三维手部模型,确定第一对应点集合和第二对应点集合,其中,上述第一对应点集合包括上述点云集合中各点与三维手部模型表面的对应点,上述第二对应点集合包括三维手部模型与深度图像的二维轮廓的对应点。在这里,上述三维手部模型通常是指手部的多边形表示,通常用计算机或者其它视频设备进行显示。作为示例,上述三维手部模型可以根据以下步骤构建:依据给定手部各部件内关键点坐标集合、关键点结构球体半径集合、各结构球体切面链接关系、各部件对应变换矩阵集合和手部姿态参数,逐层次地构建手部三维模型,确定手部姿态及模型表面。In some embodiments, the execution subject (for example, the server shown in FIG. 1 ) can determine the first set of corresponding points and the second set of corresponding points based on the set of point clouds and the three-dimensional hand model, wherein the first set of corresponding points The set includes corresponding points between each point in the point cloud set and the surface of the three-dimensional hand model, and the second set of corresponding points includes corresponding points between the three-dimensional hand model and the two-dimensional contour of the depth image. Here, the above-mentioned three-dimensional hand model usually refers to a polygonal representation of the hand, which is usually displayed by a computer or other video equipment. As an example, the above three-dimensional hand model can be constructed according to the following steps: according to the set of key point coordinates in each part of the given hand, the set of key point structure sphere radii, the link relationship of each structural sphere section, the set of transformation matrices corresponding to each part, and the set of hand Posture parameters, build a 3D model of the hand layer by layer, and determine the pose of the hand and the surface of the model.
作为示例,上述确定第一对应点集合可以根据以下步骤确定:取点云点集中一点,求该点到构成三维手部模型的各个基本几何体的距离及投影点,取距离最短的几何体表面的投影点,作为一对空间对应点,遍历手部点云集合,求得所有对应点作为第一对应点集合。As an example, the above-mentioned determination of the first corresponding point set can be determined according to the following steps: take a point in the point cloud point concentration, find the distance and projection point from this point to each basic geometric body that constitutes the three-dimensional hand model, and take the projection of the geometric body surface with the shortest distance Points, as a pair of spatial corresponding points, traverse the hand point cloud set, and obtain all corresponding points as the first corresponding point set.
在一些实施例的一些可选的实现方式中,上述执行主体可以将上述三维手部模型进行正交投影,得到模型轮廓;在上述模型轮廓上进行采样,得到轮廓点集合;对于上述轮廓点集合中的每一个点,确定上述点在上述深度图像的轮廓中最近的对应点作为第二对应点,得到第二对应点集合。In some optional implementations of some embodiments, the execution subject may perform orthogonal projection on the above-mentioned three-dimensional hand model to obtain a model contour; perform sampling on the above-mentioned model contour to obtain a set of contour points; for the above-mentioned contour point set For each point in , determine the closest corresponding point of the above point in the contour of the depth image as the second corresponding point to obtain a second set of corresponding points.
步骤203,根据第一对应点集合和第二对应点集合构建约束方程。
在一些实施例中,生成跟踪姿态结果的方法的执行主体可以根据上述第一对应点集合和上述第二对应点集合构建约束方程。在这里,上述约束通常是指对所考察物体起限制作用的其他物体,称为约束。约束对被约束物体的作用称为约束力或约束反力,也常简称为反力。上述约束方程通常是指约束的数学表达式。In some embodiments, the executing body of the method for generating a tracking pose result may construct a constraint equation according to the above-mentioned first set of corresponding points and the above-mentioned second set of corresponding points. Here, the above-mentioned constraints usually refer to other objects that limit the object under consideration, called constraints. The effect of the constraint on the constrained object is called the constraint force or the constraint reaction force, and is often referred to simply as the reaction force. The above-mentioned constraint equations generally refer to the mathematical expressions of the constraints.
上述执行主体可以通过多种方式构建约束方程,作为示例,上述约束方程可以根据以下步骤构建得到:规定手部姿态参数每一维分量的取值区间,根据各分量是否在取值区间内构造关节参数选择矩阵,若分量在区间内,则矩阵对角线处对应位置为0,否则为1。根据各分量距离区间的距离构造参数矫正向量,最终根据上述信息得到增广矩阵,构建约束方程。The above-mentioned executive body can construct the constraint equation in various ways. As an example, the above-mentioned constraint equation can be constructed according to the following steps: specify the value interval of each dimension component of the hand posture parameter, and construct the joint according to whether each component is within the value interval The parameter selection matrix, if the component is in the interval, the corresponding position on the diagonal of the matrix is 0, otherwise it is 1. The parameter correction vector is constructed according to the distance of each component distance interval, and finally the augmented matrix is obtained according to the above information, and the constraint equation is constructed.
在一些实施例的一些可选的实现方式中,上述约束方程包括以下至少一项:手部跟踪的空间约束方程、姿态约束方程和时序约束方程。In some optional implementations of some embodiments, the constraint equations include at least one of the following: a space constraint equation for hand tracking, an attitude constraint equation, and a timing constraint equation.
在一些实施例的一些可选的实现方式中,上述执行主体可以对于第一对应点集合和点云集合的每一对对应点,确定上述一对对应点的坐标差和手部三维模型中第一对应点位置关于各姿态参数的雅可比矩阵;根据上述坐标差和上述雅可比矩阵构建空间约束方程。In some optional implementations of some embodiments, the execution subject may, for each pair of corresponding points in the first corresponding point set and point cloud set, determine the coordinate difference of the above pair of corresponding points and the first point in the three-dimensional model of the hand. A Jacobian matrix of the position of a corresponding point with respect to each attitude parameter; a space constraint equation is constructed according to the above-mentioned coordinate difference and the above-mentioned Jacobian matrix.
在这里,上述雅可比矩阵通常是指在向量微积分中,一阶偏导数以一定方式排列成的矩阵,其行列式称为雅可比行列式。Here, the aforementioned Jacobian matrix generally refers to a matrix in which the first-order partial derivatives are arranged in a certain way in vector calculus, and its determinant is called the Jacobian determinant.
作为示例,上述根据上述坐标差和上述雅可比矩阵构建空间约束方程通常根据以下步骤构建:将上述雅可比矩阵竖向排列作为系数矩阵,在上述系数矩阵右侧添加一列各个对对应点的坐标差,得到增广矩阵,从而得到空间约束的矩阵方程。As an example, the above-mentioned construction of the space constraint equation based on the above-mentioned coordinate difference and the above-mentioned Jacobian matrix is usually constructed according to the following steps: arrange the above-mentioned Jacobian matrix vertically as a coefficient matrix, and add a column of coordinate differences of each pair of corresponding points on the right side of the above-mentioned coefficient matrix , get the augmented matrix, and thus get the matrix equation of the space constraints.
步骤204,根据约束方程,生成跟踪姿态结果。
在一些实施例中,上述执行主体可以将上述约束方程进行求解以生成跟踪姿态结果。在这里,上述跟踪姿态结果通常是指用于表征跟踪姿态的数值、图像、文本、视频等。作为示例,上述生成执行主体可以将上述约束方程进行求解得到跟踪姿态参数,之后,根据上述跟踪姿态参数构建跟踪姿态的图像或视频等。In some embodiments, the above execution subject may solve the above constraint equation to generate a tracking pose result. Here, the above-mentioned tracking gesture results generally refer to numerical values, images, texts, videos, etc. used to characterize the tracking gesture. As an example, the generation executing subject may solve the above constraint equation to obtain the tracking pose parameters, and then construct an image or video of the tracking pose according to the above tracking pose parameters.
在一些实施例的一些可选的实现方式中,上述执行主体可以将上述约束方程转化为数学方程形式,其中,上述约束方程转换为数学方程形式后能够求解;对转换后的约束方程进行求解,得到跟踪姿态结果。In some optional implementations of some embodiments, the execution subject may convert the above constraint equation into a mathematical equation form, where the above constraint equation can be solved after being converted into a mathematical equation form; to solve the converted constraint equation, Get the tracking pose result.
本公开的一些实施例提供的方法能够生成较为平稳的手部跟踪姿态结果,同时,生成的手部跟踪姿态结果的延时时长相对较短。The method provided by some embodiments of the present disclosure can generate relatively stable hand tracking gesture results, and at the same time, the delay time of the generated hand tracking gesture results is relatively short.
进一步参考图3,作为对上述各图所示方法的实现,本公开提供了一种生成跟踪姿态结果的装置的一些实施例,这些装置实施例与图2所示的那些方法实施例相对应,该装置具体可以应用于各种电子设备中。Further referring to FIG. 3 , as an implementation of the methods shown in the above figures, the present disclosure provides some embodiments of a device for generating tracking gesture results, and these device embodiments correspond to those method embodiments shown in FIG. 2 , The device can be specifically applied to various electronic devices.
如图3所示,一些实施例的生成跟踪姿态结果的装置300包括:分割单元301、确定单元302、构建单元303和生成单元304。其中,分割单元301,被配置成根据图像中腕带标记物的颜色特征和手部上臂形态特征,将深度图像中的手部区域进行分割,获得点云集合;确定单元302,被配置成基于上述点云集合和三维手部模型,确定第一对应点集合和第二对应点集合,其中,上述第一对应点集合包括上述点云集合中各点与三维手部模型表面的对应点,上述第二对应点集合包括三维手部模型与深度图像的二维轮廓的对应点;构建单元303,被配置成根据上述第一对应点集合和上述第二对应点集合构建约束方程;生成单元304,被配置成根据上述约束方程,生成跟踪姿态结果。As shown in FIG. 3 , an
在一些实施例的可选实现方式中,生成跟踪姿态结果的装置300的分割单元301被进一步配置成:对上述图像进行过滤,得到手部腕带标记物区域对应的像素点集合;确定上述像素点集合内像素点在深度图像中对应深度值的平均值;确定深度图像中深度值与上述平均值的差值小于预定阈值的像素点作为小臂及手部区域像素点,以及获取上述像素点对应的三维点云点集;基于上述像素点集合和上述三维点云点集确定分割区域;将上述点云点集和上述像素点集合在上述分割区域中的点作为手部分割结果。In an optional implementation of some embodiments, the
在一些实施例的可选实现方式中,生成跟踪姿态结果的装置300的确定单元302被进一步配置成:将上述三维手部模型进行正交投影,得到模型轮廓;在上述模型轮廓上进行采样,得到轮廓点集合;对于上述轮廓点集合中的每一个点,确定上述点在上述深度图像的轮廓中最近的对应点作为第二对应点,得到第二对应点集合。In an optional implementation of some embodiments, the determining
在一些实施例的可选实现方式中,上述约束方程包括以下至少一项:手部跟踪的空间约束方程、姿态约束方程和时序约束方程。In an optional implementation manner of some embodiments, the constraint equations include at least one of the following: a space constraint equation for hand tracking, an attitude constraint equation, and a timing constraint equation.
在一些实施例的可选实现方式中,生成跟踪姿态结果的装置300的构建单元303被进一步配置成:对于第一对应点集合和点云集合的每一对对应点,确定上述一对对应点的坐标差和手部三维模型中第一对应点位置关于各姿态参数的雅可比矩阵;根据上述坐标差和上述雅可比矩阵构建空间约束方程。In an optional implementation of some embodiments, the
在一些实施例的可选实现方式中,生成跟踪姿态结果的装置300的生成304进一步配置成:将上述约束方程转化为数学方程形式,其中,上述约束方程转换为数学方程形式后能够求解;对转换后的约束方程进行求解,得到跟踪姿态结果。In an optional implementation of some embodiments, the generating 304 of the
下面参考图4,其示出了适于用来实现本公开的一些实施例的电子设备(例如图1中的服务器)400的结构示意图。图4示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。Referring now to FIG. 4 , it shows a schematic structural diagram of an electronic device (such as the server in FIG. 1 ) 400 suitable for implementing some embodiments of the present disclosure. The electronic device shown in FIG. 4 is only an example, and should not limit the functions and scope of use of the embodiments of the present disclosure.
如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。As shown in FIG. 4, an electronic device 400 may include a processing device (such as a central processing unit, a graphics processing unit, etc.) 401, which may be randomly accessed according to a program stored in a read-only memory (ROM) 402 or loaded from a storage device 408. Various appropriate actions and processes are executed by programs in the memory (RAM) 403 . In the RAM 403, various programs and data necessary for the operation of the electronic device 400 are also stored. The processing device 401 , ROM 402 and RAM 403 are connected to each other through a bus 404 . An input/output (I/O) interface 405 is also connected to bus 404 .
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图4中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。Typically, the following devices can be connected to the I/O interface 405: input devices 406 including, for example, a touch screen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; including, for example, a liquid crystal display (LCD), speaker, vibration an output device 407 such as a computer; a storage device 408 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 409. The communication means 409 may allow the electronic device 400 to perform wireless or wired communication with other devices to exchange data. While FIG. 4 shows electronic device 400 having various means, it should be understood that implementing or having all of the means shown is not a requirement. More or fewer means may alternatively be implemented or provided. Each block shown in FIG. 4 may represent one device, or may represent multiple devices as required.
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开的一些实施例的方法中限定的上述功能。In particular, according to some embodiments of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, some embodiments of the present disclosure include a computer program product, which includes a computer program carried on a computer-readable medium, where the computer program includes program codes for executing the methods shown in the flowcharts. In some such embodiments, the computer program may be downloaded and installed from a network via communication means 409 , or from storage means 408 , or from ROM 402 . When the computer program is executed by the processing device 401, the above-mentioned functions defined in the methods of some embodiments of the present disclosure are performed.
需要说明的是,本公开的一些实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。It should be noted that the above-mentioned computer-readable medium in some embodiments of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, electrical connections with one or more wires, portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable Programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above. In some embodiments of the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In some embodiments of the present disclosure, however, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code therein. Such propagated data signals may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which can transmit, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device . Program code embodied on a computer readable medium may be transmitted by any appropriate medium, including but not limited to wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。In some embodiments, the client and the server can communicate using any currently known or future-developed network protocols such as HTTP (HyperText Transfer Protocol, Hypertext Transfer Protocol), and can communicate with digital data in any form or medium (eg, communication network) interconnections. Examples of communication networks include local area networks ("LANs"), wide area networks ("WANs"), internetworks (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network of.
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:根据图像中腕带标记物的颜色特征和手部上臂形态特征,将深度图像中的手部区域进行分割,获得点云集合;基于上述点云集合和三维手部模型,确定第一对应点集合和第二对应点集合,其中,上述第一对应点集合包括上述点云集合中各点与三维手部模型表面的对应点,上述第二对应点集合包括三维手部模型与深度图像的二维轮廓的对应点;根据上述第一对应点集合和上述第二对应点集合构建约束方程;根据上述约束方程,生成跟踪姿态结果..。The above-mentioned computer-readable medium may be included in the above-mentioned electronic device, or may exist independently without being incorporated into the electronic device. The above-mentioned computer-readable medium carries one or more programs. When the above-mentioned one or more programs are executed by the electronic device, the electronic device: Segmenting the hand region in the depth image to obtain a set of point clouds; based on the set of point clouds and the three-dimensional hand model, determining a first set of corresponding points and a set of second corresponding points, wherein the set of first corresponding points includes the above-mentioned points Corresponding points between each point in the cloud set and the surface of the three-dimensional hand model, the second set of corresponding points includes corresponding points between the three-dimensional hand model and the two-dimensional contour of the depth image; according to the first set of corresponding points and the second set of corresponding points Set up the constraint equations; according to the above constraint equations, generate tracking pose results...
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。Computer program code for carrying out operations of some embodiments of the present disclosure may be written in one or more programming languages, or combinations thereof, including object-oriented programming languages—such as Java, Smalltalk, C++, Also included are conventional procedural programming languages - such as the "C" language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (for example, using an Internet service provider to connected via the Internet).
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, program segment, or portion of code that contains one or more logical functions for implementing specified executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or they may sometimes be executed in the reverse order, depending upon the functionality involved. It should also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by a dedicated hardware-based system that performs the specified functions or operations , or may be implemented by a combination of dedicated hardware and computer instructions.
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括分割单元、确定单元、构建单元和生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,分割单元还可以被描述为“根据图像中腕带标记物的颜色特征和手部上臂形态特征,将深度图像中的手部区域进行分割,获得点云集合的单元”。The units described in some embodiments of the present disclosure may be realized by software or by hardware. The described units may also be set in a processor, for example, it may be described as: a processor includes a division unit, a determination unit, a construction unit and a generation unit. Among them, the names of these units do not constitute a limitation of the unit itself in some cases. For example, the segmentation unit can also be described as "according to the color characteristics of the wristband markers in the image and the morphological characteristics of the upper arm of the hand, the depth The hand region in the image is segmented to obtain the unit of the point cloud set".
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。The functions described herein above may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), System on Chips (SOCs), Complex Programmable Logical device (CPLD) and so on.
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。The above descriptions are only some preferred embodiments of the present disclosure and illustrations of the applied technical principles. Those skilled in the art should understand that the scope of the invention involved in the embodiments of the present disclosure is not limited to the technical solution formed by the specific combination of the above-mentioned technical features, but also covers the above-mentioned invention without departing from the above-mentioned inventive concept. Other technical solutions formed by any combination of technical features or equivalent features. For example, a technical solution formed by replacing the above-mentioned features with technical features having similar functions disclosed in (but not limited to) the embodiments of the present disclosure.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911197449.0ACN112883757B (en) | 2019-11-29 | 2019-11-29 | Method for generating tracking attitude result |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911197449.0ACN112883757B (en) | 2019-11-29 | 2019-11-29 | Method for generating tracking attitude result |
| Publication Number | Publication Date |
|---|---|
| CN112883757A CN112883757A (en) | 2021-06-01 |
| CN112883757Btrue CN112883757B (en) | 2023-03-24 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201911197449.0AActiveCN112883757B (en) | 2019-11-29 | 2019-11-29 | Method for generating tracking attitude result |
| Country | Link |
|---|---|
| CN (1) | CN112883757B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114556446A (en)* | 2021-12-30 | 2022-05-27 | 焦旭 | Electronic equipment, hand pressing depth detection method and system and wearable equipment |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102800103B (en)* | 2012-06-18 | 2015-02-18 | 清华大学 | Unmarked motion capturing method and device based on multi-visual angle depth camera |
| CN107066935B (en)* | 2017-01-25 | 2020-11-24 | 网易(杭州)网络有限公司 | Hand posture estimation method and device based on deep learning |
| CN107742102B (en)* | 2017-10-13 | 2020-03-24 | 北京华捷艾米科技有限公司 | Gesture recognition method based on depth sensor |
| CN108629831B (en)* | 2018-04-10 | 2021-03-12 | 清华大学 | 3D Human Body Reconstruction Method and System Based on Parametric Human Template and Inertial Measurement |
| CN108629801B (en)* | 2018-05-14 | 2020-11-24 | 华南理工大学 | A three-dimensional human model pose and shape reconstruction method for video sequences |
| CN109900338B (en)* | 2018-12-25 | 2020-09-01 | 西安中科天塔科技股份有限公司 | Method and device for measuring volume of pavement pit |
| Publication number | Publication date |
|---|---|
| CN112883757A (en) | 2021-06-01 |
| Publication | Publication Date | Title |
|---|---|---|
| CN111967339B (en) | Method and apparatus for planning a path of a drone | |
| CN112733820B (en) | Obstacle information generation method, apparatus, electronic device and computer readable medium | |
| CN113327318B (en) | Image display method, image display device, electronic equipment and computer readable medium | |
| CN114399589B (en) | Three-dimensional lane line generation method, apparatus, electronic device and computer readable medium | |
| CN116182878B (en) | Road curved surface information generation method, device, equipment and computer readable medium | |
| CN113205601A (en) | Roaming path generation method and device, storage medium and electronic equipment | |
| WO2023029893A1 (en) | Texture mapping method and apparatus, device and storage medium | |
| CN114419298A (en) | Virtual object generation method, device, equipment and storage medium | |
| CN116596748A (en) | Image stylization processing method, apparatus, device, storage medium, and program product | |
| CN116311409A (en) | Three-dimensional face key point detection method and device, electronic equipment and storage medium | |
| WO2023103999A1 (en) | 3d target point rendering method and apparatus, and device and storage medium | |
| CN112883757B (en) | Method for generating tracking attitude result | |
| CN115471477A (en) | Scanning data denoising method, scanning device, scanning equipment and medium | |
| CN114399590A (en) | Face occlusion removal and three-dimensional model generation method based on face analysis graph | |
| CN114627529A (en) | Image generation method, apparatus, electronic device and computer readable medium | |
| CN114332224A (en) | Method, device, device and storage medium for generating 3D target detection samples | |
| CN114529452A (en) | Method and device for displaying image and electronic equipment | |
| WO2022083213A1 (en) | Image generation method and apparatus, and device and computer-readable medium | |
| WO2024174871A1 (en) | Image processing method and apparatus, device, and medium | |
| CN112884794B (en) | Image generation method, device, electronic equipment and computer readable medium | |
| CN115880719A (en) | Gesture depth information generation method, device, device and computer readable medium | |
| CN114723933A (en) | Region information generation method and device, electronic equipment and computer readable medium | |
| CN113808050B (en) | Denoising method, device and equipment for 3D point cloud and storage medium | |
| CN117197186B (en) | Multi-mode fusion target tracking method and device based on situation awareness and electronic equipment | |
| CN114863025B (en) | Three-dimensional lane line generation method, device, electronic device and computer readable medium |
| 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 |