WO2020134866A1 - 关键点检测方法及装置、电子设备和存储介质 - Google Patents
关键点检测方法及装置、电子设备和存储介质 Download PDFInfo
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 42
- 238000003860 storage Methods 0.000 title claims abstract description 30
- 239000013598 vector Substances 0.000 claims abstract description 131
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000012545 processing Methods 0.000 claims description 88
- 238000013528 artificial neural network Methods 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 22
- 238000005070 sampling Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 15
- 238000005192 partition Methods 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 5
- 238000002372 labelling Methods 0.000 claims 2
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 210000001061 forehead Anatomy 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/469—Contour-based spatial representations, e.g. vector-coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient 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
Claims (16)
- 一种关键点检测方法,其特征在于,所述方法包括:确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,其中,所述待处理图像包括一个或多个区域;根据所述像素点所在区域以及所述区域中的多个像素点的第一方向向量,确定所述区域中的关键点的位置。
- 根据权利要求1所述的方法,其特征在于,根据所述像素点所在区域以及所述区域中的多个像素点的第一方向向量,确定所述区域中的关键点的位置,包括:根据所述像素点所在区域以及所述第一方向向量,确定目标区域中的关键点估计坐标以及关键点估计坐标的权值,其中,所述目标区域为所述一个或多个区域中的任意一个;根据所述关键点估计坐标的权值,对目标区域中的关键点估计坐标进行加权平均处理,获得目标区域中的关键点的位置。
- 根据权利要求2所述的方法,其特征在于,根据所述像素点所在区域以及所述第一方向向量,确定目标区域中的关键点估计坐标以及关键点估计坐标的权值,包括:根据所述像素点所在区域,对待处理图像的多个像素点进行筛选,确定属于所述目标区域的多个目标像素点;将任意两个目标像素点的第一方向向量的交点的坐标确定为关键点估计坐标;根据关键点估计坐标以及所述目标区域中的像素点,确定所述关键点估计坐标的权值。
- 根据权利要求3所述的方法,其特征在于,根据关键点估计坐标以及所述目标区域中的像素点,确定所述关键点估计坐标的权值,包括:根据所述关键点估计坐标以及目标区域中的多个像素点的坐标,分别确定所述目标区域中的多个像素点指向关键点估计坐标的第二方向向量;确定所述目标区域中的多个像素点的第二方向向量与第一方向向量的内积;确定所述目标区域中的多个像素点中,内积大于或等于预定阈值的像素点的目标数量;根据所述目标数量,确定所述关键点估计坐标的权值。
- 根据权利要求1-4中任一项所述的方法,其特征在于,确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,包括:将待处理图像进行特征提取处理处理,获得预设分辨率的第一特征图;将所述第一特征图进行上采样处理,获得与待处理图像分辨率相同的第二特征图;将所述第二特征图进行第一卷积处理,确定多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量。
- 根据权利要求5所述的方法,其特征在于,将待处理图像进行特征提取处理,获得预设分辨率的第一特征图,包括:将待处理图像进行第二卷积处理,获得预设分辨率的第三特征图;将所述第三特征图进行空洞卷积处理,获得所述第一特征图。
- 根据权利要求1-6中任一项所述的方法,其特征在于,通过神经网络确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量;所述神经网络利用多个具有分区标注和关键点标注的样本图像进行训练。
- 一种关键点检测装置,其特征在于,包括:第一确定模块,用于确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,其中,所述待处理图像包括一个或多个区域;第二确定模块,用于根据所述像素点所在区域以及所述区域中的多个像素点的第一方向向量,确定所述区域中的关键点的位置。
- 根据权利要求8所述的装置,其特征在于,所述第二确定模块被进一步配置为:根据所述像素点所在区域以及所述第一方向向量,确定目标区域中的关键点估计坐标以及关键点估计坐标的权值,其中,所述目标区域为所述一个或多个区域中的任意一个;根据所述关键点估计坐标的权值,对目标区域中的关键点估计坐标进行加权平均处理,获得目标区域中的关键点的位置。
- 根据权利要求9所述的装置,其特征在于,所述第二确定模块被进一步配置为:根据所述像素点所在区域,对待处理图像的多个像素点进行筛选,确定属于所述目标区域的多个目标像素点;将任意两个目标像素点的第一方向向量的交点的坐标确定为关键点估计坐标;根据关键点估计坐标以及所述目标区域中的像素点,确定所述关键点估计坐标的权值。
- 根据权利要求10所述的装置,其特征在于,所述第二确定模块被进一步配置为:根据所述关键点估计坐标以及目标区域中的多个像素点的坐标,分别确定所述目标区域中的多个像素点指向关键点估计坐标的第二方向向量;确定所述目标区域中的多个像素点的第二方向向量与第一方向向量的内积;确定所述目标区域中的多个像素点中,内积大于或等于预定阈值的像素点的目标数量;根据所述目标数量,确定所述关键点估计坐标的权值。
- 根据权利要8-11中任一项所述的装置,其特征在于,所述第一确定模块被进一步配置为:将待处理图像进行特征提取处理处理,获得预设分辨率的第一特征图;将所述第一特征图进行上采样处理,获得与待处理图像分辨率相同的第二特征图;将所述第二特征图进行第一卷积处理,确定多个像素点所在区域以及指向关键点的第一方向向量。
- 根据权利要求12所述的装置,其特征在于,所述第一确定模块被进一步配置为:将待处理图像进行第二卷积处理,获得预设分辨率的第三特征图;将所述第三特征图进行空洞卷积处理,获得所述第一特征图。
- 根据权利要求8-13所述的装置,其特征在于,所述第一确定模块被进一步配置为:通过神经网络确定待处理图像的多个像素点所在区域以及多个像素点指向所在区域的关键点的第一方向向量,所述神经网络利用多个具有分区标注和关键点标注的样本图像训练所述神经网络。
- 一种电子设备,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:执行权利要求1至7中任意一项所述的方法。
- 一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112465834A (zh) * | 2020-11-26 | 2021-03-09 | 中科麦迪人工智能研究院(苏州)有限公司 | 一种血管分割方法及装置 |
Families Citing this family (14)
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)
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)
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 | 北京小米移动软件有限公司 | 人脸检测方法及装置 |
-
2018
- 2018-12-25 CN CN201811593614.XA patent/CN109522910B/zh active Active
-
2019
- 2019-11-29 JP JP2021501076A patent/JP2021516838A/ja active Pending
- 2019-11-29 SG SG11202009794RA patent/SG11202009794RA/en unknown
- 2019-11-29 KR KR1020207029436A patent/KR102421820B1/ko active IP Right Grant
- 2019-11-29 WO PCT/CN2019/122112 patent/WO2020134866A1/zh active Application Filing
-
2020
- 2020-09-30 US US17/038,000 patent/US20210012143A1/en not_active Abandoned
Patent Citations (7)
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)
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 |