WO2020070857A1 - 座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム - Google Patents

座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム

Info

Publication number
WO2020070857A1
WO2020070857A1 PCT/JP2018/037198 JP2018037198W WO2020070857A1 WO 2020070857 A1 WO2020070857 A1 WO 2020070857A1 JP 2018037198 W JP2018037198 W JP 2018037198W WO 2020070857 A1 WO2020070857 A1 WO 2020070857A1
Authority
WO
WIPO (PCT)
Prior art keywords
joint
angle
coordinate
coordinate values
coordinate value
Prior art date
Application number
PCT/JP2018/037198
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 PCT/JP2018/037198 priority Critical patent/WO2020070857A1/ja
Publication of WO2020070857A1 publication Critical patent/WO2020070857A1/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

Definitions

  • the present invention relates to a coordinate value integrating device, a coordinate value integrating system, and a coordinate value integrating method for generating integrated coordinate values by integrating a plurality of coordinate values in a plurality of coordinate systems, each indicating a position of a joint of a skeleton of an object.
  • the present invention relates to a method and a coordinate value integration program.
  • Motion capture technology for measuring the position of a skeleton of an object in a three-dimensional space is used in various fields.
  • the object is, for example, a person, an animal, or a machine.
  • information on a space where an object exists is acquired by a spatial information acquisition device.
  • the spatial information acquisition device is, for example, a device including a depth sensor or a camera.
  • Non-Patent Document 1 a system for measuring the position of a skeleton of a target object by using a plurality of spatial information acquisition devices.
  • a device called Microsoft Kinect registered trademark
  • a plurality of coordinate shifts acquired from a plurality of spatial information acquisition devices are corrected based on the installation position of each spatial information acquisition device, and then skeleton information indicating the position of the skeleton of the target object is integrated.
  • Non-Patent Document 1 in order to integrate skeleton information, calibration between frames and the maximum movement distance of each joint per frame are used. Therefore, there is a problem that the accuracy of the position of the joint cannot be improved in the first frame. Also, this system is based on the premise that the positions of joints in past frames are accurate. Therefore, if the position of the joint in the past frame is not accurate, there is a problem that the accuracy of the integrated coordinate value indicating the position of the joint cannot be improved.
  • the present invention provides a coordinate value integration device, a coordinate value integration system, a coordinate value integration method, and a coordinate value integration program that can improve the accuracy of coordinate values in a world coordinate system generated by integrating coordinate values. With the goal.
  • the coordinate value integrating device is based on a plurality of spatial information in a plurality of coordinate systems, which are generated by detecting or photographing a real space by a space information generating unit, based on the real space.
  • a skeleton coordinate value generation unit that generates a plurality of first member coordinate values based on the plurality of space information and a plurality of second member coordinate values based on the plurality of space information,
  • the limit joint angle is obtained from a database unit that stores information indicating a limit joint angle that is a limit value of a bending angle of a joint corresponding to the target joint, and the plurality of first member coordinate values and the plurality of first member coordinate values are obtained.
  • a reliability calculating unit that calculates a plurality of degrees of reliability indicating the likelihood of joint coordinate values, and integrated coordinates indicating a position of the target joint based on the plurality of joint coordinate values and the plurality of reliability levels
  • a coordinate value integration unit for generating a value.
  • a coordinate value integration system includes a spatial information generation unit that detects or photographs a real space to generate a plurality of pieces of spatial information in a plurality of coordinate systems, and a coordinate value integration device. Then, the coordinate value integrating device indicates a position of a target joint of a skeleton of the target object existing in the real space, a plurality of joint coordinate values based on the plurality of spatial information, and via the target joint. Generating a plurality of first member coordinate values based on the plurality of spatial information and a plurality of second member coordinate values based on the plurality of spatial information, indicating the positions of the connected first member and second member.
  • a skeleton coordinate value generation unit and a database unit that stores information indicating a limit joint angle that is a limit value of a bending angle of a joint corresponding to the target joint in a predetermined reference skeleton.
  • a reliability calculating unit that calculates a plurality of reliability indicating a degree of certainty of the plurality of joint coordinate values based on a result of the comparison with the joint angle, and the plurality of joint coordinate values and the plurality of reliability.
  • a coordinate value integration unit that generates integrated coordinate values indicating the position of the target joint based on
  • the coordinate value integration method is based on a plurality of pieces of spatial information in a plurality of coordinate systems generated by detecting or photographing a real space by a spatial information generating unit.
  • the limit joint angle is obtained from a database unit that stores information indicating a limit joint angle that is a limit value of a bending angle of a joint corresponding to the target joint, and the plurality of first member coordinate values and the plurality of first joint coordinate values are obtained.
  • a plurality of joint angles formed by the first member and the second member are calculated from the coordinate values, and the plurality of joint coordinates are calculated based on a result of comparison between the limit joint angle and the plurality of joint angles.
  • Calculating a plurality of reliability values indicating the degree of certainty of the value; and generating integrated coordinate values indicating the position of the target joint based on the plurality of joint coordinate values and the plurality of reliability values. And the following.
  • FIG. 3 is a diagram illustrating an example of a hardware configuration of a coordinate value integrating device according to an embodiment.
  • 5 is a flowchart illustrating an operation of the coordinate value integrating system and the coordinate value integrating device according to the embodiment.
  • FIG. 2 is a diagram showing a human as an object and its main skeleton in the embodiment.
  • FIG. 9 is a diagram for describing an operation example of the reliability calculation unit of the coordinate value integrating device according to the embodiment (when the target joint is a human knee).
  • FIG. 9 is a diagram for describing an operation example of the reliability calculation unit of the coordinate value integrating device according to the embodiment (when the target joint is a human knee).
  • FIG. 9 is a diagram for describing an operation example of the reliability calculation unit of the coordinate value integrating device according to the embodiment (when the target joint is a human knee).
  • FIG. 9 is a diagram for describing an operation example of the reliability calculation unit of the coordinate value integrating device according to the embodiment (when the target joint is a human elbow).
  • FIG. 9 is a diagram for describing an operation example of the reliability calculation unit of the coordinate value integrating device according to the embodiment (when the target joint is a human elbow).
  • FIG. 3 is a diagram illustrating a machine as an object and a main skeleton thereof according to the embodiment.
  • FIG. 11 is a diagram for describing another operation example (when the object is a machine) of the reliability calculation unit of the coordinate value integrating device according to the embodiment.
  • FIG. 11 is a diagram for describing another operation example (when the object is a machine) of the reliability calculation unit of the coordinate value integrating device according to the embodiment.
  • FIG. 1 is a diagram schematically showing a configuration of a coordinate value integrating system 1 and a coordinate value integrating device 10 according to an embodiment of the present invention.
  • the coordinate value integration system 1 includes a spatial information generation unit 5 and a coordinate value integration device 10.
  • the coordinate value integration system 1 generates an integrated coordinate value by integrating a plurality of coordinate values in a plurality of coordinate systems, each indicating a position of a joint of a skeleton of an object.
  • a human 100 is shown as an object.
  • the object has at least one joint and two members connected by the joint.
  • the members connected by the joints are generally rigid members, that is, rigid members. However, the members connected by the joint need not necessarily be rigid members.
  • Each of the members connected by the joints may be an aggregate of a plurality of rigid bodies.
  • the aggregate of a plurality of rigid bodies is, for example, a member configured by connecting a plurality of rigid bodies.
  • the pair of members connected by the joint is a bone.
  • Each of the bones connected by the joints may be an aggregate of a plurality of rigid bodies.
  • the object may be a whole human body.
  • the target object may be a part of a human body.
  • the object may be, for example, a human palm (ie, above the wrist), a person above the shoulder, a human upper body (ie, above the waist), or a human lower body (ie, below the waist). Part).
  • the joint is a connecting portion where a member and another member are connected so that a certain member can rotate with respect to another member.
  • the object may be a machine such as a robot arm. If the object is a machine, the joint may be a hinge. Further, the target object may be an animal other than a human.
  • the space information generation unit 5 generates a plurality of pieces of space information in a plurality of coordinate systems by detecting or photographing a real space.
  • the spatial information generation unit 5 includes a camera 2 and a camera 3 that capture an image. Therefore, in the example of FIG. 1, the space information generation unit 5 generates two pieces of space information in two coordinate systems by photographing a real space.
  • the spatial information generator 5 may include three or more cameras. Further, the spatial information generating unit 5 may be a device including an infrared light irradiation device that projects a predetermined infrared light pattern and a plurality of infrared light cameras.
  • the space information generation unit 5 may include two or more sensors that measure a distance to an object in a real space, instead of the camera 2 and the camera 3.
  • the sensor is, for example, a depth sensor.
  • the space information generation unit 5 includes a coordinate conversion unit 4 that converts a plurality of pieces of space information in a plurality of mutually different coordinate systems generated by detecting or photographing a real space into space information in a common coordinate system.
  • the plurality of coordinate systems are two coordinate systems.
  • the two coordinate systems correspond to camera 2 and camera 3.
  • the two coordinate systems are determined by, for example, the installation positions and the photographing directions of the cameras 2 and 3.
  • the coordinate conversion unit 4 converts the coordinate values of the coordinates in each of the plurality of coordinate systems into the coordinate values of the coordinates in the world coordinate system.
  • the coordinate value integrating device 10 includes a skeleton coordinate value generating unit 11, a reliability calculating unit 12, and a coordinate value integrating unit 14. Further, the coordinate value integrating device 10 includes a database unit 13. The database unit 13 does not need to be provided in the coordinate value integrating device 10, but may be provided in an external device connected so as to be able to communicate with the coordinate value integrating device 10. The coordinate value integrating device 10 may include an input unit 15 that receives a user operation.
  • the skeleton coordinate value generation unit 11 includes a plurality of joint coordinate values based on a plurality of spatial information, each indicating a position of a joint (for example, a joint 101) of a target of a skeleton of an object (for example, a human 100) existing in a real space. And a plurality of first member coordinate values based on a plurality of spatial information indicating a position of a first member (for example, member 111) connected by the target joint, and a second member coordinate value connected by the target joint A plurality of second member coordinate values based on a plurality of pieces of spatial information indicating a position of the member (for example, the member 112) are generated. That is, the skeleton coordinate value generation unit 11 has a function of real-time recognizing the state of the skeleton of the target object based on the plurality of pieces of space information acquired from the space information generation unit 5.
  • the skeleton coordinate value generation unit 11 determines the coordinates (X11, Y11, Z11) of the joint 101 based on the first space information acquired by the camera 2 and the first space acquired by the camera 2.
  • the coordinates (X12, Y12, Z12) of the representative position (for example, the center position) of the first member 111 based on the information, and the representative position of the second member 112 based on the first spatial information acquired by the camera 2 For example, the coordinates (X13, Y13, Z13) of the center position, the coordinates (X21, Y21, Z21) of the joint 101 based on the second spatial information acquired by the camera 3, and the second coordinates acquired by the camera 3 Based on the coordinates (X22, Y22, Z22) of the representative position (for example, the center position) of the first member 111 based on the spatial information of the first member 111 and the second spatial information acquired by the camera 3.
  • Representative position of the second member 112 (e.g., center position) of the coordinates (X23, Y23, Z23) to produce a.
  • (X11, Y11, Z11), (X12, Y12, Z12), (X13, Y13, Z13), (X21, Y21, Z21), (X22, Y22, Z22), (X23, Y23, Z23) are 3 2 shows coordinates in an XYZ rectangular coordinate system which is a three-dimensional rectangular coordinate system.
  • Each of X11, X12, X21, X22, X31, and X32 indicates a coordinate value in the X-axis direction.
  • Each of Y11, Y12, Y21, Y22, Y31, and Y32 indicates a coordinate value in the Y-axis direction.
  • Each of Z11, Z12, Z21, Z22, Z31, and Z32 indicates a coordinate value in the Z-axis direction.
  • the functions of the space information generation unit 5 and the skeleton coordinate value generation unit 11 can be realized by a commercially available known motion capture device. Specifically, the function of recognizing the state of the skeleton of the object in real time can be realized by, for example, a device called Kinect (registered trademark) of Microsoft Corporation or a Leap Motion (registered trademark) controller of Leap Motion. is there.
  • Kinect registered trademark
  • Leap Motion registered trademark
  • the database unit 13 is a storage device that stores reference information on the skeleton of the target object.
  • Reference information on the skeleton of the object is prepared in advance.
  • the reference information includes information indicating a limit joint angle which is a limit value of a joint bending angle.
  • the reference information is, for example, information input from outside via a communication unit (not shown), information input by a user operation, information collected by a measuring device, and the like.
  • the reference information may include a plurality of types of information.
  • the reference information is information indicating a limit joint angle which is a limit value of a bending angle of a joint for each human age, information indicating a limit joint angle of a joint for each human gender, a limit of a joint for each human body part.
  • Information indicating the joint angle may be included.
  • the reference information may include information indicating a limit joint angle of a joint for each different animal other than a human, and information indicating a limit joint angle of a joint for each of a plurality of different robot arms.
  • the database unit 13 stores the turn angle of the joint corresponding to the joint as information indicating a limit joint angle which is a limit value of the bend angle of the joint corresponding to the joint.
  • Information indicating the maximum joint angle, which is the maximum value of degrees, is stored.
  • the maximum value of the bending angle of the human knee joint that is, the upper limit value
  • the database unit 13 can store, for example, 180 degrees as information indicating the maximum joint angle of the knee joint.
  • 180 degrees is merely an example, and it is desirable that the maximum joint angle be determined for each target joint based on a lot of measured data.
  • the database unit 13 determines the joint corresponding to the joint as information indicating a limit joint angle which is a limit value of the bending angle of the joint corresponding to the joint.
  • the information indicating the minimum joint angle which is the minimum value of the bending angle is stored.
  • the minimum value of the bending angle of the human elbow joint that is, the lower limit, is considered to be about 30 degrees. That is, it is usually not possible for a human elbow joint to bend to an angle less than about 30 degrees inside the elbow. Therefore, the database unit 13 can store, for example, 30 degrees as information indicating the minimum joint angle of the elbow joint.
  • 30 degrees is only an example, and it is desirable that the minimum joint angle is determined for each target joint based on a lot of measured data and the like.
  • the database unit 13 can store, for example, 90 degrees as information indicating the minimum joint angle of the human wrist joint.
  • 90 degrees is only an example, and it is desirable that the minimum joint angle of the joint of the wrist be determined based on a lot of measured data and the like.
  • the database unit 13 can store both the minimum joint angle and the maximum joint angle for one joint as the limit joint angle of the human joint.
  • the reliability calculation unit 12 acquires information indicating the limit joint angle of the target joint from the database unit 13, and outputs a plurality of first member coordinate values indicating the position of the first member from the skeleton coordinate value generation unit 11 and the second member coordinate value. And a plurality of second member coordinate values indicating the position of the second member.
  • the reliability calculating unit 12 calculates a plurality of joint angles ⁇ between the first member and the second member based on the plurality of first member coordinate values and the plurality of second member coordinate values (for example, FIG. 5 and FIG. 6 are calculated.
  • the reliability calculation unit 12 calculates a plurality of reliability indicating a degree of certainty of a plurality of joint coordinate values based on a result of comparison between the limit joint angle and a plurality of joint angles obtained by the calculation.
  • the reliability calculation unit 12 determines the target joint as information indicating a limit joint angle which is a limit value of the bending angle of the joint corresponding to the target joint. Is obtained, which indicates the maximum joint angle that is the maximum value of the bending angle of the joint corresponding to. In this case, the reliability calculation unit 12 determines that the joint angle between the first member and the second member measured by motion capture or the like is equal to or less than the maximum joint angle (that is, within the range of the limit joint angle). In some cases), the reliability is maintained at a predetermined value (for example, a predetermined high value).
  • the reliability calculation unit 12 determines that the joint angle between the first member and the second member measured by motion capture or the like exceeds the maximum joint angle (that is, if the joint angle is outside the range of the limit joint angle). In some cases), the reliability decreases as the distance from the maximum joint angle increases (ie, as the value becomes larger than the maximum joint angle). In other words, the reliability calculation unit 12 sets the reliability lower as the angle difference obtained by subtracting the maximum joint angle from the plurality of joint angles formed by the first member and the second member is larger.
  • the reliability calculating unit 12 determines the target joint as information indicating a limit joint angle which is a limit value of the bending angle of the joint corresponding to the target joint. Information indicating the minimum joint angle that is the minimum value of the bending angle of the joint corresponding to the joint is obtained. In this case, the reliability calculation unit 12 determines that the joint angle between the first member and the second member measured by motion capture or the like is equal to or greater than the minimum joint angle (that is, within the range of the limit joint angle). In some cases), the reliability is maintained at a predetermined value (for example, a predetermined high value).
  • the reliability calculation unit 12 determines that the joint angle between the first member and the second member measured by motion capture or the like is smaller than the minimum joint angle (that is, when the joint angle is out of the range of the limit joint angle). ), The reliability decreases as the distance from the minimum joint angle increases (that is, as the value becomes smaller than the minimum joint angle). In other words, the reliability calculation unit 12 sets the lower the reliability as the angle difference obtained by subtracting each of the plurality of joint angles between the first member and the second member from the minimum joint angle is larger. I do.
  • the reliability calculation unit 12 may use a limit joint angle based on information such as the height or weight of a human as a target input from the input unit 15.
  • the first member and the second member are a pair of members at arbitrary positions connected to each other by a target joint.
  • the first member is a member at a position closer to the center of gravity of the object than the second member.
  • the target is the human 100
  • the first member is a member closer to the center position of the human 100's torso than the second member.
  • the target joint is the joint 101
  • the first member is the member 111
  • the second member is the member 112.
  • the combination of the first member and the second member is not limited to the illustrated example.
  • the reliability calculation unit 12 indicates the joint coordinate values of the target joint 101 based on the first spatial information acquired by the camera 2 and the positions of the first member 111 and the second member 112. From a first member coordinate value and a second member coordinate value based on the first spatial information, a first angle ⁇ 11 indicating an angle formed between the first member 111 and the second member 112 (see FIG. Calculated.) In addition, the reliability calculation unit 12 determines the joint coordinate value of the target joint 101 based on the second space information acquired by the camera 3 and the second space indicating the positions of the first member 111 and the second member 112.
  • a second angle ⁇ 12 indicating the angle between the first member 111 and the second member 112 (described in FIG. 6 described later). ) Is calculated. That is, the first angle ⁇ 11 is an angle based on the first spatial information, and the second angle ⁇ 12 is an angle based on the second spatial information.
  • the reliability calculation unit 12 calculates a limit joint angle ⁇ r1 (described later with reference to FIG. 4) acquired from the database unit 13 and a first angle ⁇ 11 based on the first spatial information based on a result of comparison.
  • the reliability R11 indicating the degree of certainty of the first joint coordinate value which is the coordinate value of the target joint based on the first spatial information is calculated.
  • the reliability calculation unit 12 determines a target based on the second spatial information based on a result of comparison between the limit joint angle ⁇ r1 acquired from the database unit 13 and the second angle ⁇ 12 based on the second spatial information.
  • the reliability R12 indicating the degree of certainty of the second joint coordinate value, which is the joint coordinate value, is calculated.
  • the reliability calculating unit 12 calculates the reliability R11 according to the difference between the limit joint angle ⁇ r1 obtained from the database unit 13 and the first angle ⁇ 11, that is, the reliability R11 obtained from the database unit 13,
  • the reliability R12 is calculated according to the difference between the joint angle ⁇ r1 and the second angle ⁇ 12.
  • the reliability calculating unit 12 sets the reliability R11 to be lower as the value of ( ⁇ 11 ⁇ r1) is larger, and the reliability is set as the value of ( ⁇ 12 ⁇ r1) is larger.
  • the degree R12 can be set low. That is, when the joint angle between the first member and the second member is equal to or smaller than the maximum joint angle, the reliability calculating unit 12 sets the reliability to a predetermined high value (for example, a maximum value). When the joint angle between the first member and the second member exceeds the maximum joint angle, the reliability decreases as the distance from the maximum joint angle increases.
  • the reliability calculation unit 12 sets the reliability R11 to a value of 0 when the value of ( ⁇ 11 ⁇ r1) exceeds a predetermined threshold. Good.
  • the reliability calculation unit 12 sets the reliability R12 to a value of 0 when the value of ( ⁇ 12 ⁇ r1) exceeds a predetermined threshold. Good.
  • the reliability calculation unit 12 sets the reliability R11 to be lower as the value of ( ⁇ r1 ⁇ 11) is larger, and the reliability is set as the value of ( ⁇ r1 ⁇ 12) is larger.
  • the degree R12 can be set low. That is, when the joint angle between the first member and the second member is equal to or larger than the minimum joint angle, the reliability calculating unit 12 sets the reliability to a predetermined high value (for example, a maximum value). When the joint angle between the first member and the second member is smaller than the minimum joint angle, the reliability decreases as the distance from the minimum joint angle increases.
  • the reliability calculating unit 12 sets the reliability R11 to a value of 0 when the value of ( ⁇ r1 ⁇ 11) exceeds a predetermined threshold. Good.
  • the reliability calculation unit 12 sets the reliability R12 to a value of 0 when the value of ( ⁇ r1 ⁇ 12) exceeds a predetermined threshold. Good.
  • the coordinate value integrating unit 14 generates an integrated coordinate value which is a coordinate value indicating the position of the target joint based on the plurality of joint coordinate values and the plurality of reliability values. For example, the coordinate value integrating unit 14 can calculate a weighted average value of a plurality of joint coordinate values by regarding a plurality of reliability values as weights, and use the weighted average value as an integrated coordinate value.
  • FIG. 2 is a diagram illustrating an example of a hardware configuration of the coordinate value integrating device 10 according to the present embodiment.
  • the coordinate value integrating device 10 and the coordinate conversion unit 4 can be configured by a computer.
  • the coordinate value integrating device 10 includes a CPU (Central Processing Unit) 91 as a processor as an information processing unit, a memory 92 as a storage unit for storing a program, and a storage such as a hard disk drive (HDD).
  • Device 93 is a diagram illustrating an example of a hardware configuration of the coordinate value integrating device 10 according to the present embodiment.
  • the coordinate value integrating device 10 and the coordinate conversion unit 4 can be configured by a computer.
  • the coordinate value integrating device 10 includes a CPU (Central Processing Unit) 91 as a processor as an information processing unit, a memory 92 as a storage unit for storing a program, and a storage such as a hard disk drive (HDD).
  • HDD hard disk drive
  • the memory 92 is a semiconductor memory such as a RAM (Random Access Memory) and a ROM (Read Only Memory).
  • the memory 92 can store the coordinate value integration program according to the present embodiment.
  • the CPU 91 realizes the functions of the skeleton coordinate value generation unit 11, the reliability calculation unit 12, and the coordinate value integration unit 14 shown in FIG. 1 by executing the coordinate value integration program stored in the memory 92. Can be. Further, the CPU 91 can also realize the function of the coordinate conversion unit 4 by executing the coordinate value integration program stored in the memory 92.
  • the database unit 13 may be a part of the storage device 93.
  • the coordinate value integrating device 10 may realize a part of the function by dedicated hardware, and realize another part of the function by software or firmware.
  • a part of the function of the coordinate value integrating device 10 is realized by a processing circuit as dedicated hardware, and the other function of the coordinate value integrating device 10 is performed by a CPU 91 which is a processor that executes a program stored in a memory 92. It may be realized.
  • FIG. 3 is a flowchart showing the operation of the coordinate value integrating system 1 and the coordinate value integrating device 10 according to the present embodiment.
  • FIG. 4 is a diagram showing a human 100 as an object in the present embodiment and its main skeleton (when the target joint is a human knee).
  • FIGS. 5 and 6 are diagrams for explaining an operation example (when the target joint is a human knee) of the reliability calculating unit 12 of the coordinate value integrating device 10 according to the present embodiment.
  • FIG. 7 is a diagram showing a human 100 as a target object and its main skeleton (when the target joint is a human elbow) in the embodiment.
  • FIGS. 8 and 9 are diagrams for explaining an operation example of the reliability calculation unit 12 of the coordinate value integrating device 10 according to the embodiment (when the target joint is a human elbow).
  • step S11 the spatial information generating unit 5 captures an image of a real space using the camera 2 and the camera 3, and generates first spatial information in the first coordinate system and second spatial information in the second coordinate system. Generate.
  • the coordinate conversion unit 4 of the space information generation unit 5 converts each of the first space information in the first coordinate system and the second space information in the second coordinate system into a common one by coordinate conversion. Convert to spatial information in the world coordinate system, which is a coordinate system. That is, the coordinate conversion unit 4 converts the coordinates in the first coordinate system and the coordinates in the second coordinate system into world coordinates that are a common coordinate system.
  • the skeleton coordinate value generation unit 11 calculates a plurality of joint coordinate values based on a plurality of spatial information, each indicating a position of a target joint of the target skeleton in the real space, and a target joint. Generating a plurality of first member coordinate values based on a plurality of spatial information and a plurality of second member coordinate values based on a plurality of spatial information, indicating positions of the first member and the second member connected via the link I do. For example, when the target joint in the real space is the joint 101 in FIG. 4, and the first member and the second member in the real space are the first member 111 and the second member 112 in FIG.
  • a plurality of first coordinate values based on a plurality of pieces of spatial information indicating the position of the first member are a coordinate value of the coordinates (X21, Y21, Z21) of the point 111a in FIG. 5 and a coordinate value in FIG. This is the coordinate value of the coordinates (X22, Y22, Z22) of the point 111b.
  • a plurality of second coordinate values indicating the position of the second member based on a plurality of pieces of spatial information are represented by coordinate values of the coordinates (X31, Y31, Z31) of the point 112a in FIG. This is the coordinate value of the coordinates (X32, Y32, Z32) of the point 112b.
  • the first member is not limited to the first member 111 shown in FIG. 4, and the second member is not limited to the second member 112 shown in FIG.
  • the first member and the second member may be a pair of other members connected by another joint.
  • the target joint in the real space is the joint 301 in FIG. 7 and the first member and the second member in the real space are the first member 311 and the second member 312 in FIG. Is a plurality of joint coordinate values based on a plurality of spatial information indicating a position of a target joint.
  • a plurality of first coordinate values based on a plurality of pieces of spatial information indicating the position of the first member are represented by coordinate values of the coordinates (X51, Y51, Z51) of the point 311a in FIG. It is the coordinate value of the coordinates (X52, Y52, Z52) of the point 311b.
  • a plurality of second coordinate values indicating the position of the second member and based on a plurality of pieces of spatial information are represented by coordinate values of coordinates (X61, Y61, Z61) of the point 312a in FIG. 8 and coordinate values in FIG. It is the coordinate value of the coordinates (X62, Y62, Z62) of the point 312b.
  • the first member is not limited to the first member 311 shown in FIG. 7, and the second member is not limited to the second member 312 shown in FIG.
  • the first member and the second member may be a pair of other members connected by another joint.
  • the reliability calculation unit 12 acquires the limit joint angle ⁇ r1 for the target joint in the predetermined reference skeleton from the database unit 13, and acquires the plurality of first member coordinate values and the plurality of From the two member coordinate values, a plurality of joint angles between the first member (eg, 111 in FIG. 4) and the second member (eg, 112 in FIG. 4) are calculated.
  • the plurality of joint angles calculated for the target joint are, for example, a joint angle ⁇ 11 based on the first spatial information shown in FIG. 5 and a joint angle ⁇ 12 based on the second spatial information shown in FIG.
  • Other examples of the plurality of joint angles calculated for the target joint include a joint angle ⁇ 31 based on the first spatial information illustrated in FIG. 8 and a joint angle based on the second spatial information illustrated in FIG. ⁇ 32.
  • the reliability calculation unit 12 calculates the plurality of joint coordinate values based on the result of comparison between the limit joint angle ⁇ r1 and the plurality of joint angles ⁇ 11, ⁇ 12. Calculate a plurality of degrees of reliability indicating the degree of certainty.
  • the reliability calculation unit 12 indicates the degree of certainty of the plurality of joint coordinate values based on the result of comparison between the limit joint angle ⁇ r3 and the plurality of joint angles ⁇ 31 and ⁇ 32. Calculate multiple confidences.
  • the reliability calculation unit 12 determines the limit of the bending angle of the joint 101 corresponding to the target joint.
  • the information indicating the limit joint angle which is the value
  • information indicating the maximum joint angle ⁇ r1 which is the maximum value of the bending angle of the joint 101 corresponding to the target joint.
  • the reliability calculation unit 12 calculates the angle difference ( ⁇ 11 ⁇ r1) obtained by subtracting the maximum joint angle ⁇ r1 from the plurality of joint angles ⁇ 11 and ⁇ 12 formed by the first member 111 and the second member 112. , ( ⁇ 12 ⁇ r1), the reliability is set lower.
  • the reliability calculating unit 12 maintains the reliability at a predetermined high value, and sets the bending angle of the target joint to the maximum joint angle. If it exceeds, the reliability is set lower as the bend angle of the target joint becomes farther from the maximum joint angle.
  • the reliability calculation unit 12 determines the limit of the bending angle of the joint 301 corresponding to the target joint.
  • the information indicating the limit joint angle which is the value information indicating the minimum joint angle ⁇ r3 which is the minimum value of the bending angle of the joint 301 corresponding to the target joint is acquired.
  • the reliability calculating unit 12 subtracts the plurality of joint angles ⁇ 31 and ⁇ 32 formed by the first member 311 and the second member 312 from the minimum joint angle ⁇ r3, and obtains the angle difference ( ⁇ r3- The larger the values of ( ⁇ 31) and ( ⁇ r3- ⁇ 32), the lower the reliability is set.
  • the reliability calculation unit 12 maintains the reliability at a predetermined high value and sets the bend angle of the target joint to be smaller than the minimum joint angle. If the angle is smaller, the reliability is set lower as the bend angle of the target joint is further away from the minimum joint angle.
  • the coordinate value integrating unit 14 generates integrated coordinate values, which are coordinate values of coordinates indicating the position of the target joint, based on the plurality of joint coordinate values and the plurality of degrees of reliability.
  • the integrated coordinate value can be calculated, for example, by a weighted average of a plurality of coordinate values using a plurality of reliability values as weights.
  • FIG. 10 is a diagram showing a machine 200 as an object in the present embodiment and its main skeleton.
  • 11 and 12 are diagrams for explaining an operation example (when the object is a machine) of the reliability calculating unit 12 of the coordinate value integrating device 10 according to the present embodiment.
  • the space information generation unit 5 captures an image of a real space with the camera 2 and the camera 3 and generates first space information in a first coordinate system and second space information in a second coordinate system.
  • the coordinate conversion unit 4 of the space information generation unit 5 converts each of the first space information in the first coordinate system and the second space information in the second coordinate system into a world coordinate which is a common coordinate system by coordinate conversion. Convert to spatial information in the system.
  • the skeleton coordinate value generation unit 11 generates a plurality of joint coordinate values (for example, based on a plurality of spatial information) indicating positions of target joints (for example, the joint 201 in FIG. 10) of the skeleton of the target object existing in the real space.
  • the first member for example, the joint 211 in FIG. 10
  • the second member for example, the joint 212 in FIG. 10
  • a plurality of first member coordinate values for example, the position 211a in FIG. 11 and the position 211b in FIG. 12
  • a plurality of second member coordinate values For example, a position 212a in FIG. 11 and a position 212b) in FIG. 12 are generated.
  • the reliability calculation unit 12 acquires the limit joint angle ⁇ r2 of the target joint in the reference skeleton of the machine of the same type determined in advance from the database unit 13 and obtains a plurality of first member coordinate values and a plurality of second member coordinate values. From the member coordinate values, a plurality of joint angles between a first member (for example, 211 in FIG. 10) and a second member (for example, 212 in FIG. 10) are calculated.
  • the plurality of joint angles calculated for the target joint are, for example, a joint angle ⁇ 21 based on the first spatial information shown in FIG. 11 and a joint angle ⁇ 22 based on the second spatial information shown in FIG.
  • the reliability calculating unit 12 calculates a plurality of reliability indicating the degree of certainty of the plurality of joint coordinate values based on the result of the comparison between the limit joint angle ⁇ r2 and the plurality of joint angles ⁇ 21, ⁇ 22.
  • the reliability calculation unit 12 determines the target joint as information indicating a limit joint angle that is a limit value of the bend angle of the joint 201 corresponding to the target joint.
  • Information indicating the maximum joint angle ⁇ r2 that is the maximum value of the bending angle of the joint 201 corresponding to the joint is acquired.
  • the reliability calculation unit 12 calculates an angle difference ( ⁇ 21 ⁇ r2) obtained by subtracting the maximum joint angle ⁇ r2 from the plurality of joint angles ⁇ 21 and ⁇ 22 formed by the first member 211 and the second member 212. , ( ⁇ 22 ⁇ r2), the lower the reliability is set.
  • the reliability calculation unit 12 maintains the reliability at a predetermined high value, and the bend angle of the joint 201 exceeds the maximum joint angle. In this case, the reliability is set to be lower as the bending angle of the joint 201 is farther from the maximum joint angle.
  • the reliability calculating unit 12 includes, as information indicating a limit joint angle that is a limit value of the bending angle of the joint 201 corresponding to the target joint, Information indicating the minimum joint angle ⁇ r2 that is the minimum value of the bending angle of the joint 201 corresponding to the target joint is acquired.
  • the reliability calculation unit 12 subtracts the plurality of joint angles ⁇ 21 and ⁇ 22 formed by the first member 211 and the second member 212 from the minimum joint angle ⁇ r2, and obtains the angle difference ( ⁇ r2-
  • the reliability is set lower as ( ⁇ 21) and ( ⁇ r2- ⁇ 22) are larger.
  • the reliability calculating unit 12 maintains the reliability at a predetermined high value when the bending angle of the joint 201 is equal to or larger than the minimum joint angle, and when the bending angle of the joint 201 is smaller than the minimum joint angle. , The reliability is set lower as the bend angle of the joint 201 becomes farther from the minimum joint angle.
  • the coordinate value integrating unit 14 generates an integrated coordinate value which is a coordinate value of a coordinate indicating the position of the target joint based on the plurality of joint coordinate values and the plurality of reliability values.
  • the integrated coordinate value can be calculated, for example, by a weighted average of a plurality of coordinate values using a plurality of reliability values as weights.
  • the integrated coordinate values are calculated in consideration of the reliability of the calculated coordinate values. Since the value is calculated, the accuracy of the integrated coordinate value can be improved. In other words, of the plurality of coordinate values based on the plurality of pieces of spatial information, the coordinate value of the position that cannot be used as a skeleton is not used, or the weight of the coordinate value of the position that cannot be used as a skeleton is reduced, so that the integrated coordinate value is reduced. The accuracy of the value can be improved.
  • the current spatial information is used, and the past spatial information (for example, the photographing information of the previous frame) is used. Since there is no data, integrated coordinate values can be immediately generated without waiting for detection or accumulation of photographing data.
  • the reference distance can be changed to an appropriate value based on the input information from the input unit 15.
  • the accuracy of the integrated coordinate value can be improved.
  • 1 ⁇ coordinate value integration system ⁇ 5 ⁇ spatial information generation unit, ⁇ 10 ⁇ coordinate value integration device, ⁇ 11 ⁇ skeleton coordinate value generation unit, ⁇ 12 ⁇ reliability calculation unit, ⁇ 13 ⁇ database unit, ⁇ 14 ⁇ coordinate value integration unit, ⁇ 15 ⁇ input unit, ⁇ 100 ⁇ human, ⁇ 101, 201, 301 ⁇ joint, ⁇ 101a, 201a, 301a ⁇ joint coordinate value based on first spatial information, ⁇ 101b, 201b, 301b ⁇ joint coordinate value based on second spatial information, ⁇ 111, 211, 311 ⁇ member (first member), 112, 212, 312 ⁇ member (second member), ⁇ joint angle, ⁇ r1 ⁇ maximum joint angle (limit joint angle), ⁇ r2 ⁇ maximum joint angle or minimum joint angle (limit joint angle), ⁇ r3 ⁇ minimum joint angle (limit joint angle) ), ⁇ 11, ⁇ 21, ⁇ 31 ⁇ joint angles based on the first spatial information, ⁇ 1 2, ⁇ 22, ⁇ 32 ⁇ joint angle based on second spatial information

