WO2022107548A1 - 3次元骨格検出方法及び3次元骨格検出装置 - Google Patents

3次元骨格検出方法及び3次元骨格検出装置 Download PDF

Info

Publication number
WO2022107548A1
WO2022107548A1 PCT/JP2021/039098 JP2021039098W WO2022107548A1 WO 2022107548 A1 WO2022107548 A1 WO 2022107548A1 JP 2021039098 W JP2021039098 W JP 2021039098W WO 2022107548 A1 WO2022107548 A1 WO 2022107548A1
Authority
WO
WIPO (PCT)
Prior art keywords
dimensional
skeleton
dimensional skeleton
connection
image
Prior art date
Application number
PCT/JP2021/039098
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 JP2022563655A priority Critical patent/JPWO2022107548A1/ja
Publication of WO2022107548A1 publication Critical patent/WO2022107548A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images

Definitions

  • This disclosure relates to a technique for detecting the skeleton of an object from a photographed image.
  • Object detection technology that detects objects such as people and vehicles from images taken by cameras is used as the basic technology for applications such as surveillance camera systems and in-vehicle camera systems.
  • a technique for detecting the skeleton (coordinates of a plurality of joints) of a detected object is also used as a basic technique for various applications.
  • Non-Patent Document 1 discloses a technique for detecting a two-dimensional skeleton of an object (coordinates on an image of each joint of the object) using a trained neural network.
  • Non-Patent Document 2 a two-dimensional skeleton of an object is detected from an image taken by a camera of a plurality of viewpoints using a trained neural network, and a three-dimensional skeleton (third-order of each joint of the object) is detected from the detected two-dimensional skeletons.
  • a technique for detecting (original coordinates) is disclosed.
  • Non-Patent Document 2 the connection between three-dimensional joint points is evaluated using a normally distributed score (evaluation value) regarding the distance between the joint points.
  • the score may be high even between joints between different objects, and in some cases, the detection accuracy of the three-dimensional skeleton may deteriorate.
  • the present disclosure has been made in view of the above problems, and an object of the present disclosure is to provide a three-dimensional skeleton detection method and a three-dimensional skeleton detection device capable of detecting a three-dimensional skeleton with high accuracy.
  • the three-dimensional skeleton detection method is a three-dimensional skeleton detection method for detecting a three-dimensional skeleton of a target object whose skeleton is defined by a plurality of connecting portions and connections between the connecting portions.
  • the 2D skeleton detection step uses the 2D skeleton detection step to calculate the 2D connection probability indicating the certainty, the estimated 2D position of the connecting part, and the calculated 2D connection probability, the 3D skeleton of the target object is obtained. It has a three-dimensional skeleton detection step to detect.
  • the three-dimensional skeleton detection step may include a step of calculating the three-dimensional position of each connecting portion of the target object based on the estimated two-dimensional position of the connecting portion.
  • the two-dimensional skeleton detection step is executed by a learning model in which the two-dimensional position of the connecting portion of the target object is estimated and the machine learning for calculating the two-dimensional connection probability is performed. May be done.
  • the three-dimensional skeleton detection step may include a step of calculating the probability that the three-dimensional skeleton of the object exists by using the two-dimensional connection likelihood.
  • the two-dimensional skeleton detection step includes a step of detecting a two-dimensional skeleton defined by a two-dimensional position of each connecting portion of the target object from each image of the image group.
  • the three-dimensional skeleton detection step is a step of calculating a matching score indicating the certainty of correspondence between the two-dimensional skeleton detected from the first image and the two-dimensional skeleton detected from the second image in the image group.
  • Triangular survey based on the step of associating two-dimensional skeletons corresponding to the same object using the matching score and the two-dimensional position on the image of the connecting portion of the two associated two-dimensional skeletons. It may include a step of calculating the three-dimensional position of the connecting portion of the target object by using the principle of.
  • the step of calculating the three-dimensional position of the connection part of the target object using the principle of triangular survey and the three-dimensional connection showing the certainty of the existence of the connection between the calculated connection parts of the three-dimensional position may include a step of calculating the likelihood using the two-dimensional connection likelihood and a step of detecting the connection between the calculated connection portions of the three-dimensional position using the three-dimensional connection likelihood. ..
  • the three-dimensional skeleton detection device is a three-dimensional skeleton detection device that detects a three-dimensional skeleton of an object whose skeleton is defined by a plurality of connecting portions and connections between the connecting portions. Estimating the two-dimensional position of the connecting part on the image from the input part that obtains the image group obtained by capturing the object from a plurality of different camera positions and each image of the image group, and confirming the existence of the connection on the image. 3 Detects the 3D skeleton of the target object using the 2D skeleton detection unit that calculates the 2D connection likelihood indicating the peculiarity, the estimated position of the connection unit, and the calculated 2D connection probability. It is equipped with a dimensional skeleton detection unit.
  • a two-dimensional connection that estimates the two-dimensional skeleton (position of a connecting portion on the image) of an object in the two-dimensional skeleton from an image and indicates the certainty of the existence of a joint-to-joint connection in the two-dimensional skeleton. Calculate the likelihood. Then, since the three-dimensional skeleton is detected using the two-dimensional connection likelihood, the detection accuracy of the three-dimensional skeleton can be improved.
  • FIG. It is a block diagram which shows the schematic structure of the 3D skeleton detection system 1 which concerns on Embodiment 1.
  • FIG. It is a flowchart which shows the operation of 3D skeleton detection system 1. It is a figure which shows an example of the photographed image of the camera 20 which becomes the input of a 2D skeleton detection unit 101. It is a figure which showed schematically the 2D joint likelihood map which becomes a part of the output of the 2D skeleton detection unit 101. It is a figure which showed schematically the 2D joint connection likelihood map which becomes a part of the output of 2D skeleton detection unit 101. It is a figure which shows schematically the 2D skeleton information which becomes a part of the output of the 2D skeleton detection unit 101.
  • FIG. 1 It is a flowchart which shows an example in the operation of 3D skeleton detection unit 102.
  • (A), (b), and (c) are diagrams showing an example of two-dimensional skeleton information which is a part of the output of the two-dimensional skeleton detection unit 101, and are diagrams for explaining a camera pair.
  • (A) and (b) are diagrams showing an example of two-dimensional skeleton information which is a part of the output of the two-dimensional skeleton detection unit 101, and are diagrams for explaining a skeleton pair.
  • It is a schematic diagram for demonstrating epipolar line in computer stereo view.
  • FIG. 1 It is a flowchart which shows an example of the operation of the 3D skeleton detection unit 102.
  • (A) and (b) are diagrams showing an example of two-dimensional skeleton information which is a part of the output of the two-dimensional skeleton detection unit 101, and are diagrams for explaining a two-dimensional joint pair. It is a schematic diagram for demonstrating the process of removing the overlapping 3D joints.
  • (A) and (b) are schematic diagrams for explaining the process of determining the connection pair of three-dimensional joints.
  • (A) is a diagram schematically showing data propagation during learning.
  • (B) It is a figure which shows typically the data propagation at the time of estimation.
  • Embodiment 1 Hereinafter, the three-dimensional skeleton detection system 1 according to the first embodiment will be described.
  • FIG. 1 is a block diagram showing a configuration of a three-dimensional skeleton detection system 1. As shown in the figure, the three-dimensional skeleton detection system 1 includes a plurality of cameras 20 (20a, 20b, ...) And a three-dimensional skeleton detection device 10.
  • the camera 20 includes an image pickup element such as a CMOS (Complementary Metal-Oxide-Semiconductor field-effect transistor) image sensor or a CCD (Charge-Coupled Device) image sensor, and an electric signal is obtained by photoelectric conversion of the light imaged on the image pickup element. By converting to, an image of a predetermined size is output.
  • the camera 20 may be configured to resize the output image of the camera 20 when the size of the output image and the size of the input image of the three-dimensional skeleton detection device 10 are different.
  • the plurality of cameras 20 are installed so as to photograph one or a plurality of objects existing in a predetermined photographing area from different viewpoints.
  • the three-dimensional skeleton detection device 10 includes a control unit 100 and an input / output interface 14 for connecting to the camera 20.
  • the control unit 100 includes a CPU (Central Processing Unit) 11, a main storage device 12, an auxiliary storage device 13, and the like.
  • the computer programs and data stored in the auxiliary storage device 13 are loaded into the main storage device 12, and the CPU 11 operates according to the computer programs and data loaded in the main storage device 12, so that each processing unit (2)
  • the dimensional skeleton detection unit 101 and the three-dimensional skeleton detection unit 102) are realized.
  • the auxiliary storage device 13 is composed of a hard disk.
  • the auxiliary storage device 13 may be composed of a non-volatile semiconductor memory.
  • the auxiliary storage device 13 stores the two-dimensional skeleton detection information 103, the three-dimensional skeleton detection information 104, the camera setting information 105, and the skeleton definition information 106.
  • the two-dimensional skeleton detection information 103 is information related to the two-dimensional skeleton detected by the two-dimensional skeleton detection unit 101
  • the three-dimensional skeleton detection information 104 is information related to the three-dimensional skeleton detected by the three-dimensional skeleton detection unit 102.
  • the camera setting information 105 stores information such as installation positions (coordinates of the optical center and positions of the projection plane) of the plurality of cameras 20 included in the three-dimensional skeleton detection system 1.
  • the skeleton definition information 106 is information relating to the skeleton of the object to be detected.
  • the object to be detected is a human body. Therefore, the skeleton definition information 106 defines a predetermined number of key points of the human body as joints of different types, and there is a connection between the joints of which type and the joints of which type among the defined joints. Define information such as joints. Further, in the skeleton definition information 106, an index number may be assigned to each joint type.
  • the two-dimensional skeleton detection unit 101 is a convolutional neural network that has been machine-learned to detect the two-dimensional skeleton of the object to be detected.
  • the two-dimensional skeleton detection unit 101 can use an existing library such as OpenPose.
  • the two-dimensional skeleton detection unit 101 outputs the two-dimensional skeleton detection information 103 from the input image.
  • the two-dimensional skeleton detection information 103 includes a two-dimensional joint likelihood map, a two-dimensional joint connection likelihood map, and two-dimensional skeleton information.
  • the two-dimensional joint likelihood map exists for each type of joint defined in the skeleton definition information 106, and has map information as a pixel value indicating the probability that the joint of that type exists in each pixel of the input image.
  • FIG. 3 is an example of the input image 301
  • FIG. 4 is an example of the two-dimensional joint likelihood map 401 in which the joint type with respect to the input image 301 is “left elbow”.
  • the input image 301 has two human bodies.
  • the two-dimensional joint likelihood map 401 has map information in which the pixel values of the regions 402 and 403 in which the left elbow is presumed to exist are high and the pixel values of the other regions are small among the two human bodies existing in the input image 301. Will be.
  • the two-dimensional joint likelihood map may be called Part Confidence Maps or the like.
  • the two-dimensional joint connection probability map exists for each type of connection defined in the skeleton definition information 106, and has a probability as a pixel value indicating the certainty that the connection of that type exists in each pixel of the input image.
  • FIG. 5 is an example of a two-dimensional joint connection likelihood map 501 in which the type of connection to the input image 301 is “left shoulder-left elbow”.
  • the two-dimensional joint connection likelihood map 501 has high pixel values in regions 502 and 503 in which the connection between the left shoulder and the left elbow is presumed to exist among the two human bodies existing in the input image 301, and the other regions have high pixel values.
  • the map information has a small pixel value.
  • the two-dimensional joint connection likelihood map 501 may have, as a pixel value, the likelihood indicating the certainty that the connection exists and the vector information indicating the direction of the connection.
  • the two-dimensional joint connection likelihood map may be called Part Affinity Fields or the like.
  • the two-dimensional skeleton information is skeleton information for each person detected from the image.
  • This skeleton information includes the positions (x-coordinates and y-coordinates) on the image of each joint defined in the skeleton definition information 106 and the likelihood of indicating the certainty of their existence.
  • FIG. 6 is a diagram schematically showing two-dimensional skeleton information for the input image 301.
  • the skeleton information 602 is detected from the left person in the input image 301, and the skeleton information 603 is detected from the right person in the input image 301.
  • White circles in skeletal information 602 and 603 indicate the position of each joint.
  • the connection between the joints defined in the skeleton definition information 106 is shown by a black straight line.
  • Three-dimensional skeleton detection unit 102 inputs the two-dimensional skeleton detection information 103 and outputs the three-dimensional skeleton detection information 104.
  • the three-dimensional skeleton detection information 104 includes three-dimensional skeleton information of a person photographed by a plurality of cameras 20.
  • This three-dimensional skeleton information includes the three-dimensional positions (x-coordinate, y-coordinate, z-coordinate) of each joint defined in the skeleton definition information 106 for each detected person.
  • this three-dimensional skeleton information includes a likelihood (three-dimensional skeleton detection score) indicating the certainty of existence for each detected person.
  • FIG. 17 is a diagram schematically showing three-dimensional skeleton information.
  • FIG. 17 is a diagram schematically showing three-dimensional skeleton information.
  • FIG. 17 shows three-dimensional skeleton information 1701 and 1702 for two people.
  • A1 to A15 show the three-dimensional position information of each joint in the three-dimensional skeleton information 1701
  • B1 to B15 show the three-dimensional position information of each joint in the three-dimensional skeleton information 1702.
  • the connections between the joints in the three-dimensional skeleton information 1701 are shown by C101 to C114
  • the connections between the joints in the three-dimensional skeleton information 1702 are shown by C201 to C214.
  • the number of objects to be detected may be 1 or larger than 2.
  • FIG. 2 is a flowchart showing the operation of the three-dimensional skeleton detection system 1.
  • the three-dimensional skeleton detection system 1 photographs one or a plurality of objects existing in the photographing area from a plurality of viewpoints by a plurality of cameras 20 and acquires captured images of the plurality of viewpoints (step S11).
  • the three-dimensional skeleton detection device 10 receives captured images of a plurality of viewpoints captured by the plurality of cameras 20 as inputs of the two-dimensional skeleton detection unit 101, and detects the two-dimensional skeleton from the captured images of each viewpoint (step S12).
  • the two-dimensional skeleton detection unit 101 generates two-dimensional skeleton detection information 103 including a two-dimensional joint likelihood map, a two-dimensional joint connection likelihood map, and two-dimensional skeleton information for each viewpoint.
  • the three-dimensional skeleton detection unit 102 uses the two-dimensional skeleton detection information 103 for each viewpoint output by the two-dimensional skeleton detection unit 101 as an input of the three-dimensional skeleton detection unit 102, and three-dimensionally one or a plurality of objects existing in the photographing area.
  • the skeleton is detected and the three-dimensional skeleton detection information 104 is output (step S13).
  • the top-down method for detecting a three-dimensional skeleton is the detection of a two-dimensional joint from a two-dimensional image, the detection of a two-dimensional skeleton from a two-dimensional joint, and the detection of a three-dimensional skeleton from a two-dimensional skeleton. It is a method of detection.
  • the bottom-up method is a method of detecting a two-dimensional joint from a two-dimensional image, detecting a three-dimensional joint from a two-dimensional joint, and detecting a three-dimensional skeleton from a three-dimensional joint.
  • the detection of a two-dimensional joint may be paraphrased as the detection of the two-dimensional position (coordinates on the image) of the joint of an object.
  • the detection of a two-dimensional skeleton may be paraphrased as the detection of two-dimensional positions of a plurality of joints of the same object.
  • the detection of a three-dimensional joint may be paraphrased as the detection of the three-dimensional position of an object joint.
  • the detection of the three-dimensional skeleton may be paraphrased as the detection of the three-dimensional positions of a plurality of joints of the same object.
  • FIG. 7 is a flowchart showing a process in which the three-dimensional skeleton detection unit 102 detects a three-dimensional skeleton by a top-down method.
  • the three-dimensional skeleton detection unit 102 selects a camera pair (step S21), and processes the selected camera pair from steps S22 to S25.
  • the three-dimensional skeleton detection unit 102 repeats the processes of steps S21 to S25 until all camera pairs are selected.
  • a camera pair is two cameras 20 selected from a plurality of cameras 20.
  • the two-dimensional skeleton detection unit 101 detects the two-dimensional skeleton for the images captured by each of the plurality of cameras 20.
  • FIG. 8A schematically shows the two-dimensional skeleton information 801 including the two-dimensional skeletons 811 and 812 detected from the camera A in the camera 20.
  • FIG. 8B schematically shows the two-dimensional skeleton information 802 including the two-dimensional skeletons 821 and 822 detected from the camera C in the camera 20.
  • FIG. 8C schematically shows the two-dimensional skeleton information 803 including the two-dimensional skeletons 831 and 832 detected from the camera B in the camera 20.
  • the two-dimensional skeleton detected from the camera may be paraphrased as the two-dimensional skeleton detected from the captured image of the camera.
  • the three-dimensional skeleton detection unit 102 selects, for example, a camera pair consisting of a camera A and a camera B, a camera pair consisting of a camera A and a camera C, and a camera pair consisting of a camera B and a camera C in order.
  • steps S22 to S25 will be described assuming that the camera pair consisting of the camera A and the camera B is selected.
  • the three-dimensional skeleton detection unit 102 selects a two-dimensional skeleton pair from the selected camera pair (step S22), and processes the selected two-dimensional skeleton pair in step S23.
  • the three-dimensional skeleton detection unit 102 repeats the processes of steps S22 to S23 until all the two-dimensional skeleton pairs are selected.
  • a 2D skeleton pair is a 2D skeleton detected from two different cameras selected from multiple 2D skeletons.
  • FIG. 9A schematically shows the two-dimensional skeleton information 901 including the two-dimensional skeletons 903 and 904 detected from the camera A among the selected camera pairs.
  • FIG. 9B schematically shows the two-dimensional skeleton information 902 including the two-dimensional skeletons 905 and 906 detected from the camera B among the selected camera pairs.
  • the three-dimensional skeleton detection unit 102 is, for example, a two-dimensional skeleton pair consisting of a two-dimensional skeleton 903 and a two-dimensional skeleton 905, a two-dimensional skeleton pair consisting of a two-dimensional skeleton 903 and a two-dimensional skeleton 906, and a two-dimensional skeleton 904 and a two-dimensional skeleton.
  • a two-dimensional skeleton pair consisting of 905 and a two-dimensional skeleton pair consisting of a two-dimensional skeleton 904 and a two-dimensional skeleton 906 are selected in order.
  • step S23 will be described assuming that the two-dimensional skeleton pair consisting of the two-dimensional skeleton 903 and the two-dimensional skeleton 905 is selected.
  • the three-dimensional skeleton detection unit 102 calculates a matching score indicating the certainty that the two two-dimensional skeletons of the pair are the two-dimensional skeletons of the same person for the selected two-dimensional skeleton pair (step S23).
  • FIG. 10 is a schematic diagram for explaining epipolar lines in a computer stereo view.
  • Reference numeral 1001 indicates a point of interest in three dimensions.
  • Reference numerals 1002 and 1003 indicate the optical center of the camera A and the optical center of the camera B.
  • Reference numerals 1004 and 1005 indicate the projection plane of the camera A and the projection plane of the camera B.
  • Reference numerals 1006 and 1007 indicate the projection of the camera A at the point of interest 1001 and the projection of the camera B at the point of interest 1001.
  • the surface passing through the point of interest 1001, the optical center 1002 of the camera A, and the optical center 1003 of the camera B is called an epipolar surface.
  • the line of intersection 1008 between the epipolar surface and the projection surface 1004 of the camera A is called an epipolar line.
  • the line of intersection 1009 between the epipolar surface and the projection surface 1005 of the camera B is called an epipolar line. Due to the epipolar constraint, the projection 1006 is on the epipolar line 1008 and the projection
  • the matching score MS of the two-dimensional skeleton detected from the camera A and the two-dimensional skeleton detected from the camera B is calculated using the following equation (1).
  • a j is a matching score of the type of two-dimensional joint indicated by the index number j. ..
  • X A is the joint X of the two-dimensional skeleton detected from the camera A
  • X B is the joint X of the two-dimensional skeleton detected from the camera B.
  • the joint X may be paraphrased as a joint whose type of joint is index number X.
  • d l (X A , l A ) is the distance between X A and the epipolar line l A on the projection plane of camera A
  • d l (X B , l B ) is X B and epipolar on the projection plane of camera B. The distance of the line l B.
  • ⁇ 2D is an arbitrary constant.
  • FIG. 11 is a schematic diagram for explaining a method of calculating a matching score.
  • Reference numerals 1101 and 1102 indicate the optical center of the camera A and the optical center of the camera B.
  • Reference numerals 1103 and 1104 indicate the projection surface of the camera A and the projection surface of the camera B.
  • Reference numerals 1105 and 1106 indicate a two-dimensional skeleton detected from the camera A and a two-dimensional skeleton detected from the camera B.
  • Reference numeral 1105A is a joint X in the two-dimensional skeleton 1105, and represents XA in the equation (2).
  • Reference numeral 1106B is a joint X in the two-dimensional skeleton 1106, and indicates a joint X B in the equation (2).
  • the straight line 1107 is the line of intersection of the plane through which the joint 1106B , the optical center 1101 and the optical center 1102 pass, and the projection surface 1103, and shows the epipolar line lA in the equation (2).
  • the distance 1108 between the joint 1105A and the epipolar line 1107 indicates d l (X A , l A ) in the equation (2).
  • d l (X A , l A ) may have a value larger than 0.
  • the matching score A X of the joint X becomes a large value when the two two-dimensional skeletons of the two-dimensional skeleton pair are the two-dimensional skeletons of the same person, and becomes a small value when the two two-dimensional skeletons of the two-dimensional skeleton pair are the two-dimensional skeletons of different persons.
  • the matching score MS is calculated by calculating the matching score A j for all joints in the same manner and taking the sum.
  • the matching score MS of the two-dimensional skeleton detected from the camera A and the two-dimensional skeleton detected from the camera B is a large value when the two two-dimensional skeletons of the two-dimensional skeleton pair are the two-dimensional skeletons of the same person. It becomes a small value when it is a two-dimensional skeleton of a different person.
  • the matching score is calculated for the two-dimensional skeleton pair selected in step S22 of FIG.
  • steps S22 and S23 are repeated until matching scores are calculated for all two-dimensional skeleton pairs.
  • the three-dimensional skeleton detection unit 102 determines a combination of two-dimensional skeleton pairs of the same person among the two-dimensional skeletons detected from the camera pair selected in step S21 based on the calculated matching score (step). S24).
  • a two-dimensional skeleton pair 1 consisting of a two-dimensional skeleton 903 and a two-dimensional skeleton 905
  • a two-dimensional skeleton pair 2 consisting of a two-dimensional skeleton 903 and a two-dimensional skeleton 906, and a two-dimensional skeleton
  • the 2D skeleton pair 3 consisting of 904 and the 2D skeleton 905
  • the 2D skeleton pair 4 consisting of the 2D skeleton 904 and the 2D skeleton 906
  • “Contradictory” here means that the combination does not include a plurality of the same two-dimensional skeletons.
  • the two-dimensional skeleton pair 1 includes the two-dimensional skeleton 903, and the two-dimensional skeleton pair 2 also includes the two-dimensional skeleton 903.
  • the combination of pair 1 and 2D skeleton pair 2 is inconsistent.
  • the combination of the two-dimensional skeleton pair 1 and the two-dimensional skeleton pair 4 and the combination of the two-dimensional skeleton pair 2 and the two-dimensional skeleton pair 3 are consistent combinations.
  • the sum of the matching scores is calculated for each consistent combination obtained, and the combination with the largest sum is determined as the combination of the pair of the two-dimensional skeletons of the same person. For example, when comparing the total of the matching score of the two-dimensional skeleton pair 1 and the matching score of the two-dimensional skeleton pair 4, and the total of the matching score of the two-dimensional skeleton pair 2 and the matching score of the two-dimensional skeleton pair 3, the two-dimensional skeleton When the sum of the matching score of pair 1 and the matching score of the two-dimensional skeleton pair 4 is large, the combination of the two-dimensional skeleton pair 1 and the two-dimensional skeleton pair 4 is determined as the combination of the two-dimensional skeleton pairs of the same person.
  • the three-dimensional skeleton detection unit 102 estimates the three-dimensional skeleton based on the two-dimensional skeleton pair of the same person (step S25).
  • a method of estimating a three-dimensional skeleton from a two-dimensional skeleton pair will be described with reference to FIG.
  • reference numerals 1201 and 1202 are optical centers of cameras A and B
  • reference numerals 1203 and 1204 are projection planes of cameras A and B.
  • the two-dimensional skeletons 1205 and 1206 are two-dimensional skeleton pairs of the same person.
  • reference numeral 1205A is a joint X in the two-dimensional skeleton 1205
  • reference numeral 1206B is a joint X in the two-dimensional skeleton 1206.
  • the three-dimensional skeleton detection unit 102 has the three-dimensional positions of the optical centers 1201 and 1202 of the cameras A and B, the three-dimensional positions of the projection surfaces 1203 and 1204, the coordinates on the projection surface 1203 of the joint 1205A, and the projection surface 1204 of the joint 1206B. Based on the coordinates of, the 3D coordinates 1207 of the joint X of the 2D skeleton pair consisting of the 2D skeletons 1205 and 1206 are calculated by using the principle of triangulation. The three-dimensional position is calculated for the other joints in the same manner. Calculation of the three-dimensional position for all the joints defined in the skeleton definition information 106 stored in the auxiliary storage device 13 may be referred to as detection of the three-dimensional skeleton or estimation of the three-dimensional skeleton.
  • the three-dimensional skeleton is estimated for each two-dimensional skeleton pair of the same person for each camera pair. ..
  • the three-dimensional skeleton is estimated. Since the three-dimensional skeleton of the person A is estimated for each camera pair, it means that the three-dimensional skeletons of the number of camera pairs are duplicated and estimated for the person A.
  • a plurality of three-dimensional skeletons are estimated to overlap.
  • the three-dimensional skeleton detection unit 102 performs a process of suppressing the same person by selecting one three-dimensional skeleton from the three-dimensional skeletons estimated to be duplicated for the same person (step S26). This process is performed based on the following two determinations.
  • the first determination is to determine which is the same person and which is not the same person when there are a plurality of three-dimensional skeletons.
  • the second determination is a determination as to which one should be left and which one should be deleted when the plurality of three-dimensional skeletons are the same person.
  • Each 3D skeleton is estimated from 2 2D skeletons. For example, assuming that there are three three-dimensional skeletons, the three-dimensional skeletons 1 to 3 are used, respectively. Then, the two-dimensional skeleton from which the three-dimensional skeleton 1 is estimated is the two-dimensional skeleton 1 and the two-dimensional skeleton 2. Similarly, the two-dimensional skeleton from which the three-dimensional skeleton 2 is estimated is the two-dimensional skeleton 2 and the two-dimensional skeleton 3, and the two-dimensional skeleton from which the three-dimensional skeleton 3 is estimated is the two-dimensional skeleton 3 and the two-dimensional skeleton 4.
  • one of the two-dimensional skeletons of the estimation source is the two-dimensional skeleton 2 and is common to the three-dimensional skeleton 1 and the three-dimensional skeleton 2.
  • the two three-dimensional skeletons in which one of the two-dimensional skeletons of the estimation source is common are the three-dimensional skeletons of the same person.
  • one of the two-dimensional skeletons of the estimation source is common to the three-dimensional skeleton 2 and the three-dimensional skeleton 3, it is determined that they are the three-dimensional skeletons of the same person.
  • the three-dimensional skeleton 1 and the three-dimensional skeleton 2 are the three-dimensional skeletons of the same person
  • the three-dimensional skeleton 2 and the three-dimensional skeleton 3 are the three-dimensional skeletons of the same person
  • the three-dimensional skeleton 1 and the three-dimensional skeleton 3 is also determined to be a three-dimensional skeleton of the same person.
  • Each three-dimensional skeleton is estimated from one two-dimensional skeleton pair, and a matching score is calculated for each two-dimensional skeleton pair. Therefore, a matching score is calculated for each three-dimensional skeleton.
  • the three-dimensional skeleton having the highest matching score is left, and the other three-dimensional skeletons are deleted.
  • the three-dimensional skeleton detection unit 102 suppresses a plurality of three-dimensional skeletons that are estimated to be duplicated for the same person based on the first determination and the second determination.
  • the three-dimensional skeleton detection unit 102 calculates a three-dimensional skeleton detection score for each of the remaining three-dimensional skeletons (step S27). Assuming that the 2D skeleton 1 and the 2D skeleton 2 are the estimation sources of the 3D skeleton for which the score is calculated, the 3D skeleton detection score S 3D of the 3D skeleton for which the score is calculated is calculated by the equation (3). Will be done.
  • S1 is the sum of the two-dimensional joint scores of each joint of the two-dimensional skeleton 1.
  • S2 is the sum of the two-dimensional joint scores of each joint of the two-dimensional skeleton 2.
  • S3 is the sum of the two-dimensional joint connection scores of the connections between the joints of the two-dimensional skeleton 1.
  • S4 is the sum of the two-dimensional joint connection scores of the connections between the joints of the two-dimensional skeleton 2.
  • the 2D joint score can be obtained from the 2D skeleton information included in the 2D skeleton detection information 103 and the 2D joint likelihood map.
  • the coordinates of the joint X are acquired from the two-dimensional skeletal information, and the likelihood (pixel value) of the acquired coordinates of the joint X in the two-dimensional joint likelihood map corresponding to the joint X can be used as the two-dimensional joint score of the joint X. good.
  • the likelihood of the joint X in the two-dimensional skeletal information may be used as the two-dimensional joint score of the joint X.
  • the 2D joint connection score can be obtained from the 2D skeleton information included in the 2D skeleton detection information 103 and the 2D joint connection probability map.
  • the coordinates of joints X and Y are acquired from the two-dimensional skeletal information, and in a straight line connecting the coordinates of joint X and the coordinates of joint Y in the two-dimensional joint connection probability map corresponding to the connection between joint X and joint Y.
  • the likelihood (pixel value) of one point may be used as a two-dimensional joint connection score of the connection between the joint X and the joint Y.
  • the 3D skeleton detection unit 102 determines whether or not the calculated 3D skeleton detection score is larger than the predetermined threshold T1, and deletes the 3D skeleton smaller than the predetermined threshold T1. (Step S28).
  • the 3D skeleton detection unit 102 generates and outputs 3D skeleton detection information for a 3D skeleton whose 3D skeleton detection score is equal to or higher than a predetermined threshold T1 (step S29).
  • the three-dimensional skeleton detection unit 102 detects the three-dimensional skeleton by the top-down method according to the above method.
  • FIG. 13 is a flowchart showing a process in which the three-dimensional skeleton detection unit 102 detects a three-dimensional skeleton by the bottom-up method.
  • the three-dimensional skeleton detection unit 102 selects a camera pair (step S301), and processes the selected camera pair from steps S302 to S304.
  • the three-dimensional skeleton detection unit 102 repeats the processes of steps S301 to S304 until all camera pairs are selected.
  • steps S302 to S304 will be described assuming that the camera pair consisting of the camera A and the camera B is selected in FIGS. 8A to 8C.
  • the three-dimensional skeleton detection unit 102 selects a two-dimensional joint pair from the selected camera pair (step S302), and processes the selected two-dimensional joint pair in steps S303 to S304.
  • the three-dimensional skeleton detection unit 102 repeats the processes of steps S302 to S304 until all the two-dimensional joint pairs are selected.
  • a 2D joint pair is a 2D joint detected by two different cameras selected from multiple 2D joints of the same type.
  • FIG. 14A schematically shows the head joints 1401A and 1402A of the two-dimensional skeletons 1401 and 1402 detected from the camera A among the selected camera pairs.
  • FIG. 14B schematically shows the head joints 1403B and 1404B of the two-dimensional skeletons 1403 and 1404 detected from the camera B among the selected camera pairs.
  • the three-dimensional skeleton detection unit 102 is, for example, a two-dimensional joint pair consisting of joints 1401A and 1403B, a two-dimensional joint pair consisting of joints 1401A and 1404B, a two-dimensional joint pair consisting of joints 1402A and 1403B, joints 1402A and joints. Two-dimensional joint pairs consisting of 1404B are selected in order.
  • the three-dimensional skeleton detection unit 102 similarly selects a two-dimensional joint pair for all types of joints defined in the skeleton definition information 106 of the auxiliary storage device.
  • steps S303 to S304 will be described assuming that the two-dimensional joint pair consisting of the joint 1401A and the joint 1402A is selected.
  • the 3D skeleton detection unit 102 estimates the 3D joint based on the selected 2D joint pair (step S303). Estimating a three-dimensional joint is to calculate the three-dimensional position of the joint from the coordinates of the two two-dimensional joints. From the coordinates of the two two-dimensional joints, the three-dimensional position of the joint is determined by using the camera setting information (three-dimensional position of the optical center of the cameras A and B and the three-dimensional position of the projection plane) stored in the auxiliary storage device 13. It can be calculated by the principle of triangulation.
  • the 3D skeleton detection unit 102 calculates the 3D joint detection score of the estimated 3D joint (step S304).
  • the 3D joint detection score is a likelihood indicating the probability of existence of the estimated 3D joint.
  • the sum of the 2D joint scores of the two 2D joints from which the 3D joint is estimated may be used.
  • a plurality of three-dimensional joints are estimated for each type of joint.
  • the plurality of three-dimensional joints include a plurality of three-dimensional joints as a result of estimating the same joint of the same person.
  • the estimated three-dimensional joints include the head of the person A. It includes a plurality of three-dimensional joints in which joints are estimated, and a plurality of three-dimensional joints in which the joint of the head of person B is estimated.
  • the three-dimensional skeleton detection unit 102 performs a process of suppressing the same joint by selecting one three-dimensional joint from the three-dimensional joints estimated to overlap with the same joint of the same person (step S305). ..
  • FIG. 15A shows a plurality of estimated three-dimensional joints of the same type 1501 to 1512.
  • the three-dimensional joint having the highest three-dimensional joint detection score calculated in step S304 is selected. For example, it is assumed that the 3D joint having the highest 3D joint detection score is the 3D joint 1501.
  • the 3D joint having the highest 3D joint detection score next to the 3D joint 1501 selected earlier For example, assume that the three-dimensional joint 1505 is selected. As shown in FIG. 15 (c), a sphere having a radius r is considered in a three-dimensional space centered on the three-dimensional joint 1505, and the three-dimensional joints 1504 and 1506-1509 existing in the sphere are deleted. Similarly, as shown in FIG. 15D, a sphere having a radius r is considered in the three-dimensional space centered on the three-dimensional joint 1510, and the three-dimensional joints 1511 and 1512 existing in the sphere are deleted.
  • the three-dimensional skeleton detection unit 102 suppresses the same joint.
  • the three-dimensional skeleton detection unit 102 selects a three-dimensional joint connection pair (step S306), and processes the selected three-dimensional joint connection pair in step S307.
  • the three-dimensional skeleton detection unit 102 repeats the processes of steps S306 to S307 until all three-dimensional joint connection pairs are selected.
  • the three-dimensional joint connection pair is a pair consisting of two types of three-dimensional joints defined in the skeleton definition information 106 as having a connection among the three-dimensional joints after suppression of the same joint.
  • A1 to A15 and B1 to B15 show three-dimensional joints after suppression of the same joint.
  • C1 to C4 show the connection between the head joint and the neck joint defined as having a connection in the skeleton definition information 106.
  • the 3D skeleton detection unit 102 selects C1, C2, C3, and C4 in order as the 3D joint connection pair.
  • the 3D skeleton detection unit 102 sequentially selects a 3D joint connection pair consisting of two types of 3D joints defined in the skeleton definition information 106 as having a connection.
  • the 3D skeleton detection unit 102 calculates the 3D joint connection score of the selected 3D joint connection pair (step S307).
  • the 3D joint connection detection score is a likelihood indicating the certainty of the existence of a connection between two 3D joints included in the estimated 3D joint connection pair.
  • the three-dimensional joint connection score can be obtained from the two-dimensional skeleton information included in the two-dimensional skeleton detection information 103 and the two-dimensional joint connection probability map. Refer to the 2D joint connection probability map of the connection type of the 3D joint connection pair for which the score is calculated, and project it onto the 2D joint connection probability map with reference to the 3D joint connection pair for which the score is calculated.
  • the two-dimensional joint connection likelihood map to be referred to, one of a plurality of cameras 20 detected from any camera 20 may be used.
  • reference numeral 1601 indicates a two-dimensional joint connection likelihood map of the connection between the referenced head joint and neck joint.
  • Reference numerals 1602 and 1603 indicate regions having high pixel values in the two-dimensional joint connection likelihood map 1601.
  • D1 to D4 in FIG. 16B show projections of the three-dimensional joint connection pairs C1 to C4 in FIG. 16A onto the two-dimensional joint connection likelihood map 1601.
  • the 3D joint connection score of the 3D joint connection pair may be a pixel value at the midpoint of the 3D joint connection pair projected on the 2D joint connection probability map. That is, the 3D joint connection score of the 3D joint connection pair C1 is the midpoint of the projection D1 in the 2D joint connection probability map 1601. Similarly, the 3D joint connection score of the 3D joint connection pair C2 is the midpoint of the projection D2 in the 2D joint connection likelihood map 1601. The 3D joint connection score of the 3D joint connection pair C3 is the midpoint of the projection D3 in the 2D joint connection likelihood map 1601. The 3D joint connection score of the 3D joint connection pair C4 is the midpoint of the projection D4 in the 2D joint connection likelihood map 1601.
  • the midpoint of projection D1 is within the area 1602 and has a high pixel value. Therefore, the three-dimensional joint connection score of the three-dimensional joint connection pair C1 is a high value.
  • the midpoint of projection D3 is within region 1603 and has a high pixel value. Therefore, the three-dimensional joint connection score of the three-dimensional joint connection pair C3 is a high value.
  • the pixel value is a small value. Therefore, the three-dimensional joint connection score of the three-dimensional joint connection pairs C2 and C4 is a small value.
  • the three-dimensional joint connection score of the three-dimensional joint connection pair (for example, C1 and C3) consisting of the three-dimensional joints of the same person is a high value, and the three-dimensional joints of different persons are three-dimensional.
  • the three-dimensional joint connection score of the joint connection pair (for example, C2, C4) is a small value.
  • the three-dimensional joint connection score is calculated for each three-dimensional joint connection pair.
  • the 3D skeleton detection unit 102 determines a 3D joint connection pair consisting of 3D joints of the same person based on the calculated 3D joint connection score (step S308). For example, a three-dimensional joint connection pair having a three-dimensional joint connection score larger than a predetermined threshold T2 is determined as a three-dimensional joint connection pair consisting of three-dimensional joints of the same person. By doing this for each 3D joint connection pair, each 3D joint is grouped by person, and as shown in FIG. 17, a 3D skeleton consisting of 3D joints for each person and connections between them is formed. Detected.
  • the three-dimensional skeleton detection unit 102 calculates a three-dimensional skeleton detection score for each of the three-dimensional skeletons detected in step S308 (step S309).
  • the three-dimensional skeleton detection score T 3D of the three-dimensional skeleton to be scored is calculated by the equation (4).
  • S5 is the sum of the three-dimensional joint detection scores (calculated in step S304) of each joint of the three-dimensional skeleton for which the score is to be calculated.
  • S6 is the sum of the three-dimensional joint connection scores (calculated in step S307) of the inter-joint connections of the three-dimensional skeleton for which the score is to be calculated.
  • the 3D skeleton detection unit 102 determines whether or not the calculated 3D skeleton detection score is larger than the predetermined threshold T3, and deletes the 3D skeleton smaller than the predetermined threshold T3. (Step S310).
  • the 3D skeleton detection unit 102 generates and outputs 3D skeleton detection information for a 3D skeleton whose 3D skeleton detection score is equal to or higher than a predetermined threshold T3 (step S311).
  • the three-dimensional skeleton detection unit 102 detects the three-dimensional skeleton by the bottom-up method according to the above method.
  • the two-dimensional skeleton detection unit 101 is a convolutional neural network that has undergone machine learning.
  • the two-dimensional skeleton detection unit 101 may use any convolutional neural network as long as it outputs the two-dimensional skeleton detection information 103 from the input image.
  • the neural network 800 shown in FIG. 18 will be described.
  • the neural network 1800 is a hierarchical neural network having an input layer 1800a, a feature extraction layer 1800b, and an output layer 1800c.
  • the neural network is an information processing system that imitates a human neural network.
  • an engineering neuron model corresponding to a nerve cell is referred to here as a neuron U.
  • the input layer 1800a, the feature extraction layer 1800b, and the output layer 1800c each have a plurality of neurons U.
  • the input layer 1800a usually consists of one layer.
  • Each neuron U of the input layer 1800a receives, for example, the pixel value of each pixel constituting one image.
  • the received image value is directly output from each neuron U of the input layer 1800a to the feature extraction layer 1800b.
  • the feature extraction layer 1800b extracts features from the data received from the input layer 1800a and outputs the features to the output layer 1800c.
  • the output layer 1800c performs object detection using the features extracted by the feature extraction layer 1800b.
  • the neuron U an element with multiple inputs and one output is usually used as shown in FIG.
  • the neuron weighted value can be changed by learning. From the neuron U, the sum of each input value (SUwi ⁇ xi) multiplied by the neuron weighted value SUwi is transformed by the activation function f (X) and then output. That is, the output value y of the neuron U is expressed by the following mathematical formula.
  • activation function for example, ReLU or a sigmoid function can be used.
  • an error is calculated from a value indicating a correct answer (teacher data) and an output value of CNN1800 (object estimation data) using a predetermined error function so that this error is minimized.
  • an error backpropagation method (backpropagation) is used in which the neuron weighted value of the feature extraction layer 1800b and the neuron weighted value of the output layer 1800c are sequentially changed by using the steepest descent method or the like.
  • the learning process is a process of performing pre-learning of the neural network 1800.
  • the neural network 1800 is pre-learned using the learning data (learning image and teacher data) obtained in advance.
  • FIG. 20A schematically shows a data propagation model during pre-learning.
  • the learning image is input to the input layer 1800a of the neural network 1800 for each image, and is output from the input layer 1800a to the feature extraction layer 1800b.
  • an operation with a neuron weighted value is performed on the input data, and the data indicating the extracted features is output to the output layer 1800c.
  • an operation with a neuron weighted value is performed on the input data (step S41).
  • the two-dimensional skeleton is detected based on the extracted features.
  • the data showing the result of the detection of the two-dimensional skeleton is output from the output layer 1800c.
  • the output value (detection result of the two-dimensional skeleton) of the output layer 1800c is compared with the teacher data, and an error (loss) is calculated using a predetermined error function (step S42).
  • the neuron weighted value of the output layer 1800c and the neuron weighted value of the feature extraction layer 1800b are sequentially changed so that this error becomes small (backpropagation) (step S43).
  • CNN1800 is learned.
  • the learning result is stored in the auxiliary storage device 13 as a learned parameter.
  • FIG. 20B shows a data propagation model in which a two-dimensional skeleton is detected using a captured image obtained by the camera 20 as an input image using the neural network 1800 learned by the above learning step. ..
  • step S44 feature extraction and detection of a two-dimensional skeleton are performed using the learned feature extraction layer 1800b and the learned output layer 1800c (step S44).
  • the two-dimensional skeleton detection unit 101 and the three-dimensional skeleton detection unit 102 have been described as detecting the two-dimensional skeleton and the three-dimensional skeleton of the human body. It may be another animal like a horse.
  • the joint is a connecting portion between bones in the skeleton of a vertebrate, and may be a movable connecting portion or an immovable connecting portion. Further, the joint to be detected may be any key point that can be detected from the two-dimensional image, and may not be a joint (connecting portion) of the animal skeleton.
  • the skeleton to be detected does not have to be that of a living thing as long as it can be represented by a wire frame consisting of a plurality of key points (connecting portions) and connections between them.
  • a three-dimensional skeleton such as a car or an airplane may be detected.
  • step S24 of the above-described embodiment the combination of pairs of two-dimensional skeletons of the same person is determined based on the matching score. Then, in the above-described embodiment, the combination of the two-dimensional skeleton pairs of the same person is determined by the method of calculating the matching score for all the combinations of the "consistent" two-dimensional skeleton pairs. ..
  • this method may require a huge amount of calculation if the number of people to be detected is large. In that case, consider it as an allocation problem that determines which of the elements of the two-dimensional skeleton set of one camera (two-dimensional skeleton) in the camera pair is assigned to the element of the two-dimensional skeleton set of the other camera (two-dimensional skeleton). Therefore, the combination of two-dimensional skeleton pairs of the same person can be efficiently determined by using the Hungarian method or the like.
  • the three-dimensional skeleton detection device 10 may be implemented as a cloud server. That is, the cloud server (three-dimensional skeleton detection device 10) and the image input terminal (plurality of cameras 20) may be connected via a network (for example, the Internet). Further, an information processing terminal (for example, a PC) that acquires 3D skeleton detection information from a cloud server (3D skeleton detection device 10) via a network may be provided. Further, each configuration (function) in the three-dimensional skeleton detection device 10 may be distributed and mounted on a plurality of computers, and the three-dimensional skeleton detection can be performed by the plurality of computers operating in cooperation with each other via a network. The system may be realized.
  • the cloud server three-dimensional skeleton detection device 10
  • the image input terminal plural of cameras 20
  • a network for example, the Internet
  • an information processing terminal for example, a PC
  • each configuration (function) in the three-dimensional skeleton detection device 10 may be distributed and mounted on a plurality of computers, and the
  • This disclosure is useful as a three-dimensional skeleton detection device mounted on a surveillance camera system or the like.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

