WO2021095095A1 - カメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体 - Google Patents

カメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
WO2021095095A1
WO2021095095A1 PCT/JP2019/044145 JP2019044145W WO2021095095A1 WO 2021095095 A1 WO2021095095 A1 WO 2021095095A1 JP 2019044145 W JP2019044145 W JP 2019044145W WO 2021095095 A1 WO2021095095 A1 WO 2021095095A1
Authority
WO
WIPO (PCT)
Prior art keywords
skeleton
vector
dimensional
camera
camera calibration
Prior art date
Application number
PCT/JP2019/044145
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 JP2021555634A priority Critical patent/JP7420146B2/ja
Priority to US17/769,077 priority patent/US20240104776A1/en
Priority to PCT/JP2019/044145 priority patent/WO2021095095A1/ja
Publication of WO2021095095A1 publication Critical patent/WO2021095095A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Definitions

  • the present invention relates to a non-temporary computer-readable medium in which a camera calibration device, a camera calibration method, and a camera calibration program are stored.
  • Patent Documents 1 to 3 are known.
  • Patent Document 1 describes that the camera parameters are estimated by acquiring information on a known height in an image.
  • Patent Document 2 describes that coordinate data of a plurality of pedestrians in an image is collected and camera parameters are calculated.
  • Patent Document 3 describes estimating camera parameters of a plurality of cameras from images of a plurality of cameras.
  • Non-Patent Document 1 is known as a technique related to human skeleton estimation.
  • the camera parameters can be obtained by using known information as in Patent Document 1, it is necessary to manually input the necessary information from the outside.
  • the camera parameters can be easily calculated by statistically processing a plurality of pieces of information as in Patent Document 2.
  • the calculation accuracy of the camera parameters may be poor. Therefore, there is a problem that it is difficult to obtain the camera parameters with high accuracy in the related technology.
  • the present disclosure provides a non-temporary computer-readable medium in which a camera calibration device, a camera calibration method, and a camera calibration program capable of obtaining camera parameters easily and accurately are stored. The purpose.
  • the camera calibrator includes a skeleton detecting means for detecting a two-dimensional skeleton structure of a person based on a two-dimensional image captured by the camera, and the two-dimensional structure based on the detected two-dimensional skeleton structure. It is provided with a vector calculation means for calculating a skeleton vector indicating the direction and size of the skeleton of the person in an image, and a parameter calculation means for calculating the camera parameters of the camera based on the calculated skeleton vector. is there.
  • the camera calibration method detects a two-dimensional skeleton structure of a person based on a two-dimensional image captured by a camera, and based on the detected two-dimensional skeleton structure, the person in the two-dimensional image.
  • a skeleton vector indicating the direction and size of the skeleton is calculated, and the camera parameters of the camera are calculated based on the calculated skeleton vector.
  • the non-temporary computer-readable medium in which the camera calibration program according to the present disclosure is stored detects the two-dimensional skeleton structure of a person based on the two-dimensional image captured by the camera, and the detected two-dimensional skeleton structure.
  • a skeleton vector indicating the direction and size of the skeleton of the person in the two-dimensional image is calculated based on the above, and the camera parameters of the camera are calculated based on the calculated skeleton vector. It is a non-temporary computer-readable medium in which a camera calibration program is stored.
  • FIG. 1 It is a flowchart which shows the related monitoring method. It is a block diagram which shows the outline of the camera calibration apparatus which concerns on embodiment. It is a block diagram which shows the structure of the camera calibration apparatus which concerns on Embodiment 1.
  • FIG. It is a flowchart which shows the camera calibration method which concerns on Embodiment 1.
  • FIG. It is a flowchart which shows the skeleton vector calculation method which concerns on Embodiment 1.
  • FIG. It is a figure which shows the detection example of the skeleton structure and the skeleton vector which concerns on Embodiment 1.
  • FIG. It is a figure for demonstrating the aggregation method of the skeleton vector which concerns on Embodiment 1.
  • FIG. 1 It is a block diagram which shows the outline of the camera calibration apparatus which concerns on embodiment. It is a block diagram which shows the structure of the camera calibration apparatus which concerns on Embodiment 1.
  • FIG. It is
  • FIG. It is a figure for demonstrating the aggregation method of the skeleton vector which concerns on Embodiment 1.
  • FIG. It is a flowchart which shows the skeleton vector calculation method which concerns on Embodiment 2. It is a figure which shows the detection example of the skeleton structure and the skeleton vector which concerns on Embodiment 2.
  • FIG. It is a flowchart which shows the skeleton vector calculation method which concerns on the specific Example 1 of Embodiment 3. It is a figure which shows the detection example of the skeleton structure and the skeleton vector which concerns on the specific example 1 of Embodiment 3. It is a figure which shows the human body model used in the specific example 2 of Embodiment 3.
  • FIG. 1 shows a monitoring method in a related monitoring system.
  • the surveillance system acquires an image from the surveillance camera (S101), detects a person from the acquired image (S102), and performs behavior recognition and attribute recognition (S103) of the person.
  • S101 the surveillance camera
  • S102 detects a person from the acquired image
  • S103 behavior recognition and attribute recognition
  • the behavior and flow line of a person are recognized as the behavior of the person
  • the age, gender, height, etc. of the person are recognized as the attributes of the person.
  • data analysis is performed from the behaviors and attributes of the recognized person (S104), and actions such as coping are performed based on the analysis results (S105). For example, an alert is displayed from the recognized action, or a person with an attribute such as the recognized height is monitored.
  • a method of identifying a person's area from an image using techniques such as background subtraction and obtaining camera parameters using information such as an upright direction and height is simple, but for example, a part of the person's body. If is hidden, it may not be possible to obtain camera parameters from the detected person information.
  • the inventor examined a method of using skeleton estimation technology using machine learning for camera calibration.
  • a related skeleton estimation technique such as OpenPose disclosed in Non-Patent Document 1
  • the skeleton of a person is estimated by learning various patterns of correctly answered image data.
  • it is possible to reduce costs and obtain camera parameters with high accuracy.
  • the skeletal structure estimated by a skeletal estimation technique is composed of "key points” which are characteristic points of joints and the like and “bones (bone links)" which indicate links between key points. .. Therefore, in the following embodiments, the skeletal structure will be described using the terms “key point” and “bone”, but unless otherwise specified, the "key point” corresponds to the “joint” of a person and is described as “key point”. "Bone” corresponds to the "bone” of a person.
  • FIG. 2 shows an outline of the camera calibration device 10 according to the embodiment.
  • the camera calibration device 10 includes a skeleton detection unit 11, a vector calculation unit 12, and a parameter calculation unit 13.
  • the skeleton detection unit 11 detects the two-dimensional skeleton structure of a person based on the two-dimensional image captured by the camera.
  • the vector calculation unit 12 calculates a skeleton vector indicating the direction and size of the skeleton of a person in a two-dimensional image based on the two-dimensional skeleton structure detected by the skeleton detection unit 11.
  • the parameter calculation unit 13 calculates the camera parameters of the camera based on the skeleton vector calculated by the vector calculation unit 12.
  • the embodiment by detecting the skeleton structure from the image and calculating the camera parameters based on the skeleton vector obtained from the skeleton structure, it is possible to reduce the trouble of inputting necessary information. Also, the camera parameters can be obtained with high accuracy.
  • FIG. 3 shows the configuration of the camera calibration device 100 according to the present embodiment.
  • the camera calibration device 100 constitutes the camera calibration system 1 together with the camera 200.
  • the camera calibration device 100 and the camera calibration system 1 are applied to the monitoring method in the monitoring system as shown in FIG. 1, and recognize the behavior and attributes of a person by using the camera parameters by the camera calibration device 100 and the camera calibration system 1.
  • An alarm is displayed and a person is monitored according to the recognition result.
  • the camera 200 may be provided inside the camera calibration device 100.
  • the camera calibration device 100 includes an image acquisition unit 101, a skeleton structure detection unit 102, a vector calculation unit 103, an aggregation unit 104, a camera parameter calculation unit 105, and a storage unit 106.
  • the configuration of each part (block) is an example, and may be composed of other parts as long as the method (operation) described later is possible.
  • the camera calibration device 100 is realized by, for example, a computer device such as a personal computer or a server that executes a program, but it may be realized by one device or by a plurality of devices on a network. Good.
  • the storage unit 106 stores information (data) necessary for the operation (processing) of the camera calibration device 100.
  • the storage unit 106 is a non-volatile memory such as a flash memory, a hard disk device, or the like.
  • the storage unit 106 includes images acquired by the image acquisition unit 101, images processed by the skeletal structure detection unit 102, data for machine learning, data aggregated by the aggregation unit 104, and statistics on the height of a person and the length of each bone. Store the value (for example, the average value).
  • Statistical values of the height of the person and the length of each bone may be prepared for each attribute of the person such as age, gender, and nationality.
  • the storage unit 106 may be an external storage device or an external storage device on the network. That is, the camera calibration device 100 may acquire necessary images, machine learning data, statistical values of the height of a person, etc. from an external storage device, or output data such as aggregation results to an external storage device. You may.
  • the image acquisition unit 101 acquires a two-dimensional image captured by the camera 200 from the camera 200 that is communicably connected.
  • the camera 200 is an imaging unit such as a surveillance camera that is installed at a predetermined location and captures a person in the imaging region from the installation location.
  • the image acquisition unit 101 acquires, for example, a plurality of images (videos) including a person captured by the camera 200 during a predetermined period.
  • the skeleton structure detection unit 102 detects the two-dimensional skeleton structure of a person in the image based on the acquired two-dimensional image.
  • the skeleton structure detection unit 102 detects the skeleton structure of a person based on the characteristics of the recognized person's joints and the like by using the skeleton estimation technique using machine learning.
  • the skeleton structure detection unit 102 detects the skeleton structure of the recognized person in each of the plurality of images.
  • the skeleton structure detection unit 102 uses, for example, a skeleton estimation technique such as OpenPose of Non-Patent Document 1.
  • the vector calculation unit 103 calculates the skeleton vector of a person in the two-dimensional image based on the detected two-dimensional skeleton structure.
  • the vector calculation unit 103 calculates a skeleton vector for each of the plurality of skeleton structures of the plurality of detected images.
  • the skeletal vector is a vector indicating the direction (direction from the foot to the head) and the size of the skeletal structure of a person.
  • the direction of the vector is the two-dimensional inclination on the two-dimensional image, and the magnitude of the vector is the two-dimensional length (number of pixels) on the two-dimensional image.
  • the skeleton vector may be a vector corresponding to the bones included in the detected skeleton structure, or may be a vector corresponding to the central axis of the skeleton structure.
  • the central axis of the skeletal structure can be obtained by performing PCA analysis (Principal Component Analysis) on the detected skeletal structure information.
  • the skeleton vector may be a vector based on the entire skeleton structure of the person, or may be a vector based on a part of the skeleton structure of the person.
  • a skeletal vector based on the foot (foot) bone of the skeletal structure is used as a part of the skeletal structure of the person.
  • the vector calculation unit 103 obtains the skeleton vector of the foot by obtaining the direction and length of the bone at the foot from the detected skeleton structure information.
  • the direction and length of the bones of not only the feet but also other parts may be obtained.
  • the skeleton vector is preferably more perpendicular to the ground, for example, the direction and length of the torso and head bones may be used in addition to the feet.
  • the size of the skeleton vector is not limited to the length of the bones of each part, and the height (the length of the whole body) estimated from the bones of each part or the like may be used.
  • the aggregation unit 104 aggregates a plurality of calculated skeleton vectors.
  • the aggregation unit 104 aggregates a plurality of skeleton vectors based on a plurality of skeleton structures of a plurality of images captured in a predetermined period.
  • the aggregation unit 104 obtains, for example, the average value of a plurality of skeleton vectors. That is, the aggregation unit 104 obtains the average value of the directions and lengths of the skeleton vectors based on the bones at the feet of the skeleton structure.
  • other statistical values such as an intermediate value of a plurality of skeleton vectors may be obtained.
  • the camera parameter calculation unit 105 calculates the camera parameters based on the aggregated skeleton vector.
  • the camera parameter is an imaging parameter of the camera 200, and is a parameter for converting the length in the two-dimensional image captured by the camera 200 into the three-dimensional real-world length.
  • the camera parameters include internal parameters such as the focal length of the camera 200 and external parameters such as the posture (imaging angle) and position of the camera 200.
  • the camera parameter calculation unit 105 is based on the length of the skeleton vector (the length in the direction perpendicular to the ground) and the reference value (statistical value such as the average value) of the height and bone length of the person in the storage unit 106. , Calculate camera parameters.
  • the camera parameter calculation unit 105 calculates camera parameters by using, for example, the calibration method described in Patent Document 1.
  • FIG. 4 and 5 show the operation (camera calibration method) of the camera calibration device 100 according to the present embodiment.
  • FIG. 4 shows the flow from image acquisition to camera parameter calculation in the camera calibration device 100
  • FIG. 5 shows the flow of the skeleton vector calculation process (S203) of FIG.
  • the camera calibration device 100 acquires an image from the camera 200 (S201).
  • the image acquisition unit 101 acquires an image of a person for calculating camera parameters.
  • the camera calibration device 100 detects the skeletal structure of the person based on the acquired image of the person (S202).
  • FIG. 6 shows the skeleton structure of the human body model 300 detected at this time
  • FIG. 7 shows an example of detecting the skeleton structure.
  • the skeleton structure detection unit 102 detects the skeleton structure of the human body model (two-dimensional skeleton model) 300 as shown in FIG. 6 from the two-dimensional image by using a skeleton estimation technique such as OpenPose.
  • the human body model 300 is a two-dimensional model composed of key points such as joints of a person and bones connecting the key points.
  • the skeleton structure detection unit 102 extracts, for example, feature points that can be key points from the image, and detects each key point of the person by referring to the information obtained by machine learning the key point image.
  • the key points of the person are head A1, neck A2, right shoulder A31, left shoulder A32, right elbow A41, left elbow A42, right hand A51, left hand A52, right waist A61, left waist A62, right knee A71.
  • Left knee A72, right foot A81, left foot A82 are detected.
  • bone B1 connecting the head A1 and the neck A2
  • bones B21 and bone B22 connecting the neck A2 and the right shoulder A31 and the left shoulder A32, right shoulder A31 and the left shoulder A32 and the right
  • Bone B31 and B32 connecting elbow A41 and left elbow A42, right elbow A41 and left elbow A42 and right hand A51 and left hand A52, respectively, connecting bone B41 and bone B42, neck A2 and right waist A61 and left waist A62, respectively.
  • Bone B51 and B52, right waist A61 and left waist A62, right knee A71 and left knee A72, respectively, bone B61 and bone B62, right knee A71 and left knee A72, right foot A81 and left foot A82, respectively. B72 is detected.
  • FIG. 7 is an example of detecting an upright person, and the upright person is imaged from the front.
  • all bones from the head bone B1 viewed from the front to the foot bones B71 and B72 are detected.
  • the right foot bones B61 and B71 are slightly more bent than the left foot bones B62 and B72.
  • the camera calibration device 100 performs a skeleton vector calculation process based on the detected skeleton structure (S203).
  • the vector calculation unit 103 acquires the length and direction of the bones at the feet (S211), and calculates the skeleton vector at the feet (S212).
  • the vector calculation unit 103 acquires the length (number of pixels) and direction (inclination) of the bones at the feet of a person on a two-dimensional image, and obtains the skeleton vector of the feet.
  • the lengths and directions of the bones B71 (length L41) and the bones B72 (length L42) are shown as the foot bones among the bones of the whole body. get.
  • the length and direction of each bone can be obtained from the coordinates of each key point in the two-dimensional image.
  • the length and direction of both the bone B71 on the right foot side and the bone B72 on the left foot side may be acquired, or the length and direction of either bone may be acquired.
  • the calculated bone length and direction is used as the skeleton vector.
  • the calculated central axis of the bone length and direction may be used as the skeleton vector, or the length and direction of either bone may be selected to form the skeleton vector. May be.
  • the central axis obtained by PCA analysis or the average of two vectors may be used as the skeleton vector, or the longer vector may be used as the skeleton vector.
  • the bones B61 and B71 of the right foot are detected to be slightly bent than the bones B62 and B72 of the left foot, and the bone B72 of the left foot is longer than the bone B71 of the right foot and is on the ground. It is perpendicular to it.
  • the vector of the central axis (average) of the bones B71 (key points A71 to A81) and the bones B72 (key points A72 to A82) is used as the skeleton vector, or the detected bones are long and are on the ground.
  • the camera calibration device 100 aggregates the calculated plurality of skeleton vectors (S204), and repeats the aggregation of the skeleton vectors from the image acquisition until sufficient data is obtained (S205) (S. S201 to S204).
  • the aggregation unit 104 aggregates the skeleton vectors from the skeleton structures of the persons detected at a plurality of places in the image. In the example of FIG. 8, a plurality of people are passing through in the center of the image, and the skeleton vectors of the feet that are substantially perpendicular to the ground are detected from the skeleton structures of the plurality of people walking, and they are totaled.
  • the aggregation unit 104 divides the image as shown in FIG. 8 into a plurality of aggregation areas as shown in FIG. 9, and aggregates the skeleton vectors for each aggregation area.
  • the aggregation area is a rectangular area obtained by dividing an image in the vertical direction and the horizontal direction at predetermined intervals.
  • the aggregation area is not limited to a rectangle and may have any shape.
  • the aggregation area is divided at predetermined intervals without considering the background of the image.
  • the aggregation area may be divided in consideration of the background of the image, the amount of aggregation data, and the like.
  • the area far from the camera may be smaller than the area closer to the camera (lower side of the image) depending on the imaging distance so as to correspond to the relationship between the image and the size of the real world.
  • the region having many skeleton vectors may be smaller than the region having few skeleton vectors.
  • the skeleton vector of a person whose feet (for example, the lower end of the foot) is detected in the aggregation area is aggregated for each aggregation area. If something other than your feet is detected, you may use something other than your feet as the basis for aggregation. For example, the skeleton vector of a person whose head or torso is detected in the aggregation area may be aggregated for each aggregation area.
  • the skeleton vectors In order to calculate the camera parameters accurately, it is preferable to detect the skeleton vectors in a plurality of aggregation areas and aggregate the skeleton vectors in each region.
  • more camera parameters can be obtained. For example, all camera parameters such as attitude, position, and focal length can be obtained from the skeleton vectors of three or more regions.
  • by totaling more skeleton vectors for each totaling area it is possible to improve the calculation accuracy of the camera parameters. For example, it is preferable to aggregate 3 to 5 skeleton vectors for each aggregation area and calculate the average.
  • the camera calibration device 100 calculates the camera parameters based on the aggregated skeleton vector (S206).
  • the camera parameter calculation unit 105 uses the length of the skeleton vector at the feet as the length in the two-dimensional image, and uses the average value of the bone lengths at the feet of the person as the length in the three-dimensional real world. Find the camera parameters. That is, the camera parameters are obtained assuming that the aggregated value of the lengths of the skeleton vectors at the feet in the two-dimensional image is equal to the average value of the bone lengths at the feet in the three-dimensional real world.
  • the average value to be referred to is a general average value of a person, but may be selected according to the attributes of the person such as age, gender, and nationality. For example, when a person's face is shown in the captured image, the attribute of the person is identified based on the face, and the average value corresponding to the identified attribute is referred to. It is possible to recognize the attributes of a person from the facial features of the image by referring to the information obtained by machine learning the face for each attribute. Further, when the attribute of the person cannot be identified from the image, a general average value may be used.
  • the skeleton vector is projected onto a projection plane perpendicular to the ground (reference plane), and the camera parameters are obtained based on the perpendicularity of the projected skeleton vector to the ground. ..
  • the posture (rotation matrix) of the camera can be obtained.
  • the length of the skeleton vector of the 2D image projected onto the 3D space is the average of the height and bone length (in this example, the foot bone length) in the 3D real world. From the difference from the value, the position of the camera (parallel traveling row) and the focal distance can be obtained.
  • the skeleton structure of a person is detected from the two-dimensional image, the skeleton vector is obtained based on the bones such as the feet that are a part of the detected skeleton structure, and the skeleton vector is further aggregated. And calculate the camera parameters. Since the skeleton structure of a person is detected and calibration is performed automatically, it is not necessary to manually input information from the outside, camera parameters can be calculated easily, and the cost for calibration can be reduced. it can. Further, since it is sufficient that at least the skeleton required for the skeleton vector can be detected by the skeleton estimation technique using machine learning, the camera parameters can be calculated accurately even when the entire person is not always shown in the image.
  • the skeleton vector is obtained based on a plurality of bones as a part of the skeleton structure of the person. Others are the same as those in the first embodiment.
  • FIG. 10 is a skeleton vector calculation process according to the present embodiment, and shows the flow of the skeleton vector calculation process (S203) of FIG. 4 in the first embodiment.
  • the vector calculation unit 103 acquires the length and direction of the body bones from the feet (S301), and calculates the body skeleton vector from the feet. (S302).
  • the skeleton vector is obtained from the feet (foot) to the torso (torso) as a plurality of bones, but in addition, the skeleton is obtained from the torso (torso) to the head bone and the like. You may find the vector.
  • bone B51 (length L21), bone B61 (length L31), and bone B71 (length) are used as bones from the feet to the body among the bones of the whole body.
  • the length (number of pixels) and direction of the bone B52 (length L22), the bone B62 (length L32), and the bone B72 (length L42) are acquired.
  • L21 + L31 + L41 and L22 + L32 + L42 which are the sum of the lengths of the respective bones, may be the total length of the right side of the body and the left side of the body, or a line connecting the highest coordinates of the body bones and the lowest coordinates of the foot bones.
  • the length of each may be the total length of each.
  • the average of the directions of each bone on the right side of the body (central axis) and the average of each bone on the left side of the body may be used, or the highest coordinates of the bones of the body and the highest of the bones at the feet.
  • the direction of the line connecting the lower coordinates may be used.
  • the lengths and directions of both the bones B51, B61 and B71 on the right side of the body and the bones B52, B62 and B72 on the left side of the body may be acquired, or one of them. You may get the length and direction of the bones on the side of. When only the length and direction of the bone on one side can be calculated, the calculated bone length and direction is used as the skeleton vector. If the length and direction of the bones on both sides can be calculated, the central axis of the calculated bone length and direction may be used as the skeleton vector, or the length and direction of the bone on either side may be selected. It may be a skeleton vector.
  • the bones B61 and B71 of the right foot are detected to be slightly bent more than the bones B62 and B72 of the left foot, and the bones on the left side of the body than the bones B51, B61 and B71 on the right side of the body. B52, bone B62 and bone B72 are longer and perpendicular to the ground.
  • the vector of the central axis (average) of bone B51, bone B61 and bone B71 (key points A2 to A81) and bone B52, bone B62 and bone B72 (key points A2 to A82) is used as a skeleton vector, or
  • the detected bone length is long, and the vectors of the bones B52, B62, and bones B72 (key points A2 to A82) on the left side of the body perpendicular to the ground are used as the skeleton vector.
  • the skeleton vector is obtained from the feet, which is a part of the detected skeleton structure, based on the bones such as the torso, and the skeleton vector is further aggregated to calculate the camera parameters.
  • the skeleton vector may be tilted with respect to the ground.
  • the skeleton vector by obtaining the skeleton vector from a plurality of bones such as the torso from the feet, the skeleton vector can be made more perpendicular to the ground, so that the camera parameters can be obtained more accurately. it can.
  • the skeleton vector of the whole body is obtained based on the entire skeleton structure of the person (the skeleton structure of the whole body). Others are the same as those in the first embodiment.
  • specific examples 1 to 3 in which the length of the whole body of a person (referred to as the number of height pixels) is the length of the skeleton vector of the whole body will be described.
  • the skeleton vector of the whole body is obtained based on the bones from the head to the foot.
  • the number of height pixels is calculated using the length of the bone from the head to the foot.
  • FIG. 12 is a skeleton vector calculation process according to the first embodiment, and shows the flow of the skeleton vector calculation process (S203) of FIG. 4 in the first embodiment.
  • the vector calculation unit 103 acquires the length and direction of each bone of the whole body (S401), and totals the lengths of the acquired bones (S401).
  • S402 the skeleton vector of the whole body is calculated using the total number of height pixels (S403).
  • bone B1 length L1
  • bone B51 length L21
  • bone B61 length L31
  • bone B71 length L31
  • the length L41) and the lengths (number of pixels) and directions of the bones B1 (length L1), bones B52 (length L22), bones B62 (length L32), and bones B72 (length L42) are acquired. ..
  • L1 + L21 + L31 + L41 and L1 + L22 + L32 + L42 which are the sum of the lengths of the respective bones, may be the total length (number of height pixels) of the right side of the body and the left side of the body, or the highest bone of the head.
  • the length of the line connecting the coordinates and the lowest coordinate of the bone at the foot may be the total length of each.
  • the average of the directions of each bone on the right side of the body (central axis) and the average of each bone on the left side of the body may be used, or the highest of the head bones. You may use the direction of the line connecting the coordinates and the lowest coordinates of the bone at your feet.
  • both bones B1, bone B51, bone B61 and bone B71 on the right side of the body and bones B1, bone B52, bone B62 and bone B72 on the left side of the body may be a skeleton vector, or it may be a skeleton vector using the length and direction of bones on either side.
  • the bones B61 and B71 of the right foot are detected to be slightly bent more than the bones B62 and B72 of the left foot, and the body is more body than the bones B1, bone B51, bone B61 and bone B71 on the right side of the body.
  • the left bones B1, B52, B62 and B72 are longer and perpendicular to the ground.
  • the skeleton vector is the vector of the central axis (average) of bone B1, bone B51, bone B61 and bone B71 (key points A1 to A81) and bone B1, bone B52, bone B62 and bone B72 (key points AA1 to A82).
  • the detected bone length is long, and the vector of bone B1, bone B52, bone B62 and bone B72 (key points AA1 to A82) on the left side of the body perpendicular to the ground is defined as the skeleton vector. To do.
  • the skeleton vector of the whole body is obtained based on a part of the bones of the skeleton structure.
  • the number of height pixels is determined using a two-dimensional skeleton model showing the relationship between the length of bones included in the two-dimensional skeleton structure and the length of the whole body of a person in the two-dimensional image space.
  • FIG. 14 is a human body model (two-dimensional skeleton model) 301 showing the relationship between the length of each bone in the two-dimensional image space and the length of the whole body in the two-dimensional image space used in the second embodiment.
  • the relationship between the length of each bone of an average person and the length of the whole body is associated with each bone of the human body model 301.
  • the length of the head bone B1 is the length of the whole body x 0.2 (20%)
  • the length of the bone B41 of the right hand is the length of the whole body x 0.15 (15%)
  • the length of the right foot is the length of the whole body ⁇ 0.25 (25%).
  • the average whole body length (number of pixels) can be obtained from the length of each bone.
  • a human body model may be prepared for each attribute of the person such as age, gender, and nationality. As a result, the length (height) of the whole body can be appropriately obtained according to the attributes of the person.
  • FIG. 15 is a skeleton vector calculation process according to the second embodiment, and shows the flow of the skeleton vector calculation process (S203) of FIG. 4 in the first embodiment.
  • the vector calculation unit 103 acquires the length and direction of each bone (S411).
  • the vector calculation unit 103 acquires the lengths (lengths in the two-dimensional image space) and directions of all the bones in the detected skeleton structure as in the first embodiment.
  • FIG. 16 is an example in which a person in a crouching state is imaged from diagonally right behind and the skeletal structure is detected.
  • the bones of the head and the bones of the left arm and the left hand cannot be detected. Therefore, the lengths and directions of the detected bones B21, B22, B31, B41, B51, B52, B61, B62, B71, and B72 are acquired.
  • the vector calculation unit 103 calculates the number of height pixels from the length of each bone based on the human body model (S412).
  • the vector calculation unit 103 refers to the human body model 301 showing the relationship between each bone and the length of the whole body as shown in FIG. 14, and obtains the number of height pixels from the length of each bone.
  • the number of height pixels based on the bone B41 is obtained by the length of the bone B41 / 0.15.
  • the length of the bone B71 of the right foot is the length of the whole body ⁇ 0.25
  • the number of height pixels based on the bone B71 is obtained from the length of the bone B71 / 0.25.
  • the human body model referred to at this time is, for example, a human body model of an average person, but a human body model may be selected according to the attributes of the person such as age, gender, and nationality. For example, when a person's face is shown in the captured image, the attribute of the person is identified based on the face, and the human body model corresponding to the identified attribute is referred to. It is possible to recognize the attributes of a person from the facial features of the image by referring to the information obtained by machine learning the face for each attribute. Further, when the attribute of the person cannot be identified from the image, the human body model of the average person may be used.
  • the vector calculation unit 103 calculates the optimum value of the number of height pixels (S413).
  • the vector calculation unit 103 calculates the optimum value of the number of height pixels from the number of height pixels obtained for each bone. For example, as shown in FIG. 17, a histogram of the number of height pixels obtained for each bone is generated, and a large number of height pixels is selected from the histogram. That is, the number of height pixels longer than the others is selected from the plurality of height pixels obtained based on the plurality of bones. For example, the top 30% is set as a valid value, and in FIG. 17, the number of height pixels by bones B71, B61, and B51 is selected.
  • the average number of selected height pixels may be obtained as the optimum value, or the largest number of height pixels may be used as the optimum value. Since the height is calculated from the length of the bone in the two-dimensional image, if the bone cannot be imaged from the front, that is, if the bone is tilted in the depth direction when viewed from the camera, the length of the bone is imaged from the front. It will be shorter than if you did. Then, a value having a large number of height pixels is more likely to be imaged from the front than a value having a small number of height pixels, and is a more plausible value. Therefore, a larger value is set as the optimum value.
  • the vector calculation unit 103 calculates the skeleton vector of the whole body based on the obtained number of height pixels (S414). Similar to the first embodiment, the vector calculation unit 103 sets the optimum value of the number of height pixels obtained in S413 as the length of the skeleton vector.
  • the direction as in the first embodiment, the central axes (averages) of the plurality of detected bones may be used, and the highest coordinates of the detected bones and the lowest coordinates of the detected bones may be used. You may use the direction of the line connecting.
  • the two-dimensional skeleton structure is fitted to the three-dimensional human body model (three-dimensional skeleton model), and the skeleton vector of the whole body is obtained using the number of height pixels of the fitted three-dimensional human body model.
  • FIG. 18 is a skeleton vector calculation process according to the specific example 3, and shows the flow of the skeleton vector calculation process (S203) of FIG. 4 in the first embodiment.
  • the vector calculation unit 103 adjusts the arrangement and height of the three-dimensional human body model (S421).
  • the vector calculation unit 103 prepares a three-dimensional human body model for calculating the number of height pixels for the two-dimensional skeleton structure detected in the same manner as in the first embodiment, and creates a three-dimensional human body model in the same two-dimensional image based on temporary camera parameters. Deploy. Specifically, an image obtained by projecting a three-dimensional human body model in two dimensions based on temporary camera parameters is created. Then, this image is rotated, enlarged, reduced, and superimposed on the two-dimensional skeleton structure.
  • FIG. 19 is an example in which a crouching person is imaged diagonally from the front left and the two-dimensional skeleton structure 401 is detected.
  • the two-dimensional skeleton structure 401 has two-dimensional coordinate information. It is preferable that all bones are detected, but some bones may not be detected.
  • a three-dimensional human body model 402 as shown in FIG. 20 is prepared.
  • the three-dimensional human body model (three-dimensional skeleton model) 402 is a model of a skeleton having three-dimensional coordinate information and having the same shape as the two-dimensional skeleton structure 401.
  • the prepared three-dimensional human body model 402 is arranged and superimposed on the detected two-dimensional skeleton structure 401.
  • the height of the three-dimensional human body model 402 is adjusted so as to match the two-dimensional skeleton structure 401.
  • the three-dimensional human body model 402 prepared at this time may be a model in a state close to the posture of the two-dimensional skeleton structure 401 as shown in FIG. 21, or may be a model in an upright state.
  • a three-dimensional human body model 402 of the estimated posture may be generated by using a technique of estimating the posture of the three-dimensional space from the two-dimensional image using machine learning. By learning the information of the joints in the two-dimensional image and the joints in the three-dimensional space, the three-dimensional posture can be estimated from the two-dimensional image.
  • the vector calculation unit 103 fits the three-dimensional human body model into the two-dimensional skeleton structure (S422). As shown in FIG. 22, the vector calculation unit 103 projects the three-dimensional human body model 402 onto the two-dimensional image based on the temporary camera parameters, enlarges, reduces, and rotates the main image, and superimposes the three-dimensional human body model 402 on the two-dimensional skeleton structure 401. In this state, the temporary camera parameters and the three-dimensional human body model 402 are changed so that the postures of the three-dimensional human body model 402 and the two-dimensional skeleton structure 401 match.
  • the parameters that affect the depression angle of the camera and the height, body orientation, and joint angle of the 3D human body model 402 are adjusted so that there is no difference from the 2D skeletal structure 401.
  • the joints of the three-dimensional human body model 402 are rotated within the movable range of the person, the entire three-dimensional human body model 402 is rotated, and the overall size is adjusted.
  • the fitting of the three-dimensional human body model and the two-dimensional skeleton structure is performed in the two-dimensional space (two-dimensional coordinates).
  • a three-dimensional human body model is mapped in a two-dimensional space, and the three-dimensional human body model is transformed into a two-dimensional skeleton structure in consideration of how the deformed three-dimensional human body model changes in the two-dimensional space (image). Optimize.
  • the vector calculation unit 103 calculates the number of height pixels of the fitted three-dimensional human body model (S423), and calculates the skeleton vector of the whole body based on the obtained number of height pixels (S424). As shown in FIG. 23, the vector calculation unit 103 obtains the number of height pixels of the three-dimensional human body model 402 in that state when the difference between the three-dimensional human body model 402 and the two-dimensional skeleton structure 401 disappears and the postures match. For example, the number of height pixels is calculated from the length (number of pixels) of bones from the head to the foot when the three-dimensional human body model 402 is upright.
  • the lengths of the bones from the head to the foot of the three-dimensional human body model 402 may be totaled. Further, the vector calculation unit 103 sets the obtained number of height pixels as the length of the skeleton vector and obtains the direction of the skeleton vector, as in the case of Specific Examples 1 and 2.
  • the skeleton vector is obtained based on the detected bones of the whole body of the skeleton structure, and the skeleton vector is further aggregated to calculate the camera parameter.
  • the skeleton vector can be made more perpendicular to the ground, so that the camera parameters can be found more accurately.
  • the camera parameters can be calculated by a simple method.
  • the length of the whole body can be obtained from the head based on the detected bones of the skeletal structure by using a human body model showing the relationship between the bones in the two-dimensional image space and the length of the whole body. Even if not all the skeletons up to the foot can be obtained, the camera parameters can be calculated from some bones. In particular, the camera parameters can be calculated accurately by adopting a larger value among the heights (height pixels) obtained from a plurality of bones.
  • each configuration in the above-described embodiment is composed of hardware and / or software, and may be composed of one hardware or software, or may be composed of a plurality of hardware or software.
  • the functions (processing) of the camera calibration devices 10 and 100 may be realized by a computer 20 having a processor 21 such as a CPU (Central Processing Unit) and a memory 22 which is a storage device, as shown in FIG. 24.
  • a program (camera calibration program) for performing the method in the embodiment may be stored in the memory 22, and each function may be realized by executing the program stored in the memory 22 on the processor 21.
  • Non-temporary computer-readable media include various types of tangible storage media. Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, Includes CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)).
  • the program may also be supplied to the computer by various types of temporary computer readable media. Examples of temporary computer-readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • the present disclosure is not limited to the above-described embodiment, and can be appropriately changed without departing from the spirit.
  • the camera parameters are obtained from the image of a person, but the camera parameters may be obtained from the images of animals other than the person having a skeletal structure (mammals, reptiles, birds, amphibians, fish, etc.).
  • (Appendix 1) A skeleton detecting means for detecting a two-dimensional skeleton structure of a person based on a two-dimensional image captured by a camera, and A vector calculation means for calculating a skeleton vector indicating the direction and size of the skeleton of the person in the two-dimensional image based on the detected two-dimensional skeleton structure.
  • the skeleton vector is a vector corresponding to the bone included in the two-dimensional skeleton structure or a vector corresponding to the central axis of the two-dimensional skeleton structure.
  • the camera calibration device according to Appendix 1.
  • the skeleton vector is a vector based on a part of the two-dimensional skeleton structure.
  • the camera calibration device according to Appendix 1 or 2.
  • the vector calculation means calculates the skeleton vector based on the bones of the foot, torso, or head included in the two-dimensional skeleton structure.
  • the camera calibration device according to Appendix 3.
  • the vector calculation means calculates the skeleton vector based on the bones of the foot to the torso or the torso to the head included in the two-dimensional skeleton structure.
  • the camera calibration device according to Appendix 3.
  • the skeleton vector is a vector based on the entire two-dimensional skeleton structure.
  • the vector calculation means calculates the skeleton vector based on the total length of bones from the foot to the head included in the two-dimensional skeleton structure.
  • the camera calibration device according to Appendix 6. (Appendix 8) The vector calculation means calculates the skeleton vector based on a two-dimensional skeleton model showing the relationship between the length of the bone included in the two-dimensional skeleton structure and the length of the whole body of the person in the two-dimensional image space.
  • the vector calculation means calculates the skeleton vector based on a three-dimensional skeleton model fitted to the two-dimensional skeleton structure.
  • the camera calibration device according to Appendix 6. (Appendix 10) Further provided with an aggregation means for aggregation of the calculated skeleton vectors, The parameter calculation means calculates the camera parameters based on the aggregated skeleton vector.
  • the camera calibration device according to any one of Appendix 1 to 9. (Appendix 11)
  • the aggregation means aggregates the skeleton vector for each region in which the two-dimensional image is divided.
  • the parameter calculation means calculates the camera parameter based on the calculated skeleton vector and the reference value of the skeleton of the person.
  • the camera calibration device according to any one of Appendix 1 to 11.
  • the reference value is a statistical value of the height or bone length of the person.
  • the reference value is a value corresponding to the attribute of the person.
  • the camera calibration device according to Appendix 12 or 13. (Appendix 15) Based on the 2D image captured by the camera, the 2D skeletal structure of the person is detected. Based on the detected two-dimensional skeleton structure, a skeleton vector indicating the direction and size of the skeleton of the person in the two-dimensional image is calculated.
  • the camera parameters of the camera are calculated based on the calculated skeleton vector.
  • Camera calibration method (Appendix 16)
  • the skeleton vector is a vector corresponding to the bone included in the two-dimensional skeleton structure or a vector corresponding to the central axis of the two-dimensional skeleton structure.
  • the camera calibration method according to Appendix 15.
  • Appendix 17 Based on the 2D image captured by the camera, the 2D skeletal structure of the person is detected. Based on the detected two-dimensional skeleton structure, a skeleton vector indicating the direction and size of the skeleton of the person in the two-dimensional image is calculated. The camera parameters of the camera are calculated based on the calculated skeleton vector.
  • the skeleton vector is a vector corresponding to the bone included in the two-dimensional skeleton structure or a vector corresponding to the central axis of the two-dimensional skeleton structure.

