WO2020134866A1 - 关键点检测方法及装置、电子设备和存储介质 - Google Patents

关键点检测方法及装置、电子设备和存储介质 Download PDF

Info

Publication number
WO2020134866A1
WO2020134866A1 PCT/CN2019/122112 CN2019122112W WO2020134866A1 WO 2020134866 A1 WO2020134866 A1 WO 2020134866A1 CN 2019122112 W CN2019122112 W CN 2019122112W WO 2020134866 A1 WO2020134866 A1 WO 2020134866A1
Authority
WO
WIPO (PCT)
Prior art keywords
area
key point
pixels
direction vector
image
Prior art date
Application number
PCT/CN2019/122112
Other languages
English (en)
French (fr)
Inventor
鲍虎军
周晓巍
彭思达
刘缘
Original Assignee
浙江商汤科技开发有限公司
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 浙江商汤科技开发有限公司 filed Critical 浙江商汤科技开发有限公司
Priority to KR1020207029436A priority Critical patent/KR102421820B1/ko
Priority to JP2021501076A priority patent/JP2021516838A/ja
Priority to SG11202009794RA priority patent/SG11202009794RA/en
Publication of WO2020134866A1 publication Critical patent/WO2020134866A1/zh
Priority to US17/038,000 priority patent/US20210012143A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • G06T5/30Erosion or dilatation, e.g. thinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20164Salient point detection; Corner detection