対象物体の3次元骨格を高精度に検出する。複数の連結部及び前記連結部間の接続によって骨格が定義される対象物体の3次元骨格を検出する3次元骨格検出方法は、対象物体を複数の異なるカメラ位置から撮像した画像群を得る画像取得ステップと、画像群の各画像から、画像上における連結部の位置の推定、及び、画像上における接続の存在の確からしさを示す2次元接続尤度の算出、を行う2次元骨格検出ステップと、推定された連結部の位置及び算出された2次元接続尤度を用いて対象物体の3次元骨格を検出する3次元骨格検出ステップと、を有する。

Description

3次元骨格検出方法及び3次元骨格検出装置
 本開示は、撮影画像から物体の骨格を検出する技術に関する。
 カメラで撮影された映像から人物や車両などの物体を検出する物体検出技術は、監視カメラシステムや車載カメラシステムなどのアプリケーションの基礎技術として利用されている。また、検出した物体の骨格(複数の関節の座標)を検出する技術も様々なアプリケーションの基礎技術として利用されている。
 近年、物体の骨格検出技術として、ディープラーニングが使用されている。ディープラーニングを用いた物体検出方法としては、例えば、非特許文献1や非特許文献2が挙げられる。非特許文献1では、学習済みのニューラルネットワークを用いて、物体の2次元骨格(物体の各関節の画像上での座標)を検出する技術が開示されている。非特許文献2では、学習済みのニューラルネットワークを用いて複数視点のカメラで撮影した映像から物体の2次元骨格を検出し、検出した複数の2次元骨格から3次元骨格(物体の各関節の三次元座標)を検出する技術が開示されている。