Landscapes

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

Abstract

座標値統合装置(10)は、骨格の対象の関節の位置を示す、複数の空間情報に基づく複数の関節座標値と、対象の関節を介して連結された第1の部材及び第2の部材の位置を示す、複数の空間情報に基づく複数の第1の部材座標値及び複数の空間情報に基づく複数の第2の部材座標値を生成する骨格座標値生成部(11)と、予め決められた基準の骨格における、対象の関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報を格納するデータベース部(13)から限界関節角度を取得し、複数の第1の部材座標値と複数の第2の部材座標値とから第1の部材と第2の部材との成す複数の関節角度を計算し、限界関節角度と複数の関節角度との比較の結果に基づいて複数の関節座標値の複数の信頼度を計算する信頼度計算部(12)と、複数の関節座標値と複数の信頼度とに基づいて対象の関節の位置を示す統合座標値を生成する座標値統合部(14)とを有する。

Description

座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム
 本発明は、対象物の骨格の関節の位置を示す、複数の座標系における複数の座標値を統合することによって統合座標値を生成するための座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラムに関する。
 3次元空間中の対象物の骨格の位置を計測するためのモーションキャプチャ技術が、様々な分野で使用されている。対象物は、例えば、人、動物又は機械である。モーションキャプチャ技術では、対象物が存在する空間の情報は、空間情報取得装置によって取得される。空間情報取得装置は、例えば、深度センサ又はカメラを備えた装置である。
 しかし、1つの空間情報取得装置によって検出又は撮影することができる画角及び距離には制限がある。また、1つの空間情報取得装置によって対象物を検出又は撮影する場合には、障害物によって対象物の全体又は一部が隠れるオクルージョン(不可視部位)が発生し易い。
 そこで、複数の空間情報取得装置を用いることによって対象物の骨格の位置を計測するシステムが提案されている(例えば、非特許文献1参照)。このシステムでは、マイクロソフト社のKinect(登録商標)と呼ばれる装置が用いられている。このシステムでは、複数の空間情報取得装置から取得した複数の座標のずれを各空間情報取得装置の設置位置に基づいて補正した後に、対象物の骨格の位置を示す骨格情報を統合している。