Landscapes

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

Abstract

本開示に係るカメラ校正装置(10)は、カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出する骨格検出部(11)と、骨格検出部(11)により検出された2次元骨格構造に基づいて、2次元画像における人物の骨格の方向及び大きさを示す骨格ベクトルを算出するベクトル算出部(12)と、ベクトル算出部(12)により算出された骨格ベクトルに基づいて、カメラのカメラパラメータを算出するパラメータ算出部(13)と、を備える。

Description

カメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体
 本発明は、カメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体に関する。
 近年、カメラにより撮像した画像から人物の属性や行動等を認識する技術が利用されている。このような画像認識技術では、2次元画像の座標や大きさを実世界の3次元空間に変換するためのカメラパラメータを求めるキャリブレーション(校正)が必要とされている。
 関連する技術として、例えば、特許文献1~3が知られている。特許文献1には、画像における既知の高さの情報等を取得し、カメラパラメータを推定することが記載されている。特許文献2には、画像における複数の歩行者の座標データを収集し、カメラパラメータを算出することが記載されている。特許文献3は、複数のカメラの画像から複数のカメラのカメラパラメータを推定することが記載されている。なお、その他に、人物の骨格推定に関連する技術として、非特許文献1が知られている。
国際公開第2013/111229号 特開2005-233846号公報 特開2019-102877号公報
Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh, "Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, P. 7291-7299
 特許文献1のように既知の情報を用いることでカメラパラメータを求めることができるものの、必要な情報を手動により外部から入力する必要がある。一方、特許文献2のように複数の情報を統計的に処理することで、簡易にカメラパラメータを算出し得る。しかし、その場合、カメラパラメータの算出精度が悪い可能性がある。このため、関連する技術では、精度よくカメラパラメータを求めることが困難であるという問題がある。
 本開示は、このような課題に鑑み、簡便かつ精度よくカメラパラメータを求めることが可能なカメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体を提供することを目的とする。
 本開示に係るカメラ校正装置は、カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出する骨格検出手段と、前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出するベクトル算出手段と、前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出するパラメータ算出手段と、を備えるものである。
 本開示に係るカメラ校正方法は、カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出するものである。
 本開示に係るカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体は、カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出する、処理をコンピュータに実行させるためのカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体である。
 本開示によれば、簡便かつ精度よくカメラパラメータを求めることが可能なカメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体を提供することができる。