Zhe Cao, Gines Hidalgo, Tomas Simon, Shih-En Wei, Yaser Sheikh, "OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", インターネット<https://arxiv.org/abs/1812.08008> Junting Dong, Wen Jiang, Qixing Huang, Hujun Bao, Xiaowei Zhou, "Fast and Robust Multi-Person 3D Pose Estimation from Multiple Views", インターネット<https://arxiv.org/abs/1901.04111>
 非特許文献2では、3次元上の関節点と関節点との接続を、関節点間の距離に関する正規分布状のスコア(評価値)を使用して評価している。しかしながら、この手法では、異なる物体間の関節同士でもスコアが高くなることがあり、場合によって3次元骨格の検出精度が悪化する恐れがある。
 本開示は、上記課題に鑑みてなされたもので、3次元骨格を高精度に検出可能な3次元骨格検出方法及び3次元骨格検出装置を提供することを目的とする。
 本開示の一態様の3次元骨格検出方法は、複数の連結部及び前記連結部間の接続によって骨格が定義される対象物体の3次元骨格を検出する3次元骨格検出方法であって、前記対象物体を複数の異なるカメラ位置から撮像した画像群を得る画像取得ステップと、前記画像群の各画像から、画像上における前記連結部の2次元位置の推定、及び、画像上における前記接続の存在の確からしさを示す2次元接続尤度の算出、を行う2次元骨格検出ステップと、推定された連結部の2次元位置及び算出された2次元接続尤度を用いて前記対象物体の3次元骨格を検出する3次元骨格検出ステップと、を有する。
 前記3次元骨格検出方法において、前記3次元骨格検出ステップは、推定された連結部の2次元位置に基づいて、前記対象物体の各連結部の3次元位置を算出するステップを含むとしてもよい。
 前記3次元骨格検出方法において、前記2次元骨格検出ステップは、対象物体の連結部の2次元位置の推定、及び、前記2次元接続尤度を算出するための機械学習を行った学習モデルにより実行されるとしてもよい。
 前記3次元骨格検出において、前記3次元骨格検出ステップは、前記2次元接続尤度を用いて物体の3次元骨格が存在する確からしさを算出するステップを含むとしてもよい。
 前記3次元骨格検出方法において、前記2次元骨格検出ステップは、前記画像群の各画像から、前記対象物体の各連結部の2次元位置によって定義される2次元骨格を検出するステップを含み、前記3次元骨格検出ステップは、前記画像群のうち第1の画像から検出された2次元骨格と第2の画像から検出された2次元骨格との対応の確からしさを示すマッチングスコアを算出するステップと、前記マッチングスコアを用いて、同一の物体に該当する2次元骨格の対応付けを行うステップと、対応付けられた2つの2次元骨格の連結部の画像上の2次元位置に基づいて、三角測量の原理を用いて、前記対象物体の連結部の3次元位置を計算するステップと、を含むとしてもよい。
 前記3次元骨格検出方法において、前記3次元骨格検出ステップは、前記画像群のうち第1の画像から推定された連結部の2次元位置と第2の画像から推定された連結部の2次元位置とに基づいて、三角測量の原理を用いて前記対象物体の連結部の3次元位置を算出するステップと、3次元位置の算出された連結部間の接続の存在の確からしさを示す3次元接続尤度を、前記2次元接続尤度を用いて算出するステップと、3次元位置の算出された連結部間の接続を、前記3次元接続尤度を用いて検出するステップとを含むとしてもよい。
 本開示の一態様の3次元骨格検出装置は、複数の連結部及び前記連結部間の接続によって骨格が定義される対象物体の3次元骨格を検出する3次元骨格検出装置であって、前記対象物体を複数の異なるカメラ位置から撮像した画像群を得る入力部と、前記画像群の各画像から、画像上における前記連結部の2次元位置の推定、及び、画像上における前記接続の存在の確からしさを示す2次元接続尤度の算出、を行う2次元骨格検出部と、推定された連結部の位置及び算出された2次元接続尤度を用いて前記対象物体の3次元骨格を検出する3次元骨格検出部と、を備える。
 本開示によると、画像から2次元骨格における物体の2次元骨格(画像上の連結部の位置)を推定すると共に、2次元骨格における関節と関節との接続の存在の確からしさを示す2次元接続尤度を算出する。そして、2次元接続尤度を用いて3次元骨格を検出するので、3次元骨格の検出精度を向上させることができる。