Definitions

  • the present disclosure relates to the field of computer technology, and particularly to a key point detection method and device, electronic equipment, and storage medium.
  • multiple targets may appear in a frame of an image, such as faces, objects, and scenes.
  • the multiple targets shown in the image may overlap, occlude, or affect each other, causing key points to the image
  • the detection is inaccurate, and at the same time, the target may be blocked or beyond the shooting range of the image, that is, a part of the target has not been captured, which may also result in low robustness of key point detection and inaccurate target point detection.
  • the present disclosure proposes a key point detection method and device, electronic equipment, and storage medium.
  • a key point detection method including:
  • the position of the key point in the area is determined according to the area where the pixel is located and the first direction vectors of multiple pixels in the area.
  • a first direction vector of an area where a plurality of pixels are located and a key point where the plurality of pixels point to an area can be obtained, and the area can be determined according to the first direction vector
  • the position of the key point avoids the influence of the target area from being blocked or beyond the shooting range of the image, improves the robustness of key point detection, and improves the accuracy of detection.
  • determining the position of the key point in the area according to the area where the pixel is located and the first direction vectors of multiple pixels in the area includes:
  • weighted average processing is performed on the estimated coordinates of the key points in the target area to obtain the positions of the key points in the target area.
  • the estimated coordinates of the key points in the target area can be detected, and the estimated coordinates of the key points can be determined for each target area to reduce the interaction between different areas and improve the accuracy of key point detection.
  • the estimated coordinate of the key point can be determined by the second direction vector
  • the weight of the estimated coordinate of the key point can be determined by the inner product of the first direction vector and the second direction vector
  • the weighted average processing can be performed on the estimated coordinate of the key point to obtain the key
  • the position of the point can obtain the probability distribution of the position of the key point, and improve the accuracy of determining the position of the key point.
  • determining the estimated coordinate of the key point and the weight of the estimated coordinate of the key point in the target area according to the area where the pixel is located and the first direction vector includes:
  • the coordinates of the intersection point of the first direction vector of any two target pixel points are determined as the key point estimated coordinates
  • the weight of the estimated coordinate of the key point is determined according to the estimated coordinate of the key point and the pixel in the target area.
  • determining the weight of the estimated coordinate of the key point according to the estimated coordinate of the key point and the pixel in the target area includes:
  • the estimated coordinates of the key point and the coordinates of the plurality of pixels in the target area respectively determining a second direction vector in which the plurality of pixels in the target area point to the estimated coordinates of the key point;
  • the weight of the estimated coordinates of the key point is determined.
  • determining the area where the multiple pixels of the image to be processed are located and the first direction vector where the multiple pixels point to the key points of the area includes:
  • the second feature map after obtaining the second feature map with the same resolution as the image to be processed, the second feature map can be convoluted to reduce the processing amount and improve the processing efficiency.
  • performing feature extraction processing on the image to be processed to obtain a first feature map with a preset resolution includes:
  • the third feature map is subjected to hole convolution processing to obtain the first feature map.
  • a third feature map with a preset resolution can be obtained, which has little effect on the processing accuracy, and enlarges the receptive field through hole convolution processing, while not losing the processing accuracy, and can improve the processing accuracy of the feature extraction operation.
  • the neural network uses multiple And the sample images marked with key points train the neural network.
  • a key point detection device including:
  • a first determining module configured to determine a first direction vector of a region where a plurality of pixels of the image to be processed is located and a key point where the plurality of pixels point to the region where the image to be processed includes one or more regions;
  • the second determining module is configured to determine the position of the key point in the area according to the area where the pixel is located and the first direction vectors of multiple pixels in the area.
  • the second determination module is further configured to:
  • weighted average processing is performed on the estimated coordinates of the key points in the target area to obtain the positions of the key points in the target area.
  • the second determination module is further configured to:
  • the coordinates of the intersection point of the first direction vector of any two target pixel points are determined as the key point estimated coordinates
  • the weight of the estimated coordinate of the key point is determined according to the estimated coordinate of the key point and the pixel in the target area.
  • the second determination module is further configured to:
  • the estimated coordinates of the key point and the coordinates of the plurality of pixels in the target area respectively determining a second direction vector in which the plurality of pixels in the target area point to the estimated coordinates of the key point;
  • the weight of the estimated coordinates of the key point is determined.
  • the first determination module is further configured to:
  • the first determination module is further configured to:
  • the third feature map is subjected to hole convolution processing to obtain the first feature map.
  • the first determination module is further configured to:
  • the first direction vector of the area where the multiple pixels of the image to be processed are located and the key points where the multiple pixels point to the area is determined by a neural network, the neural network uses a plurality of sample image training sites with partition annotation and key point annotation Describe the neural network.
  • an electronic device including:
  • Memory for storing processor executable instructions
  • the processor is configured to: execute the above key point detection method.
  • a computer-readable storage medium having computer program instructions stored thereon, which when executed by a processor implements the above-mentioned key point detection key point detection method.
  • a neural network can be used to obtain the area where multiple pixels are located, and the estimated coordinates of key points in the target area can be detected.
  • the neural network expands the receptive field through the hollow convolution layer, while Without loss of processing accuracy, it can improve the processing accuracy of feature extraction operations, and after obtaining the second feature map with the same resolution as the image to be processed, the second feature map can be convolved to reduce the processing amount and improve the processing efficiency .
  • the estimated coordinate of the key point can be determined for each target area to reduce the interaction between different areas, and the weighted average processing of the estimated coordinate of the key point can be performed to obtain the position of the key point and the probability distribution of the position of the key point can be obtained to improve Determine the accuracy of the key point position.
  • the target area is prevented from being affected by occlusion or beyond the shooting range of the image, the robustness of key point detection is improved, and the accuracy of detection is improved.
  • FIG. 1 shows a flowchart of a key point detection method according to an embodiment of the present disclosure
  • FIG. 2 shows a flowchart of a key point detection method according to an embodiment of the present disclosure
  • FIG. 3 shows an application schematic diagram of a key point detection method according to an embodiment of the present disclosure
  • FIG. 4 shows a block diagram of a key point detection device according to an embodiment of the present disclosure
  • FIG. 5 shows a block diagram of an electronic device according to an embodiment of the present disclosure
  • FIG. 6 shows a block diagram of an electronic device according to an embodiment of the present disclosure.
  • FIG. 1 shows a flowchart of a key point detection method according to an embodiment of the present disclosure. As shown in FIG. 1, the method includes:
  • step S11 a first direction vector of a region where a plurality of pixels of the image to be processed is located and a key point where the plurality of pixels point to the region is determined, wherein the image to be processed includes one or more regions;
  • step S12 the position of the key point in the area is determined according to the area where the pixel is located and the first direction vectors of the plurality of pixels in the area.
  • a first direction vector of an area where a plurality of pixels are located and a key point where the plurality of pixels point to an area can be obtained, and the key in the area can be determined according to the first direction vector.
  • a neural network may be used to obtain an area where multiple pixels of the image to be processed are located and a first direction vector pointing to a key point of the area.
  • the neural network may be a convolutional neural network, and the disclosure does not limit the type of neural network.
  • a to-be-processed image including one or more target objects may be input to the neural network for processing, and parameters related to a region where a plurality of pixels of the to-be-processed image are located may be obtained and a plurality of pixels point to a plurality of pixels The first direction vector of the key point in the area where the point is located.
  • the present disclosure does not limit the manner of obtaining the area where multiple pixels of the image to be processed are located.
  • the image to be processed can be divided into three areas, namely, area A where target object A is located, area B where target object B is located, and background area C.
  • the area where the pixel is located can also be represented by the probability that the pixel is in a certain area, for example, the probability that a pixel belongs to the area A is 60%, the probability of belonging to the area B is 10%, and belongs to the area D The probability of is 15%, and the probability of belonging to the background area is 15%, it can be determined that the pixel belongs to the A area. Or use a numeric interval to represent the area where the pixel is located.
  • the neural network can output a parameter x indicating the area where a pixel is located. If 0 ⁇ x ⁇ 25, the pixel belongs to the area A. If 25 ⁇ x ⁇ 50, then The pixel belongs to the area B. If 50 ⁇ x ⁇ 75, the pixel belongs to the area D.
  • the pixel belongs to the background area.
  • the present disclosure does not limit the parameters representing the area where the pixels are located.
  • the multiple areas may also be multiple areas of a target object, for example, the target object is a human face, area A is the forehead area, B is the cheek area...
  • the present disclosure does not limit the area.
  • the neural network may also obtain a direction vector that points from a pixel to a key point in the area where the pixel is located, for example, the direction vector may be a unit vector, and the unit vector may be determined according to the following formula (1) :
  • v k (p) is the first direction vector
  • p is any pixel in the kth (k is a positive integer) area
  • x k is the key point in the kth area where p is located
  • 2 is the modulus of the vector x k -p, that is, the first direction vector v k (p) is a unit vector.
  • the area where the pixel is located and the first direction vector can be represented together with the coordinates of the pixel, for example, (10, 20, A, 0.707, 0.707), where (10, 20) is the pixel’s Coordinates, A indicates that the area where the pixel is located is the area A, (0.707, 0.707) is the first direction vector where the pixel points to the key point of the area A.
  • step S11 includes: performing feature extraction processing on the image to be processed to obtain a first feature map with a preset resolution; performing upsampling processing on the first feature map to obtain an image to be processed A second feature map with the same resolution; performing a first convolution process on the second feature map to determine the first direction vector of the area where multiple pixels are located and the key points where the multiple pixels point to the area.
  • the first direction vector of the area where the multiple pixels of the image to be processed are located and the key points where the multiple pixels point to the area may be determined through a neural network.
  • the neural network includes at least a down-sampling sub-network, an up-sampling sub-network, and a feature determination sub-network.
  • performing feature extraction processing on the image to be processed to obtain a first feature map with a preset resolution includes: performing a second convolution process on the image to be processed to obtain a third with a preset resolution Feature map; performing hollow convolution processing on the third feature map to obtain the first feature map.
  • the image to be processed may be down-sampled through the down-sampling sub-network, and the down-sampling sub-network may include a second convolution layer and a hole convolution layer, where the down-sampling sub-network
  • the second convolutional layer of the network may perform a second convolution process on the image to be processed, and the second convolutional layer may further include a pooling layer, which may perform pooling and other processing on the image to be processed, and undergo the processing of the second convolutional layer After that, a third feature map with a preset resolution can be obtained.
  • the third feature map is a preset resolution feature map, for example, the resolution of the image to be processed is H ⁇ W (H and W are positive integers), and the preset resolution is H/8 ⁇ W /8, this disclosure does not limit the preset resolution.
  • a third feature map with a preset resolution can be input into the hollow convolutional layer for hollow convolution processing to obtain the first feature map, and the hollow convolutional layer can expand the receptive field for the third feature map At the same time, the resolution is no longer reduced, and processing accuracy can be improved.
  • the image to be processed may also be down-sampled using interval sampling and the like to obtain the first feature map of the preset resolution.
  • the present disclosure does not limit the manner of obtaining the first feature map of the preset resolution.
  • a third feature map with a preset resolution can be obtained, which has little effect on the processing accuracy, and enlarges the receptive field through hole convolution processing, while not losing the processing accuracy, and can improve the processing accuracy of the feature extraction operation.
  • the first feature map may be up-sampled through the up-sampling sub-network, that is, the first feature map may be input into the up-sampling sub-network for up-sampling processing to obtain and wait for A second feature map with the same image resolution is processed (for example, the resolution of the second feature map is H ⁇ W).
  • the up-sampling sub-network may include a deconvolution layer, and the first feature map may be up-sampled through deconvolution processing.
  • the first feature map may also be up-sampled by processing such as interpolation. The present disclosure does not limit the manner of up-sampling processing.
  • the second feature map may be subjected to a first convolution process through a feature determination sub-network.
  • the feature determination sub-network includes a first convolution layer, which may be passed through the first The convolution layer performs a first convolution process on the second feature map to determine a first direction vector of an area where multiple pixels are located and a key point where the multiple pixels point to the area.
  • the second feature map has the same resolution as the image to be processed, and the full connection processing may no longer be performed, that is, the feature determination sub-network may not include the full connection layer.
  • the feature determination sub-network may include a first convolution layer having one or more 1 ⁇ 1 convolution kernels, and a first convolution process may be performed on the second feature map through the first convolution layer to obtain a second feature The area where multiple pixels of the graph are located and the first direction vector pointing to the key point.
  • the first direction vector of the area where the multiple pixel points of the second feature map are located and the key points where the multiple pixel points point to the area can be determined as the The first direction vector of the area where multiple pixels are located and the key points where the multiple pixels point to the area.
  • the pixel points with coordinates (10, 20) in the second feature map after the feature determination sub-network processing, the output of (10, 20, A, 0.707, 0.707) can be obtained, indicating that the coordinates are (10, 20 )
  • the area where the pixel point is located is area A
  • the first direction vector of the pixel point pointing to the key point in area A is (0.707, 0.707).
  • This output can be used to represent the area of the pixel where the coordinates of the image to be processed are (10, 20) and the first direction vector where the pixel points to the key point of its area, that is, the coordinate of the image to be processed is (10 20)
  • the area where the pixel point is located is area A, and the first direction vector of the pixel point pointing to the key point in area A is (0.707, 0.707).
  • the second feature map after obtaining the second feature map with the same resolution as the image to be processed, the second feature map can be convoluted to reduce the processing amount and improve the processing efficiency.
  • step S12 may determine the positions of the key points in the multiple areas according to the first direction vector of the area where the pixel is located and the multiple pixels in the multiple areas, that is, multiple The coordinates of key points in the area.
  • Step S12 may include: determining the estimated coordinates of the key points in the target area and the weights of the estimated coordinates of the key points according to the area where the pixel is located and the first direction vector, where the target area is the one or more Any one of the areas; weighted average processing is performed on the estimated coordinates of the key points in the target area according to the weights of the estimated coordinates of the key points to obtain the positions of the key points in the target area.
  • the position of the key point can also be determined according to the direction of the first direction vector.
  • the present disclosure does not limit the manner of determining the position of the key point.
  • determining the estimated coordinate of the key point and the weight of the estimated coordinate of the key point in the target area according to the area where the pixel point is located and the first direction vector may include: according to the pixel point In the area where the pixels to be processed are screened to determine multiple target pixels belonging to the target area; the coordinates of the intersection of the first direction vectors of any two target pixels are determined as the key point estimated coordinates, Wherein, the estimated coordinate of the key point is one of the estimated coordinates of the key point; the weight of the estimated coordinate of the key point is determined according to the estimated coordinate of the key point and the pixel point in the target area.
  • all pixels in the target area can be screened out as the target pixels, for example, the neural network can be used to filter the output of the area where multiple pixels are located to filter All pixels.
  • the target area is area A.
  • the output of the neural network can be screened out as all pixels of area A.
  • the area composed of these pixels is called area A.
  • the target area is not restricted.
  • two target pixel points may be selected in the target area (for example, area A). Both target pixel points have the first direction vector, and the two target pixel points The one direction vector points to the key point of the target area, and the intersection point of the two first direction vectors can be determined.
  • the intersection point is the estimated position of the key point, that is, the estimated coordinate of the key point.
  • the first direction vector of each target pixel may have an error, therefore, the estimated coordinate of the key point is not unique, that is, the estimated coordinate of the key point determined by the intersection of the first direction vectors of the two target pixels
  • the estimated coordinate of the key point determined by the intersection of the first direction vectors of the other two target pixels can be different. In this way, the intersection of the first direction vector of any two target pixels can be obtained multiple times to obtain the key point estimate coordinate.
  • the weight of the estimated coordinates of the key points can be determined. According to the estimated coordinates of the key point and the pixels in the target area, determining the weight of the estimated coordinates of the key point includes: according to the estimated coordinates of the key point and the coordinates of multiple pixels in the target area, respectively Multiple pixels in the target area point to the second direction vector of the estimated coordinates of the key points; determine the inner product of the second direction vectors of the multiple pixels in the target area and the first direction vector; determine the target area Among the multiple pixels in, the target number of pixels whose inner product is greater than or equal to a predetermined threshold; according to the target number, determine the weight of the estimated coordinates of the key points.
  • the coordinates of a key point may be estimated, and the weight of the estimated coordinates of the key point may be determined.
  • a plurality of pixel points in the area where the estimated coordinate of the key point is located can point to the second direction vector of the estimated coordinate of the key point.
  • the second direction vector may be a unit vector.
  • the weight of the estimated coordinate of the key point may be determined by using a second direction vector in which multiple target pixel points in the target area point to the estimated coordinate of the key point and a first direction vector in which multiple target pixel points point to the key point in the target area.
  • the weight of the estimated coordinates of the key point may be determined according to the second direction vector and the first direction vector of the plurality of pixels in the target area.
  • the inner product of the second direction vector and the first direction vector of the plurality of pixels in the target area can be determined, and the inner product corresponding to the plurality of pixels can be compared with a predetermined threshold, and the pixels whose inner product is greater than the predetermined threshold can be determined.
  • the number of targets for example, if the inner product of the pixels is greater than the predetermined threshold, it is marked as 1, otherwise, it is marked as 0. After the marking of all pixels in the target area is completed, the marks of all pixels are added together. Determine the target number.
  • the weight of the estimated coordinate of the key point can be determined by the target number.
  • the weight of the estimated coordinate of the key point can be determined by the following formula (2):
  • w k,i is the weight of the estimated coordinates of the ith key point (for example, the key point) in the kth area (for example, area A)
  • O is all pixels in the area
  • p' is the Any pixel in the area
  • h k,i is the estimated coordinate of the ith key point in the area
  • is a predetermined threshold.
  • the value of ⁇ may be 0.99. No restrictions.
  • Is the activation function which means if The inner product with v k (p') is greater than or equal to the predetermined threshold ⁇ , then Is 1 (that is, marked as 1), otherwise, The value of is 0 (that is, labeled 0).
  • Formula (2) can represent the result obtained by adding the activation function values (ie, markers) of all pixels in the target area, that is, the weight of the key point estimated coordinates h k,i .
  • the present disclosure does not limit the value of the activation function when the inner product is greater than or equal to a predetermined threshold.
  • the above-mentioned process of determining the estimated coordinate of the key point and the weight of the estimated coordinate of the key point may be iteratively executed to obtain the estimated coordinates of multiple key points and the weight of the estimated coordinate of the key point in the target area.
  • weighted average processing may be performed on the estimated coordinates of the key points in the target area according to the weights of the estimated coordinates of the key points to obtain the positions of the key points in the target area.
  • the position of the key point in the target area can be determined by the following formula (3):
  • ⁇ k is the coordinate obtained by performing weighted average processing on the estimated coordinates of the N (N is a positive integer) key points in the k-th area (for example, area A), that is, the key points in the k-th area Position coordinates.
  • the maximum likelihood estimation method can also be used to determine the covariance matrix corresponding to the key point, that is, between the estimated coordinates of the key point in the target area and the position coordinates of the key point
  • the covariance matrix is subjected to weighted average processing to obtain the matrix.
  • the covariance matrix ⁇ k corresponding to the key point can be expressed by the following formula (4):
  • the position coordinates of the key points and the covariance matrix corresponding to the key points can be used to represent the probability distribution of the possible locations of the key points in the target area.
  • the above process of obtaining the position of the key point of the target area may be iteratively performed to obtain the position of the key point in multiple areas of the image to be processed.
  • the estimated coordinates of the key points in the target area can be detected, and the estimated coordinates of the key points can be determined for each target area to reduce the interaction between different areas and improve the accuracy of key point detection.
  • the estimated coordinate of the key point can be determined by the second direction vector
  • the weight of the estimated coordinate of the key point can be determined by the inner product of the first direction vector and the second direction vector
  • the weighted average processing can be performed on the estimated coordinate of the key point to obtain the key
  • the position of the point can obtain the probability distribution of the position of the key point, and improve the accuracy of determining the position of the key point.
  • the neural network may be trained before the neural network is used to acquire the area where multiple pixels are located and the first direction vector pointing to the key point.
  • FIG. 2 shows a flowchart of a key point detection method according to an embodiment of the present disclosure. As shown in FIG. 2, the method further includes:
  • step S13 the neural network is trained through a plurality of sample images with partition labels and keypoint labels.
  • step 13 it is not necessary to perform step 13 every time step 11 and step 12 are performed.
  • the neural network can be used to determine the first sample direction vector and the partition result; that is, once the neural network is trained After completion, you can use the neural network to achieve the functions of step 11 and step 12 multiple times.
  • any sample image can be input to a neural network for processing, and the first sample direction vector of multiple pixels of the sample image and the partition result of the area where the multiple pixels are located can be obtained.
  • the sample direction vector and the partition result are the output of the neural network, and there may be errors.
  • the first direction vectors of the key points in multiple regions can be determined according to the key point labels. For example, if the coordinates of the key points marked in a region are (10, 10), then the coordinates are The first direction vector of the pixel point of (5, 5) points to the key point is (0.707, 0.707).
  • the network loss of the neural network may be determined according to the difference between the first direction vector and the first sample direction vector, and the difference between the partition result and the partition label.
  • the cross-entropy loss function of multiple pixels may be determined according to the difference between the first direction vector and the first sample direction vector, and the difference between the partition result and the partition label, and the cross-entropy loss function Perform regularization to prevent overfitting during training.
  • the cross-entropy loss function after regularization can be determined as the network loss of the neural network.
  • the network parameters of the neural network can be adjusted according to the network loss.
  • the network parameters can be adjusted in a direction that minimizes the network loss.
  • the network can be reduced using a gradient descent method.
  • the loss is back propagated to adjust the network parameters of the neural network.
  • the trained neural network is obtained.
  • the training condition may be the number of adjustments, and the network parameters of the neural network may be adjusted a predetermined number of times.
  • the training condition may be the size or convergence of the network loss.
  • the adjustment is stopped to obtain the trained neural network, and the trained neural network can be In the process of acquiring the area where the multiple pixels of the image to be processed are located and the first direction vector pointing to the key point.
  • a neural network can be used to obtain the area where multiple pixels are located, and the estimated coordinates of key points in the target area can be detected.
  • the neural network expands the receptive field through the hollow convolution layer, while Without loss of processing accuracy, it can improve the processing accuracy of feature extraction operations, and after obtaining the second feature map with the same resolution as the image to be processed, the second feature map can be convolved to reduce the processing amount and improve the processing efficiency .
  • the estimated coordinate of the key point can be determined for each target area to reduce the interaction between different areas, and the weighted average processing of the estimated coordinate of the key point can be performed to obtain the position of the key point and the probability distribution of the position of the key point can be obtained to improve Determine the accuracy of the key point position.
  • the target area is prevented from being affected by occlusion or beyond the shooting range of the image, the robustness of key point detection is improved, and the accuracy of detection is improved.
  • FIG. 3 shows an application schematic diagram of a key point detection method according to an embodiment of the present disclosure.
  • an image to be processed can be input into a pre-trained neural network for processing, and multiple pixel points of the image to be processed can be obtained The area and the first direction vector pointing to the key point.
  • the image to be processed may be subjected to feature extraction through the down-sampling sub-network of the neural network, that is, the second convolution layer through the second convolution layer of the down-sampling sub-network, and the hole convolution through the hole convolution layer.
  • Product processing to obtain a first feature map of preset resolution.
  • the first feature map may be up-sampled to obtain a second feature map with the same resolution as the image to be processed.
  • the intersection point of the first direction vector of any two pixel points may be determined as the key point estimated coordinates among the multiple pixel points of the target area.
  • the estimated coordinates of the key points in the target area can be determined in this way.
  • the weights of the estimated coordinates of the key points can be determined.
  • it can be determined that multiple pixels in the target area point to the second direction vector of the estimated coordinates of a key point, and multiple pixels are determined
  • the inner product of the second direction vector and the first direction vector, and the activation function is used to determine the weight of the estimated coordinate of the key point according to formula (2), that is, when the inner product is greater than or equal to a predetermined threshold, the activation function The value is 1, otherwise it is 0.
  • the activation function values of multiple pixels in the target area can be added to obtain the weight of the estimated coordinates of the key point.
  • the weights of the estimated coordinates of key points in the target area can be determined in this way.
  • the estimated coordinates of the key points in the target area can be weighted and averaged to obtain the position coordinates of the key points in the target area, and the position of the key points in each area can be determined in this way coordinate.
  • FIG. 4 shows a block diagram of a key point detection device according to an embodiment of the present disclosure. As shown in FIG. 4, the device includes:
  • the first determining module 11 is configured to determine a first direction vector of an area where a plurality of pixels of the image to be processed is located and a key point where the plurality of pixels point to the area, where the image to be processed includes one or more areas;
  • the second determining module 12 is configured to determine the position of the key point in the area according to the area where the pixel is located and the first direction vectors of multiple pixels in the area.
  • the second determination module is further configured to:
  • weighted average processing is performed on the estimated coordinates of the key points in the target area to obtain the positions of the key points in the target area.
  • the second determination module is further configured to:
  • the coordinates of the intersection point of the first direction vector of any two target pixel points are determined as the key point estimated coordinates
  • the weight of the estimated coordinate of the key point is determined according to the estimated coordinate of the key point and the pixel in the target area.
  • the second determination module is further configured to:
  • the estimated coordinates of the key point and the coordinates of the plurality of pixels in the target area respectively determining a second direction vector in which the plurality of pixels in the target area point to the estimated coordinates of the key point;
  • the weight of the estimated coordinates of the key point is determined.
  • the first determination module is further configured to:
  • the first determination module is further configured to:
  • the third feature map is subjected to hole convolution processing to obtain the first feature map.
  • the first determination module is further configured to:
  • the first direction vector of the area where the multiple pixels of the image to be processed are located and the key points where the multiple pixels point to the area is determined by a neural network, the neural network uses multiple sample images with partition annotation and key point annotation for training .
  • the present disclosure also provides a key point detection device, an electronic device, a computer-readable storage medium, and a program, all of which can be used to implement any key point detection method provided by the present disclosure.
  • a key point detection device an electronic device, a computer-readable storage medium, and a program, all of which can be used to implement any key point detection method provided by the present disclosure.
  • the functions provided by the apparatus provided by the embodiments of the present disclosure or the modules contained therein may be used to perform the methods described in the above method embodiments.
  • An embodiment of the present disclosure also proposes a computer-readable storage medium on which computer program instructions are stored, and when the computer program instructions are executed by a processor, the above method is implemented.
  • the computer-readable storage medium may be a non-volatile computer-readable storage medium.
  • An embodiment of the present disclosure also provides a computer program product, including computer readable code.
  • the processor in the device executes the method for implementing the image search method provided in any of the above embodiments instruction.
  • An embodiment of the present disclosure also provides another computer program product for storing computer-readable instructions, which when executed, causes the computer to perform the operation of the image search method provided in any of the foregoing embodiments.
  • the computer program product may be implemented in hardware, software, or a combination thereof.
  • the computer program product is embodied as a computer storage medium, and in another alternative embodiment, the computer program product is embodied as a software product, such as a software development kit (Software Development Kit, SDK), etc. Wait.
  • a software development kit Software Development Kit, SDK
  • An embodiment of the present disclosure also provides an electronic device, including: a processor; a memory for storing processor-executable instructions; wherein, the processor is configured as the above method.
  • the electronic device may be provided as a terminal, server, or other form of device.
  • Fig. 5 is a block diagram of an electronic device 800 according to an exemplary embodiment.
  • the electronic device 800 may be a terminal such as a mobile phone, a computer, a digital broadcasting terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, and a personal digital assistant.
  • the electronic device 800 may include one or more of the following components: a processing component 802, a memory 804, a power supply component 806, a multimedia component 808, an audio component 810, an input/output (I/O) interface 812, and a sensor component 814 , ⁇ 816.
  • the processing component 802 generally controls the overall operations of the electronic device 800, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations.
  • the processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps in the above method.
  • the processing component 802 may include one or more modules to facilitate interaction between the processing component 802 and other components.
  • the processing component 802 may include a multimedia module to facilitate interaction between the multimedia component 808 and the processing component 802.
  • the memory 804 is configured to store various types of data to support operation at the electronic device 800. Examples of these data include instructions for any application or method operating on the electronic device 800, contact data, phone book data, messages, pictures, videos, and so on.
  • the memory 804 may be implemented by any type of volatile or nonvolatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read only memory (EEPROM), erasable and removable Programmable read only memory (EPROM), programmable read only memory (PROM), read only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
  • SRAM static random access memory
  • EEPROM electrically erasable programmable read only memory
  • EPROM erasable and removable Programmable read only memory
  • PROM programmable read only memory
  • ROM read only memory
  • magnetic memory flash memory
  • flash memory magnetic disk or optical disk.
  • the power supply component 806 provides power to various components of the electronic device 800.
  • the power component 806 may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power for the electronic device 800.
  • the multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user.
  • the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user.
  • the touch panel includes one or more touch sensors to sense touch, swipe, and gestures on the touch panel. The touch sensor may not only sense the boundary of the touch or sliding action, but also detect the duration and pressure related to the touch or sliding operation.
  • the multimedia component 808 includes a front camera and/or a rear camera. When the electronic device 800 is in an operation mode, such as a shooting mode or a video mode, the front camera and/or the rear camera may receive external multimedia data. Each front camera and rear camera can be a fixed optical lens system or have focal length and optical zoom capabilities.
  • the audio component 810 is configured to output and/or input audio signals.
  • the audio component 810 includes a microphone (MIC).
  • the microphone is configured to receive an external audio signal.
  • the received audio signal may be further stored in the memory 804 or transmitted via the communication component 816.
  • the audio component 810 further includes a speaker for outputting audio signals.
  • the I/O interface 812 provides an interface between the processing component 802 and a peripheral interface module.
  • the peripheral interface module may be a keyboard, a click wheel, or a button. These buttons may include, but are not limited to: home button, volume button, start button, and lock button.
  • the sensor component 814 includes one or more sensors for providing the electronic device 800 with status assessment in various aspects.
  • the sensor component 814 can detect the on/off state of the electronic device 800, and the relative positioning of the components, for example, the component is the display and keypad of the electronic device 800, and the sensor component 814 can also detect the electronic device 800 or the electronic device 800.
  • the position of the component changes, the presence or absence of user contact with the electronic device 800, the orientation or acceleration/deceleration of the electronic device 800, and the temperature change of the electronic device 800.
  • the sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact.
  • the sensor component 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications.
  • the sensor component 814 may further include an acceleration sensor, a gyro sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
  • the communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices.
  • the electronic device 800 can access a wireless network based on a communication standard, such as WiFi, 2G, or 3G, or a combination thereof.
  • the communication component 816 receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel.
  • the communication component 816 also includes a near field communication (NFC) module to facilitate short-range communication.
  • the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
  • RFID radio frequency identification
  • IrDA infrared data association
  • UWB ultra-wideband
  • Bluetooth Bluetooth
  • the electronic device 800 may be used by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field Programming gate array (FPGA), controller, microcontroller, microprocessor or other electronic components are used to implement the above method.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGA field Programming gate array
  • controller microcontroller, microprocessor or other electronic components are used to implement the above method.
  • a non-volatile computer-readable storage medium is also provided, for example, a memory 804 including computer program instructions, which can be executed by the processor 820 of the electronic device 800 to complete the above method.
  • Fig. 6 is a block diagram of an electronic device 1900 according to an exemplary embodiment.
  • the electronic device 1900 may be provided as a server.
  • the electronic device 1900 includes a processing component 1922, which further includes one or more processors, and memory resources represented by the memory 1932 for storing instructions executable by the processing component 1922, such as application programs.
  • the application programs stored in the memory 1932 may include one or more modules each corresponding to a set of instructions.
  • the processing component 1922 is configured to execute instructions to perform the above method.
  • the electronic device 1900 may also include a power component 1926 configured to perform power management of the electronic device 1900, a wired or wireless network interface 1950 configured to connect the electronic device 1900 to the network, and an input output (I/O) interface 1958 .
  • the electronic device 1900 can operate an operating system based on the memory 1932, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM or the like.
  • a non-volatile computer-readable storage medium is also provided, for example, a memory 1932 including computer program instructions, which can be executed by the processing component 1922 of the electronic device 1900 to complete the above method.
  • the present disclosure may be a system, method, and/or computer program product.
  • the computer program product may include a computer-readable storage medium loaded with computer-readable program instructions for causing the processor to implement various aspects of the present disclosure.
  • the computer-readable storage medium may be a tangible device that can hold and store instructions used by the instruction execution device.
  • the computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
  • Computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), and erasable programmable read only memory (EPROM (Or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device, such as a computer on which instructions are stored
  • RAM random access memory
  • ROM read only memory
  • EPROM erasable programmable read only memory
  • SRAM static random access memory
  • CD-ROM compact disk read-only memory
  • DVD digital versatile disk
  • memory stick floppy disk
  • mechanical encoding device such as a computer on which instructions are stored
  • the convex structure in the hole card or the groove and any suitable combination of the above.
  • the computer-readable storage medium used here is not to be interpreted as a transient signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (for example, optical pulses through fiber optic cables), or through wires The transmitted electrical signal.
  • the computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to various computing/processing devices, or downloaded to an external computer or external storage device through a network, such as the Internet, a local area network, a wide area network, and/or a wireless network.
  • the network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers.
  • the network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing/processing device .
  • the computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or in one or more programming languages Source code or object code written in any combination.
  • the programming languages include object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as "C" language or similar programming languages.
  • Computer readable program instructions can be executed entirely on the user's computer, partly on the user's computer, as an independent software package, partly on the user's computer and partly on a remote computer, or completely on the remote computer or server carried out.
  • the remote computer may be connected to the user's computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (eg, using an Internet service provider to pass the Internet connection).
  • electronic circuits such as programmable logic circuits, field programmable gate arrays (FPGAs), or programmable logic arrays (PLA), are personalized by utilizing the state information of computer-readable program instructions.
  • Computer-readable program instructions are executed to implement various aspects of the present disclosure.
  • These computer-readable program instructions can be provided to the processor of a general-purpose computer, special-purpose computer, or other programmable data processing device, thereby producing a machine that causes these instructions to be executed by the processor of a computer or other programmable data processing device A device that implements the functions/actions specified in one or more blocks in the flowchart and/or block diagram is generated.
  • the computer-readable program instructions may also be stored in a computer-readable storage medium. These instructions cause the computer, programmable data processing apparatus, and/or other devices to work in a specific manner. Therefore, the computer-readable medium storing the instructions includes An article of manufacture that includes instructions to implement various aspects of the functions/acts specified in one or more blocks in the flowchart and/or block diagram.
  • the computer-readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other equipment, so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other equipment to produce a computer-implemented process , So that the instructions executed on the computer, other programmable data processing device, or other equipment implement the functions/acts specified in one or more blocks in the flowchart and/or block diagram.
  • each block in the flowchart or block diagram may represent a part of a module, program segment, or instruction that contains one or more Executable instructions.
  • the functions marked in the blocks may also occur in an order different from that marked in the drawings. For example, two consecutive blocks can actually be executed substantially in parallel, and sometimes they can also be executed in reverse order, depending on the functions involved.
  • each block in the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented with a dedicated hardware-based system that performs specified functions or actions Or, it can be realized by a combination of dedicated hardware and computer instructions.

Landscapes

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

Abstract

本公开涉及一种关键点检测方法及装置、电子设备和存储介质,所述方法包括:确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量;根据像素点所在区域以及所述区域中的多个像素点的第一方向向量,确定所述区域中的关键点的位置。根据本公开的实施例的关键点检测方法,可获得多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,并可根据第一方向向量来确定区域中的关键点的位置,避免了目标区域受到遮挡或超出图像的拍摄范围的影响,提高了关键点检测的鲁棒性,并提高了检测的准确率。

Description

关键点检测方法及装置、电子设备和存储介质
本公开要求在2018年12月25日提交中国专利局、申请号为201811593614.X、申请名称为“关键点检测方法及装置、电子设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本公开涉及计算机技术领域,尤其涉及一种关键点检测方法及装置、电子设备和存储介质。
背景技术
在相关技术中,一帧图像中可能出现多个目标,例如,人脸、物体和景物等,所示多个目标在图像中可能会重叠、遮挡或互相影响,从而造成对该图像的关键点检测不准确,同时,目标可能被遮挡,或者超出图像的拍摄范围,即,目标的一部分未被拍摄到,也可能造成关键点检测的鲁棒性不高,以及目标点检测不准确。
发明内容
本公开提出了一种关键点检测方法及装置、电子设备和存储介质。
根据本公开的一方面,提供了一种关键点检测方法,包括:
确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,其中,所述待处理图像包括一个或多个区域;
根据所述像素点所在区域以及所述区域中的多个像素点的第一方向向量,确定所述区域中的关键点的位置。
根据本公开的实施例的关键点检测方法,可获得多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,并可根据第一方向向量来确定所述区域中的关键点的位置,避免了目标区域受到遮挡或超出图像的拍摄范围的影响,提高了关键点检测的鲁棒性,并提高了检测的准确率。
在一种可能的实现方式中,根据所述像素点所在区域以及所述区域中的多个像素点的第一方向向量,确定所述区域中的关键点的位置,包括:
根据所述像素点所在区域以及所述第一方向向量,确定目标区域中的关键点估计坐标以及关键点估计坐标的权值,其中,所述目标区域为所述一个或多个区域中的任意一个;
根据所述关键点估计坐标的权值,对目标区域中的关键点估计坐标进行加权平均处理,获得目标区域中的关键点的位置。
通过这种方式,可检测目标区域中的关键点估计坐标,可针对每个目标区域确定关键点估计坐标,降低不同区域之间的互相影响,提高关键点检测的准确率。进一步地,可通过第二方向向量确定关键点估计坐标,通过第一方向向量与第二方向向量的内积确定关键点估计坐标的权值,并对关键点估计坐标进行加权平均处理,获得关键点的位置,可获得关键点的位置的概率分布,提高确定关键点位置的精度。
在一种可能的实现方式中,根据所述像素点所在区域以及所述第一方向向量,确定目标区域中的关键点估计坐标以及关键点估计坐标的权值,包括:
根据所述像素点所在区域,对待处理图像的多个像素点进行筛选,确定属于所述目标区域的多个目标像素点;
将任意两个目标像素点的第一方向向量的交点的坐标确定为关键点估计坐标;
根据关键点估计坐标以及所述目标区域中的像素点,确定所述关键点估计坐标的权 值。
在一种可能的实现方式中,根据关键点估计坐标以及所述目标区域中的像素点,确定所述关键点估计坐标的权值,包括:
根据所述关键点估计坐标以及目标区域中的多个像素点的坐标,分别确定所述目标区域中的多个像素点指向关键点估计坐标的第二方向向量;
确定所述目标区域中的多个像素点的第二方向向量与第一方向向量的内积;
确定所述目标区域中的多个像素点中,内积大于或等于预定阈值的像素点的目标数量;
根据所述目标数量,确定所述关键点估计坐标的权值。
在一种可能的实现方式中,确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,包括:
将待处理图像进行特征提取处理处理,获得预设分辨率的第一特征图;
将所述第一特征图进行上采样处理,获得与待处理图像分辨率相同的第二特征图;
将所述第二特征图进行第一卷积处理,确定多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量。
通过这种方式,可在获得与待处理图像分辨率相同的第二特征图后,对第二特征图进行卷积处理,以降低处理量,提高处理效率。
在一种可能的实现方式中,将待处理图像进行特征提取处理,获得预设分辨率的第一特征图,包括:
将待处理图像进行第二卷积处理,获得预设分辨率的第三特征图;
将所述第三特征图进行空洞卷积处理,获得所述第一特征图。
通过这种方式,可获得预设分辨率的第三特征图,对处理精度的影响较小,并通过空洞卷积处理扩大感受野,同时不损失处理精度,可提高特征提取操作的处理精度。
在一种可能的实现方式中,通过神经网络确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,所述神经网络利用多个具有分区标注和关键点标注的样本图像训练所述神经网络。
根据本公开的另一方面,提供了一种关键点检测装置,包括:
第一确定模块,用于确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,其中,所述待处理图像包括一个或多个区域;
第二确定模块,用于根据所述像素点所在区域以及所述区域中的多个像素点的第一方向向量,确定所述区域中的关键点的位置。
在一种可能的实现方式中,所述第二确定模块被进一步配置为:
根据所述像素点所在区域以及所述第一方向向量,确定目标区域中的关键点估计坐标以及关键点估计坐标的权值,其中,所述目标区域为所述一个或多个区域中的任意一个;
根据所述关键点估计坐标的权值,对目标区域中的关键点估计坐标进行加权平均处理,获得目标区域中的关键点的位置。
在一种可能的实现方式中,所述第二确定模块被进一步配置为:
根据所述像素点所在区域,对待处理图像的多个像素点进行筛选,确定属于所述目标区域的多个目标像素点;
将任意两个目标像素点的第一方向向量的交点的坐标确定为关键点估计坐标;
根据关键点估计坐标以及所述目标区域中的像素点,确定所述关键点估计坐标的权值。
在一种可能的实现方式中,所述第二确定模块被进一步配置为:
根据所述关键点估计坐标以及目标区域中的多个像素点的坐标,分别确定所述目标区域中的多个像素点指向关键点估计坐标的第二方向向量;
确定所述目标区域中的多个像素点的第二方向向量与第一方向向量的内积;
确定所述目标区域中的多个像素点中,内积大于或等于预定阈值的像素点的目标数量;
根据所述目标数量,确定所述关键点估计坐标的权值。
在一种可能的实现方式中,所述第一确定模块被进一步配置为:
将待处理图像进行特征提取处理处理,获得预设分辨率的第一特征图;
将所述第一特征图进行上采样处理,获得与待处理图像分辨率相同的第二特征图;
将所述第二特征图进行第一卷积处理,确定多个像素点所在区域以及指向关键点的第一方向向量。
在一种可能的实现方式中,所述第一确定模块被进一步配置为:
将待处理图像进行第二卷积处理,获得预设分辨率的第三特征图;
将所述第三特征图进行空洞卷积处理,获得所述第一特征图。
在一种可能的实现方式中,所述第一确定模块被进一步配置为:
通过神经网络确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,所述神经网络利用多个具有分区标注和关键点标注的样本图像训练所述神经网络。
根据本公开的另一方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行上述关键点检测方法。
根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述关键点检测关键点检测方法。
根据本公开的实施例的关键点检测方法,可使用神经网络获得多个像素点所在区域,并可检测目标区域中的关键点估计坐标,所述神经网络通过空洞卷积层扩大感受野,同时不损失处理精度,可提高特征提取操作的处理精度,还可在获得与待处理图像分辨率相同的第二特征图后,对第二特征图进行卷积处理,以降低处理量,提高处理效率。可针对每个目标区域确定关键点估计坐标,降低不同区域之间的互相影响,并可对关键点估计坐标进行加权平均处理,获得关键点的位置,可获得关键点的位置的概率分布,提高确定关键点位置的精度。并避免了目标区域受到遮挡或超出图像的拍摄范围的影响,提高了关键点检测的鲁棒性,并提高了检测的准确率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开 的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开实施例的关键点检测方法的流程图;
图2示出根据本公开实施例的关键点检测方法的流程图;
图3示出根据本公开实施例的关键点检测方法的应用示意图;
图4示出根据本公开实施例的关键点检测装置的框图;
图5示出根据本公开实施例的电子装置的框图;
图6示出根据本公开实施例的电子装置的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开实施例的关键点检测方法的流程图,如图1所示,所述方法包括:
在步骤S11中,确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,其中,所述待处理图像包括一个或多个区域;
在步骤S12中,根据所述像素点所在区域以及所述区域中的多个像素点的第一方向向量,确定所述区域中的关键点的位置。
根据本公开的实施例的关键点检测方法,可获得多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,并可根据第一方向向量来确定区域中的关键点的位置,避免了目标区域受到遮挡或超出图像的拍摄范围的影响,提高了关键点检测的鲁棒性,并提高了检测的准确率。
在一种可能的实现方式中,在步骤S11中,可使用神经网络来获取待处理图像的多个像素点所在的区域以及指向所在区域的关键点的第一方向向量。所述神经网络可以是卷积神经网络,本公开对神经网络的类型不作限制。在示例中,可将包括一个或多个目标对象的待处理图像输入所述神经网络进行处理,可获得待处理图像的多个像素点所在的区域相关的参数以及多个像素点指向多个像素点所在区域的关键点的第一方向向量。或者,可使用其他方法获取待处理图像的多个像素点所在的区域,例如,可通过语义分割等方式区分出待处理图像中至少一个区域。本公开对获得待处理图像的多个像素点所在区域的方式不做限制。
在示例中,待处理图像中具有A和B两个目标对象,则待处理图像可分为三个区域,即,目标对象A所在的区域A、目标对象B所在的区域B以及背景区域C,可使用区域的任 意参数来表示像素点所在的区域,例如,坐标为(10、20)像素点在区域A中,则该像素点可被表示为(10、20、A),坐标为(50、80)像素点在背景区域中,则该像素点可被表示为(50、80、C)。
在另一示例中,像素点所在的区域也可使用像素点处于某区域的概率来表示,例如,某像素点属于A区域的概率为60%,属于B区域的概率为10%,属于D区域的概率为15%,属于背景区域的概率为15%,则可确定该像素点属于A区域。或者使用数值区间来表示像素点所在区域,例如,神经网络可输出表示某像素点所在区域的参数x,如果0≤x<25,则该像素点属于A区域,如果25≤x<50,则该像素点属于B区域,如果50≤x<75,则该像素点属于D区域,如果75≤x≤100,则该像素点属于背景区域。本公开对表示像素点所在区域的参数不做限制。在示例中,多个区域也可以是一个目标对象的多个区域,例如,目标对象为人脸,区域A为额头区域、B为脸颊区域…本公开对区域不做限制。
在示例中,所述神经网络还可获取由像素点指向该像素点所在区域的关键点的方向向量,例如,所述方向向量可以是单位向量,可根据以下公式(1)确定所述单位向量:
Figure PCTCN2019122112-appb-000001
其中,v k(p)为所述第一方向向量,p为第k(k为正整数)个区域中的任一像素点,x k为p所在的第k个区域的关键点,||x k-p|| 2为向量x k-p的模,即,所述第一方向向量v k(p)为单位向量。
在示例中,可将像素点所在区域和第一方向向量与所述像素点的坐标共同表示,例如,(10、20、A、0.707、0.707),其中,(10、20)为像素点的坐标,A表示像素点所在的区域为A区域,(0.707、0.707)为所述像素点指向A区域的关键点的第一方向向量。
在一种可能的实现方式中,步骤S11包括:将待处理图像进行特征提取处理,获得预设分辨率的第一特征图;将所述第一特征图进行上采样处理,获得与待处理图像分辨率相同的第二特征图;将所述第二特征图进行第一卷积处理,确定多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量。
在一种可能的实现方式中,可通过神经网络确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量。所述神经网络至少包括下采样子网络、上采样子网络以及特征确定子网络。
在一种可能的实现方式中,将待处理图像进行特征提取处理,获得预设分辨率的第一特征图,包括:将待处理图像进行第二卷积处理,获得预设分辨率的第三特征图;将所述第三特征图进行空洞卷积处理,获得所述第一特征图。
在一种可能的实现方式中,可通过所述下采样子网络可对待处理图像进行下采样处理,所述下采样子网络可包括第二卷积层和空洞卷积层,其中,下采样子网络的第二卷积层可对待处理图像进行第二卷积处理,所述第二卷积层还可包括池化层,可对待处理图像进行池化等处理,经过第二卷积层的处理后,可获得预设分辨率的第三特征图。在示例中,所述第三特征图为预设分辨率的特征图,例如,待处理图像的分辨率为H×W(H和W为正整数),预设分辨率为H/8×W/8,本公开对预设分辨率不做限制。
在一种可能的实现方式中,在获得预设分辨率的第三特征图后,为使处理精度不再下降,可不再进行池化等下采样处理,而使用空洞卷积层进行特征提取处理,可将预设分辨率的第三特征图输入所述空洞卷积层进行空洞卷积处理,获得所述第一特征图,所述空洞卷积层可在扩大对第三特征图的感受野的同时,不再降低分辨率,可提高处理精 度。
在示例中,还可使用间隔取样等方式对待处理图像进行下采样,获得预设分辨率的第一特征图,本公开对获得预设分辨率的第一特征图的方式不做限制。
通过这种方式,可获得预设分辨率的第三特征图,对处理精度的影响较小,并通过空洞卷积处理扩大感受野,同时不损失处理精度,可提高特征提取操作的处理精度。
在一种可能的实现方式中,可通过所述上采样子网络对第一特征图进行上采样处理,即,可将第一特征图输入所述上采样子网络进行上采样处理,获得与待处理图像分辨率相同的第二特征图(例如,第二特征图的分辨率为H×W)。在示例中,上采样子网络可包括反卷积层,可通过反卷积处理对第一特征图进行上采样。在示例中,还可通过插值法等处理对第一特征图进行上采样,本公开对上采样处理的方式不做限制。
在一种可能的实现方式中,可通过特征确定子网络对第二特征图进行第一卷积处理,在示例中,所述特征确定子网络包括第一卷积层,可通过所述第一卷积层对所述第二特征图进行第一卷积处理,确定多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量。
在一种可能的实现方式中,第二特征图与待处理图像的分辨率相同,可不再进行全连接处理,即,特征确定子网络可不包括全连接层。所述特征确定子网络可包括具有一个或多个1×1卷积核的第一卷积层,可通过第一卷积层对第二特征图进行第一卷积处理,可获得第二特征图的多个像素点所在区域以及指向关键点的第一方向向量。由于第二特征图与待处理图像分辨率相同,因此,可将第二特征图的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量确定为待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量。例如,第二特征图中的坐标为(10、20)的像素点,经过特征确定子网络处理后,可获得(10、20、A、0.707、0.707)的输出,表示坐标为(10、20)的像素点所在区域为A区域,该像素点指向A区域的关键点的第一方向向量为(0.707、0.707)。可将该输出用于表示待处理图像的坐标为(10、20)的像素点所在区域以及该像素点指向其所在区域的关键点的第一方向向量,即,待处理图像中坐标为(10、20)的像素点所在区域为A区域,该像素点指向A区域的关键点的第一方向向量为(0.707、0.707)。
通过这种方式,可在获得与待处理图像分辨率相同的第二特征图后,对第二特征图进行卷积处理,以降低处理量,提高处理效率。
在一种可能的实现方式中,步骤S12可根据所述像素点所在区域以及多个区域中的多个像素点的第一方向向量,确定多个区域中的关键点的位置,即,多个区域中的关键点坐标。步骤S12可包括:根据所述像素点所在区域以及所述第一方向向量,确定目标区域中的关键点估计坐标以及关键点估计坐标的权值,其中,所述目标区域为所述一个或多个区域中的任意一个;根据所述关键点估计坐标的权值,对目标区域中的关键点估计坐标进行加权平均处理,获得目标区域中的关键点的位置。
在示例中,还可根据第一方向向量的指向来确定关键点的位置,本公开对确定关键点位置的方式不做限制。
在一种可能的实现方式中,根据所述像素点所在区域以及所述第一方向向量,确定目标区域中的关键点估计坐标以及关键点估计坐标的权值,可包括:根据所述像素点所在区域,对待处理图像的多个像素点进行筛选,确定属于所述目标区域的多个目标像素点;将任意两个目标像素点的第一方向向量的交点的坐标确定为关键点估计坐标,其中, 所述关键点估计坐标为所述关键点估计坐标中的一个;根据关键点估计坐标以及所述目标区域中的像素点,确定所述关键点估计坐标的权值。
在一种可能的实现方式中,可筛选出目标区域中的所有像素点作为所述目标像素点,例如,可通过所述神经网络针对多个像素点所在区域的输出,来筛选目标区域中的所有像素点。在示例中,目标区域为区域A,可在待处理图像的所有像素点中,筛选出神经网络的输出为区域A的所有像素点,由这些像素点组成的区域即为区域A,本公开对目标区域不做限制。
在一种可能的实现方式中,可在目标区域(例如,区域A)中任选两个目标像素点,两个目标像素点均具有所述第一方向向量,且两个目标像素点的第一方向向量均指向目标区域的关键点,可确定两个第一方向向量的交点,该交点即为关键点的估计位置,即,关键点估计坐标。在示例中,每个目标像素点的第一方向向量可能具有误差,因此,关键点估计坐标不是唯一的,即,由两个目标像素点的第一方向向量的交点确定的关键点估计坐标与另外两个目标像素点的第一方向向量的交点确定的关键点估计坐标可不同,可按照这种方式,多次获取任意两个目标像素点的第一方向向量的交点,以获得关键点估计坐标。
在一种可能的实现方式中,可确定关键点估计坐标的权值。根据关键点估计坐标以及所述目标区域中的像素点,确定所述关键点估计坐标的权值,包括:根据所述关键点估计坐标以及目标区域中的多个像素点的坐标,分别确定所述目标区域中的多个像素点指向关键点估计坐标的第二方向向量;确定所述目标区域中的多个像素点的第二方向向量与第一方向向量的内积;确定所述目标区域中的多个像素点中,内积大于或等于预定阈值的像素点的目标数量;根据所述目标数量,确定所述关键点估计坐标的权值。
在一种可能的实现方式中,可针对一关键点估计坐标,确定该关键点估计坐标的权值。可获取关键点估计坐标所在区域的多个像素点指向该关键点估计坐标的第二方向向量。所述第二方向向量可以是单位向量。可使用目标区域中多个目标像素点指向该关键点估计坐标的第二方向向量与多个目标像素点指向目标区域中的关键点的第一方向向量,确定关键点估计坐标的权值。
在一种可能的实现方式中,可根据所述目标区域中的多个像素点的第二方向向量与第一方向向量,确定该关键点估计坐标的权值。可确定目标区域中的多个像素点的第二方向向量与第一方向向量的内积,并将多个像素点对应的内积与预定阈值进行比较,并确定内积大于预定阈值的像素点的目标数量,例如,如果像素点的内积大于预定阈值,则标记为1,否则,标记为0,在目标区域中的所有像素点标记完成后,将所有像素点的标记相加,即可确定目标数量。
在一种可能的实现方式中,可通过所述目标数量,确定该关键点估计坐标的权值,在示例中,可通过以下公式(2)确定该关键点估计坐标的权值:
Figure PCTCN2019122112-appb-000002
其中,w k,i为第k个区域(例如,区域A)中的第i个关键点(例如,该关键点)估计坐标的权值,O为该区域中所有像素点,p’为该区域中任一像素点,h k,i为该区域中第i 个关键点估计坐标,
Figure PCTCN2019122112-appb-000003
为p’指向h k,i的第二方向向量,v k(p’)为p’的第一方向向量,θ为预定阈值,在示例中,θ的值可以是0.99,本公开对预定阈值不做限制。
Figure PCTCN2019122112-appb-000004
为激活函数,表示如果
Figure PCTCN2019122112-appb-000005
与v k(p’)的内积大于或等于预定阈值θ,则
Figure PCTCN2019122112-appb-000006
的值为1(即,标记为1),否则,
Figure PCTCN2019122112-appb-000007
的值为0(即,标记为0)。公式(2)可表示对目标区域中的所有像素点的激活函数值(即,标记)相加获得的结果,即为关键点估计坐标h k,i的权值。本公开对内积大于或等于预定阈值时激活函数的值不做限制。
在一种可能的实现方式中,可迭代执行上述确定关键点估计坐标以及关键点估计坐标的权值的处理,可获得目标区域内的多个关键点估计坐标以及关键点估计坐标的权值。
在一种可能的实现方式中,可根据所述关键点估计坐标的权值,对目标区域中的关键点估计坐标进行加权平均处理,获得目标区域中的关键点的位置。在示例中,可通过以下公式(3)确定目标区域中的关键点的位置:
Figure PCTCN2019122112-appb-000008
其中,μ k为对第k个区域(例如,区域A)中的N(N为正整数)个关键点估计坐标进行加权平均处理后获得的坐标,即,第k个区域中的关键点的位置坐标。
在一种可能的实现方式中,还可通过极大似然估计的方法,确定与关键点对应的协方差矩阵,即,对目标区域中的关键点估计坐标与关键点的位置坐标之间的协方差矩阵进行加权平均处理,获得的矩阵,在示例中,可通过以下公式(4)来表示与关键点对应的协方差矩阵Σ k
Figure PCTCN2019122112-appb-000009
在一种可能的实现方式中,关键点的位置坐标以及与关键点对应的协方差矩阵可用来表示目标区域中关键点可能存在的位置的概率分布。
在一种可能的实现方式中,可迭代执行上述获得目标区域的关键点的位置的处理,以获得待处理图像的多个区域中的关键点的位置。
通过这种方式,可检测目标区域中的关键点估计坐标,可针对每个目标区域确定关键点估计坐标,降低不同区域之间的互相影响,提高关键点检测的准确率。进一步地,可通过第二方向向量确定关键点估计坐标,通过第一方向向量与第二方向向量的内积确定关键点估计坐标的权值,并对关键点估计坐标进行加权平均处理,获得关键点的位置,可获得关键点的位置的概率分布,提高确定关键点位置的精度。
在一种可能的实现方式中,可在使用神经网络获取多个像素点所在区域以及指向关键点的第一方向向量前,对所述神经网络进行训练。
图2示出根据本公开实施例的关键点检测方法的流程图,如图2所示,所述方法还包括:
在步骤S13中,通过多个具有分区标注和关键点标注的样本图像训练所述神经网络。
其中,并不是每执行一次步骤11和步骤12就需要执行一次步骤13,神经网络一旦训练完成,就可以使用神经网络来确定第一样本方向向量和分区结果;也就是说,一旦神 经网络训练完成,就可以利用神经网络多次实现步骤11和步骤12的功能。
在一种可能的实现方式中,可将任一样本图像输入神经网络进行处理,可获得该样本图像的多个像素点的第一样本方向向量以及多个像素点所在区域的分区结果,第一样本方向向量和所述分区结果为神经网络的输出,可能存在误差。
在一种可能的实现方式中,可根据关键点标注,确定多个区域中的关键点的第一方向向量,例如,某区域中标注的关键点的坐标为(10,10),则坐标为(5,5)的像素点指向关键点的第一方向向量为(0.707,0.707)。
在一种可能的实现方式中,可根据第一方向向量与第一样本方向向量的差异,以及分区结果与分区标注之间的差异,确定神经网络的网络损失。在示例中,可根据第一方向向量与第一样本方向向量的差异,以及分区结果与分区标注之间的差异,确定多个像素点的交叉熵损失函数,并对所述交叉熵损失函数进行正则化处理,以防止训练过程中出现过拟合的情况。可将正则化处理后的交叉熵损失函数确定为所述神经网络的网络损失。
在一种可能的实现方式中,可根据所述网络损失调整神经网络的网络参数,在示例中,可按照使网络损失最小化的方向调整所述网络参数,例如,可利用梯度下降法将网络损失进行反向传播,以调整神经网络的网络参数。并在神经网络满足训练条件时,获得训练后的神经网络。所述训练条件可以是调整次数,可将神经网络的网络参数调整预定次数。又例如,训练条件可以是网络损失的大小或敛散性,可在网络损失降低到一定程度或收敛于一定阈值内时,停止调整,获得训练后的神经网络,并可将训练后的神经网络用于获取待处理图像的多个像素点所在区域以及指向关键点的第一方向向量的处理中。
根据本公开的实施例的关键点检测方法,可使用神经网络获得多个像素点所在区域,并可检测目标区域中的关键点估计坐标,所述神经网络通过空洞卷积层扩大感受野,同时不损失处理精度,可提高特征提取操作的处理精度,还可在获得与待处理图像分辨率相同的第二特征图后,对第二特征图进行卷积处理,以降低处理量,提高处理效率。可针对每个目标区域确定关键点估计坐标,降低不同区域之间的互相影响,并可对关键点估计坐标进行加权平均处理,获得关键点的位置,可获得关键点的位置的概率分布,提高确定关键点位置的精度。并避免了目标区域受到遮挡或超出图像的拍摄范围的影响,提高了关键点检测的鲁棒性,并提高了检测的准确率。
图3示出根据本公开实施例的关键点检测方法的应用示意图,如图3所示,可将待处理图像输入预训练的神经网络中进行处理,可获得待处理图像的多个像素点所在区域以及指向关键点的第一方向向量。在示例中,可通过神经网络的下采样子网络对待处理图像进行特征提取处理,即,通过下采样子网络的第二卷积层进行第二卷积处理,并通过空洞卷积层进行空洞卷积处理,获得预设分辨率的第一特征图。可对第一特征图进行上采样处理,获得与待处理图像分辨率相同的第二特征图。并可将第二特征图输入特征确定子网络的第一卷积层(具有一个或多个1×1卷积核)进行第一卷积处理,获得多个像素点所在区域以及指向关键点的第一方向向量。
在一种可能的实现方式中,可在目标区域的多个像素点中,确定任意两个像素点的第一方向向量的交点,作为关键点估计坐标。可按照这种方式确定目标区域中的关键点估计坐标。
在一种可能的实现方式中,可确定关键点估计坐标的权值,在示例中,可确定目标 区域中多个像素点指向某一关键点估计坐标的第二方向向量,确定多个像素点的第二方向向量与第一方向向量的内积,并根据公式(2)使用激活函数确定该关键点估计坐标的权值,即,在所述内积大于或等于预定阈值时,激活函数的值为1,否则为0,进一步地,可将目标区域中多个像素点的激活函数值相加,获得该关键点估计坐标的权值。可按照这种方式确定目标区域中关键点估计坐标的权值。
在一种可能的实现方式中,可对目标区域中的关键点估计坐标进行加权平均处理,获得目标区域的关键点的位置坐标,并可按照这种方式确定每个区域中的关键点的位置坐标。
图4示出根据本公开实施例的关键点检测装置的框图,如图4所示,所述装置包括:
第一确定模块11,用于确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,其中,所述待处理图像包括一个或多个区域;
第二确定模块12,用于根据所述像素点所在区域以及所述区域中的多个像素点的第一方向向量,确定所述区域中的关键点的位置。
在一种可能的实现方式中,所述第二确定模块被进一步配置为:
根据所述像素点所在区域以及所述第一方向向量,确定目标区域中的关键点估计坐标以及关键点估计坐标的权值,其中,所述目标区域为所述一个或多个区域中的任意一个;
根据所述关键点估计坐标的权值,对目标区域中的关键点估计坐标进行加权平均处理,获得目标区域中的关键点的位置。
在一种可能的实现方式中,所述第二确定模块被进一步配置为:
根据所述像素点所在区域,对待处理图像的多个像素点进行筛选,确定属于所述目标区域的多个目标像素点;
将任意两个目标像素点的第一方向向量的交点的坐标确定为关键点估计坐标;
根据关键点估计坐标以及所述目标区域中的像素点,确定所述关键点估计坐标的权值。
在一种可能的实现方式中,所述第二确定模块被进一步配置为:
根据所述关键点估计坐标以及目标区域中的多个像素点的坐标,分别确定所述目标区域中的多个像素点指向关键点估计坐标的第二方向向量;
确定所述目标区域中的多个像素点的第二方向向量与第一方向向量的内积;
确定所述目标区域中的多个像素点中,内积大于或等于预定阈值的像素点的目标数量;
根据所述目标数量,确定所述关键点估计坐标的权值。
在一种可能的实现方式中,所述第一确定模块被进一步配置为:
将待处理图像进行特征提取处理处理,获得预设分辨率的第一特征图;
将所述第一特征图进行上采样处理,获得与待处理图像分辨率相同的第二特征图;
将所述第二特征图进行第一卷积处理,确定多个像素点所在区域以及指向关键点的第一方向向量。
在一种可能的实现方式中,所述第一确定模块被进一步配置为:
将待处理图像进行第二卷积处理,获得预设分辨率的第三特征图;
将所述第三特征图进行空洞卷积处理,获得所述第一特征图。
在一种可能的实现方式中,所述第一确定模块被进一步配置为:
通过神经网络确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,所述神经网络利用多个具有分区标注和关键点标注的样本图像进行训练。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。
此外,本公开还提供了关键点检测装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种关键点检测方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任一实施例提供的图片搜索方法的指令。
本公开实施例还提供了另一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任一实施例提供的图片搜索方法的操作。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
图5是根据一示例性实施例示出的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端。
参照图5,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿 数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上 述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
图6是根据一示例性实施例示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图6,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种 类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (16)

  1. 一种关键点检测方法,其特征在于,所述方法包括:
    确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,其中,所述待处理图像包括一个或多个区域;
    根据所述像素点所在区域以及所述区域中的多个像素点的第一方向向量,确定所述区域中的关键点的位置。
  2. 根据权利要求1所述的方法,其特征在于,根据所述像素点所在区域以及所述区域中的多个像素点的第一方向向量,确定所述区域中的关键点的位置,包括:
    根据所述像素点所在区域以及所述第一方向向量,确定目标区域中的关键点估计坐标以及关键点估计坐标的权值,其中,所述目标区域为所述一个或多个区域中的任意一个;
    根据所述关键点估计坐标的权值,对目标区域中的关键点估计坐标进行加权平均处理,获得目标区域中的关键点的位置。
  3. 根据权利要求2所述的方法,其特征在于,根据所述像素点所在区域以及所述第一方向向量,确定目标区域中的关键点估计坐标以及关键点估计坐标的权值,包括:
    根据所述像素点所在区域,对待处理图像的多个像素点进行筛选,确定属于所述目标区域的多个目标像素点;
    将任意两个目标像素点的第一方向向量的交点的坐标确定为关键点估计坐标;
    根据关键点估计坐标以及所述目标区域中的像素点,确定所述关键点估计坐标的权值。
  4. 根据权利要求3所述的方法,其特征在于,根据关键点估计坐标以及所述目标区域中的像素点,确定所述关键点估计坐标的权值,包括:
    根据所述关键点估计坐标以及目标区域中的多个像素点的坐标,分别确定所述目标区域中的多个像素点指向关键点估计坐标的第二方向向量;
    确定所述目标区域中的多个像素点的第二方向向量与第一方向向量的内积;
    确定所述目标区域中的多个像素点中,内积大于或等于预定阈值的像素点的目标数量;
    根据所述目标数量,确定所述关键点估计坐标的权值。
  5. 根据权利要求1-4中任一项所述的方法,其特征在于,确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,包括:
    将待处理图像进行特征提取处理处理,获得预设分辨率的第一特征图;
    将所述第一特征图进行上采样处理,获得与待处理图像分辨率相同的第二特征图;
    将所述第二特征图进行第一卷积处理,确定多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量。
  6. 根据权利要求5所述的方法,其特征在于,将待处理图像进行特征提取处理,获得预设分辨率的第一特征图,包括:
    将待处理图像进行第二卷积处理,获得预设分辨率的第三特征图;
    将所述第三特征图进行空洞卷积处理,获得所述第一特征图。
  7. 根据权利要求1-6中任一项所述的方法,其特征在于,通过神经网络确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量;所述神经网络利用多个具有分区标注和关键点标注的样本图像进行训练。
  8. 一种关键点检测装置,其特征在于,包括:
    第一确定模块,用于确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,其中,所述待处理图像包括一个或多个区域;
    第二确定模块,用于根据所述像素点所在区域以及所述区域中的多个像素点的第一方向向量,确定所述区域中的关键点的位置。
  9. 根据权利要求8所述的装置,其特征在于,所述第二确定模块被进一步配置为:
    根据所述像素点所在区域以及所述第一方向向量,确定目标区域中的关键点估计坐标以及关键点估计坐标的权值,其中,所述目标区域为所述一个或多个区域中的任意一个;
    根据所述关键点估计坐标的权值,对目标区域中的关键点估计坐标进行加权平均处理,获得目标区域中的关键点的位置。
  10. 根据权利要求9所述的装置,其特征在于,所述第二确定模块被进一步配置为:
    根据所述像素点所在区域,对待处理图像的多个像素点进行筛选,确定属于所述目标区域的多个目标像素点;
    将任意两个目标像素点的第一方向向量的交点的坐标确定为关键点估计坐标;
    根据关键点估计坐标以及所述目标区域中的像素点,确定所述关键点估计坐标的权值。
  11. 根据权利要求10所述的装置,其特征在于,所述第二确定模块被进一步配置为:
    根据所述关键点估计坐标以及目标区域中的多个像素点的坐标,分别确定所述目标区域中的多个像素点指向关键点估计坐标的第二方向向量;
    确定所述目标区域中的多个像素点的第二方向向量与第一方向向量的内积;
    确定所述目标区域中的多个像素点中,内积大于或等于预定阈值的像素点的目标数量;
    根据所述目标数量,确定所述关键点估计坐标的权值。
  12. 根据权利要8-11中任一项所述的装置,其特征在于,所述第一确定模块被进一步配置为:
    将待处理图像进行特征提取处理处理,获得预设分辨率的第一特征图;
    将所述第一特征图进行上采样处理,获得与待处理图像分辨率相同的第二特征图;
    将所述第二特征图进行第一卷积处理,确定多个像素点所在区域以及指向关键点的第一方向向量。
  13. 根据权利要求12所述的装置,其特征在于,所述第一确定模块被进一步配置为:
    将待处理图像进行第二卷积处理,获得预设分辨率的第三特征图;
    将所述第三特征图进行空洞卷积处理,获得所述第一特征图。
  14. 根据权利要求8-13所述的装置,其特征在于,所述第一确定模块被进一步配置为:
    通过神经网络确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,所述神经网络利用多个具有分区标注和关键点标注的样本图像训练所述神经网络。
  15. 一种电子设备,其特征在于,包括:
    处理器;
    用于存储处理器可执行指令的存储器;
    其中,所述处理器被配置为:执行权利要求1至7中任意一项所述的方法。
  16. 一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
PCT/CN2019/122112 2018-12-25 2019-11-29 关键点检测方法及装置、电子设备和存储介质 WO2020134866A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020207029436A KR102421820B1 (ko) 2018-12-25 2019-11-29 키포인트 검출 방법, 장치, 전자 기기 및 기억 매체
JP2021501076A JP2021516838A (ja) 2018-12-25 2019-11-29 キーポイント検出方法、装置、電子機器及び記憶媒体
SG11202009794RA SG11202009794RA (en) 2018-12-25 2019-11-29 Key point detection method and apparatus, electronic device and storage medium
US17/038,000 US20210012143A1 (en) 2018-12-25 2020-09-30 Key Point Detection Method and Apparatus, and Storage Medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811593614.X 2018-12-25
CN201811593614.XA CN109522910B (zh) 2018-12-25 2018-12-25 关键点检测方法及装置、电子设备和存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/038,000 Continuation US20210012143A1 (en) 2018-12-25 2020-09-30 Key Point Detection Method and Apparatus, and Storage Medium

Publications (1)

Publication Number Publication Date
WO2020134866A1 true WO2020134866A1 (zh) 2020-07-02

Family

ID=65796959

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/122112 WO2020134866A1 (zh) 2018-12-25 2019-11-29 关键点检测方法及装置、电子设备和存储介质

Country Status (6)

Country Link
US (1) US20210012143A1 (zh)
JP (1) JP2021516838A (zh)
KR (1) KR102421820B1 (zh)
CN (1) CN109522910B (zh)
SG (1) SG11202009794RA (zh)
WO (1) WO2020134866A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112465834A (zh) * 2020-11-26 2021-03-09 中科麦迪人工智能研究院(苏州)有限公司 一种血管分割方法及装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018033137A1 (zh) * 2016-08-19 2018-02-22 北京市商汤科技开发有限公司 在视频图像中展示业务对象的方法、装置和电子设备
CN109522910B (zh) * 2018-12-25 2020-12-11 浙江商汤科技开发有限公司 关键点检测方法及装置、电子设备和存储介质
CN110288551B (zh) * 2019-06-29 2021-11-09 北京字节跳动网络技术有限公司 视频美化方法、装置及电子设备
CN110555812A (zh) * 2019-07-24 2019-12-10 广州视源电子科技股份有限公司 图像调整方法、装置和计算机设备
CN112529985A (zh) * 2019-09-17 2021-03-19 北京字节跳动网络技术有限公司 图像处理方法及装置
CN112528986A (zh) * 2019-09-18 2021-03-19 马上消费金融股份有限公司 图像对齐方法、人脸识别方法及相关装置
CN110969115B (zh) * 2019-11-28 2023-04-07 深圳市商汤科技有限公司 行人事件的检测方法及装置、电子设备和存储介质
CN111080749B (zh) * 2019-12-31 2023-08-15 广州供电局有限公司 配电网广域测量控制系统中多源量测的标注方法及装置
CN111223143B (zh) * 2019-12-31 2023-04-11 广州市百果园信息技术有限公司 关键点检测方法、装置及计算机可读存储介质
CN111310616B (zh) * 2020-02-03 2023-11-28 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
CN111339846B (zh) * 2020-02-12 2022-08-12 深圳市商汤科技有限公司 图像识别方法及装置、电子设备和存储介质
CN113111880B (zh) * 2021-05-12 2023-10-17 中国平安人寿保险股份有限公司 证件图像校正方法、装置、电子设备及存储介质
CN113838134B (zh) * 2021-09-26 2024-03-12 广州博冠信息科技有限公司 图像关键点检测方法、装置、终端和存储介质
CN117422721B (zh) * 2023-12-19 2024-03-08 天河超级计算淮海分中心 一种基于下肢ct影像的智能标注方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127755A (zh) * 2016-06-21 2016-11-16 奇瑞汽车股份有限公司 基于特征的图像匹配方法和装置
CN106340015A (zh) * 2016-08-30 2017-01-18 沈阳东软医疗系统有限公司 一种关键点的定位方法和装置
US20170147899A1 (en) * 2015-11-25 2017-05-25 Xiaomi Inc. Method, device, and storage medium for image characteristic extraction
CN108520251A (zh) * 2018-04-20 2018-09-11 北京市商汤科技开发有限公司 关键点检测方法及装置、电子设备和存储介质
CN108596093A (zh) * 2018-04-24 2018-09-28 北京市商汤科技开发有限公司 人脸特征点的定位方法及装置
CN108960211A (zh) * 2018-08-10 2018-12-07 罗普特(厦门)科技集团有限公司 一种多目标人体姿态检测方法以及系统
CN109522910A (zh) * 2018-12-25 2019-03-26 浙江商汤科技开发有限公司 关键点检测方法及装置、电子设备和存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4367475B2 (ja) * 2006-10-06 2009-11-18 アイシン精機株式会社 移動物体認識装置、移動物体認識方法及びコンピュータプログラム
JP2009129237A (ja) * 2007-11-26 2009-06-11 Toshiba Corp 画像処理装置及びその方法
KR101467307B1 (ko) * 2013-08-19 2014-12-01 성균관대학교산학협력단 인공 신경망 모델을 이용한 보행자 계수 방법 및 장치
CN104881881B (zh) * 2014-02-27 2018-04-10 株式会社理光 运动对象表示方法及其装置
EP2977931A1 (en) * 2014-07-24 2016-01-27 Universität Zürich Method for tracking keypoints in a scene
WO2016026063A1 (en) * 2014-08-21 2016-02-25 Xiaoou Tang A method and a system for facial landmark detection based on multi-task
JP6234349B2 (ja) * 2014-09-16 2017-11-22 株式会社東芝 移動体位置推定装置、移動体位置推定方法及び移動体位置推定プログラム
KR20170024303A (ko) * 2015-08-25 2017-03-07 영남대학교 산학협력단 얼굴의 특징점 검출 시스템 및 방법
US9727800B2 (en) * 2015-09-25 2017-08-08 Qualcomm Incorporated Optimized object detection
CN108229489B (zh) * 2016-12-30 2020-08-11 北京市商汤科技开发有限公司 关键点预测、网络训练、图像处理方法、装置及电子设备
KR101917369B1 (ko) * 2017-04-24 2018-11-09 세종대학교산학협력단 컨볼루션 신경망을 이용한 영상 검색 방법 및 그 장치
CN108875504B (zh) * 2017-11-10 2021-07-23 北京旷视科技有限公司 基于神经网络的图像检测方法和图像检测装置
CN107886069A (zh) * 2017-11-10 2018-04-06 东北大学 一种多目标人体2d姿态实时检测系统及检测方法
CN107729880A (zh) * 2017-11-15 2018-02-23 北京小米移动软件有限公司 人脸检测方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170147899A1 (en) * 2015-11-25 2017-05-25 Xiaomi Inc. Method, device, and storage medium for image characteristic extraction
CN106127755A (zh) * 2016-06-21 2016-11-16 奇瑞汽车股份有限公司 基于特征的图像匹配方法和装置
CN106340015A (zh) * 2016-08-30 2017-01-18 沈阳东软医疗系统有限公司 一种关键点的定位方法和装置
CN108520251A (zh) * 2018-04-20 2018-09-11 北京市商汤科技开发有限公司 关键点检测方法及装置、电子设备和存储介质
CN108596093A (zh) * 2018-04-24 2018-09-28 北京市商汤科技开发有限公司 人脸特征点的定位方法及装置
CN108960211A (zh) * 2018-08-10 2018-12-07 罗普特(厦门)科技集团有限公司 一种多目标人体姿态检测方法以及系统
CN109522910A (zh) * 2018-12-25 2019-03-26 浙江商汤科技开发有限公司 关键点检测方法及装置、电子设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112465834A (zh) * 2020-11-26 2021-03-09 中科麦迪人工智能研究院(苏州)有限公司 一种血管分割方法及装置
CN112465834B (zh) * 2020-11-26 2024-05-24 中科麦迪人工智能研究院(苏州)有限公司 一种血管分割方法及装置

Also Published As

Publication number Publication date
KR102421820B1 (ko) 2022-07-15
CN109522910B (zh) 2020-12-11
KR20200131305A (ko) 2020-11-23
CN109522910A (zh) 2019-03-26
SG11202009794RA (en) 2020-11-27
JP2021516838A (ja) 2021-07-08
US20210012143A1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
WO2020134866A1 (zh) 关键点检测方法及装置、电子设备和存储介质
TWI724736B (zh) 圖像處理方法及裝置、電子設備、儲存媒體和電腦程式
JP7238141B2 (ja) 顔と手を関連付けて検出する方法及び装置、電子機器、記憶媒体及びコンピュータプログラム
WO2021155632A1 (zh) 图像处理方法及装置、电子设备和存储介质
WO2020135529A1 (zh) 位姿估计方法及装置、电子设备和存储介质
CN109658401B (zh) 图像处理方法及装置、电子设备和存储介质
US20210097715A1 (en) Image generation method and device, electronic device and storage medium
CN108629354B (zh) 目标检测方法及装置
TWI702544B (zh) 圖像處理方法、電子設備和電腦可讀儲存介質
WO2021208667A1 (zh) 图像处理方法及装置、电子设备和存储介质
US9959484B2 (en) Method and apparatus for generating image filter
TW202113757A (zh) 目標對象匹配方法及目標對象匹配裝置、電子設備和電腦可讀儲存媒介
WO2021017358A1 (zh) 位姿确定方法及装置、电子设备和存储介质
CN113538517A (zh) 目标追踪方法及装置、电子设备和存储介质
WO2021169136A1 (zh) 图像处理方法及装置、电子设备和存储介质
CN110781813B (zh) 图像识别方法及装置、电子设备和存储介质
TWI778313B (zh) 圖像處理方法、電子設備和儲存介質
WO2021169132A1 (zh) 图像处理方法及装置、电子设备和存储介质
US20220222831A1 (en) Method for processing images and electronic device therefor
CN111882558A (zh) 图像处理方法及装置、电子设备和存储介质
WO2022141969A1 (zh) 图像分割方法及装置、电子设备、存储介质和程序
CN111311588B (zh) 重定位方法及装置、电子设备和存储介质
TW202119281A (zh) 人臉識別方法、電子設備和儲存介質
WO2023024439A1 (zh) 一种行为识别方法及装置、电子设备和存储介质
CN113297983A (zh) 人群定位方法及装置、电子设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19906064

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021501076

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20207029436

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19906064

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 07.01.2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19906064

Country of ref document: EP

Kind code of ref document: A1