関連する監視方法を示すフローチャートである。 実施の形態に係るカメラ校正装置の概要を示す構成図である。 実施の形態1に係るカメラ校正装置の構成を示す構成図である。 実施の形態1に係るカメラ校正方法を示すフローチャートである。 実施の形態1に係る骨格ベクトル算出方法を示すフローチャートである。 実施の形態1に係る人体モデルを示す図である。 実施の形態1に係る骨格構造及び骨格ベクトルの検出例を示す図である。 実施の形態1に係る骨格ベクトルの集計方法を説明するための図である。 実施の形態1に係る骨格ベクトルの集計方法を説明するための図である。 実施の形態2に係る骨格ベクトル算出方法を示すフローチャートである。 実施の形態2に係る骨格構造及び骨格ベクトルの検出例を示す図である。 実施の形態3の具体例1に係る骨格ベクトル算出方法を示すフローチャートである。 実施の形態3の具体例1に係る骨格構造及び骨格ベクトルの検出例を示す図である。 実施の形態3の具体例2で使用する人体モデルを示す図である。 実施の形態3の具体例2に係る骨格ベクトル算出方法を示すフローチャートである。 実施の形態3の具体例2に係る骨格構造の検出例を示す図である。 実施の形態3の具体例2に係る骨格ベクトル算出方法を説明するためのヒストグラムである。 実施の形態3の具体例3に係る骨格ベクトル算出方法を示すフローチャートである。 実施の形態3の具体例3に係る骨格構造の検出例を示す図である。 実施の形態3の具体例3に係る3次元人体モデルを示す図である。 実施の形態3の具体例3に係る骨格ベクトル算出方法を説明するための図である。 実施の形態3の具体例3に係る骨格ベクトル算出方法を説明するための図である。 実施の形態3の具体例3に係る骨格ベクトル算出方法を説明するための図である。 実施の形態に係るコンピュータのハードウェアの概要を示す構成図である。
 以下、図面を参照して実施の形態について説明する。各図面においては、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略される。