実施の形態1に係る3次元骨格検出システム1の概略構成を示すブロック図である。 3次元骨格検出システム1の動作を示すフローチャートである。 2次元骨格検出部101の入力となるカメラ20の撮影画像の一例を示す図である。 2次元骨格検出部101の出力の一部となる2次元関節尤度マップを模式的に示した図である。 2次元骨格検出部101の出力の一部となる2次元関節接続尤度マップを模式的に示した図である。 2次元骨格検出部101の出力の一部となる2次元骨格情報を模式的に示した図である。 3次元骨格検出部102の動作における一例を示すフローチャートである。 (a)、(b)、(c)は、2次元骨格検出部101の出力の一部である2次元骨格情報の一例を示した図であり、カメラペアについて説明するための図である。 (a)、(b)は、2次元骨格検出部101の出力の一部である2次元骨格情報の一例を示した図であり、骨格ペアについて説明するための図である。 コンピューターステレオ視におけるエピポーラ線について説明するための模式図である。 マッチングスコアの算出方法を説明するための模式図である。 三角測量による三次元座標の算出方法を説明するための模式図である。 3次元骨格検出部102の動作の一例を示すフローチャートである。 (a)、(b)は、2次元骨格検出部101の出力の一部である2次元骨格情報の一例を示した図であり、2次元関節ペアについて説明するための図である。 重複する3次元関節を削除する処理を説明するための模式図である。 (a)、(b)は、3次元関節の接続ペアを決定する処理を説明するための模式図である。 検出された3次元骨格の一例を示す模式図である。 CNN1800の構成を示すブロック図である。 CNN1800の一つのニューロンUを示す模式図である。 (a)は学習時のデータ伝播を模式的に示す図である。(b)推定時のデータ伝播を模式的に示す図である。
 1.実施の形態1
 以下、実施の形態1に係る3次元骨格検出システム1について説明する。
 1.1 構成
 (1)3次元骨格検出システム1
 図1は、3次元骨格検出システム1の構成を示すブロック図である。図に示すように、3次元骨格検出システム1は、複数のカメラ20(20a、20b、……)と、3次元骨格検出装置10とを備える。
 (2)カメラ20
 カメラ20は、CMOS(Complementary Metal-Oxide-Semiconductor field-effect transistor)イメージセンサーやCCD(Charge-Coupled Device)イメージセンサー等の撮像素子を備え、撮像素子上に結像した光を光電変換で電気信号に変換することにより所定サイズの画像を出力する。カメラ20は、出力画像のサイズと3次元骨格検出装置10の入力画像のサイズが異なる場合は、カメラ20の出力画像をリサイズする構成を備えてもよい。複数のカメラ20は、それぞれ異なる視点から、所定の撮影エリアに存在する一又は複数の物体を撮影するように設置されている。
 (3)3次元骨格検出装置
 3次元骨格検出装置10は、制御部100と、カメラ20に接続するための入出力インターフェース14とを備える。制御部100は、CPU(Central Processing Unit)11、主記憶装置12、補助記憶装置13などから構成される。主記憶装置12には、補助記憶装置13に格納されたコンピュータプログラムやデータがロードされ、CPU11が、主記憶装置12にロードされたコンピュータプログラムやデータにしたがって動作することにより、各処理部(2次元骨格検出部101、3次元骨格検出部102)を実現する。補助記憶装置13は、一例として、ハードディスクから構成されている。補助記憶装置13は、不揮発性の半導体メモリから構成されている、としてもよい。
 補助記憶装置13は、2次元骨格検出情報103、3次元骨格検出情報104、カメラ設定情報105、骨格定義情報106を記憶する。2次元骨格検出情報103は、2次元骨格検出部101が検出した2次元骨格に係る情報であり、3次元骨格検出情報104は、3次元骨格検出部102が検出した3次元骨格に係る情報である。カメラ設定情報105は、3次元骨格検出システム1が備える複数のカメラ20の設置位置(光学中心の座標や投影面の位置)などの情報が記憶される。骨格定義情報106は、検出対象の物体の骨格に係る情報である。本実施の形態において、検出対象の物体は人体である。従って、骨格定義情報106は、人体の所定数のキーポイントをそれぞれ異なる種別の関節として定義し、また、定義された関節間でどの種別の関節とどの種別の関節との間に接続が存在するかなどの情報を定義する。また、骨格定義情報106において、各関節の種別にはインデックス番号が付与されているとしてもよい。
 (4)2次元骨格検出部101
 2次元骨格検出部101は、検出対象の物体の2次元骨格を検出するための機械学習を行った畳み込みニューラルネットワークである。2次元骨格検出部101は、例えばOpenPoseなどの既存のライブラリを用いることができる。
 2次元骨格検出部101は、入力画像から、2次元骨格検出情報103を出力する。2次元骨格検出情報103は、2次元関節尤度マップ、2次元関節接続尤度マップ、2次元骨格情報を含む。
 2次元関節尤度マップは、骨格定義情報106で定義された関節の種別毎に存在し、その種別の関節が入力画像の各画素に存在する確からしさを示す尤度を画素値として有するマップ情報である。図3は、入力画像301の一例であり、図4は、入力画像301に対する関節の種別が「左肘」の2次元関節尤度マップ401の一例である。この例では、入力画像301には、二人の人体が存在している。2次元関節尤度マップ401は、入力画像301に存在する二人の人体のうち、左肘が存在すると推定される領域402、403の画素値が高く、その他の領域の画素値が小さいマップ情報となる。なお、2次元関節尤度マップは、Part Confidence Mapsなどと呼ばれる場合がある。
 2次元関節接続尤度マップは、骨格定義情報106で定義された接続の種別毎に存在し、その種別の接続が入力画像の各画素に存在する確からしさを示す尤度を画素値として有するマップ情報である。図5は、入力画像301に対する接続の種別が「左肩-左肘」の2次元関節接続尤度マップ501の一例である。2次元関節接続尤度マップ501は、入力画像301に存在する二人の人体のうち、左肩と左肘との接続が存在すると推定される領域502、503の画素値が高く、その他の領域の画素値が小さいマップ情報となる。2次元関節接続尤度マップ501は、画素値として、接続が存在する確からしさを示す尤度とともに、その接続の方向を示すベクトルの情報を有していてもよい。なお、2次元関節接続尤度マップは、Part Affinity Fieldsなどと呼ばれる場合がある。
 2次元骨格情報は、画像から検出された人物ごとの骨格情報である。この骨格情報は、骨格定義情報106で定義された各関節の画像上における位置(x座標及びy座標)及びその存在の確からしさを示す尤度を含む。図6は、入力画像301に対する2次元骨格情報を模式的に示した図である。入力画像301における左の人物から骨格情報602が検出され、入力画像301における右の人物から骨格情報603が検出されている。骨格情報602、603における白丸が各関節の位置を示している。なお、図6では、骨格定義情報106で定義されている関節間の接続を黒い直線で示している。
 (5)3次元骨格検出部102
 3次元骨格検出部102は、2次元骨格検出情報103を入力とし、3次元骨格検出情報104を出力する。3次元骨格検出情報104は、複数のカメラ20で撮影された人物の3次元骨格情報を含む。この3次元骨格情報は、検出した人物ごとの、骨格定義情報106で定義された各関節の3次元位置(x座標、y座標、z座標)を含む。また、この3次元骨格情報は、検出した人物ごとの存在の確からしさを示す尤度(3次元骨格検出スコア)を含む。図17は、3次元骨格情報を模式的に示した図である。図17には、2人分の3次元骨格情報1701、1702が示されている。A1~A15が3次元骨格情報1701における各関節の三次元位置情報を示し、B1~B15が3次元骨格情報1702における各関節の三次元位置情報を示している。なお、図17では、3次元骨格情報1701における関節間の接続をC101~C114で示し、3次元骨格情報1702における関節間の接続をC201~C214で示している。
 なお、ここでは、各カメラ20において、2人の人物を撮影している場合について説明しているが、検出対象の物体の数については、1であってもよく、2より大きくてもよい。
 1.2 動作
 (1)3次元骨格検出システム1の動作
 図2は、3次元骨格検出システム1の動作を示すフローチャートである。
 3次元骨格検出システム1は、複数のカメラ20により複数の視点から撮影エリアに存在する一又は複数の物体を撮影し、複数視点の撮影画像を取得する(ステップS11)。
 3次元骨格検出装置10は、複数のカメラ20により撮影された複数視点の撮影画像を2次元骨格検出部101の入力とし、各視点の撮影画像から2次元骨格を検出する(ステップS12)。2次元骨格検出部101は、視点ごとに、2次元関節尤度マップ、2次元関節接続尤度マップ、2次元骨格情報を含む2次元骨格検出情報103を生成する。
 3次元骨格検出部102は、2次元骨格検出部101の出力した視点ごとの2次元骨格検出情報103を3次元骨格検出部102の入力とし、撮影エリアに存在する一又は複数の物体の3次元骨格を検出し、3次元骨格検出情報104を出力する(ステップS13)。
 (2)3次元骨格検出部102の動作
 3次元骨格検出部102が、3次元骨格を検出する方法について、さらに説明する。3次元骨格検出部102が、2次元骨格検出情報103から3次元骨格を検出する方法について、トップダウン方式とボトムアップ方式の2つの方法を説明する。
 なお、本開示において、3次元骨格の検出におけるトップダウン方式とは、2次元画像から2次元関節の検出、2次元関節から2次元骨格の検出、2次元骨格から3次元骨格の検出、の順に検出を行う方式のことである。また、ボトムアップ方式とは、2次元画像から2次元関節の検出、2次元関節から3次元関節の検出、3次元関節から3次元骨格の検出、の順に検出を行う方式のことである。
 また、本開示において、2次元関節の検出を物体の関節の2次元位置(画像上の座標)の検出と言い換えてもよい。2次元骨格の検出を同一物体の複数の関節の2次元位置の検出と言い換えてもよい。3次元関節の検出を物体の関節の3次元位置の検出と言い換えてもよい。3次元骨格の検出を同一物体の複数の関節の3次元位置の検出と言い換えてもよい。
 (2-1)トップダウン方式
 図7は、3次元骨格検出部102がトップダウン方式で3次元骨格を検出する処理を示すフローチャートである。
 3次元骨格検出部102は、カメラペアの選択を行い(ステップS21)、選択したカメラペアについて、ステップS22~S25までの処理を行う。3次元骨格検出部102は、すべてのカメラペアを選択するまでステップS21~S25の処理を繰り返す。
 カメラペアとは、複数のカメラ20から選んだ2つのカメラ20のことである。2次元骨格検出部101により、複数のカメラ20それぞれの撮影映像に対して2次元骨格が検出される。図8(a)は、カメラ20のうちカメラAから検出された2次元骨格811、812を含む2次元骨格情報801を模式的に示したものである。図8(b)は、カメラ20のうちカメラCから検出された2次元骨格821、822を含む2次元骨格情報802を模式的に示したものである。図8(c)は、カメラ20のうちカメラBから検出された2次元骨格831、832を含む2次元骨格情報803を模式的に示したものである。
 なお、本開示において、カメラから検出された2次元骨格を、カメラの撮影画像から検出された2次元骨格と言い換えてもよい。
 3次元骨格検出部102は、例えば、カメラA及びカメラBからなるカメラペア、カメラA及びカメラCからなるカメラペア、カメラB及びカメラCからなるカメラペアを順に選択する。
 以下、カメラA及びカメラBからなるカメラペアが選択されたとして、ステップS22~S25の説明を行う。
 3次元骨格検出部102は、選択したカメラペアから2次元骨格ペアの選択を行い(ステップS22)、選択した2次元骨格ペアについて、ステップS23の処理を行う。3次元骨格検出部102は、すべての2次元骨格ペアを選択するまでステップS22~S23の処理を繰り返す。
 2次元骨格ペアとは、複数の2次元骨格から選んだ異なる2つのカメラから検出された2次元骨格のことである。図9(a)は、選択されたカメラペアのうちカメラAから検出された2次元骨格903、904を含む2次元骨格情報901を模式的に示したものである。図9(b)は、選択されたカメラペアのうちカメラBから検出された2次元骨格905、906を含む2次元骨格情報902を模式的に示したものである。
 3次元骨格検出部102は、例えば、2次元骨格903及び2次元骨格905からなる2次元骨格ペア、2次元骨格903及び2次元骨格906からなる2次元骨格ペア、2次元骨格904及び2次元骨格905からなる2次元骨格ペア、2次元骨格904及び2次元骨格906からなる2次元骨格ペアを順に選択する。
 以下、2次元骨格903及び2次元骨格905からなる2次元骨格ペアが選択されたとして、ステップS23の説明を行う。
 3次元骨格検出部102は、選択した2次元骨格ペアについて、ペアの2つの2次元骨格が同一人物の2次元骨格である確からしさを示すマッチングスコアの算出を行う(ステップS23)。
 マッチングスコアの算出方法を説明する前に、コンピューターステレオ視におけるエピポーラ線について説明を行う。
 図10は、コンピューターステレオ視において、エピポーラ線を説明するための模式図である。符号1001は、三次元上の注目点を示す。符号1002、1003は、カメラAの光学中心、カメラBの光学中心を示す。符号1004、1005は、カメラAの投影面、カメラBの投影面を示す。符号1006、1007は、注目点1001のカメラAの投影、注目点1001のカメラBの投影を示す。注目点1001とカメラAの光学中心1002、カメラBの光学中心1003を通る面はエピポーラ面と呼ばれる。エピポーラ面とカメラAの投影面1004との交線1008はエピポーラ線と呼ばれる。エピポーラ面とカメラBの投影面1005との交線1009はエピポーラ線と呼ばれる。エピポーラ制約により、投影1006はエピポーラ線1008上に存在し、投影1007はエピポーラ線1009上に存在する。
 次にマッチングスコアの算出方法について説明を行う。カメラAから検出された2次元骨格とカメラBから検出された2次元骨格のマッチングスコアMSは、下記の式(1)を用いて算出される。
