CN114596476A - Key point detection model training method, key point detection method and device - Google Patents

Key point detection model training method, key point detection method and device Download PDF

Info

Publication number
CN114596476A
CN114596476A CN202210239623.9A CN202210239623A CN114596476A CN 114596476 A CN114596476 A CN 114596476A CN 202210239623 A CN202210239623 A CN 202210239623A CN 114596476 A CN114596476 A CN 114596476A
Authority
CN
China
Prior art keywords
key points
detection model
keypoints
point
auxiliary 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.)
Pending
Application number
CN202210239623.9A
Other languages
Chinese (zh)
Inventor
宫延河
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202210239623.9A priority Critical patent/CN114596476A/en
Publication of CN114596476A publication Critical patent/CN114596476A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本公开提供了一种关键点检测模型的训练方法、关键点检测方法及装置,涉及人工智能技术领域,尤其涉及计算机视觉、深度学习、增强现实技术领域。实现方案为:获取目标对象的样本图像,所述目标对象包括多个关键点和与所述多个关键点具有预设位置关系的至少一个辅助点;将所述样本图像输入所述关键点检测模型,以得到所述关键点检测模型输出的多个预测关键点;基于所述多个预测关键点和所述预设位置关系,确定至少一个预测辅助点;基于所述多个关键点、所述至少一个辅助点、所述多个预测关键点和所述至少一个预测辅助点,确定所述关键点检测模型的损失值;以及基于所述损失值,调整所述关键点检测模型的参数。

Figure 202210239623

The present disclosure provides a training method for a key point detection model, a key point detection method, and a device, which relate to the technical field of artificial intelligence, and in particular, to the technical fields of computer vision, deep learning, and augmented reality. The implementation scheme is: acquiring a sample image of a target object, the target object including multiple key points and at least one auxiliary point having a preset positional relationship with the multiple key points; inputting the sample image into the key point detection model to obtain multiple predicted key points output by the key point detection model; based on the multiple predicted key points and the preset positional relationship, determine at least one prediction auxiliary point; based on the multiple key points, all The at least one auxiliary point, the plurality of prediction key points, and the at least one prediction auxiliary point are used to determine a loss value of the key point detection model; and based on the loss value, parameters of the key point detection model are adjusted.

Figure 202210239623

Description

关键点检测模型的训练方法、关键点检测方法及装置Training method of key point detection model, key point detection method and device

技术领域technical field

本公开涉及人工智能技术领域,尤其涉及计算机视觉、深度学习、增强现实技术领域,具体涉及一种关键点检测模型的训练方法及装置、关键点检测方法及装置、电子设备、计算机可读存储介质和计算机程序产品。The present disclosure relates to the technical field of artificial intelligence, in particular to the technical fields of computer vision, deep learning, and augmented reality, and in particular to a training method and device for a key point detection model, a key point detection method and device, electronic equipment, and computer-readable storage media and computer program products.

背景技术Background technique

人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术:人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。Artificial intelligence is the study of making computers to simulate certain thinking processes and intelligent behaviors of people (such as learning, reasoning, thinking, planning, etc.), both hardware-level technology and software-level technology. AI hardware technologies generally include technologies such as sensors, dedicated AI chips, cloud computing, distributed storage, and big data processing: AI software technologies mainly include computer vision technology, speech recognition technology, natural language processing technology, and machine learning/depth Learning, big data processing technology, knowledge graph technology and other major directions.

关键点检测是计算机视觉领域的一种计算任务,用于检测图像中的目标对象的关键点,例如人体关节点、障碍物的轮廓点等。关键点检测技术被广泛应用于诸如姿态估计、目标跟踪、自动驾驶等场景中。Keypoint detection is a computational task in the field of computer vision, which is used to detect keypoints of target objects in images, such as human joint points, contour points of obstacles, etc. Keypoint detection techniques are widely used in scenarios such as pose estimation, target tracking, and autonomous driving.

在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。The approaches described in this section are not necessarily approaches that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section. Similarly, unless otherwise indicated, the issues raised in this section should not be considered to be recognized in any prior art.

发明内容SUMMARY OF THE INVENTION

本公开提供了一种关键点检测模型的训练方法及装置、关键点检测方法及装置、电子设备、计算机可读存储介质和计算机程序产品。The present disclosure provides a training method and apparatus for a key point detection model, a key point detection method and apparatus, an electronic device, a computer-readable storage medium, and a computer program product.

根据本公开的一方面,提供了一种关键点检测模型的训练方法,包括:获取目标对象的样本图像,所述目标对象包括多个关键点和与所述多个关键点具有预设位置关系的至少一个辅助点;将所述样本图像输入所述关键点检测模型,以得到所述关键点检测模型输出的多个预测关键点;基于所述多个预测关键点和所述预设位置关系,确定至少一个预测辅助点;基于所述多个关键点、所述至少一个辅助点、所述多个预测关键点和所述至少一个预测辅助点,确定所述关键点检测模型的损失值;以及基于所述损失值,调整所述关键点检测模型的参数。According to an aspect of the present disclosure, a method for training a keypoint detection model is provided, including: acquiring a sample image of a target object, where the target object includes a plurality of keypoints and has a preset positional relationship with the plurality of keypoints at least one auxiliary point; input the sample image into the keypoint detection model to obtain multiple predicted keypoints output by the keypoint detection model; based on the multiple predicted keypoints and the preset positional relationship , determine at least one prediction auxiliary point; based on the multiple key points, the at least one auxiliary point, the multiple prediction key points and the at least one prediction auxiliary point, determine the loss value of the key point detection model; and adjusting parameters of the keypoint detection model based on the loss value.

根据本公开的一方面,提供了一种关键点检测方法,包括:将目标对象的待检测图像输入关键点检测模型,所述关键点检测模型是根据上述关键点检测模型的训练方法得到的;以及获取所述关键点检测模型输出的所述目标对象的多个关键点。According to an aspect of the present disclosure, a key point detection method is provided, comprising: inputting an image to be detected of a target object into a key point detection model, where the key point detection model is obtained according to the above-mentioned training method of the key point detection model; and acquiring multiple key points of the target object output by the key point detection model.

根据本公开的一方面,提供了一种关键点检测模型的训练装置,包括:获取模块,被配置为获取目标对象的样本图像,所述目标对象包括多个关键点和与所述多个关键点具有预设位置关系的至少一个辅助点;输入输出模块,被配置为将所述样本图像输入所述关键点检测模型,以得到所述关键点检测模型输出的多个预测关键点;第一确定模块,被配置为基于所述多个预测关键点和所述预设位置关系,确定至少一个预测辅助点;第二确定模块,被配置为基于所述多个关键点、所述至少一个辅助点、所述多个预测关键点和所述至少一个预测辅助点,确定所述关键点检测模型的损失值;以及调整模块,被配置为基于所述损失值,调整所述关键点检测模型的参数。According to an aspect of the present disclosure, there is provided a training device for a keypoint detection model, comprising: an acquisition module configured to acquire a sample image of a target object, the target object including a plurality of keypoints and a correlation with the plurality of keypoints The point has at least one auxiliary point with a preset positional relationship; the input and output module is configured to input the sample image into the key point detection model to obtain a plurality of predicted key points output by the key point detection model; the first a determination module, configured to determine at least one prediction auxiliary point based on the multiple prediction key points and the preset positional relationship; a second determination module, configured to determine at least one prediction auxiliary point based on the multiple key points, the at least one auxiliary point point, the plurality of predicted keypoints, and the at least one predictive auxiliary point, determining a loss value of the keypoint detection model; and an adjustment module configured to adjust the keypoint detection model based on the loss value parameter.

根据本公开的一方面,提供了一种关键点检测装置,包括:输入模块,被配置为将目标对象的待检测图像输入关键点检测模型,所述关键点检测模型是根据上述关键点检测模型的训练装置得到的;以及获取模块,被配置为获取所述关键点检测模型输出的所述目标对象的多个关键点。According to an aspect of the present disclosure, there is provided a keypoint detection apparatus, comprising: an input module configured to input an image to be detected of a target object into a keypoint detection model, where the keypoint detection model is based on the above-mentioned keypoint detection model and an acquisition module configured to acquire multiple key points of the target object output by the key point detection model.

根据本公开的一方面,提供了一种电子设备,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器,该存储器存储有可被上述至少一个处理器执行的指令,该指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行上述任一方面的方法。According to an aspect of the present disclosure, there is provided an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor, the memory storing instructions executable by the at least one processor, the instructions Executed by the at least one processor to enable the at least one processor to perform the method of any of the above aspects.

根据本公开的一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行上述任一方面的方法。According to one aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the method of any of the above-described aspects.

根据本公开的一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述任一方面的方法。According to an aspect of the present disclosure, there is provided a computer program product comprising a computer program which, when executed by a processor, implements the method of any of the above-mentioned aspects.

根据本公开的一个或多个实施例,能够提高关键点检测的准确性。According to one or more embodiments of the present disclosure, the accuracy of keypoint detection can be improved.

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。It should be understood that what is described in this section is not intended to identify key or critical features of embodiments of the disclosure, nor is it intended to limit the scope of the disclosure. Other features of the present disclosure will become readily understood from the following description.

附图说明Description of drawings

附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。The accompanying drawings illustrate the embodiments by way of example and constitute a part of the specification, and together with the written description of the specification serve to explain exemplary implementations of the embodiments. The shown embodiments are for illustrative purposes only and do not limit the scope of the claims. Throughout the drawings, the same reference numbers refer to similar but not necessarily identical elements.

图1示出了根据本公开实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;1 shows a schematic diagram of an exemplary system in which various methods described herein may be implemented, according to embodiments of the present disclosure;

图2示出了根据本公开实施例的关键点检测模型的训练方法的流程图;2 shows a flowchart of a training method for a keypoint detection model according to an embodiment of the present disclosure;

图3示出了根据本公开实施例的样本图像的示意图;FIG. 3 shows a schematic diagram of a sample image according to an embodiment of the present disclosure;

图4A-4D示出了四种不同预设位置关系下的关键点和辅助点的示意图;4A-4D show schematic diagrams of key points and auxiliary points under four different preset positional relationships;

图5示出了根据本公开实施例的关键点检测方法的流程图;5 shows a flowchart of a key point detection method according to an embodiment of the present disclosure;