(実施の形態に至る検討)
 近年、機械学習を活用した画像認識技術が様々なシステムに応用されている。一例として、監視カメラの画像により監視を行う監視システムについて検討する。
 図1は、関連する監視システムにおける監視方法を示している。図1に示すように、監視システムは、監視カメラから画像を取得し(S101)、取得した画像の中から人物を検知し(S102)、人物の行動認識及び属性認識(S103)を行う。例えば、人物の行動として人物の振る舞いや動線等を認識し、人物の属性として人物の年齢や性別、身長等を認識する。また、監視システムでは、認識した人物の行動や属性からデータ分析を行い(S104)、分析結果に基づき対処等のアクチュエーションを行う(S105)。例えば、認識した行動からアラート表示を行ったり、認識した身長等の属性の人物の監視を行う。
 この例にあるように、人物(個人や群衆)の振る舞いや属性を監視カメラの画像や映像から検知したい需要が高まっている。例えば、人物の振る舞いの検知により店舗等の通過人数をカウントした情報等は、混雑把握やマーケティングに活用される。また、人物の属性として推定される身長の情報等は、迷子の探索やマーケティングに活用される。
 このような画像認識を行うためには、画像上での物の長さや動きの速さを、実世界上での値に変換する必要がある。そのために、カメラパラメータ(カメラの姿勢や焦点距離等)を活用する手法が利用されている。発明者は、カメラの画像からカメラパラメータを求めるキャリブレーション方法を検討したところ、関連する技術では、煩雑でコストがかかり、また、必ずしも精度よくカメラパラメータを算出することができないという課題を見出した。例えば、3次元の高さが既知の物体を撮像したり、3次元位置が既知の物体の画像中における位置情報等を入力することでカメラパラメータを求めることは可能であるが、そのような物体の準備や情報の入力が煩雑であり、簡易にカメラパラメータを求めることは困難である。また、画像から背景差分等の技術を活用して人物領域を特定し、直立している方向や身長等の情報を用いてカメラパラメータを求める方法は簡便であるが、例えば人物の体の一部が隠れていたりすると、検出された人物の情報からカメラパラメータを求めることができない恐れがある。
 そこで、発明者は、カメラキャリブレーションに、機械学習を用いた骨格推定技術を利用する方法を検討した。例えば、非特許文献1に開示されたOpenPose等のように、関連する骨格推定技術では、様々なパターンの正解付けされた画像データを学習することで、人物の骨格を推定する。以下の実施の形態では、このような骨格推定技術を活用することで、コスト削減を図り、また、精度よくカメラパラメータを求めることを可能とする。
 なお、OpenPose等の骨格推定技術により推定される骨格構造は、関節等の特徴的な点である「キーポイント」と、キーポイント間のリンクを示す「ボーン(ボーンリンク)」とから構成される。このため、以下の実施の形態では、骨格構造について「キーポイント」と「ボーン」という用語を用いて説明するが、特に限定されない限り、「キーポイント」は人物の「関節」に対応し、「ボーン」は人物の「骨」に対応している。