Figure JPOXMLDOC01-appb-M000001
 式(1)において、j(j=1,2,……,J)は、関節の種別を示すインデックス番号であり、Ajは、インデックス番号jが示す種別の2次元関節のマッチングスコアである。j=Xの場合における2次元関節のマッチングスコアAXは、下記の式(2)を用いて算出される。
Figure JPOXMLDOC01-appb-M000002
 式(2)において、XAはカメラAから検出された2次元骨格の関節Xであり、XBはカメラBから検出された2次元骨格の関節Xである。なお、関節Xを、関節の種別がインデックス番号Xの関節と言い換えてもよい。
 dl(XA,lA)は、カメラAの投影面におけるXAとエピポーラ線lAの距離であり、dl(XB,lB)は、カメラBの投影面におけるXBとエピポーラ線lBの距離である。
 α2Dは、任意の定数である。
 距離dl(XA,lA)について、図11を用いてさらに説明する。図11は、マッチングスコアの算出方法について説明するための模式図である。符号1101、1102は、カメラAの光学中心、カメラBの光学中心を示す。符号1103、1104は、カメラAの投影面、カメラBの投影面を示す。符号1105、1106は、カメラAから検出された2次元骨格、カメラBから検出された2次元骨格を示す。符号1105Aは、2次元骨格1105における関節Xであり、式(2)におけるXAを示す。符号1106Bは、2次元骨格1106における関節Xであり、式(2)における関節XBを示す。直線1107は、関節1106Bと光学中心1101と光学中心1102が通る平面と投影面1103との交線であり、式(2)におけるエピポーラ線lAを示す。そして、関節1105Aとエピポーラ線1107との距離1108が、式(2)におけるdl(XA,lA)を示す。
 上述したように、エピポーラ制約により、注目点の投影はエピポーラ線上に存在することになる。従って、関節XAと関節XBとが同一の注目点を投影したものであれば、XAはエピポーラ線lA上に存在することになり、dl(XA,lA)=0となる。しかし、関節XAと関節XBとがそれぞれ3次元上の異なる点を投影したものであればdl(XA,lA)は、0より大きい値を持つことになる。dl(XB,lB)についても同様のことが言える。
 なお、関節XAと関節XBとが同一の注目点を投影したものであっても、2次元骨格検出部101が検出した2次元骨格の関節位置に誤差が含まれる場合や、補助記憶装置13に記憶されたカメラ設定情報105にカメラのキャリブレーション誤差が含まれる場合などに、dl(XA,lA)は0より大きい値を持つ可能性がある。
 これにより、2次元骨格ペアの2つの2次元骨格が同一人物の2次元骨格である場合は、dl(XA,lA)及びdl(XB,lB)は、0に近い値を有することになる。その結果、関節XのマッチングスコアAXは、2次元骨格ペアの2つの2次元骨格が同一人物の2次元骨格である場合に大きな値となり、異なる人物の2次元骨格である場合に小さな値となる。すべての関節についても同様にマッチングスコアAjを算出し、総和を取ることでマッチングスコアMSが算出される。従って、カメラAから検出された2次元骨格とカメラBから検出された2次元骨格のマッチングスコアMSは、2次元骨格ペアの2つの2次元骨格が同一人物の2次元骨格である場合に大きな値となり、異なる人物の2次元骨格である場合に小さな値となる。
 このようにして、図7のステップS22で選択した2次元骨格ペアについてマッチングスコアを算出する。
 ステップS21で選択したカメラペアにおいて、全ての2次元骨格ペアについてマッチングスコアを算出するまで、ステップS22、ステップS23を繰り返す。
 次に、3次元骨格検出部102は、算出したマッチングスコアに基づいて、ステップS21で選択したカメラペアから検出された2次元骨格のうち同一人物の2次元骨格のペアの組み合わせを決定する(ステップS24)。
 図9(a)、(b)の例で、2次元骨格903及び2次元骨格905からなる2次元骨格ペア1、2次元骨格903及び2次元骨格906からなる2次元骨格ペア2、2次元骨格904及び2次元骨格905からなる2次元骨格ペア3、2次元骨格904及び2次元骨格906からなる2次元骨格ペア4としたとき、同一人物の2次元骨格ペアの組み合わせを決定する方法を下記に説明する。
 まず、矛盾のない2次元骨格ペアの組み合わせを求める。ここでいう「矛盾のない」とは、組み合わせに同一の2次元骨格が複数含まれないということである。例えば、2次元骨格ペア1と2次元骨格ペア2の組み合わせにおいて、2次元骨格ペア1に2次元骨格903が含まれ、2次元骨格ペア2にも2次元骨格903が含まれるため、2次元骨格ペア1と2次元骨格ペア2の組み合わせは矛盾する。この例では、2次元骨格ペア1と2次元骨格ペア4の組み合わせ、及び、2次元骨格ペア2と2次元骨格ペア3の組み合わせが矛盾のない組み合わせとなる。
 そして、求めた矛盾のない組み合わせ毎に、マッチングスコアの総和を算出し、総和が最も大きい組み合わせを、同一人物の2次元骨格のペアの組み合わせとして決定する。例えば、2次元骨格ペア1のマッチングスコアと2次元骨格ペア4のマッチングスコアの総和と、2次元骨格ペア2のマッチングスコアと2次元骨格ペア3のマッチングスコアの総和を比較したとき、2次元骨格ペア1のマッチングスコアと2次元骨格ペア4のマッチングスコアの総和が大きい場合、2次元骨格ペア1と2次元骨格ペア4の組み合わせが同一人物の2次元骨格ペアの組み合わせとして決定される。
 そして、3次元骨格検出部102は、同一人物の2次元骨格ペアに基づいて3次元骨格の推定を行う(ステップS25)。ここで、図12を用いて、2次元骨格ペアから3次元骨格の推定を行う方法を説明する。図における符号1201、1202は、カメラA、Bの光学中心であり、符号1203、1204は、カメラA、Bの投影面である。そして、2次元骨格1205、1206が同一人物の2次元骨格ペアである。また、符号1205Aは、2次元骨格1205における関節Xであり、符号1206Bは、2次元骨格1206における関節Xである。3次元骨格検出部102は、カメラA、Bの光学中心1201、1202の3次元位置、投影面1203、1204の三次元位置、関節1205Aの投影面1203上の座標、関節1206Bの投影面1204上の座標に基づいて、三角測量の原理を用いて、2次元骨格1205、1206からなる2次元骨格ペアの関節Xの3次元座標1207の計算を行う。他の関節についても同様に3次元位置の計算を行う。補助記憶装置13に記憶された骨格定義情報106で定義されたすべての関節について、3次元位置を計算することを3次元骨格の検出、または、3次元骨格の推定と呼んでもよい。
 図7のステップS21~ステップS25までの3次元骨格推定処理を各カメラペアに対して行うことにより、各カメラペアに対して、同一人物の2次元骨格ペア毎に、3次元骨格が推定される。理解容易のため例えると、複数のカメラ20が人物Aと人物Bの2人の人物を撮影したものであった場合に、各カメラペアに対して、人物Aの3次元骨格と人物Bの3次元骨格が推定される。カメラペア毎に人物Aの3次元骨格が推定されるため、人物Aに対してカメラペアの数の3次元骨格が重複して推定されているということである。同様に、人物Bに対しても複数の3次元骨格が重複して推定されている。
 そこで、3次元骨格検出部102は、同一人物に対して重複して推定された3次元骨格から1つの3次元骨格を選択することで同一人物を抑制する処理を行う(ステップS26)。この処理は、以下に示す2つの判定に基づいて行われる。第1の判定は、複数の3次元骨格があったときに、どれが同一人物でどれが同一人物でないかの判定である。第2の判定は、複数の3次元骨格が同一人物である場合にどれを残し、どれを削除するのかの判定である。
 まず、第1の判定について説明する。各3次元骨格は、2つの2次元骨格から推定されたものである。例えば、3つの3次元骨格があったとして、それぞれ3次元骨格1~3とする。そして、3次元骨格1の推定元の2次元骨格が2次元骨格1及び2次元骨格2とする。同様に、3次元骨格2の推定元の2次元骨格が2次元骨格2及び2次元骨格3とし、3次元骨格3の推定元の2次元骨格が2次元骨格3及び2次元骨格4とする。この場合、3次元骨格1と3次元骨格2とは、推定元の2次元骨格の一方が2次元骨格2であり共通している。このように、推定元の2次元骨格の一方が共通する2つの3次元骨格を同一人物の3次元骨格であると判定する。同様に、3次元骨格2と3次元骨格3は、推定元の2次元骨格の一方が共通するので、同一人物の3次元骨格であると判定する。また、3次元骨格1と3次元骨格2が同一人物の3次元骨格であり、3次元骨格2と3次元骨格3が同一人物の3次元骨格であることから、3次元骨格1と3次元骨格3も同一人物の3次元骨格と判定する。
 次に、第2の判定について説明する。各3次元骨格は、1つの2次元骨格ペアから推定されたものであり、各2次元骨格ペアにはマッチングスコアが算出されている。従って、各3次元骨格には、マッチングスコアが算出されている。本開示においては、同一人物と判定された複数の3次元骨格のうち、最もマッチングスコアが高い3次元骨格を残し、その他の3次元骨格を削除する。
 3次元骨格検出部102は、上記第1の判定及び第2の判定に基づいて、同一人物に対して重複して推定された複数の3次元骨格を抑制する。
 同一人物の抑制後、3次元骨格検出部102は、残った3次元骨格それぞれに対して、3次元骨格検出スコアを算出する(ステップS27)。スコア算出対象の3次元骨格の推定元の2次元骨格を2次元骨格1及び2次元骨格2とすると、スコア算出対象の3次元骨格の3次元骨格検出スコアS3Dは、式(3)により算出される。