宮武順平、外2名、「複数台のKinectを用いたモーションキャプチャの実現」、HAI(Human-Agent Interaction)シンポジウム 2016
 しかしながら、非特許文献1に示すシステムでは、骨格情報を統合するために、フレーム間のキャリブレーションと、各関節の1フレーム当たりの最大移動距離とを用いている。このため、最初のフレームでは、関節の位置の精度を向上することができないという課題がある。また、このシステムでは、過去のフレームにおける関節の位置が正確であることを前提にしている。このため、その過去のフレームにおける関節の位置が正確でない場合には、関節の位置を示す統合座標値の精度を向上することができないという課題がある。
 本発明は、座標値の統合によって生成された世界座標系における座標値の精度を向上させることができる座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラムを提供することを目的とする。
 本発明の一態様に係る座標値統合装置は、空間情報生成部によって現実の空間を検出又は撮影することで生成された、複数の座標系における複数の空間情報に基づいて、前記現実の空間に存在する対象物の骨格の対象の関節の位置を示す、前記複数の空間情報に基づく複数の関節座標値と、前記対象の関節を介して連結された第1の部材及び第2の部材の位置を示す、前記複数の空間情報に基づく複数の第1の部材座標値及び前記複数の空間情報に基づく複数の第2の部材座標値を生成する骨格座標値生成部と、予め決められた基準の骨格における、前記対象の関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報を格納するデータベース部から前記限界関節角度を取得し、前記複数の第1の部材座標値と前記複数の第2の部材座標値とから、前記第1の部材と前記第2の部材との成す複数の関節角度を計算し、前記限界関節角度と前記複数の関節角度との比較の結果に基づいて前記複数の関節座標値の確からしさの度合いを示す複数の信頼度を計算する信頼度計算部と、前記複数の関節座標値と前記複数の信頼度とに基づいて、前記対象の関節の位置を示す統合座標値を生成する座標値統合部と、を有することを特徴とする。
 本発明の他の態様に係る座標値統合システムは、現実の空間を検出又は撮影することで複数の座標系における複数の空間情報を生成する空間情報生成部と、座標値統合装置と、を有し、前記座標値統合装置は、前記現実の空間に存在する対象物の骨格の対象の関節の位置を示す、前記複数の空間情報に基づく複数の関節座標値と、前記対象の関節を介して連結された第1の部材及び第2の部材の位置を示す、前記複数の空間情報に基づく複数の第1の部材座標値及び前記複数の空間情報に基づく複数の第2の部材座標値を生成する骨格座標値生成部と、予め決められた基準の骨格における、前記対象の関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報を格納するデータベース部から前記限界関節角度を取得し、前記複数の第1の部材座標値と前記複数の第2の部材座標値とから、前記第1の部材と前記第2の部材との成す複数の関節角度を計算し、前記限界関節角度と前記複数の関節角度との比較の結果に基づいて前記複数の関節座標値の確からしさの度合いを示す複数の信頼度を計算する信頼度計算部と、前記複数の関節座標値と前記複数の信頼度とに基づいて、前記対象の関節の位置を示す統合座標値を生成する座標値統合部と、を有することを特徴とする。
 本発明の他の態様に係る座標値統合方法は、空間情報生成部によって現実の空間を検出又は撮影することで生成された、複数の座標系における複数の空間情報に基づいて、前記現実の空間に存在する対象物の骨格の対象の関節の位置を示す、前記複数の空間情報に基づく複数の関節座標値と、前記対象の関節を介して連結された第1の部材及び第2の部材の位置を示す、前記複数の空間情報に基づく複数の第1の部材座標値及び前記複数の空間情報に基づく複数の第2の部材座標値を生成するステップと、予め決められた基準の骨格における、前記対象の関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報を格納するデータベース部から前記限界関節角度を取得し、前記複数の第1の部材座標値と前記複数の第2の部材座標値とから、前記第1の部材と前記第2の部材との成す複数の関節角度を計算し、前記限界関節角度と前記複数の関節角度との比較の結果に基づいて前記複数の関節座標値の確からしさの度合いを示す複数の信頼度を計算するステップと、前記複数の関節座標値と前記複数の信頼度とに基づいて、前記対象の関節の位置を示す統合座標値を生成するステップと、を有することを特徴とする。
 本発明によれば、座標値の統合によって生成された統合座標値の精度を向上させることができる。