(実施の形態の概要)
 図2は、実施の形態に係るカメラ校正装置10の概要を示している。図2に示すように、カメラ校正装置10は、骨格検出部11、ベクトル算出部12、パラメータ算出部13を備えている。
 骨格検出部11は、カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出する。ベクトル算出部12は、骨格検出部11により検出された2次元骨格構造に基づいて、2次元画像における人物の骨格の方向及び大きさを示す骨格ベクトルを算出する。パラメータ算出部13は、ベクトル算出部12により算出された骨格ベクトルに基づいて、カメラのカメラパラメータを算出する。
 このように実施の形態では、画像から骨格構造を検出し、この骨格構造から得られた骨格ベクトルに基づいてカメラパラメータを算出することで、必要な情報の入力操作等の手間を抑えることができ、また、精度よくカメラパラメータを求めることができる。
(実施の形態1)
 以下、図面を参照して実施の形態1について説明する。図3は、本実施の形態に係るカメラ校正装置100の構成を示している。カメラ校正装置100は、カメラ200とともにカメラ校正システム1を構成する。例えば、カメラ校正装置100及びカメラ校正システム1は、図1のような監視システムにおける監視方法に適用され、カメラ校正装置100及びカメラ校正システム1によるカメラパラメータを用いて人物の行動や属性を認識し、その認識結果に応じて、アラームの表示や人物の監視等が行われる。なお、カメラ200をカメラ校正装置100の内部に設けてもよい。
 図3に示すように、カメラ校正装置100は、画像取得部101、骨格構造検出部102、ベクトル算出部103、集計部104、カメラパラメータ算出部105、記憶部106を備えている。なお、各部(ブロック)の構成は一例であり、後述の方法(動作)が可能であれば、その他の各部で構成されてもよい。また、カメラ校正装置100は、例えば、プログラムを実行するパーソナルコンピュータやサーバ等のコンピュータ装置で実現されるが、1つの装置で実現してもよいし、ネットワーク上の複数の装置で実現してもよい。
 記憶部106は、カメラ校正装置100の動作(処理)に必要な情報(データ)を記憶する。例えば、記憶部106は、フラッシュメモリなどの不揮発性メモリやハードディスク装置等である。記憶部106は、画像取得部101が取得した画像や、骨格構造検出部102が処理した画像、機械学習用のデータ、集計部104が集計したデータ、人物の身長や各骨の長さの統計値(例えば平均値)を記憶する。人物の身長や各骨の長さの統計値は、年代、性別、国籍等の人物の属性ごとに用意してもよい。なお、記憶部106は、外付けやネットワーク上の外部の記憶装置としてもよい。すなわち、カメラ校正装置100は、外部の記憶装置から必要な画像や機械学習用のデータ、人物の身長の統計値等を取得してもよいし、外部の記憶装置に集計結果のデータ等を出力してもよい。
 画像取得部101は、通信可能に接続されたカメラ200から、カメラ200が撮像した2次元の画像を取得する。カメラ200は、所定の箇所に設置され、設置個所から撮像領域における人物を撮像する監視カメラ等の撮像部である。画像取得部101は、例えば、所定期間にカメラ200が撮像した、人物を含む複数の画像(映像)を取得する。
 骨格構造検出部102は、取得された2次元の画像に基づき、画像内の人物の2次元の骨格構造を検出する。骨格構造検出部102は、機械学習を用いた骨格推定技術を用いて、認識される人物の関節等の特徴に基づき人物の骨格構造を検出する。骨格構造検出部102は、複数の画像のそれぞれにおいて、認識される人物の骨格構造を検出する。骨格構造検出部102は、例えば、非特許文献1のOpenPose等の骨格推定技術を用いる。
 ベクトル算出部103は、検出された2次元の骨格構造に基づき、2次元の画像内の人物の骨格ベクトルを算出する。ベクトル算出部103は、検出された複数の画像の複数の骨格構造のそれぞれについて、骨格ベクトルを算出する。骨格ベクトルは、人物の骨格構造の方向(足から頭に向かう方向)及び大きさを示すベクトルである。ベクトルの方向は、2次元画像上の2次元の傾きであり、ベクトルの大きさは、2次元画像上の2次元の長さ(画素数)である。骨格ベクトルは、検出された骨格構造に含まれるボーンに対応したベクトルでもよいし、骨格構造の中心軸に対応したベクトルでもよい。例えば、骨格構造の中心軸は、検出された骨格構造の情報に対しPCA分析(Principal Component Analysis:主成分分析)を行うことで得ることができる。また、骨格ベクトルは、人物の骨格構造の全体に基づいたベクトルでもよいし、人物の骨格構造の一部に基づいたベクトルでもよい。本実施の形態では、人物の骨格構造の一部として、骨格構造の足元(足部)のボーンに基づいた骨格ベクトルを使用する。すなわち、ベクトル算出部103は、検出された骨格構造の情報から足元のボーンの方向及び長さを得ることで、足元の骨格ベクトルを求める。なお、人物の骨格構造の一部として、足元に限らず、その他の部分のボーンの方向及び長さを求めてもよい。骨格ベクトルは、地面に対してより垂直であることが好ましいため、例えば、足元の他に、胴部や頭部のボーンの方向及び長さを使用してもよい。さらに、骨格ベクトルの大きさとして、各部のボーンの長さに限らず、各部のボーン等から推定される身長(全身の長さ)を使用してもよい。
 集計部104は、算出された複数の骨格ベクトルを集計する。集計部104は、所定期間に撮像された複数の画像の複数の骨格構造に基づいた複数の骨格ベクトルを集計する。集計部104は、集計処理として、例えば、複数の骨格ベクトルの平均値を求める。すなわち、集計部104は、骨格構造の足元のボーンに基づいた骨格ベクトルの方向及び長さの平均値を求める。なお、骨格ベクトルの平均値に限らず、複数の骨格ベクトルの中間値など、その他の統計値を求めてもよい。
 カメラパラメータ算出部105は、集計された骨格ベクトルに基づき、カメラパラメータを算出する。カメラパラメータは、カメラ200の撮像パラメータであり、カメラ200が撮像した2次元の画像内の長さを3次元の実世界の長さに変換するためのパラメータである。例えば、カメラパラメータは、カメラ200の焦点距離等の内部パラメータや、カメラ200の姿勢(撮像角度)、位置等の外部パラメータを含む。カメラパラメータ算出部105は、骨格ベクトルの長さ(地面に対し垂直方向の長さ)と記憶部106の人物の身長や骨の長さの基準値(平均値などの統計値)とに基づいて、カメラパラメータを算出する。カメラパラメータ算出部105は、例えば、特許文献1に記載の校正方法等を用いて、カメラパラメータを算出する。
 図4及び図5は、本実施の形態に係るカメラ校正装置100の動作(カメラ校正方法)を示している。図4は、カメラ校正装置100における画像取得からカメラパラメータ算出までの流れを示し、図5は、図4の骨格ベクトル算出処理(S203)の流れを示している。
 図4に示すように、カメラ校正装置100は、カメラ200から画像を取得する(S201)。画像取得部101は、カメラパラメータ算出のために人物を撮像した画像を取得する。
 続いて、カメラ校正装置100は、取得した人物の画像に基づいて人物の骨格構造を検出する(S202)。図6は、このとき検出する人体モデル300の骨格構造を示しており、図7は、骨格構造の検出例を示している。骨格構造検出部102は、OpenPose等の骨格推定技術を用いて、2次元の画像から図6のような人体モデル(2次元骨格モデル)300の骨格構造を検出する。人体モデル300は、人物の関節等のキーポイントと、各キーポイントを結ぶボーンから構成された2次元モデルである。
 骨格構造検出部102は、例えば、画像の中からキーポイントとなり得る特徴点を抽出し、キーポイントの画像を機械学習した情報を参照して、人物の各キーポイントを検出する。図6の例では、人物のキーポイントとして、頭A1、首A2、右肩A31、左肩A32、右肘A41、左肘A42、右手A51、左手A52、右腰A61、左腰A62、右膝A71、左膝A72、右足A81、左足A82を検出する。さらに、これらのキーポイントを連結した人物のボーンとして、頭A1と首A2を結ぶボーンB1、首A2と右肩A31及び左肩A32をそれぞれ結ぶボーンB21及びボーンB22、右肩A31及び左肩A32と右肘A41及び左肘A42をそれぞれ結ぶボーンB31及びボーンB32、右肘A41及び左肘A42と右手A51及び左手A52をそれぞれ結ぶボーンB41及びボーンB42、首A2と右腰A61及び左腰A62をそれぞれ結ぶボーンB51及びボーンB52、右腰A61及び左腰A62と右膝A71及び左膝A72をそれぞれ結ぶボーンB61及びボーンB62、右膝A71及び左膝A72と右足A81及び左足A82をそれぞれ結ぶボーンB71及びボーンB72を検出する。
 図7は、直立した状態の人物を検出する例であり、直立した人物が正面から撮像されている。図7では、正面から見た頭のボーンB1から足元のボーンB71及びボーンB72までの全てのボーンが検出されている。この例では、右足のボーンB61及びボーンB71は左足のボーンB62及びボーンB72よりも多少折れ曲がっている。
 続いて、カメラ校正装置100は、検出された骨格構造に基づいて骨格ベクトル算出処理を行う(S203)。骨格ベクトル算出処理では、図5に示すように、ベクトル算出部103は、足元のボーンの長さ及び方向を取得し(S211)、足元の骨格ベクトルを算出する(S212)。ベクトル算出部103は、2次元の画像上の人物の足元のボーンの長さ(画素数)及び方向(傾き)を取得し、足元の骨格ベクトルを求める。
 例えば、図7に示すように、骨格構造を検出した画像から、全身のボーンのうちの足元のボーンとして、ボーンB71(長さL41)とボーンB72(長さL42)の各長さ及び方向を取得する。各ボーンの長さ及び方向は、2次元の画像における各キーポイントの座標から求めることができる。右足側のボーンB71と左足側のボーンB72の両方の長さ及び方向を取得してもよいし、いずれか一方のボーンの長さ及び方向を取得してもよい。一方のボーンの長さ及び方向のみを算出できる場合、算出したボーンの長さ及び方向を骨格ベクトルとする。また、両方のボーンの長さ及び方向を算出できる場合、算出したボーンの長さ及び方向の中心軸を骨格ベクトルとしてもよいし、いずれか一方のボーンの長さ及び方向を選択して骨格ベクトルとしてもよい。例えば、PCA分析により求めた中心軸や2つのベクトルの平均を骨格ベクトルとしてもよいし、長い方のベクトルを骨格ベクトルとしてもよい。
 図7の例では、右足のボーンB61及びボーンB71は左足のボーンB62及びボーンB72よりも多少折れ曲がって検出されており、右足のボーンB71よりも左足のボーンB72の方が長く、また、地面に対して垂直である。例えば、ボーンB71(キーポイントA71~A81)とボーンB72(キーポイントA72~A82)の中心軸(平均)のベクトルを骨格ベクトルとするか、または、検出されたボーンの長さが長く、地面に対して垂直な左足側のボーンB72(キーポイントA72~A82)の長さ及び方向を骨格ベクトルとする。
 続いて、図4に示すように、カメラ校正装置100は、算出された複数の骨格ベクトルを集計し(S204)、データが十分得られるまで(S205)、画像取得から骨格ベクトルの集計を繰り返す(S201~S204)。集計部104は、例えば、図8に示すように、画像における複数の場所で検出される人物の骨格構造から、骨格ベクトルをそれぞれ集計する。図8の例では、画像の中央で複数の人物が通行しており、歩いている複数の人物の骨格構造から、地面に対し略垂直となる足元の骨格ベクトルを検出し、それらを集計する。
 集計部104は、図8のような画像に対し、図9に示すように複数の集計領域に分割し、集計領域ごとに骨格ベクトルを集計する。例えば、集計領域は、画像を縦方向及び横方向に所定の間隔で分割した矩形領域である。集計領域は、矩形に限らず、任意の形状としてもよい。集計領域は、画像の背景を考慮せずに所定の間隔で分割されている。なお、集計領域は、画像の背景や集計データの量等を考慮して分割してもよい。例えば、画像と実世界の大きさの関係に対応するように、撮像距離に応じて、カメラに近い領域(画像の下側)よりも、カメラに遠い領域(画像の上側)を小さくしてもよい。また、集計されるデータの量に応じて、骨格ベクトルが少ない領域よりも、骨格ベクトルが多い領域を小さくしてもよい。
 例えば、集計領域の中に足元(例えば足の下端)が検出されている人物の骨格ベクトルを、集計領域ごとに集計する。足元以外が検出されている場合、足元以外を集計の基準としてもよい。例えば、集計領域の中に頭部や胴部が検出されている人物の骨格ベクトルを、集計領域ごとに集計してもよい。
 カメラパラメータを精度よく算出するためには、複数の集計領域において骨格ベクトルを検出し、それぞれの領域の骨格ベクトルを集計することが好ましい。より多くの集計領域の骨格ベクトルを用いることで、より多くのカメラパラメータを求めることができる。例えば、3以上の領域の骨格ベクトルにより、姿勢、位置、焦点距離等の全てのカメラパラメータを求めることができる。また、集計領域ごとに、より多くの骨格ベクトルを集計することで、カメラパラメータの算出精度を向上することができる。例えば、集計領域ごとに3~5の骨格ベクトルを集計し、平均を求めることが好ましい。複数の骨格ベクトルの平均を求めることで、集計領域における地面に対しより垂直方向のベクトルを得ることができる。集計領域及び集計データを増やすことにより、算出精度を向上できるものの、算出処理に時間やコストを要する。集計領域及び集計データを減らすことにより、簡易に算出できるものの、算出精度が低下し得る。このため、必要とする算出精度とかかるコストを考慮して集計領域及び集計データの数を決めることが好ましい。
 続いて、図4のように、カメラ校正装置100は、十分にデータが集計されると、集計された骨格ベクトルに基づいて、カメラパラメータを算出する(S206)。カメラパラメータ算出部105は、2次元の画像内の長さとして足元の骨格ベクトルの長さを用い、3次元の実世界の長さとして人物の足元の骨の長さの平均値を用いて、カメラパラメータを求める。すなわち、2次元の画像における足元の骨格ベクトルの長さの集計値が、3次元の実世界における足元の骨の長さの平均値と等しいものとして、カメラパラメータを求める。なお、参照する平均値は、人物の一般的な平均値であるが、例えば、年代、性別、国籍等の人物の属性に応じて選択してもよい。例えば、撮像した画像に人物の顔が写っている場合、顔に基づいて人物の属性を識別し、識別した属性に対応する平均値を参照する。属性ごとの顔を機械学習した情報を参照し、画像の顔の特徴から人物の属性を認識することができる。また、画像から人物の属性が識別できない場合に、一般的な平均値を用いてもよい。
 例えば、特許文献1に記載された方法と同様に、骨格ベクトルを地面(基準面)に対する垂直な投影用平面に投影し、投影された骨格ベクトルの地面に対する垂直性に基づいて、カメラパラメータを求める。投影用平面に投影された骨格ベクトルの垂直性を評価することで、カメラの姿勢(回転行列)を求めることができる。また、カメラの姿勢を用いて、2次元画像の骨格ベクトルを3次元空間に投影した長さと、3次元の実世界における身長や骨の長さ(この例では足の骨の長さ)の平均値との差から、カメラの位置(並進行列)や焦点距離を求めることができる。
 以上のように、本実施の形態では、2次元画像から人物の骨格構造を検出し、検出した骨格構造の一部である足元等のボーンに基づいて骨格ベクトルを求め、この骨格ベクトルをさらに集計してカメラパラメータを算出する。人物の骨格構造を検出して、自動でキャリブレーションを行うため、手動で情報を外部から入力する必要がなく、簡易にカメラパラメータを算出することができ、キャリブレーションにかかるコストを削減することができる。また、機械学習を用いた骨格推定技術により、少なくとも骨格ベクトルに必要な骨格を検出できればよいため、必ずしも人物の全体が画像に写っていない場合でも精度よくカメラパラメータを算出することができる。