Figure JPOXMLDOC01-appb-M000003
 式(3)において、S1は、2次元骨格1の各関節の2次元関節スコアの総和である。S2は、2次元骨格2の各関節の2次元関節スコアの総和である。S3は、2次元骨格1の各関節間の接続の2次元関節接続スコアの総和である。S4は、2次元骨格2の各関節間の接続の2次元関節接続スコアの総和である。
 2次元関節スコアは、2次元骨格検出情報103に含まれる2次元骨格情報及び2次元関節尤度マップから求めることができる。例えば、2次元骨格情報から関節Xの座標を取得し、関節Xに対応する2次元関節尤度マップにおける取得した関節Xの座標の尤度(画素値)を関節Xの2次元関節スコアとしてもよい。また、2次元骨格情報における関節Xの尤度を関節Xの2次元関節スコアとしてもよい。
 2次元関節接続スコアは、2次元骨格検出情報103に含まれる2次元骨格情報及び2次元関節接続尤度マップから求めることができる。例えば、2次元骨格情報から関節X、Yの座標を取得し、関節Xと関節Yとの接続に対応する2次元関節接続尤度マップにおける関節Xの座標と関節Yの座標を結ぶ直線内の1点の尤度(画素値)を関節Xと関節Yとの接続の2次元関節接続スコアとしてもよい。
 3次元骨格検出スコアの算出後、3次元骨格検出部102は、算出した3次元骨格検出スコアが所定の閾値T1より大きいか否かを判定し、所定の閾値T1よりも小さい3次元骨格を削除する(ステップS28)。
 3次元骨格検出部102は、3次元骨格検出スコアが所定の閾値T1以上の3次元骨格について、3次元骨格検出情報を生成し出力する(ステップS29)。
 3次元骨格検出部102は、上記方法により、トップダウン方式により、3次元骨格の検出を行う。
 (2-2)ボトムアップ方式
 図13は、3次元骨格検出部102がボトムアップ方式で3次元骨格を検出する処理を示すフローチャートである。
 3次元骨格検出部102は、カメラペアの選択を行い(ステップS301)、選択したカメラペアについて、ステップS302~S304までの処理を行う。3次元骨格検出部102は、すべてのカメラペアを選択するまでステップS301~S304の処理を繰り返す。
 以下、図8(a)~(c)において、カメラA及びカメラBからなるカメラペアが選択されたとして、ステップS302~S304の説明を行う。
 3次元骨格検出部102は、選択したカメラペアから2次元関節ペアの選択を行い(ステップS302)、選択した2次元関節ペアについて、ステップS303~S304の処理を行う。3次元骨格検出部102は、すべての2次元関節ペアを選択するまでステップS302~S304の処理を繰り返す。
 2次元関節ペアとは、同一の種別の複数の2次元関節から選んだ異なる2つのカメラから検出された2次元関節のことである。図14(a)は、選択されたカメラペアのうちカメラAから検出された2次元骨格1401、1402の頭の関節1401A、1402Aを模式的に示したものである。図14(b)は、選択されたカメラペアのうちカメラBから検出された2次元骨格1403、1404の頭の関節1403B、1404Bを模式的に示したものである。
 3次元骨格検出部102は、例えば、関節1401A及び関節1403Bからなる2次元関節ペア、関節1401A及び関節1404Bからなる2次元関節ペア、関節1402A及び関節1403Bからなる2次元関節ペア、関節1402A及び関節1404Bからなる2次元関節ペアを順に選択する。
 3次元骨格検出部102は、補助記憶装置の骨格定義情報106で定義されたすべての種別の関節について、同様に2次元関節ペアを選択する。
 以下、関節1401A及び関節1402Aからなる2次元関節ペアが選択されたとして、ステップS303~S304の説明を行う。
 3次元骨格検出部102は、選択された2次元関節ペアに基づいて3次元関節の推定を行う(ステップS303)。3次元関節の推定とは、2つの2次元関節の座標から関節の3次元位置を算出することである。2つの2次元関節の座標から関節の3次元位置は、補助記憶装置13に記憶されたカメラ設定情報(カメラA、Bの光学中心の三次元位置及び投影面の三次元位置)を用いて、三角測量の原理により、算出することができる。
 次に、3次元骨格検出部102は、推定した3次元関節の3次元関節検出スコアを算出する(ステップS304)。3次元関節検出スコアは、推定した3次元関節の存在の確からしさを示す尤度である。3次元関節の3次元関節検出スコアは、3次元関節の推定元の2つの2次元関節の2次元関節スコアの和を用いるとしてもよい。
 図13のステップS301~ステップS304までの3次元関節推定処理を各カメラペアに対して行うことにより、関節の種別毎に、複数の3次元関節が推定される。この複数の3次元関節の中には、同一人物の同一関節を推定した結果の3次元関節が複数含まれる。理解容易のため例えると、複数のカメラ20が人物Aと人物Bの2人の人物を撮影したものであった場合に、推定された複数の3次元関節の中には、人物Aの頭の関節を推定した複数の3次元関節や、人物Bの頭の関節を推定した複数の3次元関節が含まれる。
 そこで、3次元骨格検出部102は、同一人物の同一関節に対して重複して推定された3次元関節から1つの3次元関節を選択することで同一関節を抑制する処理を行う(ステップS305)。
 図15(a)~(e)を用いて、重複して推定された3次元関節から同一関節を抑制する処理を説明する。図15(a)は、推定された同一種別の複数の3次元関節1501~1512を示している。
 まず、3次元関節1501~1512の中から、ステップS304で算出された3次元関節検出スコアが最も高い3次元関節を選択する。例えば、3次元関節検出スコアが最も高い3次元関節が3次元関節1501であったとする。
 図15(b)に示すように、3次元空間内で3次元関節1501を中心に半径rの球1520を考え、球1520内に存在する3次元関節1502、1503を削除する。
 残った3次元関節1501、1504~1512の中から先ほど選択した3次元関節1501の次に3次元関節検出スコアが高い3次元関節を選択する。例えば、3次元関節1505が選択されたとする。図15(c)に示すように、3次元空間内で3次元関節1505を中心に半径rの球を考え、球内に存在する3次元関節1504、1506~1509を削除する。同様にして、図15(d)に示すように、3次元空間内で3次元関節1510を中心に半径rの球を考え、球内に存在する3次元関節1511、1512を削除する。
 このようにして3次元骨格検出部102は、同一関節の抑制を行う。
 同一関節の抑制後、3次元骨格検出部102は、3次元関節接続ペアの選択を行い(ステップS306)、選択した3次元関節接続ペアについて、ステップS307の処理を行う。3次元骨格検出部102は、すべての3次元関節接続ペアを選択するまでステップS306~S307の処理を繰り返す。
 3次元関節接続ペアとは、同一関節の抑制後の3次元関節のうち、骨格定義情報106において接続があると定義された2つの種別の3次元関節からなるペアのことである。図16(a)において、A1~A15及びB1~B15は、同一関節の抑制後の3次元関節を示している。そして、C1~C4は、そのうち、骨格定義情報106において接続があると定義された頭の関節と首の関節との接続を示している。
 3次元骨格検出部102は、3次元関節接続ペアとして、C1、C2、C3、C4を順に選択する。
 3次元骨格検出部102は、骨格定義情報106において接続があると定義された2つの種別の3次元関節からなる3次元関節接続ペアを順に選択する。
 3次元骨格検出部102は、選択された3次元関節接続ペアの3次元関節接続スコアを算出する(ステップS307)。3次元関節接続検出スコアは、推定した3次元関節接続ペアに含まれる2つの3次元関節間の接続の存在の確からしさを示す尤度である。
 3次元関節接続検出スコアの算出方法を説明する。3次元関節接続スコアは、2次元骨格検出情報103に含まれる2次元骨格情報及び2次元関節接続尤度マップから求めることができる。スコア算出対象の3次元関節接続ペアの接続の種別の2次元関節接続尤度マップを参照し、スコア算出対象の3次元関節接続ペアを参照した2次元関節接続尤度マップに投影する。参照する2次元関節接続尤度マップは、複数のカメラ20のうち任意のカメラ20から検出されたものを用いてもよい。図16(b)において、符号1601は、参照された頭の関節と首の関節との接続の2次元関節接続尤度マップを示す。符号1602、1603は、2次元関節接続尤度マップ1601において高い画素値を有する領域を示す。そして、図16(b)におけるD1~D4は、図16(a)における3次元関節接続ペアC1~C4の、2次元関節接続尤度マップ1601への投影を示す。
 ここで、3次元関節接続ペアの3次元関節接続スコアは、2次元関節接続尤度マップに投影された3次元関節接続ペアの中点における画素値としてもよい。すなわち、3次元関節接続ペアC1の3次元関節接続スコアは、2次元関節接続尤度マップ1601における投影D1の中点となる。同様に、3次元関節接続ペアC2の3次元関節接続スコアは、2次元関節接続尤度マップ1601における投影D2の中点となる。3次元関節接続ペアC3の3次元関節接続スコアは、2次元関節接続尤度マップ1601における投影D3の中点となる。3次元関節接続ペアC4の3次元関節接続スコアは、2次元関節接続尤度マップ1601における投影D4の中点となる。
 投影D1の中点は領域1602内であり、高い画素値を有している。そのため、3次元関節接続ペアC1の3次元関節接続スコアは、高い値となる。同様に、投影D3の中点は領域1603内であり、高い画素値を有している。そのため、3次元関節接続ペアC3の3次元関節接続スコアは、高い値となる。一方、投影D2、D4の中点は、領域1602及び1603の外であるため、画素値は小さい値である。従って、3次元関節接続ペアC2、C4の3次元関節接続スコアは小さい値となる。つまり、この算出方法によれば、同一人物の3次元関節からなる3次元関節接続ペア(例えば、C1、C3)の3次元関節接続スコアは高い値となり、異なる人物の3次元関節からなる3次元関節接続ペア(例えば、C2、C4)の3次元関節接続スコアは小さい値となる。
 図13のステップS306~ステップS307までの処理を各3次元関節接続ペアに対して行うことにより、3次元関節接続ペア毎に3次元関節接続スコアが算出される。
 3次元骨格検出部102は、算出した3次元関節接続スコアに基づいて、同一人物の3次元関節からなる3次元関節接続ペアを決定する(ステップS308)。例えば、所定の閾値T2よりも大きい3次元関節接続スコアを有する3次元関節接続ペアを同一人物の3次元関節からなる3次元関節接続ペアと決定する。これを各3次元関節接続ペアに対して行うことにより、各3次元関節は人物ごとにグルーピングされ、図17に示されるように、人物ごとの三次元関節とその間の接続からなる3次元骨格が検出される。
 3次元骨格検出部102は、ステップS308で検出された3次元骨格それぞれに対して、3次元骨格検出スコアを算出する(ステップS309)。スコア算出対象の3次元骨格の3次元骨格検出スコアT3Dは、式(4)により算出される。