本発明の実施の形態に係る座標値統合システム及び座標値統合装置の構成を概略的に示す図である。 実施の形態に係る座標値統合装置のハードウェア構成の例を示す図である。 実施の形態に係る座標値統合システム及び座標値統合装置の動作を示すフローチャートである。 実施の形態における対象物としての人間とその主要な骨格を示す図である。 実施の形態に係る座標値統合装置の信頼度計算部の動作例(対象の関節が人間の膝である場合)を説明するための図である。 実施の形態に係る座標値統合装置の信頼度計算部の動作例(対象の関節が人間の膝である場合)を説明するための図である。 実施の形態における対象物としての人間とその主要な骨格を示す図である。 実施の形態に係る座標値統合装置の信頼度計算部の動作例(対象の関節が人間の肘である場合)を説明するための図である。 実施の形態に係る座標値統合装置の信頼度計算部の動作例(対象の関節が人間の肘である場合)を説明するための図である。 実施の形態における対象物としての機械とその主要な骨格を示す図である。 実施の形態に係る座標値統合装置の信頼度計算部の他の動作例(対象物が機械である場合)を説明するための図である。 実施の形態に係る座標値統合装置の信頼度計算部の他の動作例(対象物が機械である場合)を説明するための図である。
 以下に、本発明の実施の形態に係る座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラムを、図面を参照しながら説明する。以下の実施の形態は、例にすぎず、本発明の範囲内で種々の変更が可能である。
 図1は、本発明の実施の形態に係る座標値統合システム1及び座標値統合装置10の構成を概略的に示す図である。図1に示されるように、座標値統合システム1は、空間情報生成部5と、座標値統合装置10とを備えている。座標値統合システム1は、対象物の骨格の関節の位置を示す、複数の座標系における複数の座標値を統合することによって統合座標値を生成する。
 図1では、対象物として人間100が示されている。対象物は、少なくとも、1つの関節と、この関節によって連結された2つの部材とを有する。関節で連結される部材は、一般には、剛性の部材、すなわち、剛体である。ただし、関節で連結される部材は、必ずしも剛性の部材である必要はない。関節で連結する部材の各々は、複数の剛体の集合体であってもよい。複数の剛体の集合体は、例えば、複数の剛体が連結されることによって構成された部材である。対象物が人間である場合、関節で連結される1対の部材は、骨である。関節で連結される骨の各々は、複数の剛体の集合体であってもよい。対象物は、人間の全身であってもよい。また、対象物は、人間の身体の一部分であってもよい。対象物は、例えば、人間の手の平(すなわち、手首より先の部分)、人間の肩より先の部分、人間の上半身(すなわち、腰より上の部分)、又は人間の下半身(すなわち、腰より下の部分)であってもよい。
 関節は、ある部材が他の部材に対して回転できるように、部材と他の部材とを結合した結合部である。対象物は、ロボットアームなどのような機械であってもよい。対象物が機械である場合、関節はヒンジであってもよい。また、対象物は、人間以外の動物であってもよい。
 空間情報生成部5は、現実の空間を検出又は撮影することで複数の座標系における複数の空間情報を生成する。図1の例では、空間情報生成部5は、画像を撮影するカメラ2及びカメラ3を備えている。したがって、図1の例では、空間情報生成部5は、現実の空間を撮影することで2つの座標系における2つの空間情報を生成する。空間情報生成部5は、3台以上のカメラを備えてもよい。また、空間情報生成部5は、予め決められた赤外光パターンを投射する赤外光照射装置と、複数の赤外光カメラとを備えた装置であってもよい。
 空間情報生成部5は、カメラ2及びカメラ3の代わりに、現実の空間における物体までの距離を計測する2台以上のセンサを備えてもよい。センサは、例えば、深度センサである。
 空間情報生成部5は、現実の空間を検出又は撮影することで生成された互いに異なる複数の座標系における複数の空間情報を、共通の座標系における空間情報に変換する座標変換部4を備えている。図1の例では、複数の座標系は、2つの座標系である。2つの座標系は、カメラ2及びカメラ3に対応する。2つの座標系は、例えば、カメラ2及びカメラ3の設置位置及び撮影方向などによって決まる。座標変換部4は、複数の座標系の各々における座標の座標値を、世界座標系における座標の座標値に変換する。
 座標値統合装置10は、骨格座標値生成部11と、信頼度計算部12と、座標値統合部14とを備えている。また、座標値統合装置10は、データベース部13を備えている。データベース部13は、座標値統合装置10内に備えられる必要はなく、座標値統合装置10と通信できるように接続された外部の装置に備えられてもよい。また、座標値統合装置10は、ユーザ操作を受け付ける入力部15を備えてもよい。
 骨格座標値生成部11は、現実の空間に存在する対象物(例えば、人間100)の骨格の対象の関節(例えば、関節101)の位置を示す、複数の空間情報に基づく複数の関節座標値と、対象の関節によって連結された第1の部材(例えば、部材111)の位置を示す、複数の空間情報に基づく複数の第1の部材座標値と、対象の関節によって連結された第2の部材(例えば、部材112)の位置を示す、複数の空間情報に基づく複数の第2の部材座標値とを生成する。つまり、骨格座標値生成部11は、空間情報生成部5から取得した複数の空間情報に基づいて、対象物の骨格の状態をリアルタイムに認識する機能を持つ。
 図1の例では、骨格座標値生成部11は、カメラ2によって取得された第1の空間情報に基づく関節101の座標(X11,Y11,Z11)と、カメラ2によって取得された第1の空間情報に基づく第1の部材111の代表位置(例えば、中心位置)の座標(X12,Y12,Z12)と、カメラ2によって取得された第1の空間情報に基づく第2の部材112の代表位置(例えば、中心位置)の座標(X13,Y13,Z13)と、カメラ3によって取得された第2の空間情報に基づく関節101の座標(X21,Y21,Z21)と、カメラ3によって取得された第2の空間情報に基づく第1の部材111の代表位置(例えば、中心位置)の座標(X22,Y22,Z22)と、カメラ3によって取得された第2の空間情報に基づく第2の部材112の代表位置(例えば、中心位置)の座標(X23,Y23,Z23)とを生成する。(X11,Y11,Z11)、(X12,Y12,Z12)、(X13,Y13,Z13)、(X21,Y21,Z21)、(X22,Y22,Z22)、(X23,Y23,Z23)は、3次元直交座標系であるXYZ直交座標系における座標を示す。X11,X12,X21,X22,X31,X32の各々は、X軸方向の座標値を示す。Y11,Y12,Y21,Y22,Y31,Y32の各々は、Y軸方向の座標値を示す。Z11,Z12,Z21,Z22,Z31,Z32の各々は、Z軸方向の座標値を示す。
 空間情報生成部5と骨格座標値生成部11の機能は、市販されている公知のモーションキャプチャ装置によって実現可能である。具体的には、対象物の骨格の状態をリアルタイムに認識する機能は、例えば、マイクロソフト社のKinect(登録商標)と呼ばれる装置、リープモーション社のリープモーション(登録商標)コントローラ、などによって実現可能である。しかし、市販されている公知のモーションキャプチャ装置よりも、より高い精度の関節座標値を計測したいという要望がある。本実施の形態に係る座標値統合システム1によれば、統合座標値の精度を向上させることができる。
 データベース部13は、対象物の骨格に関する基準情報を格納する記憶装置である。対象物の骨格に関する基準情報は、予め準備されている。基準情報は、関節の曲がり角度の限界値である限界関節角度を示す情報を含む。基準情報は、例えば、通信部(図示せず)を介して外部から入力された情報、ユーザ操作によって入力された情報、計測機によって収集された情報、などである。基準情報は、複数種類の情報を含んでもよい。例えば、基準情報は、人間の年齢毎の関節の曲がり角度の限界値である限界関節角度を示す情報、人間の性別毎の関節の限界関節角度を示す情報、人間の身体部位毎の関節の限界関節角度を示す情報、などを含んでもよい。また、基準情報は、人間以外の互いに異なる動物毎の関節の限界関節角度を示す情報、複数の互いに異なるロボットアーム毎の関節の限界関節角度を示す情報を含んでもよい。
 データベース部13は、関節が曲がり角度の上限を有する関節である場合には、この関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報として、この関節に対応する関節の曲がり角度の最大値である最大関節角度を示す情報を格納する。例えば、人間の膝の関節の曲がり角度の最大値、すなわち、上限値は、膝の後ろ側の角度で約180度であると考えられる。つまり、人間の膝の関節は、膝の後ろ側の角度で約180度より大きい角度に曲がることは、通常は、あり得ない。したがって、データベース部13は、膝の関節の最大関節角度を示す情報として、例えば、180度を格納することができる。ここで、180度は例示にすぎず、最大関節角度は、対象の関節毎に、多くの実測データなどに基づいて決定されることが望ましい。
 また、データベース部13は、関節が曲がり角度の下限を有する関節である場合には、この関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報として、この関節に対応する関節の曲がり角度の最小値である最小関節角度を示す情報を格納する。例えば、人間の肘の関節の曲がり角度の最小値、すなわち、下限値は、約30度であると考えられる。つまり、人間の肘の関節は、肘の内側の角度で約30度より小さい角度に曲がることは、通常は、あり得ない。したがって、データベース部13は、肘の関節の最小関節角度を示す情報として、例えば、30度を格納することができる。ここで、30度は例示にすぎず、最小関節角度は、対象の関節毎に、多くの実測データなどに基づいて決定されることが望ましい。
 また、データベース部13は、人間の手首の関節の最小関節角度を示す情報として、例えば、90度を格納することができる。ここで、90度は例示にすぎず、手首の関節の最小関節角度は、多くの実測データなどに基づいて決定されることが望ましい。
 さらに、データベース部13は、人間の関節の限界関節角度として、1つの関節について、最小関節角度と最大関節角度の両方を格納することもできる。
 信頼度計算部12は、データベース部13から対象の関節の限界関節角度を示す情報を取得し、骨格座標値生成部11から第1の部材の位置を示す複数の第1の部材座標値と第2の部材の位置を示す複数の第2の部材座標値とを受け取る。信頼度計算部12は、複数の第1の部材座標値と複数の第2の部材座標値とから、第1の部材と第2の部材との成す複数の関節角度θ(例えば、後述する図5及び図6におけるθ11,θ12)を計算する。信頼度計算部12は、限界関節角度と、計算によって得られた複数の関節角度と、の比較の結果に基づいて複数の関節座標値の確からしさの度合いを示す複数の信頼度を計算する。
 信頼度計算部12は、対象の関節が曲がり角度の上限を有する関節である場合には、対象の関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報として、対象の関節に対応する関節の曲がり角度の最大値である最大関節角度を示す情報を取得する。この場合、信頼度計算部12は、モーションキャプチャなどによって計測された第1の部材と第2の部材との成す関節角度が、最大関節角度以下である場合(すなわち、限界関節角度の範囲内である場合)には、信頼度を予め決められた値(例えば、予め決められた高い値)に維持する。また、信頼度計算部12は、モーションキャプチャなどによって計測された第1の部材と第2の部材との成す関節角度が、最大関節角度を超えている場合(すなわち、限界関節角度の範囲外である場合)には、最大関節角度から離れれば離れるほど(すなわち、最大関節角度より大きい値になるほど)信頼度を低くする。言い換えれば、信頼度計算部12は、第1の部材と第2の部材との成す複数の関節角度から最大関節角度を減算して得られた角度差が大きいほど、信頼度を低く設定する。
 また、信頼度計算部12は、対象の関節が曲がり角度の下限を有する関節である場合には、対象の関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報として、対象の関節に対応する関節の曲がり角度の最小値である最小関節角度を示す情報を取得する。この場合、信頼度計算部12は、モーションキャプチャなどによって計測された第1の部材と第2の部材との成す関節角度が、最小関節角度以上である場合(すなわち、限界関節角度の範囲内である場合)には、信頼度を予め決められた値(例えば、予め決められた高い値)に維持する。また、信頼度計算部12は、モーションキャプチャなどによって計測された第1の部材と第2の部材との成す関節角度が、最小関節角度より小さい場合(すなわち、限界関節角度の範囲外である場合)には、最小関節角度から離れれば離れるほど(すなわち、最小関節角度より小さい値になるほど)信頼度を低くする。言い換えれば、信頼度計算部12は、最小関節角度から、第1の部材と第2の部材との成す複数の関節角度をそれぞれ減算して得られた角度差が大きいほど、信頼度を低く設定する。
 信頼度計算部12は、入力部15から入力された対象物としての人間の身長又は体重などの情報に基づく限界関節角度を用いてもよい。
 第1の部材と第2の部材とは、対象の関節によって互いに連結される任意の位置の部材の対である。第1の部材は、第2の部材より対象物の重心に近い位置の部材である。例えば、対象物が人間100である場合、第1の部材は、第2の部材より人間100の胴体の中心位置に近い部材である。図1の例では、対象の関節が関節101である場合には、第1の部材は部材111であり、第2の部材は部材112である。ただし、第1の部材と第2の部材との組み合わせは、図示された例に限定されない。
 図1の例では、信頼度計算部12は、カメラ2によって取得された第1の空間情報に基づく対象の関節101の関節座標値並びに第1の部材111及び第2の部材112の位置を示す第1の空間情報に基づく第1の部材座標値及び第2の部材座標値から、第1の部材111と第2の部材112との成す角度を示す第1の角度θ11(後述する図5で説明される。)を計算する。また、信頼度計算部12は、カメラ3によって取得された第2の空間情報に基づく対象の関節101の関節座標値並びに第1の部材111及び第2の部材112の位置を示す第2の空間情報に基づく第1の部材座標値及び第2の部材座標値から、第1の部材111と第2の部材112との成す角度を示す第2の角度θ12(後述する図6で説明される。)を計算する。つまり、第1の角度θ11は、第1の空間情報に基づく角度であり、第2の角度θ12は、第2の空間情報に基づく角度である。
 信頼度計算部12は、データベース部13から取得した限界関節角度θr1(後述する図4で説明される。)と第1の空間情報に基づく第1の角度θ11との比較の結果に基づいて、第1の空間情報に基づく対象の関節の座標値である第1の関節座標値の確からしさの度合いを示す信頼度R11を計算する。また、信頼度計算部12は、データベース部13から取得した限界関節角度θr1と第2の空間情報に基づく第2の角度θ12との比較の結果に基づいて、第2の空間情報に基づく対象の関節の座標値である第2の関節座標値の確からしさの度合いを示す信頼度R12を計算する。
 例えば、信頼度計算部12は、データベース部13から取得した限界関節角度θr1と第1の角度θ11との差、すなわち、差分値に応じて信頼度R11を計算し、データベース部13から取得した限界関節角度θr1と第2の角度θ12との差に応じて信頼度R12を計算する。
 限界関節角度θr1が最大関節角度である場合、信頼度計算部12は、(θ11-θr1)の値が大きいほど、信頼度R11を低く設定し、(θ12-θr1)の値が大きいほど、信頼度R12を低く設定することができる。つまり、信頼度計算部12は、第1の部材と第2の部材との成す関節角度が、最大関節角度以下である場合には、信頼度を予め決められた高い値(例えば、最大値)に維持し、第1の部材と第2の部材との成す関節角度が、最大関節角度を超えている場合には、最大関節角度から離れれば離れるほど、信頼度を低くする。
 また、限界関節角度θr1が最大関節角度である場合、信頼度計算部12は、(θ11-θr1)の値が予め決められた閾値を超えたときには、信頼度R11を値0に設定してもよい。また、限界関節角度θr1が最大関節角度である場合、信頼度計算部12は、(θ12-θr1)の値が予め決められた閾値を超えたときには、信頼度R12を値0に設定してもよい。
 限界関節角度θr1が最小関節角度である場合、信頼度計算部12は、(θr1-θ11)の値が大きいほど、信頼度R11を低く設定し、(θr1-θ12)の値が大きいほど、信頼度R12を低く設定することができる。つまり、信頼度計算部12は、第1の部材と第2の部材との成す関節角度が、最小関節角度以上である場合には、信頼度を予め決められた高い値(例えば、最大値)に維持し、第1の部材と第2の部材との成す関節角度が、最小関節角度より小さい場合には、最小関節角度から離れれば離れるほど、信頼度を低くする。
 また、限界関節角度θr1が最小関節角度である場合、信頼度計算部12は、(θr1-θ11)の値が予め決められた閾値を超えたときには、信頼度R11を値0に設定してもよい。また、限界関節角度θr1が最小関節角度である場合、信頼度計算部12は、(θr1-θ12)の値が予め決められた閾値を超えたときには、信頼度R12を値0に設定してもよい。
 座標値統合部14は、複数の関節座標値と複数の信頼度とに基づいて、対象の関節の位置を示す座標値である統合座標値を生成する。例えば、座標値統合部14は、複数の信頼度を重みとみなして、複数の関節座標値の重みつき平均値を計算し、重みつき平均値を統合座標値とすることができる。
 図2は、本実施の形態に係る座標値統合装置10のハードウェア構成の例を示す図である。座標値統合装置10及び座標変換部4は、コンピュータによって構成することができる。図2の例では、座標値統合装置10は、情報処理部としてのプロセッサであるCPU(Central Processing Unit)91と、プログラムを記憶する記憶部としてのメモリ92と、ハードディスクドライブ(HDD)などの記憶装置93とを備えている。
 メモリ92は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、などの半導体メモリである。メモリ92は、本実施の形態に係る座標値統合プログラムを記憶することができる。CPU91は、メモリ92に記憶されている座標値統合プログラムを実行することによって、図1に示される骨格座標値生成部11、信頼度計算部12、及び座標値統合部14の機能を実現することができる。また、CPU91は、メモリ92に記憶されている座標値統合プログラムを実行することによって、座標変換部4の機能を実現することもできる。
 図2において、データベース部13は、記憶装置93の一部であってもよい。
 なお、座標値統合装置10は、その機能の一部を専用のハードウェアで実現し、機能の他の一部をソフトウェア又はファームウェアで実現してもよい。例えば、座標値統合装置10の一部の機能を専用のハードウェアとしての処理回路で実現し、座標値統合装置10の他の機能をメモリ92に格納されたプログラムを実行するプロセッサであるCPU91で実現してもよい。
 図3は、本実施の形態に係る座標値統合システム1及び座標値統合装置10の動作を示すフローチャートである。図4は、本実施の形態における対象物としての人間100とその主要な骨格(対象の関節が人間の膝である場合)を示す図である。また、図5及び図6は、本実施の形態に係る座標値統合装置10の信頼度計算部12の動作例(対象の関節が人間の膝である場合)を説明するための図である。図7は、実施の形態における対象物としての人間100とその主要な骨格(対象の関節が人間の肘である場合)を示す図である。図8及び図9は、実施の形態に係る座標値統合装置10の信頼度計算部12の動作例(対象の関節が人間の肘である場合)を説明するための図である。
 ステップS11において、空間情報生成部5は、カメラ2及びカメラ3によって現実の空間を撮影して、第1の座標系における第1の空間情報と第2の座標系における第2の空間情報とを生成する。
 次のステップS12において、空間情報生成部5の座標変換部4は、第1の座標系における第1の空間情報と第2の座標系における第2の空間情報の各々を、座標変換によって共通の座標系である世界座標系における空間情報に変換する。つまり、座標変換部4は、第1の座標系における座標と第2の座標系における座標とを共通の座標系である世界座標に変換する。
 次のステップS13において、骨格座標値生成部11は、現実の空間に存在する対象物の骨格の対象の関節の位置を示す、複数の空間情報に基づく複数の関節座標値と、対象の関節を介して連結された第1の部材及び第2の部材の位置を示す、複数の空間情報に基づく複数の第1の部材座標値及び複数の空間情報に基づく複数の第2の部材座標値を生成する。例えば、現実の空間における対象の関節が図4における関節101であり、現実の空間における第1の部材及び第2の部材が図4における第1の部材111及び第2の部材112である場合には、対象の関節の位置を示す、複数の空間情報に基づく複数の関節座標値は、図5における点101aの座標(X11,Y11,Z11)の座標値と図6における点101bの座標(X12,Y12,Z12)の座標値である。また、この場合、第1の部材の位置を示す、複数の空間情報に基づく複数の第1の座標値は、図5における点111aの座標(X21,Y21,Z21)の座標値と図6における点111bの座標(X22,Y22,Z22)の座標値である。また、この場合、第2の部材の位置を示す、複数の空間情報に基づく複数の第2の座標値は、図5における点112aの座標(X31,Y31,Z31)の座標値と図6における点112bの座標(X32,Y32,Z32)の座標値である。ただし、第1の部材は、図4に示される第1の部材111に限らず、第2の部材は、図4に示される第2の部材112に限らない。第1の部材と第2の部材とは、他の関節で連結される他の部材の対であってもよい。
 また、現実の空間における対象の関節が図7における関節301であり、現実の空間における第1の部材及び第2の部材が図7における第1の部材311及び第2の部材312である場合には、対象の関節の位置を示す、複数の空間情報に基づく複数の関節座標値は、図8における点301aの座標(X41,Y41,Z41)の座標値と図9における点301bの座標(X42,Y42,Z42)の座標値である。また、この場合、第1の部材の位置を示す、複数の空間情報に基づく複数の第1の座標値は、図8における点311aの座標(X51,Y51,Z51)の座標値と図9における点311bの座標(X52,Y52,Z52)の座標値である。また、この場合、第2の部材の位置を示す、複数の空間情報に基づく複数の第2の座標値は、図8における点312aの座標(X61,Y61,Z61)の座標値と図9における点312bの座標(X62,Y62,Z62)の座標値である。ただし、第1の部材は、図7に示される第1の部材311に限らず、第2の部材は、図7に示される第2の部材312に限らない。第1の部材と第2の部材とは、他の関節で連結される他の部材の対であってもよい。
 次のステップS14において、信頼度計算部12は、データベース部13から予め決められた基準の骨格における対象の関節についての限界関節角度θr1を取得し、複数の第1の部材座標値と複数の第2の部材座標値とから、第1の部材(例えば、図4における111)と第2の部材(例えば、図4における112)との成す複数の関節角度を計算する。対象の関節について計算される複数の関節角度は、例えば、図5に示される第1の空間情報に基づく関節角度θ11、及び図6に示される第2の空間情報に基づく関節角度θ12である。また、対象の関節について計算される複数の関節角度の他の例は、図8に示される第1の空間情報に基づく関節角度θ31、及び図9に示される第2の空間情報に基づく関節角度θ32である。
 次のステップS15において、図4から図6に示される例では、信頼度計算部12は、限界関節角度θr1と複数の関節角度θ11,θ12との比較の結果に基づいて複数の関節座標値の確からしさの度合いを示す複数の信頼度を計算する。図7から図9に示される例では、信頼度計算部12は、限界関節角度θr3と複数の関節角θ31,θ32との比較の結果に基づいて複数の関節座標値の確からしさの度合いを示す複数の信頼度を計算する。
 例えば、信頼度計算部12は、図4から図6に示されるように、対象の関節が曲がり角度の上限を有する関節である場合には、対象の関節に対応する関節101の曲がり角度の限界値である限界関節角度を示す情報として、対象の関節に対応する関節101の曲がり角度の最大値である最大関節角度θr1を示す情報を取得する。この場合、信頼度計算部12は、第1の部材111と第2の部材112との成す複数の関節角度θ11,θ12から最大関節角度θr1を減算して得られた角度差(θ11-θr1),(θ12-θr1)が大きいほど、信頼度を低く設定する。つまり、信頼度計算部12は、対象の関節の曲がり角度が最大関節角度以下である場合には、信頼度を予め決められた高い値に維持し、対象の関節の曲がり角度が最大関節角度を超えている場合には、対象の関節の曲がり角度が最大関節角度から離れれば離れるほど信頼度を低く設定する。
 また、信頼度計算部12は、図7から図9に示されるように、対象の関節が曲がり角度の下限を有する関節である場合には、対象の関節に対応する関節301の曲がり角度の限界値である限界関節角度を示す情報として、対象の関節に対応する関節301の曲がり角度の最小値である最小関節角度θr3を示す情報を取得する。この場合、信頼度計算部12は、最小関節角度θr3から、第1の部材311と第2の部材312との成す複数の関節角度θ31,θ32をそれぞれ減算して得られた角度差(θr3-θ31),(θr3-θ32)が大きいほど、信頼度を低く設定する。つまり、信頼度計算部12は、対象の関節の曲がり角度が最小関節角度以上である場合には、信頼度を予め決められた高い値に維持し、対象の関節の曲がり角度が最小関節角度より小さい場合には、対象の関節の曲がり角度が最小関節角度から離れれば離れるほど信頼度を低く設定する。
 次のステップS16において、座標値統合部14は、複数の関節座標値と複数の信頼度とに基づいて、対象の関節の位置を示す座標の座標値である統合座標値を生成する。統合座標値は、例えば、複数の信頼度を重みとする複数の座標値の重みつき平均により計算できる。
 図10は、本実施の形態における対象物としての機械200とその主要な骨格を示す図である。また、図11及び図12は、本実施の形態に係る座標値統合装置10の信頼度計算部12の動作例(対象物が機械である場合)を説明するための図である。
 空間情報生成部5は、カメラ2及びカメラ3によって現実の空間を撮影して、第1の座標系における第1の空間情報と第2の座標系における第2の空間情報とを生成する。
 空間情報生成部5の座標変換部4は、第1の座標系における第1の空間情報と第2の座標系における第2の空間情報の各々を、座標変換によって共通の座標系である世界座標系における空間情報に変換する。
 骨格座標値生成部11は、現実の空間に存在する対象物の骨格の対象の関節(例えば、図10における関節201)の位置を示す、複数の空間情報に基づく複数の関節座標値(例えば、図11における位置201a及び図12における位置201b)と、対象の関節を介して連結された第1の部材(例えば、図10における関節211)及び第2の部材(例えば、図10における関節212)の位置を示す、複数の空間情報に基づく複数の第1の部材座標値(例えば、図11における位置211a及び図12における位置211b)及び複数の空間情報に基づく複数の第2の部材座標値(例えば、図11における位置212a及び図12における位置212b)を生成する。
 信頼度計算部12は、データベース部13から予め決められた同じ型の機械の基準の骨格における対象の関節についての限界関節角度θr2を取得し、複数の第1の部材座標値と複数の第2の部材座標値とから、第1の部材(例えば、図10における211)と第2の部材(例えば、図10における212)との成す複数の関節角度を計算する。対象の関節について計算される複数の関節角度は、例えば、図11に示される第1の空間情報に基づく関節角度θ21、及び図12に示される第2の空間情報に基づく関節角度θ22である。
 信頼度計算部12は、限界関節角度θr2と複数の関節角θ21,θ22との比較の結果に基づいて複数の関節座標値の確からしさの度合いを示す複数の信頼度を計算する。
 信頼度計算部12は、対象の関節が曲がり角度の上限を有する関節である場合には、対象の関節に対応する関節201の曲がり角度の限界値である限界関節角度を示す情報として、対象の関節に対応する関節201の曲がり角度の最大値である最大関節角度θr2を示す情報を取得する。この場合、信頼度計算部12は、第1の部材211と第2の部材212との成す複数の関節角度θ21,θ22から最大関節角度θr2を減算して得られた角度差(θ21-θr2),(θ22-θr2)が大きいほど、信頼度を低く設定する。つまり、信頼度計算部12は、関節201の曲がり角度が最大関節角度以下である場合には、信頼度を予め決められた高い値に維持し、関節201の曲がり角度が最大関節角度を超えている場合には、関節201の曲がり角度が最大関節角度から離れれば離れるほど信頼度を低く設定する。
 また、信頼度計算部12は、対象の関節が曲がり角度の下限を有する関節である場合には、対象の関節に対応する関節201の曲がり角度の限界値である限界関節角度を示す情報として、対象の関節に対応する関節201の曲がり角度の最小値である最小関節角度θr2を示す情報を取得する。この場合、信頼度計算部12は、最小関節角度θr2から、第1の部材211と第2の部材212との成す複数の関節角度θ21,θ22をそれぞれ減算して得られた角度差(θr2-θ21),(θr2-θ22)が大きいほど、信頼度を低く設定する。つまり、信頼度計算部12は、関節201の曲がり角度が最小関節角度以上である場合には、信頼度を予め決められた高い値に維持し、関節201の曲がり角度が最小関節角度より小さい場合には、関節201の曲がり角度が最小関節角度から離れれば離れるほど信頼度を低く設定する。
 座標値統合部14は、複数の関節座標値と複数の信頼度とに基づいて、対象の関節の位置を示す座標の座標値である統合座標値を生成する。統合座標値は、例えば、複数の信頼度を重みとする複数の座標値の重みつき平均により計算できる。
 以上に説明したように、本実施の形態に係る座標値統合システム1、座標値統合装置10、及び座標値統合方法によれば、計算された座標値の信頼度を考慮にいれて、統合座標値を計算するので、統合座標値の精度を向上させることができる。つまり、複数の空間情報に基づく複数の座標値の内の、骨格としてあり得ない位置の座標値を使用しない、又は、骨格としてあり得ない位置の座標値の重みを低くすることによって、統合座標値の精度を向上させることができる。
 また、本実施の形態に係る座標値統合システム1、座標値統合装置10、及び座標値統合方法では、現在の空間情報を用い、過去の空間情報(例えば、前フレームの撮影情報)を用いていないので、検出又は撮影データの蓄積を待たずに、即座に統合座標値を生成することができる。
 また、本実施の形態に係る座標値統合システム1、座標値統合装置10、及び座標値統合方法では、入力部15からの入力情報に基づいて基準距離を適切な値に変更することができるので、統合座標値の精度を向上させることができる。
 1 座標値統合システム、 5 空間情報生成部、 10 座標値統合装置、 11 骨格座標値生成部、 12 信頼度計算部、 13 データベース部、 14 座標値統合部、 15 入力部、 100 人間、 101,201,301 関節、 101a,201a,301a 第1の空間情報に基づく関節座標値、 101b,201b,301b 第2の空間情報に基づく関節座標値、 111,211,311 部材(第1の部材)、 112,212,312 部材(第2の部材)、 θ 関節の角度、 θr1 最大関節角度(限界関節角度)、 θr2 最大関節角度又は最小関節角度(限界関節角度)、 θr3 最小関節角度(限界関節角度)、 θ11,θ21,θ31 第1の空間情報に基づく関節角度、 θ12,θ22,θ32 第2の空間情報に基づく関節角度、 200 機械。