(実施の形態2)
 次に、実施の形態2について説明する。本実施の形態では、実施の形態1の骨格ベクトル算出処理において、人物の骨格構造の一部として、複数のボーンに基づいて骨格ベクトルを求める。その他については、実施の形態1と同様である。
 図10は、本実施の形態に係る骨格ベクトル算出処理であり、実施の形態1における図4の骨格ベクトル算出処理(S203)の流れを示している。本実施の形態の骨格ベクトル算出処理では、図10に示すように、ベクトル算出部103は、足元から胴のボーンの長さ及び方向を取得し(S301)、足元から胴の骨格ベクトルを算出する(S302)。なお、この例では、複数のボーンとして、足元(足部)から胴(胴部)のボーンに基づいて骨格ベクトルを求めるが、その他、胴(胴部)から頭部のボーン等に基づいて骨格ベクトルを求めてもよい。
 例えば、図11に示すように、骨格構造を検出した画像から、全身のボーンのうちの足元から胴のボーンとして、ボーンB51(長さL21)、ボーンB61(長さL31)及びボーンB71(長さL41)と、ボーンB52(長さL22)、ボーンB62(長さL32)及びボーンB72(長さL42)の各長さ(画素数)及び方向を取得する。
 それぞれのボーンの長さを合計した、L21+L31+L41とL22+L32+L42を体の右側と体の左側の全体の長さとしてもよいし、胴のボーンの最も高い座標と足元のボーンの最も低い座標とを結ぶ線の長さをそれぞれの全体の長さとしてもよい。方向の求め方についても、体の右側の各ボーンの方向の平均(中心軸)と体の左側の各ボーンの平均を用いてもよいし、胴のボーンの最も高い座標と足元のボーンの最も低い座標とを結ぶ線の方向を用いてもよい。
 実施の形態1と同様、体の右側のボーンB51、ボーンB61及びボーンB71と体の左側のボーンB52、ボーンB62及びボーンB72の両方の長さ及び方向を取得してもよいし、いずれか一方の側のボーンの長さ及び方向を取得してもよい。一方の側のボーンの長さ及び方向のみを算出できる場合、算出したボーンの長さ及び方向を骨格ベクトルとする。両方の側のボーンの長さ及び方向を算出できる場合、算出したボーンの長さ及び方向の中心軸を骨格ベクトルとしてもよいし、いずれか一方の側のボーンの長さ及び方向を選択して骨格ベクトルとしてもよい。
 図11の例では、右足のボーンB61及びボーンB71は左足のボーンB62及びボーンB72よりも多少折れ曲がって検出されており、体の右側のボーンB51、ボーンB61及びボーンB71よりも体の左側のボーンB52、ボーンB62及びボーンB72の方が長く、また、地面に対して垂直である。例えば、ボーンB51、ボーンB61及びボーンB71(キーポイントA2~A81)とボーンB52、ボーンB62及びボーンB72(キーポイントA2~A82)の中心軸(平均)のベクトルを骨格ベクトルとするか、または、検出されたボーンの長さが長く、地面に対し垂直な体の左側のボーンB52、ボーンB62及びボーンB72(キーポイントA2~A82)のベクトルを骨格ベクトルとする。
 このように、本実施の形態では、検出した骨格構造の一部である足元から胴等のボーンに基づいて骨格ベクトルを求め、この骨格ベクトルをさらに集計してカメラパラメータを算出する。実施の形態1のように足元等の1つのボーンのみから骨格ベクトルを求めると、骨格ベクトルが地面に対し傾いている場合がある。これに対し、本実施の形態のように、足元から胴等の複数のボーンから骨格ベクトルを求めることで、骨格ベクトルを地面に対してより垂直にできるため、より精度よくカメラパラメータを求めることができる。
(実施の形態3)
 次に、実施の形態3について説明する。本実施の形態では、実施の形態1の骨格ベクトル算出処理において、人物の骨格構造の全体(全身の骨格構造)に基づいて全身の骨格ベクトルを求める。その他については、実施の形態1と同様である。以下、人物の全身の長さ(身長画素数と言う)を全身の骨格ベクトルの長さとする具体例1~3について説明する。
(具体例1)
 本実施の形態の具体例1では、頭部から足部までのボーンに基づいて全身の骨格ベクトルを求める。特に、頭部から足部までのボーンの長さを用いて身長画素数を求める。
 図12は、具体例1に係る骨格ベクトル算出処理であり、実施の形態1における図4の骨格ベクトル算出処理(S203)の流れを示している。具体例1の骨格ベクトル算出処理では、図12に示すように、ベクトル算出部103は、全身の各ボーンの長さ及び方向を取得し(S401)、取得した各ボーンの長さを合計し(S402)、合計した身長画素数を用いて全身の骨格ベクトルを算出する(S403)。
 例えば、図13に示すように、骨格構造を検出した画像から、全身の各ボーンとして、ボーンB1(長さL1)、ボーンB51(長さL21)、ボーンB61(長さL31)及びボーンB71(長さL41)と、ボーンB1(長さL1)、ボーンB52(長さL22)、ボーンB62(長さL32)及びボーンB72(長さL42)の各長さ(画素数)及び方向を取得する。
 実施の形態2と同様、それぞれのボーンの長さを合計した、L1+L21+L31+L41とL1+L22+L32+L42を体の右側側と体の左側の全体の長さ(身長画素数)としてもよいし、頭のボーンの最も高い座標と足元のボーンの最も低い座標とを結ぶ線の長さをそれぞれの全体の長さとしてもよい。方向の求め方についても、実施の形態2と同様、体の右側の各ボーンの方向の平均(中心軸)と体の左側の各ボーンの平均を用いてもよいし、頭のボーンの最も高い座標と足元のボーンの最も低い座標とを結ぶ線の方向を用いてもよい。
 実施の形態1及び2と同様、体の右側のボーンB1、ボーンB51、ボーンB61及びボーンB71と体の左側のボーンB1、ボーンB52、ボーンB62及びボーンB72の両方の長さ及び方向を用いて骨格ベクトルとしてもよいし、いずれか一方の側のボーンの長さ及び方向を用いて骨格ベクトルとしてもよい。
 図13の例では、右足のボーンB61及びボーンB71は左足のボーンB62及びボーンB72よりも多少折れ曲がって検出されており、体の右側のボーンB1、ボーンB51、ボーンB61及びボーンB71よりも体の左側のボーンB1、ボーンB52、ボーンB62及びボーンB72の方が長く、また、地面に対して垂直である。例えば、ボーンB1、ボーンB51、ボーンB61及びボーンB71(キーポイントA1~A81)とボーンB1、ボーンB52、ボーンB62及びボーンB72(キーポイントAA1~A82)の中心軸(平均)のベクトルを骨格ベクトルとするか、または、検出されたボーンの長さが長く、地面に対して垂直な体の左側のボーンB1、ボーンB52、ボーンB62及びボーンB72(キーポイントAA1~A82)のベクトルを骨格ベクトルとする。