图6示出了根据本公开实施例的关键点检测模型的训练装置的结构框图;6 shows a structural block diagram of a training device for a keypoint detection model according to an embodiment of the present disclosure;

图7示出了根据本公开实施例的关键点检测装置的结构框图;以及FIG. 7 shows a structural block diagram of a key point detection apparatus according to an embodiment of the present disclosure; and

图8示出了能够用于实现本公开实施例的示例性电子设备的结构框图。FIG. 8 shows a block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure.

具体实施方式Detailed ways

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding and should be considered as exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope of the present disclosure. Also, descriptions of well-known functions and constructions are omitted from the following description for clarity and conciseness.

在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。In the present disclosure, unless otherwise specified, the use of the terms "first", "second", etc. to describe various elements is not intended to limit the positional relationship, timing relationship or importance relationship of these elements, and such terms are only used for Distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of the element, while in some cases they may refer to different instances based on the context of the description.

在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。The terminology used in the description of the various described examples in this disclosure is for the purpose of describing particular examples only and is not intended to be limiting. Unless the context clearly dictates otherwise, if the number of an element is not expressly limited, the element may be one or more. Furthermore, as used in this disclosure, the term "and/or" covers any and all possible combinations of the listed items.

关键点检测技术被广泛应用于多种场景中。例如,在增强现实(AugmentedReality,AR)的虚拟试鞋场景中,可以采集用户脚部的图像,对该图像进行关键点检测,从中识别出脚部关键点,然后基于识别出的脚部关键点并确定用户脚部的姿态,将用户感兴趣的鞋渲染至用户脚部图像上,以向用户展示该鞋的穿着效果。又例如,在自动驾驶场景中,可以对车辆采集到的图像进行关键点检测,从中识别出车道导向箭头、停车位、障碍物等目标对象的关键点,然后基于识别出的关键点,实现自动变道、自主泊车、避让障碍物等功能。Keypoint detection techniques are widely used in a variety of scenarios. For example, in the augmented reality (AR) virtual shoe test scene, an image of the user's foot can be collected, key points of the image can be detected, and the key points of the foot can be identified from the image, and then based on the identified key points of the foot And determine the posture of the user's feet, and render the shoes that the user is interested in on the image of the user's feet, so as to show the wearing effect of the shoes to the user. For another example, in an autonomous driving scenario, key points of the images collected by the vehicle can be detected, and key points of target objects such as lane guidance arrows, parking spaces, obstacles, etc. can be identified, and then based on the identified key points, automatic Lane change, autonomous parking, obstacle avoidance and other functions.

相关技术中,通常采用基于深度学习的关键点检测技术来检测图像中的目标对象的关键点。即,将图像输入关键点检测模型,关键点检测模型输出图像中的目标对象的关键点。但是,常常出现目标对象的部分关键点被图像中的其他对象遮挡而不可见(但关键点仍在图像中),或者目标对象的部分关键点被截断(即关键点不在图像中)的情况。例如,在虚拟试鞋场景中,用户脚部图像中的脚踝关键点很可能被用户当前穿着的鞋、裤脚或用户的肢体所遮挡;用户的脚趾关键点可能被截断,即未被拍摄入图像中。又例如,在自动驾驶场景中,车辆采集的路面图像中的导向箭头的部分关键点可能被路面上的其他车辆或飘浮物(例如纸片、树叶等)所遮挡。在上述情况下,模型输出的关键点通常误差较大,不够准确。In the related art, the key point detection technology based on deep learning is usually used to detect the key points of the target object in the image. That is, the image is input to the keypoint detection model, and the keypoint detection model outputs the keypoints of the target object in the image. However, it often happens that some keypoints of the target object are occluded by other objects in the image and are not visible (but the keypoints are still in the image), or some keypoints of the target object are truncated (that is, the keypoints are not in the image). For example, in a virtual shoe trial scenario, the key points of the ankle in the user's foot image are likely to be occluded by the user's current shoes, trousers or the user's limbs; the key points of the user's toes may be truncated, that is, not captured in the image. middle. For another example, in an autonomous driving scenario, some key points of a guide arrow in a road image collected by a vehicle may be occluded by other vehicles or floating objects (such as pieces of paper, leaves, etc.) on the road. In the above cases, the key points output by the model usually have large errors and are not accurate enough.

针对上述问题,本公开提供一种关键点检测模型的训练方法以及关键点检测方法,以提高关键点检测的准确性。在图像中的部分关键点被遮挡的情况下,仍能准确检测出这些被遮挡的关键点的位置;在部分关键点被截断的情况下,仍能准确检测出图像中的关键点(即未被截断的关键点)的位置。In view of the above problems, the present disclosure provides a training method for a key point detection model and a key point detection method, so as to improve the accuracy of key point detection. When some key points in the image are occluded, the positions of these occluded key points can still be accurately detected; when some key points are truncated, the key points in the image (that is, not truncated keypoints).

下面将结合附图详细描述本公开的实施例。Embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.

图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括一个或多个客户端设备101、102、103、104、105和106、服务器120以及将一个或多个客户端设备耦接到服务器120的一个或多个通信网络110。客户端设备101、102、103、104、105和106可以被配置为执行一个或多个应用程序。1 shows a schematic diagram of an exemplary system 100 in which the various methods and apparatuses described herein may be implemented in accordance with embodiments of the present disclosure. Referring to FIG. 1 , the system 100 includes one or more client devices 101 , 102 , 103 , 104 , 105 and 106 , a server 120 , and one or more communication networks coupling the one or more client devices to the server 120 110. Client devices 101, 102, 103, 104, 105, and 106 may be configured to execute one or more applications.

在本公开的实施例中,服务器120可以运行使得能够执行关键点检测模型的训练方法和/或关键点检测方法的一个或多个服务或软件应用。In an embodiment of the present disclosure, the server 120 may run one or more services or software applications that enable the training method of the keypoint detection model and/or the keypoint detection method to be performed.

在某些实施例中,服务器120还可以提供可以包括非虚拟环境和虚拟环境的其他服务或软件应用。在某些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(SaaS)模型下提供给客户端设备101、102、103、104、105和/或106的用户。In some embodiments, server 120 may also provide other services or software applications that may include non-virtual and virtual environments. In some embodiments, these services may be provided as web-based services or cloud services, eg, provided to users of client devices 101, 102, 103, 104, 105, and/or 106 under a software-as-a-service (SaaS) model .

在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。操作客户端设备101、102、103、104、105和/或106的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。In the configuration shown in FIG. 1 , server 120 may include one or more components that implement the functions performed by server 120 . These components may include software components executable by one or more processors, hardware components, or a combination thereof. Users operating client devices 101, 102, 103, 104, 105, and/or 106 may in turn utilize one or more client applications to interact with server 120 to utilize the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from system 100 . Accordingly, FIG. 1 is one example of a system for implementing the various methods described herein, and is not intended to be limiting.

用户可以使用客户端设备101、102、103、104、105和/或106来进行导航。客户端设备可以提供使客户端设备的用户能够与客户端设备进行交互的接口。客户端设备还可以经由该接口向用户输出信息。尽管图1仅描绘了六种客户端设备,但是本领域技术人员将能够理解,本公开可以支持任何数量的客户端设备。A user may use client devices 101 , 102 , 103 , 104 , 105 and/or 106 to navigate. A client device may provide an interface that enables a user of the client device to interact with the client device. The client device may also output information to the user via the interface. Although FIG. 1 depicts only six types of client devices, those skilled in the art will appreciate that the present disclosure may support any number of client devices.

客户端设备101、102、103、104、105和/或106可以包括各种类型的计算机设备,例如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)、工作站计算机、可穿戴设备、智能屏设备、自助服务终端设备、服务机器人、游戏系统、瘦客户端、各种消息收发设备、传感器或其他感测设备等。这些计算机设备可以运行各种类型和版本的软件应用程序和操作系统,例如MICROSOFT Windows、APPLE iOS、类UNIX操作系统、Linux或类Linux操作系统(例如GOOGLE Chrome OS);或包括各种移动操作系统,例如MICROSOFT WindowsMobile OS、iOS、Windows Phone、Android。便携式手持设备可以包括蜂窝电话、智能电话、平板电脑、个人数字助理(PDA)等。可穿戴设备可以包括头戴式显示器(诸如智能眼镜)和其他设备。游戏系统可以包括各种手持式游戏设备、支持互联网的游戏设备等。客户端设备能够执行各种不同的应用程序,例如各种与Internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(SMS)应用程序,并且可以使用各种通信协议。Client devices 101, 102, 103, 104, 105, and/or 106 may include various types of computer devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptop computers), workstation computers, wearable devices, Smart screen devices, self-service terminal devices, service robots, gaming systems, thin clients, various messaging devices, sensors or other sensing devices, etc. These computer devices may run various types and versions of software applications and operating systems, such as MICROSOFT Windows, APPLE iOS, UNIX-like operating systems, Linux or Linux-like operating systems (such as GOOGLE Chrome OS); or include various mobile operating systems , such as MICROSOFT WindowsMobile OS, iOS, Windows Phone, Android. Portable handheld devices may include cellular phones, smart phones, tablet computers, personal digital assistants (PDAs), and the like. Wearable devices may include head mounted displays (such as smart glasses) and other devices. Gaming systems may include various handheld gaming devices, Internet-enabled gaming devices, and the like. Client devices are capable of executing a variety of different applications, such as various Internet-related applications, communication applications (eg, e-mail applications), Short Message Service (SMS) applications, and may use various communication protocols.

网络110可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络110可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、Wi-Fi)和/或这些和/或其他网络的任意组合。Network 110 may be any type of network known to those skilled in the art that may support data communications using any of a variety of available protocols, including but not limited to TCP/IP, SNA, IPX, and the like. By way of example only, the one or more networks 110 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, Public Switched Telephone Network (PSTN), infrared networks, wireless networks (eg, Bluetooth, Wi-Fi), and/or any combination of these and/or other networks.