Figure JPOXMLDOC01-appb-M000004
 式(4)において、S5は、スコア算出対象の3次元骨格の各関節の3次元関節検出スコア(ステップS304で算出)の総和である。S6は、スコア算出対象の3次元骨格の各関節間接続の3次元関節接続スコア(ステップS307で算出)の総和である。
 3次元骨格検出スコアの算出後、3次元骨格検出部102は、算出した3次元骨格検出スコアが所定の閾値T3より大きいか否かを判定し、所定の閾値T3よりも小さい3次元骨格を削除する(ステップS310)。
 3次元骨格検出部102は、3次元骨格検出スコアが所定の閾値T3以上の3次元骨格について、3次元骨格検出情報を生成し出力する(ステップS311)。
 3次元骨格検出部102は、上記方法により、ボトムアップ方式により、3次元骨格の検出を行う。
 1.3 CNN
 上述のように、2次元骨格検出部101は、機械学習を行った畳み込みニューラルネットワークである。2次元骨格検出部101は、入力画像から2次元骨格検出情報103を出力するものであれば、任意の畳み込みニューラルネットワークを用いてもよい。
 畳み込みニューラルネットワークの一例として、図18に示すニューラルネットワーク800について、説明する。
 (1)ニューラルネットワーク1800の構造
 ニューラルネットワーク1800は、入力層1800a、特徴抽出層1800b及び出力層1800cを有する階層型のニューラルネットワークである。
 ここで、ニューラルネットワークとは、人間の神経ネットワークを模倣した情報処理システムのことである。ニューラルネットワーク1800において、神経細胞に相当する工学的なニューロンのモデルを、ここではニューロンUと呼ぶ。入力層1800a、特徴抽出層1800b及び出力層1800cは、それぞれ複数のニューロンUを有して構成されている。
 入力層1800aは、通常、1層からなる。入力層1800aの各ニューロンUは、例えば1枚の画像を構成する各画素の画素値をそれぞれ受信する。受信した画像値は、入力層1800aの各ニューロンUから特徴抽出層1800bにそのまま出力される。特徴抽出層1800bは、入力層1800aから受信したデータから特徴を抽出して出力層1800cに出力する。出力層1800cは、特徴抽出層1800bにより抽出された特徴を用いてオブジェクト検出を行う。
 ニューロンUとして、通常、図19に示すように、多入力1出力の素子が用いられる。信号は一方向にだけ伝わり、入力された信号xi(i=1、2、・・・、n)に、あるニューロン加重値(SUwi)が乗じられて、ニューロンUに入力される。ニューロン加重値は、学習によって変化させることができる。ニューロンUからは、ニューロン加重値SUwiが乗じられたそれぞれの入力値(SUwi×xi)の総和が活性化関数f(X)による変形を受けた後、出力される。つまり、ニューロンUの出力値yは、以下の数式で表される。
   y=f(X)
 ここで、
   X=Σ(SUwi×xi)