(具体例2)
 本実施の形態の具体例2では、骨格構造の一部のボーンに基づいて全身の骨格ベクトルを求める。特に、2次元骨格構造に含まれる骨の長さと2次元画像空間上の人物の全身の長さとの関係を示す2次元骨格モデルを用いて身長画素数を求める。
 図14は、具体例2で用いる、2次元画像空間上の各ボーンの長さと2次元画像空間上の全身の長さとの関係を示す人体モデル(2次元骨格モデル)301である。図14に示すように、平均的な人物の各ボーンの長さと全身の長さとの関係(全身の長さに対する各ボーンの長さの割合)を、人体モデル301の各ボーンに対応付ける。例えば、頭のボーンB1の長さは全身の長さ×0.2(20%)であり、右手のボーンB41の長さは全身の長さ×0.15(15%)であり、右足のボーンB71の長さは全身の長さ×0.25(25%)である。このような人体モデル301の情報を記憶部106に記憶しておくことで、各ボーンの長さから平均的な全身の長さ(画素数)を求めることができる。平均的な人物の人体モデルの他に、年代、性別、国籍等の人物の属性ごとに人体モデルを用意してもよい。これにより、人物の属性に応じて適切に全身の長さ(身長)を求めることができる。
 図15は、具体例2に係る骨格ベクトル算出処理であり、実施の形態1における図4の骨格ベクトル算出処理(S203)の流れを示している。具体例2の骨格ベクトル算出処理では、図15に示すように、ベクトル算出部103は、各ボーンの長さ及び方向を取得する(S411)。ベクトル算出部103は、具体例1と同様に検出された骨格構造において、全てのボーンの長さ(2次元画像空間上の長さ)及び方向を取得する。
 図16は、しゃがみ込んでいる状態の人物を右斜め後ろから撮像し、骨格構造を検出した例である。この例では、人物の顔や左側面が写っていないことから、頭のボーンと左腕及び左手のボーンが検出できていない。このため、検出されているボーンB21、B22、B31、B41、B51、B52、B61、B62、B71、B72の各長さ及び方向を取得する。
 続いて、ベクトル算出部103は、人体モデルに基づき、各ボーンの長さから身長画素数を算出する(S412)。ベクトル算出部103は、図14のような、各ボーンと全身の長さとの関係を示す人体モデル301を参照し、各ボーンの長さから身長画素数を求める。例えば、右手のボーンB41の長さが全身の長さ×0.15であるため、ボーンB41の長さ/0.15によりボーンB41に基づいた身長画素数を求める。また、右足のボーンB71の長さが全身の長さ×0.25であるため、ボーンB71の長さ/0.25によりボーンB71に基づいた身長画素数を求める。
 このとき参照する人体モデルは、例えば、平均的な人物の人体モデルであるが、年代、性別、国籍等の人物の属性に応じて人体モデルを選択してもよい。例えば、撮像した画像に人物の顔が写っている場合、顔に基づいて人物の属性を識別し、識別した属性に対応する人体モデルを参照する。属性ごとの顔を機械学習した情報を参照し、画像の顔の特徴から人物の属性を認識することができる。また、画像から人物の属性が識別できない場合に、平均的な人物の人体モデルを用いてもよい。
 続いて、ベクトル算出部103は、身長画素数の最適値を算出する(S413)。ベクトル算出部103は、ボーンごとに求めた身長画素数から身長画素数の最適値を算出する。例えば、図17に示すような、ボーンごとに求めた身長画素数のヒストグラムを生成し、その中で大きい身長画素数を選択する。つまり、複数のボーンに基づいて求められた複数の身長画素数の中で他よりも長い身長画素数を選択する。例えば、上位30%を有効な値とし、図17ではボーンB71、B61、B51による身長画素数を選択する。選択した身長画素数の平均を最適値として求めてもよいし、最も大きい身長画素数を最適値としてもよい。2次元画像のボーンの長さから身長を求めるため、ボーンを正面から撮像できていない場合、すなわち、ボーンがカメラから見て奥行き方向に傾いて撮像された場合、ボーンの長さが正面から撮像した場合よりも短くなる。そうすると、身長画素数が大きい値は、身長画素数が小さい値よりも、正面から撮像された可能性が高く、より尤もらしい値となることから、より大きい値を最適値とする。
 続いて、ベクトル算出部103は、求めた身長画素数に基づいて、全身の骨格ベクトルを算出する(S414)。ベクトル算出部103は、具体例1と同様、S413で求めた身長画素数の最適値を骨格ベクトルの長さとする。方向についても、具体例1と同様、検出された複数のボーンの中心軸(平均)を用いてもよいし、検出されたボーンのうち最も高い座標と、検出されたボーンのうち最も低い座標とを結ぶ線の方向を用いてもよい。
(具体例3)
 本実施の形態の具体例3では、2次元骨格構造を3次元人体モデル(3次元骨格モデル)にフィッティングさせて、フィッティングした3次元人体モデルの身長画素数を用いて全身の骨格ベクトルを求める。
 図18は、具体例3に係る骨格ベクトル算出処理であり、実施の形態1における図4の骨格ベクトル算出処理(S203)の流れを示している。具体例3の骨格ベクトル算出処理では、図18に示すように、ベクトル算出部103は、3次元人体モデルの配置及び高さを調整する(S421)。
 ベクトル算出部103は、具体例1と同様に検出された2次元骨格構造に対し、身長画素数算出用の3次元人体モデルを用意し、仮のカメラパラメータに基づいて、同じ2次元画像内に配置する。具体的には、仮のカメラパラメータに基づいて3次元人体モデルを2次元に投影した画像を作成する。そして、本画像を回転、拡大、縮小して2次元骨格構造と重ね合わせる。
 図19は、しゃがみ込んでいる人物を左斜め前から撮像し、2次元骨格構造401を検出した例である。2次元骨格構造401は、2次元の座標情報を有する。なお、全てのボーンを検出していることが好ましいが、一部のボーンが検出されていなくてもよい。この2次元骨格構造401に対し、図20のような、3次元人体モデル402を用意する。3次元人体モデル(3次元骨格モデル)402は、3次元の座標情報を有し、2次元骨格構造401と同じ形状の骨格のモデルである。そして、図21のように、検出した2次元骨格構造401に対し、用意した3次元人体モデル402を配置し重ね合わせる。また、重ね合わせるとともに、3次元人体モデル402の高さを2次元骨格構造401に合うように調整する。
 なお、このとき用意する3次元人体モデル402は、図21のように、2次元骨格構造401の姿勢に近い状態のモデルでもよいし、直立した状態のモデルでもよい。例えば、機械学習を用いて2次元画像から3次元空間の姿勢を推定する技術を用いて、推定した姿勢の3次元人体モデル402を生成してもよい。2次元画像の関節と3次元空間の関節の情報を学習することで、2次元画像から3次元の姿勢を推定することができる。
 続いて、ベクトル算出部103は、3次元人体モデルを2次元骨格構造にフィッティングする(S422)。ベクトル算出部103は、図22のように、3次元人体モデル402を仮のカメラパラメータに基づいて2次元画像に投影し、本画像を拡大、縮小、回転させて2次元骨格構造401に重ね合わせた状態で、3次元人体モデル402と2次元骨格構造401の姿勢が一致するように、仮のカメラパラメータ及び3次元人体モデル402を変化させる。すなわち、仮のカメラパラメータのうち、カメラの俯角に影響するパラメータや、3次元人体モデル402の身長、体の向き、関節の角度を調整し、2次元骨格構造401との差異がなくなるように最適化する。例えば、3次元人体モデル402の関節を、人の可動範囲で回転させていき、また、3次元人体モデル402の全体を回転させたり、全体のサイズを調整する。なお、3次元人体モデルと2次元骨格構造のフィッティング(あてはめ)は、2次元空間(2次元座標)上で行う。すなわち、2次元空間に3次元人体モデルを写像し、変形させた3次元人体モデルが2次元空間(画像)でどのように変化するかを考慮して、3次元人体モデルを2次元骨格構造に最適化する。
 続いて、ベクトル算出部103は、フィッティングさせた3次元人体モデルの身長画素数を算出し(S423)、求めた身長画素数に基づいて、全身の骨格ベクトルを算出する(S424)。ベクトル算出部103は、図23のように、3次元人体モデル402と2次元骨格構造401の差異がなくなり、姿勢が一致すると、その状態の3次元人体モデル402の身長画素数を求める。例えば、3次元人体モデル402を直立させた場合の頭から足までのボーンの長さ(画素数)により身長画素数を算出する。具体例1と同様に、3次元人体モデル402の頭部から足部までのボーンの長さを合計してもよい。さらに、ベクトル算出部103は、具体例1や2と同様、求めた身長画素数を骨格ベクトルの長さにするとともに、骨格ベクトルの方向を求める。
 以上のように、本実施の形態では、検出した骨格構造の全身のボーンに基づいて骨格ベクトルを求め、この骨格ベクトルをさらに集計してカメラパラメータを算出する。全身の骨格ベクトルを求めることで、骨格ベクトルを地面に対してさらに垂直にできるため、さらに精度よくカメラパラメータを求めることができる。また、具体例1では、頭から足までのボーンの長さを合計することで全身の長さを求めることができるため、簡易な方法でカメラパラメータを算出することができる。
 また、具体例2では、2次元画像空間上のボーンと全身の長さとの関係を示す人体モデルを用いて、検出した骨格構造のボーンに基づき全身の長さを求めることができるため、頭から足までの全ての骨格が得られない場合でも、一部のボーン(骨)からカメラパラメータを算出することができる。特に、複数のボーン(骨)から求められた身長(身長画素数)のうち、より大きい値を採用することで、精度よくカメラパラメータを算出することができる。
 さらに、具体例3では、仮のカメラパラメータに基づいて3次元人体モデルを2次元骨格構造にフィッティングさせて、その3次元人体モデルに基づいて身長画素数を求めることで、全てのボーン(骨)が正面に写っていない場合、すなわち、全てのボーン(骨)が斜めに映っているため誤差が大きい場合でも、精度よく身長を推定し、カメラパラメータを算出することができる。なお、具体例1~3の方法が適用可能な場合、全ての方法(またはいずれかを組み合わせた方法)を用いて、身長画素数の平均値を求めてもよい。
 なお、上述の実施形態における各構成は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、1つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。カメラ校正装置10及び100の機能(処理)を、図24に示すような、CPU(Central Processing Unit)等のプロセッサ21及び記憶装置であるメモリ22を有するコンピュータ20により実現してもよい。例えば、メモリ22に実施形態における方法を行うためのプログラム(カメラ校正プログラム)を格納し、各機能を、メモリ22に格納されたプログラムをプロセッサ21で実行することにより実現してもよい。
 これらのプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 また、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記では人物の画像からカメラパラメータを求めたが、骨格構造を有する人物以外の動物(哺乳類、爬虫類、鳥類、両生類、魚類等)の画像からカメラパラメータを求めてもよい。
 以上、実施の形態を参照して本開示を説明したが、本開示は上記実施の形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
 カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出する骨格検出手段と、
 前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出するベクトル算出手段と、
 前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出するパラメータ算出手段と、
 を備える、カメラ校正装置。
(付記2)
 前記骨格ベクトルは、前記2次元骨格構造に含まれる骨に対応したベクトル、又は前記2次元骨格構造の中心軸に対応したベクトルである、
 付記1に記載のカメラ校正装置。
(付記3)
 前記骨格ベクトルは、前記2次元骨格構造の一部に基づいたベクトルである、
 付記1または2に記載のカメラ校正装置。
(付記4)
 前記ベクトル算出手段は、前記2次元骨格構造に含まれる足部、胴部、又は頭部の骨に基づいて、前記骨格ベクトルを算出する、
 付記3に記載のカメラ校正装置。