服务器120可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。Server 120 may include one or more general purpose computers, special purpose server computers (eg, PC (personal computer) servers, UNIX servers, midrange servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and/or combination . Server 120 may include one or more virtual machines running virtual operating systems, or other computing architectures that involve virtualization (eg, may be virtualized to maintain one or more flexible pools of logical storage devices of the server's virtual storage devices). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.

服务器120中的计算单元可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。The computing units in server 120 may run one or more operating systems including any of the operating systems described above, as well as any commercially available server operating systems. Server 120 may also run any of a variety of additional server applications and/or middle-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, and the like.

在一些实施方式中,服务器120可以包括一个或多个应用程序,以分析和合并从客户端设备101、102、103、104、105和106的用户接收的数据馈送和/或事件更新。服务器120还可以包括一个或多个应用程序,以经由客户端设备101、102、103、104、105和106的一个或多个显示设备来显示数据馈送和/或实时事件。In some implementations, server 120 may include one or more applications to analyze and consolidate data feeds and/or event updates received from users of client devices 101 , 102 , 103 , 104 , 105 , and 106 . Server 120 may also include one or more applications to display data feeds and/or real-time events via one or more display devices of client devices 101 , 102 , 103 , 104 , 105 , and 106 .

在一些实施方式中,服务器120可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器120也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。云服务器是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大、业务扩展性弱的缺陷。In some embodiments, the server 120 may be a server of a distributed system, or a server combined with a blockchain. The server 120 may also be a cloud server, or an intelligent cloud computing server or an intelligent cloud host with artificial intelligence technology. Cloud server is a host product in the cloud computing service system to solve the defects of difficult management and weak business expansion in traditional physical host and virtual private server (VPS, Virtual Private Server) services.

系统100还可以包括一个或多个数据库130。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库130中的一个或多个可用于存储诸如音乐文件的信息。数据库130可以驻留在各种位置。例如,由服务器120使用的数据库可以在服务器120本地,或者可以远离服务器120且可以经由基于网络或专用的连接与服务器120通信。数据库130可以是不同的类型。在某些实施例中,由服务器120使用的数据库例如可以是关系数据库或非关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。System 100 may also include one or more databases 130 . In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 130 may be used to store information such as music files. Database 130 may reside in various locations. For example, the database used by server 120 may be local to server 120, or may be remote from server 120 and may communicate with server 120 via a network-based or dedicated connection. Database 130 may be of different types. In some embodiments, the database used by server 120 may be, for example, a relational database or a non-relational database. One or more of these databases can store, update, and retrieve data to and from the databases in response to commands.

在某些实施例中,数据库130中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类型的数据库,例如键值存储库,对象存储库或由文件系统支持的常规存储库。In some embodiments, one or more of the databases 130 may also be used by applications to store application data. Databases used by applications can be different types of databases such as key-value stores, object stores, or regular stores backed by a file system.

图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。The system 100 of FIG. 1 may be configured and operated in various ways to enable application of the various methods and apparatus described in accordance with the present disclosure.

图2示出了根据本公开实施例的关键点检测模型的训练方法200的流程图。方法200通常在服务器(例如图1中所示的服务器120)处执行,也可以在客户端设备(例如图1中所示的客户端设备101、102、103、104、105和106)处执行。也即,方法200的各个步骤的执行主体可以是图1中所示的服务器120,也可以是客户端设备101、102、103、104、105和106。FIG. 2 shows a flowchart of a training method 200 of a keypoint detection model according to an embodiment of the present disclosure. Method 200 is typically performed at a server (eg, server 120 shown in FIG. 1 ), but may also be performed at client devices (eg, client devices 101 , 102 , 103 , 104 , 105 , and 106 shown in FIG. 1 ) . That is, the execution body of each step of the method 200 may be the server 120 shown in FIG. 1 , or may be the client devices 101 , 102 , 103 , 104 , 105 and 106 .

如图2所示,方法200包括步骤210-250。As shown in FIG. 2, method 200 includes steps 210-250.

在步骤210中,获取目标对象的样本图像,目标对象包括多个关键点和与多个关键点具有预设位置关系的至少一个辅助点。In step 210, a sample image of a target object is obtained, where the target object includes multiple key points and at least one auxiliary point having a preset positional relationship with the multiple key points.

在步骤220中,将样本图像输入关键点检测模型,以得到关键点检测模型输出的多个预测关键点。In step 220, the sample image is input into the keypoint detection model to obtain multiple predicted keypoints output by the keypoint detection model.

在步骤230中,基于多个预测关键点和预设位置关系,确定至少一个预测辅助点。In step 230, at least one prediction auxiliary point is determined based on the plurality of prediction key points and the preset positional relationship.

在步骤240中,基于多个关键点、至少一个辅助点、多个预测关键点和至少一个预测辅助点,确定关键点检测模型的损失值。In step 240, a loss value of the keypoint detection model is determined based on the plurality of keypoints, the at least one auxiliary point, the plurality of predicted keypoints, and the at least one predicted auxiliary point.

在步骤250中,基于损失值,调整关键点检测模型的参数。In step 250, the parameters of the keypoint detection model are adjusted based on the loss value.

根据本公开的实施例,除了标注目标对象的关键点之外,还标注了与关键点具有一定位置关系的辅助点。关键点和辅助点均参与损失值的计算。由于辅助点与关键点具有一定的位置关系,因此可以通过辅助点来表达关键点的空间位置信息,强化模型对关键点位置的学习,从而提高关键点检测的准确性。According to an embodiment of the present disclosure, in addition to the key points of the target object, auxiliary points having a certain positional relationship with the key points are also marked. Both key points and auxiliary points are involved in the calculation of the loss value. Since the auxiliary points have a certain positional relationship with the key points, the spatial position information of the key points can be expressed through the auxiliary points, which can strengthen the learning of the position of the key points by the model, thereby improving the accuracy of the key point detection.

根据本公开的实施例,多个关键点是能够表达目标对象特征的点,至少一个辅助点是基于多个关键点和预设位置关系来确定的。辅助点与关键点的预设位置关系可以有多种,例如,辅助点可以是位于连接两个关键点所形成的直线或线段的预设位置处的像素点,或者是连接两个关键点所形成的线段上的不同于多个关键点的任意点,等。According to an embodiment of the present disclosure, the multiple key points are points capable of expressing the characteristics of the target object, and at least one auxiliary point is determined based on the multiple key points and a preset positional relationship. There can be various preset positional relationships between auxiliary points and key points. For example, auxiliary points can be pixel points located at the preset positions of a straight line or line segment formed by connecting two key points, or a pixel that connects two key points. Any point on the formed line segment that differs from multiple keypoints, etc.

根据一些实施例,可以将样本图像中标注的多个关键点和至少一个辅助点作为真实值,将关键点检测模型输出的多个预测关键点和基于多个预测关键点所确定的至少一个预测辅助点作为预测值,通过将预测值与真实值作对比,可以计算出关键点检测模型的损失值。基于计算出的损失值,可以采用诸如反向传播算法来调整关键点检测模型的参数,进而得到经训练的关键点检测模型。According to some embodiments, multiple key points and at least one auxiliary point marked in the sample image may be used as real values, and multiple predicted key points output by the key point detection model and at least one prediction determined based on the multiple predicted key points may be used as real values. The auxiliary point is used as the predicted value, and the loss value of the key point detection model can be calculated by comparing the predicted value with the real value. Based on the calculated loss value, parameters of the keypoint detection model can be adjusted using, for example, a back-propagation algorithm, thereby obtaining a trained keypoint detection model.

以下对本公开实施例的目标对象、样本图像、多个关键点、预设位置关系以及至少一个辅助点进行详细说明。A target object, a sample image, a plurality of key points, a preset positional relationship, and at least one auxiliary point in the embodiments of the present disclosure will be described in detail below.

在本公开的实施例中,目标对象指的是待进行关键点检测的对象。例如,在虚拟试鞋场景中,目标对象可以是用户的脚部。在自动驾驶场景中,目标对象可以是导向箭头、停车位、障碍物等。In the embodiment of the present disclosure, the target object refers to an object to be subjected to key point detection. For example, in a virtual shoe fitting scene, the target object may be the user's foot. In autonomous driving scenarios, the target objects can be guide arrows, parking spaces, obstacles, etc.

样本图像是包含目标对象的图像。例如,在虚拟试鞋场景中,样本图像可以是包含用户脚部的图像。在自动驾驶场景中,样本图像可以是包含导向箭头的路面图像。A sample image is an image that contains the target object. For example, in a virtual shoe fitting scenario, the sample image may be an image containing the user's foot. In an autonomous driving scenario, the sample image can be a road surface image containing guiding arrows.

图3示出了根据本公开实施例的样本图像300的示意图。如图3所示,样本图像300为路面图像,该图像包含导向箭头310(即目标对象)。FIG. 3 shows a schematic diagram of a sample image 300 according to an embodiment of the present disclosure. As shown in FIG. 3 , the sample image 300 is a road surface image that includes a guide arrow 310 (ie, a target object).

在本公开的实施例中,关键点是能够表达目标对象特征的点。关键点通常位于目标对象的特定部位。关键点的数量和对应的目标对象的部位可以由本领域技术人员根据实际应用场景来设定。例如,在虚拟试鞋场景中,目标对象可以是用户的脚部,关键点可以包括内侧脚踝关节点、外侧脚踝关节点、脚后跟点、脚趾点、脚面与腿部的连接点等。In the embodiment of the present disclosure, the key point is a point that can express the characteristics of the target object. Keypoints are usually located at specific parts of the target object. The number of key points and the corresponding parts of the target object can be set by those skilled in the art according to actual application scenarios. For example, in a virtual shoe trial scene, the target object may be the user's foot, and the key points may include the medial ankle joint point, lateral ankle joint point, heel point, toe point, connection point between the instep and the leg, etc.

在本公开的实施例中,样本图像标注有目标对象的多个关键点。In an embodiment of the present disclosure, the sample image is annotated with a plurality of key points of the target object.

根据一些实施例,样本图像中还标注有多个关键点之间的相邻关系。例如,在人体姿态检测的应用场景中,人体(即目标对象)的关键点包括肩关节点、肘关节点、腕关节点、膝关节点等,其中,肩关节点与肘关节点相邻,肘关节点与腕关节点相邻。According to some embodiments, the sample image is also marked with adjacent relationships between multiple key points. For example, in the application scenario of human pose detection, the key points of the human body (that is, the target object) include shoulder joint points, elbow joint points, wrist joint points, knee joint points, etc., wherein the shoulder joint point is adjacent to the elbow joint point, The elbow joint point is adjacent to the wrist joint point.

在本公开的实施例中,样本图像还标注有和与多个关键点具有预设位置关系的至少一个辅助点。辅助点的数量可以由本领域技术人员参考实际应用场景来确定,本公开对此不作限制。In an embodiment of the present disclosure, the sample image is further marked with at least one auxiliary point having a preset positional relationship with the plurality of key points. The number of auxiliary points can be determined by those skilled in the art with reference to actual application scenarios, which is not limited in the present disclosure.

在本公开的实施例中,至少一个辅助点是基于多个关键点和预设位置关系来确定的。辅助点与关键点的预设位置关系可以有多种。本公开不限制预设位置关系的具体形式,只要根据该预设位置关系和给定的多个关键点,能够确定至少一个辅助点即可。In an embodiment of the present disclosure, at least one auxiliary point is determined based on a plurality of key points and a preset positional relationship. There are various preset positional relationships between auxiliary points and key points. The present disclosure does not limit the specific form of the preset positional relationship, as long as at least one auxiliary point can be determined according to the preset positional relationship and a plurality of given key points.

图4A-4D示出了在给定目标对象410的关键点A、B、C、D的情况下,根据四种不同的预设位置关系所得到的辅助点的示意图。下文将结合相应的实施例对图4A-4D中的辅助点确定方式进行描述。4A-4D show schematic diagrams of auxiliary points obtained according to four different preset positional relationships given the key points A, B, C, and D of the target object 410 . The manner of determining the auxiliary points in FIGS. 4A-4D will be described below with reference to the corresponding embodiments.

根据一些实施例,至少一个辅助点中的任一辅助点位于由多个关键点中的相应的两个关键点所形成的直线上。具体地,一个辅助点可以位于由两个关键点所形成的直线上的任意的指定位置,例如,位于两个关键点所形成的线段上的指定位置(例如中点处),或者位于两个关键点所形成的线段的延长线上的指定位置。基于上述实施例,能够便于辅助点的定位和计算,即,基于给定的多个关键点,能够快速确定各个辅助点。According to some embodiments, any one of the at least one auxiliary point lies on a line formed by corresponding two of the plurality of key points. Specifically, an auxiliary point may be located at any specified position on a line formed by two key points, for example, at a specified position (eg, the midpoint) on a line segment formed by two key points, or at a specified position on a line segment formed by two key points. The specified location on the extension of the line segment formed by the keypoint. Based on the above embodiments, the positioning and calculation of auxiliary points can be facilitated, that is, each auxiliary point can be quickly determined based on a plurality of given key points.

需要说明的是,在本公开的实施例中,用于连接形成直线(或线段)的相应的两个关键点可以是多个关键点中的任意两个关键点。在样本图像中标注有多个关键点之间的相邻关系的情况下,用于连接形成直线的相应的两个关键点也可以是相邻的两个关键点。It should be noted that, in the embodiments of the present disclosure, the corresponding two key points for connecting to form a straight line (or line segment) may be any two key points among multiple key points. In the case where the adjacent relationship between multiple key points is marked in the sample image, the corresponding two key points used for connecting to form a straight line may also be two adjacent key points.

图4A示出了根据上述实施例对样本图像中的目标对象进行标注所得到的关键点和辅助点的示意图。其中,关键点采用实心矩形点和大写字母表示,辅助点采用阴影矩形点和小写字母表示。如图4A所示,导向箭头410(即目标对象)包括四个关键点A、B、C、D以及两个辅助点a、b。辅助点a位于关键点B、D所形成的线段BD的延长线上,并且到关键点B的距离为线段BD长度的1/2。辅助点b位于关键点B、C所形成的线段BC的中点处。FIG. 4A shows a schematic diagram of key points and auxiliary points obtained by annotating a target object in a sample image according to the above embodiment. Among them, the key points are represented by solid rectangular points and uppercase letters, and the auxiliary points are represented by shaded rectangular points and lowercase letters. As shown in FIG. 4A , the guide arrow 410 (ie, the target object) includes four key points A, B, C, D and two auxiliary points a, b. The auxiliary point a is located on the extension line of the line segment BD formed by the key points B and D, and the distance from the key point B is 1/2 of the length of the line segment BD. The auxiliary point b is located at the midpoint of the line segment BC formed by the key points B and C.

根据一些实施例,在上述实施例的基础上,进一步地,至少一个辅助点中的任一辅助点位于由多个关键点中的相应的两个关键点所形成的线段上,而不是位于线段的延长线上。由此,所有的辅助点均位于连接关键点所形成的线段上,从而更加便于辅助点的定位和计算,避免辅助点溢出图像(即位于图像外部)。According to some embodiments, on the basis of the above-mentioned embodiments, further, any auxiliary point in the at least one auxiliary point is located on a line segment formed by corresponding two key points among the plurality of key points, instead of being located on the line segment extension line. Therefore, all the auxiliary points are located on the line segment formed by connecting the key points, which facilitates the positioning and calculation of the auxiliary points, and avoids the auxiliary points overflowing the image (ie, being located outside the image).

根据一些实施例,在辅助点位于两个关键点所形成的线段上的基础上,进一步地,辅助点可以位于线段的预设位置处。即,根据一些实施例,至少一个辅助点中的任一辅助点位于由多个关键点中的相应的两个关键点所形成的线段的预设位置处。预设位置例如可以是线段的中点,或者距离两个关键点中的指定关键点的1/3线段长度处、1/4线段长度处,等等。由此,多个关键点中的每一对相应的关键点均可以生成一个辅助点,各辅助点均匀地分布于多个关键点之间,因此辅助点能够合理、有效地表达关键点的空间位置信息,从而提高模型对关键点位置的学习效果,提高关键点检测的准确性。并且,基于该实施例,不同样本图像中的目标对象的辅助点的数量固定(与关键点对的数量相同)并且较少,从而能够提高关键点检测的计算效率。According to some embodiments, on the basis that the auxiliary point is located on the line segment formed by the two key points, further, the auxiliary point may be located at a preset position of the line segment. That is, according to some embodiments, any one of the at least one auxiliary point is located at a preset position of a line segment formed by corresponding two of the plurality of key points. The preset position may be, for example, the midpoint of the line segment, or a distance of 1/3 the length of the line segment, 1/4 of the length of the line segment from the specified key point among the two key points, and so on. In this way, each pair of corresponding key points in the multiple key points can generate an auxiliary point, and each auxiliary point is evenly distributed among the multiple key points, so the auxiliary points can reasonably and effectively express the space of the key points position information, so as to improve the learning effect of the model on the position of key points and improve the accuracy of key point detection. Also, based on this embodiment, the number of auxiliary points of the target object in different sample images is fixed (same as the number of key point pairs) and small, so that the computational efficiency of key point detection can be improved.

图4B示出了根据上述实施例对样本图像中的目标对象进行标注所得到的关键点和辅助点的示意图。如图4B所示,导向箭头410(即目标对象)包括四个关键点A、B、C、D,并且样本图像中标注了这四个关键点之间的相邻关系,即A与B相邻,B与C相邻,B与D相邻。将相邻的关键点相连,可以得到三条线段,即线段AB、BC、BD。如图4B所示,导向箭头410还包括三个辅助点c、d、e,分别位于线段AB、BC、BD的中点处。FIG. 4B shows a schematic diagram of key points and auxiliary points obtained by annotating a target object in a sample image according to the above embodiment. As shown in FIG. 4B , the guide arrow 410 (ie, the target object) includes four key points A, B, C, and D, and the adjacent relationship between these four key points is marked in the sample image, that is, A and B are in phase adjacent, B is adjacent to C, and B is adjacent to D. By connecting adjacent key points, three line segments can be obtained, namely line segments AB, BC, and BD. As shown in FIG. 4B , the guide arrow 410 also includes three auxiliary points c, d, and e, which are located at the midpoints of the line segments AB, BC, and BD, respectively.

根据另一些实施例,在辅助点位于两个关键点所形成的线段上的基础上,进一步地,可以将该线段上的除关键点之外的所有像素点均作为辅助点。即,目标对象所包括的至少一个辅助点是将多个关键点两两相连所形成的多条线段上的、不同于所述多个关键点的像素点。由此,不同样本图像中的目标对象的辅助点的数量不固定(因为不同样本图像中的每条线段上的像素点的数量不固定)并且较多,能够更加全面、丰富、灵活地表达关键点的空间位置信息(相较于上文参考图4B所描述的实施例而言),从而提高模型对关键点位置的学习效果,提高关键点检测的准确性。According to other embodiments, on the basis that the auxiliary point is located on a line segment formed by two key points, further, all pixel points on the line segment except the key point may be used as auxiliary points. That is, the at least one auxiliary point included in the target object is a pixel point on a plurality of line segments formed by connecting a plurality of key points two by two, and is different from the plurality of key points. Therefore, the number of auxiliary points of the target object in different sample images is not fixed (because the number of pixel points on each line segment in different sample images is not fixed) and is large, which can express the key points more comprehensively, abundantly and flexibly. The spatial position information of the points (compared to the embodiment described above with reference to FIG. 4B ), thereby improving the learning effect of the model on the positions of key points and improving the accuracy of key point detection.

图4C示出了根据上述实施例对样本图像中的目标对象进行标注所得到的关键点和辅助点的示意图。如图4C所示,导向箭头410(即目标对象)包括四个关键点A、B、C、D。将这四个关键点两两相连,得到六条线段,即线段AB、AC、AD、BC、BD、CD(由于关键点A、B、C三点共线,因此在图4C中,线段AC被线段AB、BC所覆盖)。这六条线段上的除了关键点A、B、C、D之外的所有像素点均为辅助点。为了使附图更加简洁、清晰,图4C中没有分别绘制出各个辅助点,而仅绘制出了辅助点所在的线段。FIG. 4C shows a schematic diagram of key points and auxiliary points obtained by annotating a target object in a sample image according to the above embodiment. As shown in FIG. 4C , the guide arrow 410 (ie, the target object) includes four key points A, B, C, D. Connect these four key points two by two to obtain six line segments, namely line segments AB, AC, AD, BC, BD, CD (since the three key points A, B, and C are collinear, in Figure 4C, the line segment AC is The line segments AB and BC are covered). All pixels except key points A, B, C, and D on these six line segments are auxiliary points. In order to make the drawing more concise and clear, each auxiliary point is not drawn separately in FIG. 4C , but only the line segment where the auxiliary point is located is drawn.

根据另一些实施例,在辅助点位于两个关键点所形成的线段上、并且样本图像标注有多个关键点之间的相邻关系的基础上,进一步地,可以将由相邻关键点所形成的线段上的除关键点之外的所有像素点均作为辅助点。即,在样本图像标注有多个关键点之间的相邻关系的情况下,目标对象所包括的至少一个辅助点是将多个关键点中的相邻的关键点相连所形成的多条线段上的、不同于所述多个关键点的像素点。由此,能够全面且有针对性地表达关键点的空间位置信息,在提高关键点检测的准确性的同时减小了计算量(相较于上文参考图4C所描述的实施例而言),提高了计算效率,实现了准确性和计算效率的平衡,从而能够实现关键点的准确、实时检测。According to other embodiments, on the basis that the auxiliary point is located on the line segment formed by the two key points, and the sample image is marked with the adjacent relationship between the multiple key points, further, the adjacent key points may be formed by All pixels on the line segment except key points are used as auxiliary points. That is, in the case that the sample image is marked with the adjacent relationship between multiple key points, at least one auxiliary point included in the target object is a plurality of line segments formed by connecting adjacent key points among the multiple key points. on the pixel points that are different from the plurality of key points. As a result, the spatial location information of key points can be expressed comprehensively and pertinently, and the amount of calculation is reduced while improving the accuracy of key point detection (compared to the embodiment described above with reference to FIG. 4C ) , which improves the computational efficiency and achieves a balance between accuracy and computational efficiency, thereby enabling accurate and real-time detection of key points.

图4D示出了根据上述实施例对样本图像中的目标对象进行标注所得到的关键点和辅助点的示意图。如图4D所示,导向箭头410(即目标对象)包括四个关键点A、B、C、D,并且样本图像中标注了这四个关键点之间的相邻关系,即A与B相邻,B与C相邻,B与D相邻。将相邻的关键点相连,可以得到三条线段,即线段AB、BC、BD。这三条线段上的除了关键点A、B、C、D之外的所有像素点均为辅助点。为了使附图更加简洁、清晰,图4D中没有分别绘制出各个辅助点,而仅绘制出了辅助点所在的线段。根据本公开的实施例,将样本图像输入关键点检测模型,可以得到关键点检测模型输出的多个预测关键点。FIG. 4D shows a schematic diagram of key points and auxiliary points obtained by annotating a target object in a sample image according to the above embodiment. As shown in FIG. 4D , the guide arrow 410 (ie, the target object) includes four key points A, B, C, and D, and the adjacent relationship between these four key points is marked in the sample image, that is, A and B are in phase adjacent, B is adjacent to C, and B is adjacent to D. By connecting adjacent key points, three line segments can be obtained, namely line segments AB, BC, and BD. All pixels except key points A, B, C, and D on these three line segments are auxiliary points. In order to make the drawing more concise and clear, each auxiliary point is not drawn separately in FIG. 4D , but only the line segment where the auxiliary point is located is drawn. According to an embodiment of the present disclosure, a sample image is input into the keypoint detection model, and a plurality of predicted keypoints output by the keypoint detection model can be obtained.

应当理解,关键点检测模型输出的多个预测关键点与样本图像中标注的多个关键点分别对应。即,关键点检测模型输出的每个预测关键点对应于一个已标注的关键点。以上述图4A-4D为例,已标注的关键点为关键点A、B、C、D,那么关键点检测模型将输出四个预测关键点A’、B’、C’、D’。预测关键点A’、B’、C’、D’分别对应于已标注的关键点A、B、C、D。It should be understood that the multiple predicted key points output by the key point detection model respectively correspond to the multiple key points marked in the sample image. That is, each predicted keypoint output by the keypoint detection model corresponds to a labeled keypoint. Taking the above Figures 4A-4D as an example, the marked key points are key points A, B, C, and D, then the key point detection model will output four predicted key points A', B', C', D'. The predicted key points A', B', C', and D' correspond to the marked key points A, B, C, and D, respectively.

此外,应当理解,关键点检测模型输出的多个预测关键点为预测值,样本图像中标注的多个关键点为真实值。In addition, it should be understood that multiple predicted key points output by the key point detection model are predicted values, and multiple key points marked in the sample image are real values.

关键点检测模型可以是任意神经网络模型,本公开不限制关键点检测模型的具体结构。The key point detection model can be any neural network model, and the present disclosure does not limit the specific structure of the key point detection model.

在一些实施例中,关键点检测模型例如可以是由特征提取模块、热力图生成模块和关键点输出模块所组成的神经网络模型。其中,特征提取模块用于提取样本图像的图像特征。热力图生成模块基于图像特征,生成样本图像对应的关键点热力图,关键点热力图用于表示样本图像中的各个像素点为目标对象的关键点的置信度。关键点输出模块基于关键点热力图,确定目标对象的多个关键点并输出。In some embodiments, the keypoint detection model may be, for example, a neural network model composed of a feature extraction module, a heatmap generation module, and a keypoint output module. Among them, the feature extraction module is used to extract the image features of the sample image. The heatmap generation module generates a keypoint heatmap corresponding to the sample image based on the image features, and the keypoint heatmap is used to represent the confidence that each pixel in the sample image is a keypoint of the target object. The key point output module determines and outputs multiple key points of the target object based on the key point heat map.

在得到关键点检测模型输出的多个预测关键点之后,可以基于多个预测关键点和预设位置关系,确定至少一个预测辅助点。After the multiple prediction key points output by the key point detection model are obtained, at least one prediction auxiliary point may be determined based on the multiple prediction key points and the preset positional relationship.

基于预测关键点和预设位置关系确定至少一个预测辅助点,与上文所描述的基于关键点和预设位置关系确定至少一个辅助点的过程类似,此处不作赘述。Determining at least one auxiliary point for prediction based on the predicted key point and the preset positional relationship is similar to the above-described process for determining at least one auxiliary point based on the relationship between the key point and the preset position, and will not be repeated here.

在得到多个预测关键点和至少一个预测辅助点之后,基于多个关键点、至少一个辅助点、多个预测关键点和至少一个预测辅助点,可以确定关键点检测模型的损失值。After the plurality of predicted keypoints and the at least one predicted auxiliary point are obtained, a loss value of the keypoint detection model may be determined based on the plurality of keypoints, the at least one auxiliary point, the plurality of predicted keypoints, and the at least one predicted auxiliary point.

根据一些实施例,基于多个关键点、至少一个辅助点、多个预测关键点和至少一个预测辅助点,确定关键点检测模型的损失值包括:基于多个关键点和至少一个辅助点,生成样本图像对应的标签图像;基于多个预测关键点和至少一个预测辅助点,生成样本图像对应的预测图像;以及基于标签图像和预测图像,确定关键点检测模型的损失值。该实施例的损失值确定方式可以适用于关键点与辅助点的任意预设位置关系,即,可以适用于上文参考图4A-4D描述的任意实施例。According to some embodiments, determining the loss value of the keypoint detection model based on the plurality of keypoints, the at least one auxiliary point, the plurality of predicted keypoints, and the at least one predicted auxiliary point includes: based on the plurality of keypoints and the at least one auxiliary point, generating A label image corresponding to the sample image; based on multiple prediction key points and at least one prediction auxiliary point, a prediction image corresponding to the sample image is generated; and based on the label image and the prediction image, the loss value of the key point detection model is determined. The loss value determination method in this embodiment can be applied to any preset positional relationship between the key point and the auxiliary point, that is, can be applied to any of the embodiments described above with reference to FIGS. 4A-4D .

在上述实施例中,标签图像、预测图像的尺寸(即横向、纵向所包括的像素点的数量)均与样本图像相同。并且,标签图像用于指示关键点和辅助点(真实值)在样本图像中的位置,预测图像用于指示预测关键点和预测辅助点(预测值)在样本图像中的位置。In the above-mentioned embodiment, the size of the label image and the predicted image (ie, the number of pixels included in the horizontal and vertical directions) are the same as those of the sample image. Also, the label image is used to indicate the positions of the key points and auxiliary points (true values) in the sample image, and the predicted image is used to indicate the positions of the predicted key points and the predicted auxiliary points (predicted values) in the sample image.

根据一些实施例,在标签图像中,多个关键点和至少一个辅助点的像素值为第一预设值(例如1),除多个关键点和至少一个辅助点之外的其他像素点的像素值为第二预设值(例如0)。在预测图像中,多个预测关键点和至少一个预测辅助点的像素值为第一预设值(例如1),除多个预测关键点和至少一个预测辅助点之外的其他像素点的像素值为第二预设值(例如0)。According to some embodiments, in the label image, the pixel values of the multiple key points and the at least one auxiliary point are a first preset value (for example, 1), and the pixel values of the other pixel points except the multiple key points and the at least one auxiliary point have a first preset value (for example, 1). The pixel value is a second preset value (eg, 0). In the predicted image, the pixel values of the multiple prediction key points and the at least one prediction auxiliary point are a first preset value (for example, 1), and the pixels of other pixel points except the multiple prediction key points and the at least one prediction auxiliary point are the first preset value (for example, 1). The value is the second preset value (eg, 0).

在得到标签图像和预测图像后,可以基于标签图像和预测图像来计算模型的损失值。根据一些实施例,模型的损失值例如可以是标签图像与预测图像的均方误差(MeanSquare Error,MSE)、平均绝对误差(Mean Absolute Error,MAE)等。After obtaining the label image and the predicted image, the loss value of the model can be calculated based on the label image and the predicted image. According to some embodiments, the loss value of the model may be, for example, Mean Square Error (MSE), Mean Absolute Error (MAE), etc. between the label image and the predicted image.

根据另一些实施例,在多个关键点与多个预测关键点分别对应、至少一个辅助点与至少一个预测辅助点分别对应的情况下,基于多个关键点、至少一个辅助点、多个预测关键点和至少一个预测辅助点,确定关键点检测模型的损失值也可以包括:基于每个关键点与相应的预测关键点的第一距离和每个辅助点与相应的预测辅助点的第二距离,确定关键点检测模型的损失值。例如,模型的损失值可以是各第一距离与各第二距离的平均值。该实施例的损失值确定方式仅适用于辅助点数量固定的情况,即,仅适用于上文参考图4B所描述的实施例。According to other embodiments, in the case where multiple key points correspond to multiple prediction key points, and at least one auxiliary point corresponds to at least one prediction auxiliary point, respectively, based on multiple key points, at least one auxiliary point, multiple prediction points The key point and at least one prediction auxiliary point, determining the loss value of the key point detection model may also include: based on the first distance between each key point and the corresponding prediction key point and the second distance between each auxiliary point and the corresponding prediction auxiliary point. Distance, which determines the loss value of the keypoint detection model. For example, the loss value of the model may be the average of each of the first distances and each of the second distances. The loss value determination method in this embodiment is only applicable to the case where the number of auxiliary points is fixed, that is, only applicable to the embodiment described above with reference to FIG. 4B .

基于所确定的损失值,可以调整关键点检测模型的参数。Based on the determined loss value, the parameters of the keypoint detection model can be adjusted.

根据一些实施例,可以采用反向传播算法来调整关键点检测模型的参数。According to some embodiments, a back-propagation algorithm may be employed to adjust the parameters of the keypoint detection model.

应当理解,根据本公开实施例的关键点检测模型的训练方法的各个步骤可以循环执行多次,直至达到预设的终止条件(例如损失值小于阈值、循环次数达到预设的最大循环次数等)时,结束模型的训练过程,得到经训练(trained)的关键点检测模型。It should be understood that each step of the method for training a keypoint detection model according to an embodiment of the present disclosure may be performed repeatedly until a preset termination condition is reached (for example, the loss value is less than a threshold value, the number of cycles reaches a preset maximum number of cycles, etc.) When , the training process of the model is ended, and the trained keypoint detection model is obtained.

根据本公开的实施例,基于方法200训练得到的关键点检测模型,还提供一种关键点检测方法。According to an embodiment of the present disclosure, based on the key point detection model trained by the method 200, a key point detection method is also provided.

图5示出了根据本公开实施例的关键点检测方法500的流程图。方法500通常在服务器(例如图1中所示的服务器120)处执行,也可以在客户端设备(例如图1中所示的客户端设备101-106)处执行。也即,方法500的各个步骤的执行主体可以是图1中所示的服务器120,也可以是客户端设备101-106。FIG. 5 shows a flowchart of a keypoint detection method 500 according to an embodiment of the present disclosure. Method 500 is typically performed at a server (eg, server 120 shown in FIG. 1 ), but may also be performed at a client device (eg, client devices 101 - 106 shown in FIG. 1 ). That is, the execution body of each step of the method 500 may be the server 120 shown in FIG. 1 or the client devices 101-106.

具体地,根据一些实施例,基于方法200训练得到的关键点检测模型可以部署于服务器处。用户可以通过客户端设备将目标对象的待检测图像上传至服务器,服务器基于关键点检测模型,执行本公开实施例的关键点检测方法500,得到目标对象的多个关键点,然后将关键点返回给客户端设备。Specifically, according to some embodiments, the keypoint detection model trained based on the method 200 may be deployed at a server. The user can upload the image to be detected of the target object to the server through the client device, and the server executes the key point detection method 500 of the embodiment of the present disclosure based on the key point detection model to obtain multiple key points of the target object, and then returns the key points. to the client device.

根据另一些实施例,基于方法200训练得到的关键点检测模型也可以部署于客户端设备处。相应地,用户可以通过客户端设备采集(拍摄)或指定目标对象的待检测图像。客户端设备基于本地部署的关键点检测模型,执行本公开实施例的关键点检测方法500,得到目标对象的多个关键点。According to other embodiments, the keypoint detection model trained based on the method 200 may also be deployed at the client device. Correspondingly, the user can capture (shoot) or specify the image to be detected of the target object through the client device. The client device executes the key point detection method 500 of the embodiment of the present disclosure based on the locally deployed key point detection model to obtain multiple key points of the target object.

如图5所示,方法500包括步骤510和步骤520。As shown in FIG. 5 , method 500 includes step 510 and step 520 .

在步骤510中,将目标对象的待检测图像输入关键点检测模型,其中,关键点检测模型是基于本公开实施例的关键点检测模型的训练方法得到的。In step 510, the to-be-detected image of the target object is input into the keypoint detection model, where the keypoint detection model is obtained based on the training method of the keypoint detection model of the embodiment of the present disclosure.

在步骤520中,获取关键点检测模型输出的目标对象的多个关键点。In step 520, multiple key points of the target object output by the key point detection model are acquired.

根据本公开的实施例,能够实现关键点的准确检测。According to the embodiments of the present disclosure, accurate detection of key points can be achieved.

根据本公开的实施例,还提供了一种关键点检测模型的训练装置。图6示出了根据本公开实施例的关键点检测模型的训练装置600的结构框图。如图6所示,装置600包括:According to an embodiment of the present disclosure, a training apparatus for a keypoint detection model is also provided. FIG. 6 shows a structural block diagram of an apparatus 600 for training a keypoint detection model according to an embodiment of the present disclosure. As shown in FIG. 6, the apparatus 600 includes:

获取模块610,被配置为获取目标对象的样本图像,所述目标对象包括多个关键点和与所述多个关键点具有预设位置关系的至少一个辅助点;an acquisition module 610, configured to acquire a sample image of a target object, where the target object includes a plurality of key points and at least one auxiliary point having a preset positional relationship with the plurality of key points;

输入输出模块620,被配置为将所述样本图像输入所述关键点检测模型,以得到所述关键点检测模型输出的多个预测关键点;an input-output module 620, configured to input the sample image into the keypoint detection model to obtain a plurality of predicted keypoints output by the keypoint detection model;

第一确定模块630,被配置为基于所述多个预测关键点和所述预设位置关系,确定至少一个预测辅助点;a first determination module 630, configured to determine at least one prediction auxiliary point based on the plurality of prediction key points and the preset positional relationship;

第二确定模块640,被配置为基于所述多个关键点、所述至少一个辅助点、所述多个预测关键点和所述至少一个预测辅助点,确定所述关键点检测模型的损失值;以及The second determination module 640 is configured to determine a loss value of the keypoint detection model based on the plurality of keypoints, the at least one auxiliary point, the plurality of predicted keypoints, and the at least one predicted auxiliary point ;as well as

调整模块650,被配置为基于所述损失值,调整所述关键点检测模型的参数。The adjustment module 650 is configured to adjust the parameters of the keypoint detection model based on the loss value.

根据本公开的实施例,除了标注目标对象的关键点之外,还标注了与关键点具有一定位置关系的辅助点。关键点和辅助点均参与损失值的计算。由于辅助点与关键点具有一定的位置关系,因此可以通过辅助点来表达关键点的空间位置信息,强化模型对关键点位置的学习,从而提高关键点检测的准确性。According to an embodiment of the present disclosure, in addition to the key points of the target object, auxiliary points having a certain positional relationship with the key points are also marked. Both key points and auxiliary points are involved in the calculation of the loss value. Since the auxiliary points have a certain positional relationship with the key points, the spatial position information of the key points can be expressed through the auxiliary points, which can strengthen the learning of the position of the key points by the model, thereby improving the accuracy of the key point detection.

根据一些实施例,所述至少一个辅助点中的任一辅助点位于由所述多个关键点中的相应的两个关键点所形成的直线上。According to some embodiments, any one of the at least one auxiliary point is located on a straight line formed by corresponding two key points of the plurality of key points.

根据一些实施例,所述至少一个辅助点中的任一辅助点位于由所述多个关键点中的相应的两个关键点所形成的线段上。According to some embodiments, any one of the at least one auxiliary point is located on a line segment formed by corresponding two of the plurality of key points.

根据一些实施例,所述至少一个辅助点中的任一辅助点位于由所述多个关键点中的相应的两个关键点所形成的线段的预设位置处。According to some embodiments, any one of the at least one auxiliary point is located at a preset position of a line segment formed by corresponding two of the plurality of key points.

根据一些实施例,所述至少一个辅助点为将所述多个关键点两两相连所形成的多条线段上的、不同于所述多个关键点的像素点。According to some embodiments, the at least one auxiliary point is a pixel point on a plurality of line segments formed by connecting the plurality of key points two by two, which is different from the plurality of key points.

根据一些实施例,所述样本图像标注有所述多个关键点之间的相邻关系,并且其中,所述至少一个辅助点为将所述多个关键点中的相邻的关键点相连所形成的多条线段上的、不同于所述多个关键点的像素点。According to some embodiments, the sample image is marked with an adjacent relationship between the plurality of key points, and wherein the at least one auxiliary point is used to connect adjacent key points among the plurality of key points. Pixel points on the formed multiple line segments that are different from the multiple key points.

根据一些实施例,第二确定模块640包括:第一生成单元,被配置为基于所述多个关键点和所述至少一个辅助点,生成所述样本图像对应的标签图像;第二生成单元,被配置为基于所述多个预测关键点和所述至少一个预测辅助点,生成所述样本图像对应的预测图像;以及确定单元,被配置为基于所述标签图像和所述预测图像,确定所述关键点检测模型的损失值。According to some embodiments, the second determining module 640 includes: a first generating unit configured to generate a label image corresponding to the sample image based on the plurality of key points and the at least one auxiliary point; a second generating unit, is configured to generate a predicted image corresponding to the sample image based on the plurality of predicted key points and the at least one predicted auxiliary point; and a determining unit configured to determine the predicted image based on the label image and the predicted image. The loss value of the keypoint detection model described above.

根据一些实施例,在所述标签图像中,所述多个关键点和所述至少一个辅助点的像素值为第一预设值,除所述多个关键点和所述至少一个辅助点之外的其他像素点的像素值为第二预设值;在所述预测图像中,所述多个预测关键点和所述至少一个预测辅助点的像素值为所述第一预设值,除所述多个预测关键点和所述至少一个预测辅助点之外的其他像素点的像素值为所述第二预设值。According to some embodiments, in the label image, the pixel values of the plurality of key points and the at least one auxiliary point are a first preset value, except that between the plurality of key points and the at least one auxiliary point The pixel values of other pixel points except for the second preset value; in the predicted image, the pixel values of the multiple prediction key points and the at least one prediction auxiliary point are the first preset value, except The pixel values of other pixel points other than the plurality of prediction key points and the at least one prediction auxiliary point are the second preset value.

根据一些实施例,第二确定模块640进一步被配置为基于每个关键点与相应的预测关键点的第一距离和每个辅助点与相应的预测辅助点的第二距离,确定所述关键点检测模型的损失值。According to some embodiments, the second determination module 640 is further configured to determine the keypoints based on the first distance of each keypoint from the corresponding predicted keypoint and the second distance of each auxiliary point from the corresponding predicted auxiliary point The loss value of the detection model.

根据本公开的实施例,还提供了一种关键点检测装置。图7示出了根据本公开实施例的关键点检测装置700的结构框图。如图7所述,装置700包括:According to an embodiment of the present disclosure, a key point detection apparatus is also provided. FIG. 7 shows a structural block diagram of a keypoint detection apparatus 700 according to an embodiment of the present disclosure. As shown in FIG. 7, apparatus 700 includes:

输入模块710,被配置为将目标对象的待检测图像输入关键点检测模型,其中,所述关键点检测模型是根据本公开实施例的关键点检测模型的训练装置得到的;以及The input module 710 is configured to input the to-be-detected image of the target object into a keypoint detection model, wherein the keypoint detection model is obtained by a training device for a keypoint detection model according to an embodiment of the present disclosure; and

获取模块720,被配置为获取所述关键点检测模型输出的所述目标对象的多个关键点。The obtaining module 720 is configured to obtain a plurality of key points of the target object output by the key point detection model.

根据本公开的实施例,能够实现关键点的准确检测。According to the embodiments of the present disclosure, accurate detection of key points can be achieved.

应当理解,图6中所示装置600的各个模块或单元可以与参考图2描述的方法200中的各个步骤相对应,图7中所示装置700的各个模块或单元可以与参考图5描述的方法500中的各个步骤相对应。由此,上面针对方法200描述的操作、特征和优点同样适用于装置600及其包括的模块以及单元,上面针对方法500描述的操作、特征和优点同样适用于装置700及其包括的模块以及单元。为了简洁起见,某些操作、特征和优点在此不再赘述。It should be understood that each module or unit of the apparatus 600 shown in FIG. 6 may correspond to each step in the method 200 described with reference to FIG. 2 , and each module or unit of the apparatus 700 shown in FIG. The various steps in method 500 correspond to each other. Therefore, the operations, features and advantages described above for method 200 are also applicable to apparatus 600 and the modules and units it includes, and the operations, features and advantages described above for method 500 are also applicable to apparatus 700 and the modules and units it includes. . For the sake of brevity, certain operations, features and advantages are not repeated here.

虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。例如,上面描述的第一确定模块630和第二确定模块640在一些实施例中可以组合成单个模块。Although specific functionality is discussed above with reference to specific modules, it should be noted that the functionality of the various modules discussed herein may be divided into multiple modules, and/or at least some of the functionality of multiple modules may be combined into a single module. For example, the first determination module 630 and the second determination module 640 described above may be combined into a single module in some embodiments.

还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图6、图7描述的各个模块可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在非瞬时计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,模块610-720中的一个或多个可以一起被实现在片上系统(System on Chip,SoC)中。SoC可以包括集成电路芯片(其包括处理器(例如,中央处理单元(Central Processing Unit,CPU)、微控制器、微处理器、数字信号处理器(Digital Signal Processor,DSP)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。It should also be understood that various techniques may be described herein in the general context of software hardware elements or program modules. The various modules described above with respect to Figures 6 and 7 may be implemented in hardware or in hardware in combination with software and/or firmware. For example, these modules may be implemented as computer program code/instructions configured to be executed in one or more processors and stored in a non-transitory computer readable storage medium. Alternatively, these modules may be implemented as hardware logic/circuitry. For example, in some embodiments, one or more of the modules 610-720 may be implemented together in a System on Chip (SoC). An SoC may include an integrated circuit chip (which includes a processor (eg, a central processing unit (CPU), microcontroller, microprocessor, digital signal processor (DSP), etc.), memory, a or more communication interfaces, and/or one or more components of other circuits), and may optionally execute the received program code and/or include embedded firmware to perform functions.

根据本公开的实施例,还提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述关键点检测模型的训练方法和/或关键点检测方法。According to an embodiment of the present disclosure, there is also provided an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores data executable by the at least one processor The instructions are executed by the at least one processor, so that the at least one processor can execute the above-mentioned training method and/or keypoint detection method of the keypoint detection model.

根据本公开的实施例,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行上述关键点检测模型的训练方法和/或关键点检测方法。According to an embodiment of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is also provided, wherein the computer instructions are used to cause a computer to execute the above-mentioned training method for a keypoint detection model and/or keypoint detection method.

根据本公开的实施例,还提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现上述关键点检测模型的训练方法和/或关键点检测方法。According to an embodiment of the present disclosure, a computer program product is also provided, including a computer program, wherein the computer program implements the above-mentioned training method and/or keypoint detection method of a keypoint detection model when executed by a processor.

参考图8,现将描述可以作为本公开的服务器或客户端的电子设备800的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。Referring to FIG. 8 , a structural block diagram of an electronic device 800 that can serve as a server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. Electronic devices are intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are by way of example only, and are not intended to limit implementations of the disclosure described and/or claimed herein.

如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。As shown in FIG. 8 , the electronic device 800 includes a computing unit 801 that can be programmed according to a computer program stored in a read only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803 Various appropriate actions and processes are performed. In the RAM 803, various programs and data necessary for the operation of the electronic device 800 can also be stored. The computing unit 801 , the ROM 802 , and the RAM 803 are connected to each other through a bus 804 . An input/output (I/O) interface 805 is also connected to bus 804 .

电子设备800中的多个部件连接至I/O接口805,包括:输入单元806、输出单元807、存储单元808以及通信单元809。输入单元806可以是能向电子设备800输入信息的任何类型的设备,输入单元806可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元807可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元808可以包括但不限于磁盘、光盘。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、802.11设备、Wi-Fi设备、WiMAX设备、蜂窝通信设备和/或类似物。Various components in the electronic device 800 are connected to the I/O interface 805 , including: an input unit 806 , an output unit 807 , a storage unit 808 , and a communication unit 809 . The input unit 806 may be any type of device capable of inputting information to the electronic device 800, the input unit 806 may receive input numerical or character information, and generate key signal input related to user settings and/or function control of the electronic device, and This may include, but is not limited to, a mouse, keyboard, touch screen, trackpad, trackball, joystick, microphone and/or remote control. The output unit 807 may be any type of device capable of presenting information, and may include, but is not limited to, a display, speakers, video/audio output terminals, vibrators, and/or printers. The storage unit 808 may include, but is not limited to, magnetic disks and optical disks. Communication unit 809 allows electronic device 800 to exchange information/data with other devices through computer networks such as the Internet and/or various telecommunication networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and/or chips Groups such as Bluetooth devices, 802.11 devices, Wi-Fi devices, WiMAX devices, cellular communication devices and/or the like.

计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如方法200和/或方法500。例如,在一些实施例中,方法200和/或方法500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的方法200和方法500的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200和/或方法500。Computing unit 801 may be various general-purpose and/or special-purpose processing components with processing and computing capabilities. Some examples of computing units 801 include, but are not limited to, central processing units (CPUs), graphics processing units (GPUs), various specialized artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processing processor (DSP), and any suitable processor, controller, microcontroller, etc. Computing unit 801 performs the various methods and processes described above, eg, method 200 and/or method 500 . For example, in some embodiments, method 200 and/or method 500 may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 808 . In some embodiments, part or all of the computer program may be loaded and/or installed on the electronic device 800 via the ROM 802 and/or the communication unit 809 . When a computer program is loaded into RAM 803 and executed by computing unit 801, one or more steps of method 200 and method 500 described above may be performed. Alternatively, in other embodiments, computing unit 801 may be configured to perform method 200 and/or method 500 in any other suitable manner (eg, by means of firmware).

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。Various implementations of the systems and techniques described herein above may be implemented in digital electronic circuitry, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips system (SOC), complex programmable logic device (CPLD), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include being implemented in one or more computer programs executable and/or interpretable on a programmable system including at least one programmable processor that The processor, which may be a special purpose or general-purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device an output device.

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer or other programmable data processing apparatus, such that the program code, when executed by the processor or controller, performs the functions/functions specified in the flowcharts and/or block diagrams. Action is implemented. The program code may execute entirely on the machine, partly on the machine, partly on the machine and partly on a remote machine as a stand-alone software package or entirely on the remote machine or server.

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in connection with the instruction execution system, apparatus or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media would include one or more wire-based electrical connections, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), fiber optics, compact disk read only memory (CD-ROM), optical storage, magnetic storage, or any suitable combination of the foregoing.

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。To provide interaction with a user, the systems and techniques described herein may be implemented on a computer having a display device (eg, a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user ); and a keyboard and pointing device (eg, a mouse or trackball) through which a user can provide input to the computer. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (eg, visual feedback, auditory feedback, or tactile feedback); and can be in any form (including acoustic input, voice input, or tactile input) to receive input from the user.

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。The systems and techniques described herein may be implemented on a computing system that includes back-end components (eg, as a data server), or a computing system that includes middleware components (eg, an application server), or a computing system that includes front-end components (eg, a user's computer having a graphical user interface or web browser through which a user may interact with implementations of the systems and techniques described herein), or including such backend components, middleware components, Or any combination of front-end components in a computing system. The components of the system may be interconnected by any form or medium of digital data communication (eg, a communication network). Examples of communication networks include: Local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。A computer system can include clients and servers. Clients and servers are generally remote from each other and usually interact through a communication network. The relationship of client and server arises by computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a distributed system server, or a server combined with blockchain.

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。It should be understood that steps may be reordered, added or deleted using the various forms of flow shown above. For example, the steps described in the present disclosure can be performed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in the present disclosure can be achieved, which are not limited herein.

虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-described methods, systems and devices are merely exemplary embodiments or examples, and the scope of the present invention is not limited by these embodiments or examples, but is limited only by the appended claims and their equivalents. Various elements of the embodiments or examples may be omitted or replaced by equivalents thereof. Furthermore, steps may be performed in an order different from that described in this disclosure. Further, various elements of the embodiments or examples may be combined in various ways. Importantly, as technology evolves, many of the elements described herein may be replaced by equivalent elements that appear later in this disclosure.

Claims (18)

1. A method for training a keypoint detection model comprises the following steps:
acquiring a sample image of a target object, wherein the target object comprises a plurality of key points and at least one auxiliary point having a preset position relationship with the key points;
inputting the sample image into the key point detection model to obtain a plurality of predicted key points output by the key point detection model;
determining at least one prediction auxiliary point based on the plurality of prediction key points and the preset position relation;
determining a loss value for the keypoint detection model based on the plurality of keypoints, the at least one auxiliary point, the plurality of predicted keypoints, and the at least one predicted auxiliary point; and
adjusting parameters of the keypoint detection model based on the loss value.
2. The method of claim 1, wherein any one of the at least one auxiliary point is located on a straight line formed by respective two keypoints of the plurality of keypoints.
3. The method of claim 2, wherein any one of the at least one auxiliary point is located at a preset position of a line segment formed by respective two keypoints of the plurality of keypoints.
4. The method of claim 2, wherein the at least one auxiliary point is a pixel point different from the plurality of key points on a plurality of line segments formed by connecting the plurality of key points two by two.
5. The method of claim 2, wherein the sample image is labeled with neighboring relationships between the plurality of keypoints, and wherein the at least one auxiliary point is a pixel point on a plurality of line segments formed by connecting neighboring keypoints of the plurality of keypoints that is different from the plurality of keypoints.
6. The method of any of claims 1-5, wherein determining a loss value for the keypoint detection model based on the plurality of keypoints, the at least one auxiliary point, the plurality of predicted keypoints, and the at least one predicted auxiliary point comprises:
generating a label image corresponding to the sample image based on the plurality of key points and the at least one auxiliary point;
generating a prediction image corresponding to the sample image based on the plurality of prediction key points and the at least one prediction auxiliary point; and
determining a loss value of the keypoint detection model based on the tag image and the predicted image.
7. The method of claim 6, wherein, in the label image, the pixel values of the plurality of key points and the at least one auxiliary point are a first preset value, and the pixel values of other pixel points except the plurality of key points and the at least one auxiliary point are a second preset value;
in the predicted image, the pixel values of the plurality of prediction key points and the at least one prediction auxiliary point are the first preset value, and the pixel values of other pixel points except the plurality of prediction key points and the at least one prediction auxiliary point are the second preset value.
8. The method of claim 3, wherein determining a loss value for the keypoint detection model, based on the plurality of keypoints, the at least one auxiliary point, the plurality of predicted keypoints, and the at least one predicted auxiliary point, comprises:
determining a loss value of the keypoint detection model based on a first distance of each keypoint from a corresponding predicted keypoint and a second distance of each auxiliary point from a corresponding predicted auxiliary point.
9. A keypoint detection method comprising:
inputting an image to be detected of a target object into a key point detection model, wherein the key point detection model is obtained according to the method of any one of claims 1-8; and
and acquiring a plurality of key points of the target object output by the key point detection model.
10. A training apparatus for a keypoint detection model, comprising:
an acquisition module configured to acquire a sample image of a target object, wherein the target object includes a plurality of key points and at least one auxiliary point having a preset positional relationship with the plurality of key points;
an input-output module configured to input the sample image into the keypoint detection model to obtain a plurality of predicted keypoints output by the keypoint detection model;
a first determination module configured to determine at least one prediction assistance point based on the plurality of prediction key points and the preset positional relationship;
a second determination module configured to determine a loss value of the keypoint detection model based on the plurality of keypoints, the at least one auxiliary point, the plurality of predicted keypoints, and the at least one predicted auxiliary point; and
an adjustment module configured to adjust parameters of the keypoint detection model based on the loss values.
11. The apparatus of claim 10, wherein any one of the at least one auxiliary point is located on a straight line formed by respective two keypoints of the plurality of keypoints.
12. The apparatus of claim 11, wherein any one of the at least one auxiliary point is located at a preset position of a line segment formed by respective two keypoints of the plurality of keypoints.
13. The apparatus of claim 11, wherein the sample image is labeled with neighboring relationships between the plurality of keypoints, and wherein the at least one auxiliary point is a pixel point on a plurality of line segments formed by connecting neighboring keypoints of the plurality of keypoints that is different from the plurality of keypoints.
14. The apparatus of any of claims 10-13, wherein the second determining means comprises:
a first generating unit configured to generate a label image corresponding to the sample image based on the plurality of key points and the at least one auxiliary point;
a second generating unit configured to generate a prediction image corresponding to the sample image based on the plurality of prediction key points and the at least one prediction auxiliary point; and
a determining unit configured to determine a loss value of the key point detection model based on the tag image and the prediction image.
15. A keypoint detection apparatus comprising:
an input module configured to input an image to be detected of a target object into a keypoint detection model, wherein the keypoint detection model is obtained by the apparatus according to any one of claims 10-14; and
an obtaining module configured to obtain a plurality of key points of the target object output by the key point detection model.
16. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein
The memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-9.
17. A non-transitory computer readable storage medium having stored thereon computer instructions for causing a computer to perform the method of any one of claims 1-9.
18. A computer program product comprising a computer program, wherein the computer program realizes the method of any one of claims 1-9 when executed by a processor.
CN202210239623.9A 2022-03-11 2022-03-11 Key point detection model training method, key point detection method and device Pending CN114596476A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210239623.9A CN114596476A (en) 2022-03-11 2022-03-11 Key point detection model training method, key point detection method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210239623.9A CN114596476A (en) 2022-03-11 2022-03-11 Key point detection model training method, key point detection method and device

Publications (1)

Publication Number Publication Date
CN114596476A true CN114596476A (en) 2022-06-07

Family

ID=81816641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210239623.9A Pending CN114596476A (en) 2022-03-11 2022-03-11 Key point detection model training method, key point detection method and device

Country Status (1)

Country Link
CN (1) CN114596476A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115578451A (en) * 2022-09-30 2023-01-06 北京百度网讯科技有限公司 Image processing method, and training method and device of image processing model
WO2025001046A1 (en) * 2023-06-25 2025-01-02 中兴通讯股份有限公司 Base station antenna surface detection method, terminal device, and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614867A (en) * 2018-11-09 2019-04-12 北京市商汤科技开发有限公司 Human body critical point detection method and apparatus, electronic equipment, computer storage medium
CN111126268A (en) * 2019-12-24 2020-05-08 北京奇艺世纪科技有限公司 Key point detection model training method and device, electronic equipment and storage medium
CN113095336A (en) * 2021-04-22 2021-07-09 北京百度网讯科技有限公司 Method for training key point detection model and method for detecting key points of target object
CN113468924A (en) * 2020-03-31 2021-10-01 北京沃东天骏信息技术有限公司 Key point detection model training method and device and key point detection method and device
WO2021204037A1 (en) * 2020-11-12 2021-10-14 平安科技(深圳)有限公司 Detection method and apparatus for facial key point, and storage medium and electronic device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614867A (en) * 2018-11-09 2019-04-12 北京市商汤科技开发有限公司 Human body critical point detection method and apparatus, electronic equipment, computer storage medium
CN111126268A (en) * 2019-12-24 2020-05-08 北京奇艺世纪科技有限公司 Key point detection model training method and device, electronic equipment and storage medium
CN113468924A (en) * 2020-03-31 2021-10-01 北京沃东天骏信息技术有限公司 Key point detection model training method and device and key point detection method and device
WO2021204037A1 (en) * 2020-11-12 2021-10-14 平安科技(深圳)有限公司 Detection method and apparatus for facial key point, and storage medium and electronic device
CN113095336A (en) * 2021-04-22 2021-07-09 北京百度网讯科技有限公司 Method for training key point detection model and method for detecting key points of target object

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115578451A (en) * 2022-09-30 2023-01-06 北京百度网讯科技有限公司 Image processing method, and training method and device of image processing model
CN115578451B (en) * 2022-09-30 2024-01-23 北京百度网讯科技有限公司 Image processing method, training method and device of image processing model
WO2025001046A1 (en) * 2023-06-25 2025-01-02 中兴通讯股份有限公司 Base station antenna surface detection method, terminal device, and storage medium

Similar Documents

Publication Publication Date Title
CN113971751A (en) Training feature extraction model, and method and device for detecting similar images
CN110322500A (en) Immediately optimization method and device, medium and the electronic equipment of positioning and map structuring
CN114511758A (en) Image recognition method and device, electronic device and medium
CN112857268A (en) Object area measuring method, device, electronic device and storage medium
CN112967356B (en) Image filling method and device, electronic device and medium
CN112749758A (en) Image processing method, neural network training method, device, equipment and medium
CN115511779B (en) Image detection method, device, electronic equipment and storage medium
CN116228867B (en) Pose determination method, pose determination device, electronic equipment and medium
CN114120454A (en) Training method and device of living body detection model, electronic equipment and storage medium
CN114596476A (en) Key point detection model training method, key point detection method and device
CN116152607A (en) Target detection method, method and device for training target detection model
CN115965939A (en) Three-dimensional object detection method and device, electronic equipment, medium and vehicle
CN114140852B (en) Image detection method and device
CN115359309A (en) Training method, device, equipment and medium of target detection model
CN113810765A (en) Video processing method, apparatus, device and medium
CN116844133B (en) Target detection method, device, electronic equipment and medium
CN117274370A (en) Three-dimensional pose determining method, three-dimensional pose determining device, electronic equipment and medium
CN115578432B (en) Image processing method, device, electronic equipment and storage medium
CN114693977B (en) Image processing method, model training method, device, equipment and medium
CN116416159A (en) Image correction method and device, electronic equipment and medium
CN115797455A (en) Target detection method, target detection device, electronic equipment and storage medium
CN114092556A (en) Method, apparatus, electronic device, medium for determining human body posture
CN114998963A (en) Image detection method and method for training image detection model
CN114494797A (en) Method and apparatus for training an image detection model
CN114550269A (en) Mask wearing detection method, equipment and medium

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