Claims (14)

  1.  空間情報生成部によって現実の空間を検出又は撮影することで生成された、複数の座標系における複数の空間情報に基づいて、前記現実の空間に存在する対象物の骨格の対象の関節の位置を示す、前記複数の空間情報に基づく複数の関節座標値と、前記対象の関節を介して連結された第1の部材及び第2の部材の位置を示す、前記複数の空間情報に基づく複数の第1の部材座標値及び前記複数の空間情報に基づく複数の第2の部材座標値を生成する骨格座標値生成部と、
     予め決められた基準の骨格における、前記対象の関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報を格納するデータベース部から前記限界関節角度を取得し、前記複数の第1の部材座標値と前記複数の第2の部材座標値とから、前記第1の部材と前記第2の部材との成す複数の関節角度を計算し、前記限界関節角度と前記複数の関節角度との比較の結果に基づいて前記複数の関節座標値の確からしさの度合いを示す複数の信頼度を計算する信頼度計算部と、
     前記複数の関節座標値と前記複数の信頼度とに基づいて、前記対象の関節の位置を示す統合座標値を生成する座標値統合部と、
     を有することを特徴とする座標値統合装置。
  2.  前記信頼度計算部は、
     前記対象の関節が曲がり角度の上限を有する場合には、前記対象の関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報として、前記対象の関節に対応する関節の曲がり角度の最大値である最大関節角度を示す情報を取得し、
     前記複数の関節角度が前記最大関節角度以下である場合には、前記信頼度を予め決められた値に維持し、
     前記複数の関節角度から前記最大関節角度を減算して得られた角度差が大きいほど、前記信頼度を低く設定する
     ことを特徴とする請求項1に記載の座標値統合装置。
  3.  前記信頼度計算部は、
     前記対象の関節が曲がり角度の下限を有する場合には、前記対象の関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報として、前記対象の関節に対応する関節の曲がり角度の最小値である最小関節角度を示す情報を取得し、
     前記複数の関節角度が前記最小関節角度以上である場合には、前記信頼度を予め決められた値に維持し、
     前記最小関節角度から前記複数の関節角度をそれぞれ減算して得られた角度差が大きいほど、前記信頼度を低く設定する
     ことを特徴とする請求項1又は2に記載の座標値統合装置。
  4.  前記座標値統合部は、前記複数の信頼度を重みとみなして、前記複数の関節座標値の重みつき平均値を計算し、前記重みつき平均値を前記統合座標値とすることを特徴とする請求項1から3のいずれか1項に記載の座標値統合装置。
  5.  前記第1の部材と前記第2の部材とは、前記対象の関節によって互いに連結される任意の位置の部材の対であることを特徴とする請求項1から4のいずれか1項に記載の座標値統合装置。
  6.  前記第1の部材及び前記第2の部材の各々は、1つの剛体、又は複数の剛体の集合体であることを特徴とする請求項1から5のいずれか1項に記載の座標値統合装置。
  7.  前記対象物は人間、機械、及び動物のいずれかであり、
     前記第1の部材は、前記第2の部材より前記対象物の重心に近い位置の部材である
     ことを特徴とする請求項1から6のいずれか1項に記載の座標値統合装置。
  8.  前記対象物は人間であり、
     前記第1の部材は、前記第2の部材より前記人間の胴体の中心位置に近い部材である
     ことを特徴とする請求項1から6のいずれか1項に記載の座標値統合装置。
  9.  前記データベース部をさらに有することを特徴とする請求項1から8のいずれか1項に記載の座標値統合装置。
  10.  前記データベース部に格納される前記限界関節角度を示す情報は、複数種類の情報を含み、
     前記信頼度計算部に前記対象物の種類を指定する指定情報が入力された場合に、前記信頼度計算部は、前記指定情報に基づいて、前記データベース部に格納される前記複数種類の情報から、前記複数の信頼度の計算に用いる前記限界関節角度を示す情報を選択する
     ことを特徴とする請求項1から9のいずれか1項に記載の座標値統合装置。
  11.  現実の空間を検出又は撮影することで複数の座標系における複数の空間情報を生成する空間情報生成部と、
     座標値統合装置と、
     を有し、
     前記座標値統合装置は、
     前記現実の空間に存在する対象物の骨格の対象の関節の位置を示す、前記複数の空間情報に基づく複数の関節座標値と、前記対象の関節を介して連結された第1の部材及び第2の部材の位置を示す、前記複数の空間情報に基づく複数の第1の部材座標値及び前記複数の空間情報に基づく複数の第2の部材座標値を生成する骨格座標値生成部と、
     予め決められた基準の骨格における、前記対象の関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報を格納するデータベース部から前記限界関節角度を取得し、前記複数の第1の部材座標値と前記複数の第2の部材座標値とから、前記第1の部材と前記第2の部材との成す複数の関節角度を計算し、前記限界関節角度と前記複数の関節角度との比較の結果に基づいて前記複数の関節座標値の確からしさの度合いを示す複数の信頼度を計算する信頼度計算部と、
     前記複数の関節座標値と前記複数の信頼度とに基づいて、前記対象の関節の位置を示す統合座標値を生成する座標値統合部と、
     を有することを特徴とする座標値統合システム。
  12.  前記空間情報生成部は、前記複数の座標系における前記複数の空間情報を取得する複数のセンサ又は複数のカメラを有することを特徴とする請求項11に記載の座標値統合システム。
  13.  空間情報生成部によって現実の空間を検出又は撮影することで生成された、複数の座標系における複数の空間情報に基づいて、前記現実の空間に存在する対象物の骨格の対象の関節の位置を示す、前記複数の空間情報に基づく複数の関節座標値と、前記対象の関節を介して連結された第1の部材及び第2の部材の位置を示す、前記複数の空間情報に基づく複数の第1の部材座標値及び前記複数の空間情報に基づく複数の第2の部材座標値を生成するステップと、
     予め決められた基準の骨格における、前記対象の関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報を格納するデータベース部から前記限界関節角度を取得し、前記複数の第1の部材座標値と前記複数の第2の部材座標値とから、前記第1の部材と前記第2の部材との成す複数の関節角度を計算し、前記限界関節角度と前記複数の関節角度との比較の結果に基づいて前記複数の関節座標値の確からしさの度合いを示す複数の信頼度を計算するステップと、
     前記複数の関節座標値と前記複数の信頼度とに基づいて、前記対象の関節の位置を示す統合座標値を生成するステップと、
     を有することを特徴とする座標値統合方法。
  14.  空間情報生成部によって現実の空間を検出又は撮影することで生成された、複数の座標系における複数の空間情報に基づいて、前記現実の空間に存在する対象物の骨格の対象の関節の位置を示す、前記複数の空間情報に基づく複数の関節座標値と、前記対象の関節を介して連結された第1の部材及び第2の部材の位置を示す、前記複数の空間情報に基づく複数の第1の部材座標値及び前記複数の空間情報に基づく複数の第2の部材座標値を生成する処理と、
     予め決められた基準の骨格における、前記対象の関節に対応する関節の曲がり角度の限界値である限界関節角度を示す情報を格納するデータベース部から前記限界関節角度を取得し、前記複数の第1の部材座標値と前記複数の第2の部材座標値とから、前記第1の部材と前記第2の部材との成す複数の関節角度を計算し、前記限界関節角度と前記複数の関節角度との比較の結果に基づいて前記複数の関節座標値の確からしさの度合いを示す複数の信頼度を計算する処理と、
     前記複数の関節座標値と前記複数の信頼度とに基づいて、前記対象の関節の位置を示す統合座標値を生成する処理と、
     をコンピュータに実行させることを特徴とする座標値統合プログラム。