(付記5)
 前記ベクトル算出手段は、前記骨格ベクトルは、前記2次元骨格構造に含まれる足部から胴部、又は胴部から頭部の骨に基づいて、前記骨格ベクトルを算出する、
 付記3に記載のカメラ校正装置。
(付記6)
 前記骨格ベクトルは、前記2次元骨格構造の全体に基づいたベクトルである、
 付記1または2に記載のカメラ校正装置。
(付記7)
 前記ベクトル算出手段は、前記2次元骨格構造に含まれる足部から頭部までの骨の長さの合計に基づいて、前記骨格ベクトルを算出する、
 付記6に記載のカメラ校正装置。
(付記8)
 前記ベクトル算出手段は、前記2次元骨格構造に含まれる骨の長さと2次元画像空間上の前記人物の全身の長さとの関係を示す2次元骨格モデルに基づいて、前記骨格ベクトルを算出する、
 付記6に記載のカメラ校正装置。
(付記9)
 前記ベクトル算出手段は、前記2次元骨格構造にフィッティングさせた3次元骨格モデルに基づいて、前記骨格ベクトルを算出する、
 付記6に記載のカメラ校正装置。
(付記10)
 前記算出された骨格ベクトルを集計する集計手段をさらに備え、
 前記パラメータ算出手段は、前記集計された骨格ベクトルに基づいて、前記カメラパラメータを算出する、
 付記1乃至9のいずれかに記載のカメラ校正装置。
(付記11)
 前記集計手段は、前記2次元画像を分割した領域ごとに、前記骨格ベクトルを集計する、
 付記10に記載のカメラ校正装置。
(付記12)
 前記パラメータ算出手段は、前記算出された骨格ベクトルと前記人物の骨格の基準値とに基づいて、前記カメラパラメータを算出する、
 付記1乃至11のいずれかに記載のカメラ校正装置。
(付記13)
 前記基準値は、前記人物の身長又は骨の長さの統計値である、
 付記12に記載のカメラ校正装置。
(付記14)
 前記基準値は、前記人物の属性に対応した値である、
 付記12又は13に記載のカメラ校正装置。
(付記15)
 カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、
 前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、
 前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出する、
 カメラ校正方法。
(付記16)
 前記骨格ベクトルは、前記2次元骨格構造に含まれる骨に対応したベクトル、又は前記2次元骨格構造の中心軸に対応したベクトルである、
 付記15に記載のカメラ校正方法。
(付記17)
 カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、
 前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、
 前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出する、
 処理をコンピュータに実行させるためのカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体。
(付記18)
 前記骨格ベクトルは、前記2次元骨格構造に含まれる骨に対応したベクトル、又は前記2次元骨格構造の中心軸に対応したベクトルである、
 付記17に記載の非一時的なコンピュータ可読媒体。
1   カメラ校正システム
10  カメラ校正装置
11  骨格検出部
12  ベクトル算出部
13  パラメータ算出部
20  コンピュータ
21  プロセッサ
22  メモリ
100 カメラ校正装置
101 画像取得部
102 骨格構造検出部
103 ベクトル算出部
104 集計部
105 カメラパラメータ算出部
106 記憶部
200 カメラ
300、301 人体モデル
401 2次元骨格構造
402 3次元人体モデル

Claims (18)

  1.  カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出する骨格検出手段と、
     前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出するベクトル算出手段と、
     前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出するパラメータ算出手段と、
     を備える、カメラ校正装置。
  2.  前記骨格ベクトルは、前記2次元骨格構造に含まれる骨に対応したベクトル、又は前記2次元骨格構造の中心軸に対応したベクトルである、
     請求項1に記載のカメラ校正装置。
  3.  前記骨格ベクトルは、前記2次元骨格構造の一部に基づいたベクトルである、
     請求項1または2に記載のカメラ校正装置。
  4.  前記ベクトル算出手段は、前記2次元骨格構造に含まれる足部、胴部、又は頭部の骨に基づいて、前記骨格ベクトルを算出する、
     請求項3に記載のカメラ校正装置。
  5.  前記ベクトル算出手段は、前記骨格ベクトルは、前記2次元骨格構造に含まれる足部から胴部、又は胴部から頭部の骨に基づいて、前記骨格ベクトルを算出する、
     請求項3に記載のカメラ校正装置。
  6.  前記骨格ベクトルは、前記2次元骨格構造の全体に基づいたベクトルである、
     請求項1または2に記載のカメラ校正装置。
  7.  前記ベクトル算出手段は、前記2次元骨格構造に含まれる足部から頭部までの骨の長さの合計に基づいて、前記骨格ベクトルを算出する、
     請求項6に記載のカメラ校正装置。
  8.  前記ベクトル算出手段は、前記2次元骨格構造に含まれる骨の長さと2次元画像空間上の前記人物の全身の長さとの関係を示す2次元骨格モデルに基づいて、前記骨格ベクトルを算出する、
     請求項6に記載のカメラ校正装置。
  9.  前記ベクトル算出手段は、前記2次元骨格構造にフィッティングさせた3次元骨格モデルに基づいて、前記骨格ベクトルを算出する、
     請求項6に記載のカメラ校正装置。
  10.  前記算出された骨格ベクトルを集計する集計手段をさらに備え、
     前記パラメータ算出手段は、前記集計された骨格ベクトルに基づいて、前記カメラパラメータを算出する、
     請求項1乃至9のいずれか一項に記載のカメラ校正装置。
  11.  前記集計手段は、前記2次元画像を分割した領域ごとに、前記骨格ベクトルを集計する、
     請求項10に記載のカメラ校正装置。
  12.  前記パラメータ算出手段は、前記算出された骨格ベクトルと前記人物の骨格の基準値とに基づいて、前記カメラパラメータを算出する、
     請求項1乃至11のいずれか一項に記載のカメラ校正装置。
  13.  前記基準値は、前記人物の身長又は骨の長さの統計値である、
     請求項12に記載のカメラ校正装置。
  14.  前記基準値は、前記人物の属性に対応した値である、
     請求項12又は13に記載のカメラ校正装置。
  15.  カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、
     前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、
     前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出する、
     カメラ校正方法。
  16.  前記骨格ベクトルは、前記2次元骨格構造に含まれる骨に対応したベクトル、又は前記2次元骨格構造の中心軸に対応したベクトルである、
     請求項15に記載のカメラ校正方法。
  17.  カメラにより撮像された2次元画像に基づいて、人物の2次元骨格構造を検出し、
     前記検出された2次元骨格構造に基づいて、前記2次元画像における前記人物の骨格の方向及び大きさを示す骨格ベクトルを算出し、
     前記算出された骨格ベクトルに基づいて、前記カメラのカメラパラメータを算出する、
     処理をコンピュータに実行させるためのカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体。
  18.  前記骨格ベクトルは、前記2次元骨格構造に含まれる骨に対応したベクトル、又は前記2次元骨格構造の中心軸に対応したベクトルである、
     請求項17に記載の非一時的なコンピュータ可読媒体。
PCT/JP2019/044145 2019-11-11 2019-11-11 カメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体 WO2021095095A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021555634A JP7420146B2 (ja) 2019-11-11 2019-11-11 カメラ校正装置、カメラ校正方法及びカメラ校正プログラム
US17/769,077 US20240104776A1 (en) 2019-11-11 2019-11-11 Camera calibration apparatus, camera calibration method, and non-transitory computer readable medium storing camera calibration program
PCT/JP2019/044145 WO2021095095A1 (ja) 2019-11-11 2019-11-11 カメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/044145 WO2021095095A1 (ja) 2019-11-11 2019-11-11 カメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
WO2021095095A1 true WO2021095095A1 (ja) 2021-05-20

Family

ID=75911891

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/044145 WO2021095095A1 (ja) 2019-11-11 2019-11-11 カメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体

Country Status (3)

Country Link
US (1) US20240104776A1 (ja)
JP (1) JP7420146B2 (ja)
WO (1) WO2021095095A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012123667A (ja) * 2010-12-09 2012-06-28 Panasonic Corp 姿勢推定装置および姿勢推定方法
JP2014501011A (ja) * 2011-01-03 2014-01-16 エクストリーム リアリティー エルティーディー. 手のジェスチャによるヒューマンマシンインターフェースのための方法、回路、及び、システム
JP2019079487A (ja) * 2017-10-25 2019-05-23 日本電信電話株式会社 パラメータ最適化装置、パラメータ最適化方法、プログラム
JP2019102877A (ja) * 2017-11-29 2019-06-24 富士通株式会社 カメラの外部パラメータの推定方法、推定装置および推定プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012123667A (ja) * 2010-12-09 2012-06-28 Panasonic Corp 姿勢推定装置および姿勢推定方法
JP2014501011A (ja) * 2011-01-03 2014-01-16 エクストリーム リアリティー エルティーディー. 手のジェスチャによるヒューマンマシンインターフェースのための方法、回路、及び、システム
JP2019079487A (ja) * 2017-10-25 2019-05-23 日本電信電話株式会社 パラメータ最適化装置、パラメータ最適化方法、プログラム
JP2019102877A (ja) * 2017-11-29 2019-06-24 富士通株式会社 カメラの外部パラメータの推定方法、推定装置および推定プログラム

Also Published As

Publication number Publication date
JPWO2021095095A1 (ja) 2021-05-20
JP7420146B2 (ja) 2024-01-23
US20240104776A1 (en) 2024-03-28

Similar Documents

Publication Publication Date Title
WO2021084677A1 (ja) 画像処理装置、画像処理方法及び画像処理プログラムが格納された非一時的なコンピュータ可読媒体
US8179440B2 (en) Method and system for object surveillance and real time activity recognition
CN107256377B (zh) 用于检测视频中的对象的方法、设备和系统
JP4653606B2 (ja) 画像認識装置、方法およびプログラム
US9031286B2 (en) Object detection device and object detection method
JP5035467B2 (ja) 立体性認証方法、立体性認証装置および立体性認証プログラム
JP6590609B2 (ja) 画像解析装置及び画像解析方法
WO2020261404A1 (ja) 人物状態検出装置、人物状態検出方法及びプログラムが格納された非一時的なコンピュータ可読媒体
JP7197011B2 (ja) 身長推定装置、身長推定方法及びプログラム
Shere et al. 3D Human Pose Estimation From Multi Person Stereo 360 Scenes.
JP7501622B2 (ja) 画像選択装置、画像選択方法、およびプログラム
JP7498404B2 (ja) 被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム
Tepencelik et al. Body and head orientation estimation with privacy preserving LiDAR sensors
JP7396364B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
WO2021095095A1 (ja) カメラ校正装置、カメラ校正方法及びカメラ校正プログラムが格納された非一時的なコンピュータ可読媒体
WO2022079794A1 (ja) 画像選択装置、画像選択方法、及びプログラム
JP7491380B2 (ja) 画像選択装置、画像選択方法、及びプログラム
JP7435781B2 (ja) 画像選択装置、画像選択方法、及びプログラム
JP7152651B2 (ja) プログラム、情報処理装置、及び情報処理方法
CN114463663A (zh) 一种人员身高的计算方法、装置、电子设备及存储介质
JP7283571B2 (ja) 人物状態検出装置、人物状態検出方法及びプログラム
JP7302741B2 (ja) 画像選択装置、画像選択方法、およびプログラム
Bhanu et al. Model-based human recognition—2D and 3D gait
WO2021229750A1 (ja) 画像選択装置、画像選択方法、およびプログラム
WO2022249278A1 (ja) 画像処理装置、画像処理方法、およびプログラム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021555634

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 17769077

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19952903

Country of ref document: EP

Kind code of ref document: A1