である。なお、活性化関数としては、例えば、ReLUやシグモイド関数を用いることができる。
 ニューラルネットワーク1800の学習方法としては、例えば、正解を示す値(教師データ)とCNN1800の出力値(オブジェクト推定データ)とから所定の誤差関数を用いて誤差を算出し、この誤差が最小となるように、最急降下法等を用いて特徴抽出層1800bのニューロン加重値等及び出力層1800cのニューロン加重値を順次変化させていく誤差逆伝播法(バックプロパゲーション)が用いられる。
 (2)学習工程
 ニューラルネットワーク1800における学習工程について説明する。
 学習工程は、ニューラルネットワーク1800の事前学習を行う工程である。学習工程では、事前に入手した学習用データ(学習用画像と教師データ)を用いて、ニューラルネットワーク1800の事前学習を行う。
 図20(a)に、事前学習の際のデータの伝播モデルを模式的に示している。
 学習用画像は、画像1枚毎に、ニューラルネットワーク1800の入力層1800aに入力され、入力層1800aから特徴抽出層1800bに出力される。特徴抽出層1800bの各ニューロンUでは、入力データに対してニューロン加重値付きの演算が行われ、抽出した特徴を示すデータが、出力層1800cに出力される。出力層1800cの各ニューロンUでは、入力データに対するニューロン加重値付きの演算が行われる(ステップS41)。これによって、抽出された特徴に基づく2次元骨格の検出が行われる。2次元骨格の検出の結果を示すデータは、出力層1800cから出力される。
 出力層1800cの出力値(2次元骨格の検出結果)は、教師データと比較され、所定の誤差関数を用いて、誤差(ロス)が算出される(ステップS42)。この誤差が小さくなるように、出力層1800cのニューロン加重値等及び特徴抽出層1800bのニューロン加重値等を順次変化させる(バックプロパゲーション)(ステップS43)。これにより、CNN1800の学習を行う。学習結果は、学習済みパラメータとして補助記憶装置13に記憶される。
 (3)推定工程
 ニューラルネットワーク1800における推定工程について説明する。
 図20(b)は、上記の学習工程によって学習されたニューラルネットワーク1800を用い、カメラ20で得られた撮影画像を入力画像として2次元骨格の検出を行う場合のデータの伝播モデルを示している。
 ニューラルネットワーク1800における推定工程においては、学習された特徴抽出層1800bと、学習された出力層1800cとを用いて、特徴抽出及び2次元骨格の検出が行われる(ステップS44)。
 2.補足
 以上、本発明を実施の形態に基づいて説明してきたが本発明は上述の実施の形態に限定されないのは勿論であり、以下の変形例が本発明の技術範囲に含まれることは勿論である。
 (1)上述の実施の形態において、2次元骨格検出部101及び3次元骨格検出部102は、人体の2次元骨格及び3次元骨格を検出するものとして説明したが、人間に限らず、牛や馬のように他の動物でもよい。なお、関節とは、脊椎動物の骨格における骨同士の連結部であり、可動性の連結部であっても、不動性の連結部であってもよい。また、検出対象の関節は、2次元画像から検出可能なキーポイントであればよく、動物の骨格の関節(連結部)でなくともよい。検出対象の骨格は、複数のキーポイント(連結部)とその間の接続からなるワイヤーフレームで表現できるのであれば生物のものでなくともよい。例えば、車や飛行機などの3次元骨格を検出してもよい。
 (2)上述の実施の形態のステップS24において、マッチングスコアに基づいて、同一人物の2次元骨格のペアの組み合わせを決定している。そして、上述の実施の形態では、「矛盾のない」2次元骨格ペアの組み合わせのすべてに対して、マッチングスコアを算出するという方法で、同一人物の2次元骨格のペアの組み合わせを決定している。しかしながら、この方法では検出する人物の数が多くなれば、膨大な量の計算が必要になる可能性がある。その場合、カメラペアにおける一方のカメラの2次元骨格集合の要素(2次元骨格)を、他方のカメラの2次元骨格集合の要素(2次元骨格)のどれに割り当てるかを決定する割り当て問題として考えることで、ハンガリー法などを用いることにより効率的に同一人物の2次元骨格のペアの組み合わせを決定することができる。
 (3)上述の実施の形態において、3次元骨格検出装置10は、クラウドサーバーとして実装されていてもよい。すなわち、クラウドサーバー(3次元骨格検出装置10)と画像入力用端末(複数のカメラ20)とは、ネットワーク(例えば、インターネット)を介して接続されているとしてもよい。また、クラウドサーバー(3次元骨格検出装置10)からネットワークを介して3次元骨格検出情報を取得する情報処理端末(例えばPC)を備えてもよい。また、3次元骨格検出装置10内の各構成(機能)は、複数のコンピュータに分散されて搭載されていてもよく、ネットワークを介して複数のコンピュータが連携して動作することで3次元骨格検出システムを実現してもよい。
 本開示は、監視カメラシステムなどに搭載される3次元骨格検出装置として有用である。
  1 3次元骨格検出システム
 10 3次元骨格検出装置
101 2次元骨格検出部
102 3次元骨格検出部
 20 カメラ

Claims (7)

  1.  複数の連結部及び前記連結部間の接続によって骨格が定義される対象物体の3次元骨格を検出する3次元骨格検出方法であって、
     前記対象物体を複数の異なるカメラ位置から撮像した画像群を得る画像取得ステップと、
     前記画像群の各画像から、画像上における前記連結部の2次元位置の推定、及び、画像上における前記接続の存在の確からしさを示す2次元接続尤度の算出、を行う2次元骨格検出ステップと、
     推定された連結部の2次元位置及び算出された2次元接続尤度を用いて前記対象物体の3次元骨格を検出する3次元骨格検出ステップと、
     を有する3次元骨格検出方法。
  2.  前記3次元骨格検出ステップは、推定された連結部の2次元位置に基づいて、前記対象物体の各連結部の3次元位置を算出するステップを含む
     請求項1に記載の3次元骨格検出方法。
  3.  前記2次元骨格検出ステップは、対象物体の連結部の2次元位置の推定、及び、前記2次元接続尤度を算出するための機械学習を行った学習モデルにより実行される
     請求項1または2に記載の3次元骨格検出方法。
  4.  前記3次元骨格検出ステップは、前記2次元接続尤度を用いて物体の3次元骨格が存在する確からしさを算出するステップを含む
     請求項1~3のいずれかに記載の3次元骨格検出方法。
  5.  前記2次元骨格検出ステップは、前記画像群の各画像から、前記対象物体の各連結部の位置によって定義される2次元骨格を検出するステップを含み、
     前記3次元骨格検出ステップは、
      前記画像群のうち第1の画像から検出された2次元骨格と第2の画像から検出された2次元骨格との対応の確からしさを示すマッチングスコアを算出するステップと、
      前記マッチングスコアを用いて、同一の物体に該当する2次元骨格の対応付けを行うステップと、
     対応付けられた2つの2次元骨格の連結部の画像上の位置に基づいて、三角測量の原理を用いて、前記対象物体の連結部の3次元位置を計算するステップと、を含む
     請求項1~4のいずれかに記載の3次元骨格検出方法。
  6.  前記3次元骨格検出ステップは、
      前記画像群のうち第1の画像から推定された連結部の2次元位置と第2の画像から推定された連結部の2次元位置とに基づいて、三角測量の原理を用いて前記対象物体の連結部の3次元位置を算出するステップと、
      3次元位置の算出された連結部間の接続の存在の確からしさを示す3次元接続尤度を、前記2次元接続尤度を用いて算出するステップと、
      3次元位置の算出された連結部間の接続を、前記3次元接続尤度を用いて検出するステップと、を含む
     請求項1~4のいずれかに記載の3次元骨格検出方法。
  7.  複数の連結部及び前記連結部間の接続によって骨格が定義される対象物体の3次元骨格を検出する3次元骨格検出装置であって、
     前記対象物体を複数の異なるカメラ位置から撮像した画像群を得る入力部と、
     前記画像群の各画像から、画像上における前記連結部の2次元位置の推定、及び、画像上における前記接続の存在の確からしさを示す2次元接続尤度の算出、を行う2次元骨格検出部と、
     推定された連結部の位置及び算出された2次元接続尤度を用いて前記対象物体の3次元骨格を検出する3次元骨格検出部と、
     を備える3次元骨格検出装置。
PCT/JP2021/039098 2020-11-18 2021-10-22 3次元骨格検出方法及び3次元骨格検出装置 WO2022107548A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022563655A JPWO2022107548A1 (ja) 2020-11-18 2021-10-22

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020191432 2020-11-18
JP2020-191432 2020-11-18

Publications (1)

Publication Number Publication Date
WO2022107548A1 true WO2022107548A1 (ja) 2022-05-27

Family

ID=81708967

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/039098 WO2022107548A1 (ja) 2020-11-18 2021-10-22 3次元骨格検出方法及び3次元骨格検出装置

Country Status (2)

Country Link
JP (1) JPWO2022107548A1 (ja)
WO (1) WO2022107548A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023243393A1 (ja) * 2022-06-13 2023-12-21 コニカミノルタ株式会社 認識装置、認識システム及びコンピュータープログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LIU DING; ZHAO ZIXU; WANG XINCHAO; HU YUXIAO; ZHANG LEI; HUANG THOMAS: "Improving 3D Human Pose Estimation Via 3D Part Affinity Fields", 2019 IEEE WINTER CONFERENCE ON APPLICATIONS OF COMPUTER VISION (WACV), IEEE, 7 January 2019 (2019-01-07), pages 1004 - 1013, XP033525750, DOI: 10.1109/WACV.2019.00112 *
PRAMOD MURTHY, KOVALENKO ONORINA, ELHAYEK AHMED, GAVA CHRISTIANO, STRICKER DIDIER: "3D Human Pose Tracking inside Car using Single RGB Spherical Camera", ACM CHAPTERS COMPUTER SCIENCE IN CARS SYMPOSIUM (CSCS 2017), 6 July 2017 (2017-07-06) - 6 July 2017 (2017-07-06), Munich, Germany , XP055703129 *
SCHWARCZ STEVEN; POLLARD THOMAS: "3D Human Pose Estimation from Deep Multi-View 2D Pose", 2018 24TH INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION (ICPR), IEEE, 20 August 2018 (2018-08-20), pages 2326 - 2331, XP033457203, DOI: 10.1109/ICPR.2018.8545631 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023243393A1 (ja) * 2022-06-13 2023-12-21 コニカミノルタ株式会社 認識装置、認識システム及びコンピュータープログラム

Also Published As

Publication number Publication date
JPWO2022107548A1 (ja) 2022-05-27

Similar Documents

Publication Publication Date Title
CN112785702B (zh) 一种基于2d激光雷达和双目相机紧耦合的slam方法
TWI777538B (zh) 圖像處理方法、電子設備及電腦可讀儲存介質
JP6364049B2 (ja) 点群データに基づく車両輪郭検出方法、装置、記憶媒体およびコンピュータプログラム
US8995714B2 (en) Information creation device for estimating object position and information creation method and program for estimating object position
JP6723061B2 (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP2018522348A (ja) センサーの3次元姿勢を推定する方法及びシステム
WO2023016271A1 (zh) 位姿确定方法、电子设备及可读存储介质
CN105335955A (zh) 对象检测方法和对象检测装置
KR102167835B1 (ko) 영상 처리 방법 및 장치
KR20200075727A (ko) 깊이 맵 산출 방법 및 장치
CN110998671B (zh) 三维重建方法、装置、系统和存储介质
CN111860651B (zh) 一种基于单目视觉的移动机器人半稠密地图构建方法
WO2023016182A1 (zh) 位姿确定方法、装置、电子设备和可读存储介质
CN111582204A (zh) 姿态检测方法、装置、计算机设备及存储介质
CN112200056A (zh) 人脸活体检测方法、装置、电子设备及存储介质
Raza et al. Framework for estimating distance and dimension attributes of pedestrians in real-time environments using monocular camera
Angladon et al. The toulouse vanishing points dataset
WO2022107548A1 (ja) 3次元骨格検出方法及び3次元骨格検出装置
US20240161254A1 (en) Information processing apparatus, information processing method, and program
Mariotti et al. Spherical formulation of geometric motion segmentation constraints in fisheye cameras
JP2532985B2 (ja) 3次元画像評価装置
JP2021148730A (ja) 位置推定方法、位置推定装置、及び、プログラム
CN116883981A (zh) 一种车牌定位识别方法、系统、计算机设备及存储介质
US20230005162A1 (en) Image processing system, image processing method, and storage medium
CN116642490A (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: 21894422

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022563655

Country of ref document: JP

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: 21894422

Country of ref document: EP

Kind code of ref document: A1