PCT/JP2018/037198 2018-10-04 2018-10-04 座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム WO2020070857A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/037198 WO2020070857A1 (ja) 2018-10-04 2018-10-04 座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/037198 WO2020070857A1 (ja) 2018-10-04 2018-10-04 座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム

Publications (1)

Publication Number Publication Date
WO2020070857A1 true WO2020070857A1 (ja) 2020-04-09

Family

ID=70055321

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/037198 WO2020070857A1 (ja) 2018-10-04 2018-10-04 座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム

Country Status (1)

Country Link
WO (1) WO2020070857A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021124378A1 (ja) * 2019-12-16 2021-06-24

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013187862A (ja) * 2012-03-09 2013-09-19 Topcon Corp 画像データ処理装置、画像データ処理方法および画像データ処理用のプログラム
JP2015167008A (ja) * 2013-07-30 2015-09-24 キヤノン株式会社 姿勢推定装置、姿勢推定方法およびプログラム
JP2018013999A (ja) * 2016-07-21 2018-01-25 日本電信電話株式会社 姿勢推定装置、方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013187862A (ja) * 2012-03-09 2013-09-19 Topcon Corp 画像データ処理装置、画像データ処理方法および画像データ処理用のプログラム
JP2015167008A (ja) * 2013-07-30 2015-09-24 キヤノン株式会社 姿勢推定装置、姿勢推定方法およびプログラム
JP2018013999A (ja) * 2016-07-21 2018-01-25 日本電信電話株式会社 姿勢推定装置、方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HIRAFUJI, DAICHI ET AL.: "Configuration of Markerless Motion Capture Using Multiple Kinects . ITE Technical Report.", THE INSTITUTE OF IMAGE INFORMATION AND TELEVISION ENGINEERS, vol. 38, no. 33, 18 August 2014 (2014-08-18), pages 9 - 12 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021124378A1 (ja) * 2019-12-16 2021-06-24
JP7004873B2 (ja) 2019-12-16 2022-01-21 三菱電機株式会社 座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム

Similar Documents

Publication Publication Date Title
US20230004236A1 (en) Method and system for determining a correct reproduction of a movement
JP5393318B2 (ja) 位置姿勢計測方法及び装置
JP6025830B2 (ja) 3d走査用のセンサ位置決め
JP5746477B2 (ja) モデル生成装置、3次元計測装置、それらの制御方法及びプログラム
JP6271953B2 (ja) 画像処理装置、画像処理方法
JP6370038B2 (ja) 位置姿勢計測装置及び方法
WO2015098971A1 (ja) キャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラム
JP6444283B2 (ja) 姿勢判定装置
JP2008506953A5 (ja)
JP2012002761A (ja) 位置姿勢計測装置、その処理方法及びプログラム
JP6677522B2 (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP6985982B2 (ja) 骨格検出装置、及び骨格検出方法
US8428343B2 (en) VOXEL map generator and method thereof
JP5807290B2 (ja) 関節チェーンの運動を表わす情報決定のための自律的システム及び方法
JP6746050B2 (ja) キャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラム
JP2012123667A (ja) 姿勢推定装置および姿勢推定方法
JPWO2019146201A1 (ja) 情報処理装置、情報処理方法及び情報処理システム
KR101896827B1 (ko) 사용자 자세 추정 장치 및 방법
JP2016085602A (ja) センサ情報統合方法、及びその装置
Grewal et al. Autonomous wheelchair navigation in unmapped indoor environments
WO2020070857A1 (ja) 座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム
JP2018173882A (ja) 情報処理装置、方法、及びプログラム
WO2020070856A1 (ja) 座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム
WO2017057426A1 (ja) 投影装置、コンテンツ決定装置、投影方法、および、プログラム
JP6525179B1 (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: 18936216

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18936216

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP