WO2019230205A1 - 骨格検出装置、及び骨格検出方法 - Google Patents

骨格検出装置、及び骨格検出方法 Download PDF

Info

Publication number
WO2019230205A1
WO2019230205A1 PCT/JP2019/015628 JP2019015628W WO2019230205A1 WO 2019230205 A1 WO2019230205 A1 WO 2019230205A1 JP 2019015628 W JP2019015628 W JP 2019015628W WO 2019230205 A1 WO2019230205 A1 WO 2019230205A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
mirror surface
skeleton
mirror
image
Prior art date
Application number
PCT/JP2019/015628
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 株式会社日立製作所
Publication of WO2019230205A1 publication Critical patent/WO2019230205A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/543Depth or shape recovery from line drawings

Definitions

  • the present invention relates to a skeleton detection apparatus and a skeleton detection method.
  • the present invention claims the priority of Japanese Patent Application No. 2018-105050 filed on May 31, 2018, and for the designated countries where weaving by reference of documents is permitted, the contents described in the application are as follows: Is incorporated into this application by reference.
  • Patent Document 1 detects a human skeleton included in three-dimensional data acquired by a 3D sensor.
  • An object of the present invention is to reduce erroneous recognition of a real image in a skeleton detection device.
  • the present application includes a plurality of means for solving at least a part of the above-described problems, and examples thereof are as follows.
  • One embodiment of the present invention that solves the above problems is based on a skeleton estimation unit that detects human skeleton information from three-dimensional data obtained by imaging a person with an imaging unit, and human skeleton information obtained by the skeleton estimation unit.
  • Human body information generation unit for generating human body information
  • mirror image pair detection unit for detecting a mirror image pair composed of a real image and a virtual image of a person included in three-dimensional data using a plurality of human body information obtained by the human body information generation unit
  • a virtual image determination unit that determines a mirror image pair detected by the mirror image pair detection unit as a virtual image that is far from the imaging unit.
  • real image misrecognition can be reduced in a skeleton detection device.
  • human skeleton information is detected from three-dimensional data obtained by photographing a person by an imaging unit, and human body information is generated from the skeleton information. Then, by calculating the similarity of the generated human body information, a pair of a real image of a person included in the three-dimensional data and a virtual image that is a specular reflection of the real image is detected, and a person who is far from the imaging unit is a virtual image Judge.
  • FIG. 1 is a hardware configuration example of the skeleton detection apparatus 100 according to the first embodiment of the present invention.
  • the skeleton detection apparatus 100 of this embodiment includes a three-dimensional camera 701, a CPU (Central Processing Unit) 702, a ROM (Read Only Memory) 703, a RAM (Random Access Memory) 704, and the like. .
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the three-dimensional camera 701 is an imaging device that images an imaging target space where an imaging target such as a person exists and outputs three-dimensional data. Note that the output of the skeleton detection apparatus 100 may be human skeleton information described in detail later, or may be three-dimensional data.
  • the installation conditions of the three-dimensional camera 701 are measured in advance and input to the skeleton detection apparatus 100.
  • the installation conditions of the three-dimensional camera 701 include, for example, the height from the floor and the angle formed by the Z axis and the vertical axis of the XYZ camera coordinate system of the three-dimensional camera 701.
  • an operator who installs the three-dimensional camera 701 may actually measure, or a sensor for detecting the posture (orientation) of the camera is incorporated in the three-dimensional camera 701.
  • the angle formed between the Z axis and the vertical axis may be obtained using the output. Examples of the sensor that detects the posture include an acceleration sensor.
  • the height from the floor is the distance information from the floor obtained by the three-dimensional camera 701 and the Z axis and the vertical axis obtained from the acceleration sensor. It can be obtained from the angle formed by triangulation. Thereby, it is possible to obtain information for calculating the relationship between the camera coordinate system and the world coordinate system.
  • the CPU 702 executes a program stored in ROM 703 or RAM 704. Specifically, the function of each unit of the skeleton detection device 100 is realized by the CPU 702 executing the program.
  • the ROM 703 is a storage medium for storing programs executed by the CPU 702 and various parameters necessary for execution.
  • a RAM 704 is a storage medium for storing an image generated by the three-dimensional camera 701 and various information. The RAM 704 also functions as a temporary storage area for data used by the CPU 702.
  • the skeleton detection apparatus 100 can include a plurality of CPUs 702, ROMs 703, and RAMs 704.
  • the hardware configuration of the skeleton detection apparatus 100 is not limited to the configuration shown in FIG.
  • the three-dimensional camera 701 may be provided separately from the skeleton detection device 100.
  • the skeleton detection apparatus 100 may be realized using a general-purpose computer (for example, a server computer or a personal computer).
  • a plurality of computers can be connected via a network so that each computer can share the functions of each part of the skeleton detection apparatus 100.
  • one or more of the functions of the skeleton detection device 100 can be realized using dedicated hardware.
  • FIG. 2 is a block diagram illustrating a functional configuration example of the skeleton detection device 100 of the present embodiment.
  • the skeleton detection device 100 includes an imaging unit 110, a skeleton estimation unit 120, a human body information generation unit 103, a mirror image pair detection unit 104, and a virtual image determination unit 105.
  • the imaging unit 110 captures an imaging target space where an imaging target such as a person exists, and generates three-dimensional data including the person.
  • the three-dimensional data may be a still image of one frame or an image composed of a plurality of frames.
  • the three-dimensional data in the present embodiment is a distance image in which gradation information (for example, RGB) is given to each pixel arranged in three orthogonal directions.
  • the imaging unit 110 is realized by a three-dimensional camera 701.
  • the imaging unit 110 may be realized by the three-dimensional camera 701 and the CPU 702.
  • the functions of the skeleton estimation unit 120, the human body information generation unit 103, the mirror image pair detection unit 104, and the virtual image determination unit 105 other than the imaging unit 110 are realized by the CPU 702 executing a program.
  • the imaging unit 110 generates a distance image by, for example, a TOF (Time of Flight) method.
  • the imaging unit 110 is not limited to this, and other methods may be used as long as a distance image is generated.
  • a stereo camera system including two optical systems that perform imaging with visible light can be used.
  • FIG. 3 is a block diagram illustrating a functional configuration example of the imaging unit 110 according to the present embodiment.
  • the imaging unit 110 includes a control unit 111, a light source 112, a distance image sensor 113, a distance image generation unit 114, and a communication unit 115.
  • the control unit 111 controls the light source 112, the distance image sensor 113, the distance image generation unit 114, and the communication unit 115.
  • the control unit 111 instructs the light source 112 to irradiate light, instructs the distance image sensor 113 to generate phase difference information of irradiation light and reflected light, and instructs the distance image generation unit 114 to generate a distance image.
  • the communication unit 115 is instructed to transmit a distance image.
  • the control unit 111 can be realized by, for example, a microcomputer including a CPU and a RAM, or a dedicated hardware circuit.
  • the light source 112 irradiates light to an imaging target space where an imaging target such as a person exists.
  • the light source 112 can be realized by a device such as a light emitting diode and a semiconductor laser that irradiates infrared light.
  • the distance image sensor 113 receives reflected light from the imaging target space via an imaging lens (not shown), and for each pixel on the sensor, phase difference information and gradation information during irradiation and reception. And output.
  • the distance image sensor 113 can be configured, for example, by two-dimensionally arranging a plurality of light receiving elements that generate phase difference information and gradation information during irradiation and light reception.
  • the distance image generation unit 114 calculates the distance information for each pixel on the sensor, using the phase difference information for each pixel on the sensor output from the distance image sensor 113. Then, the distance image generation unit 114 generates a distance image in which the gradation information is associated with each pixel position arranged three-dimensionally based on the obtained gradation information and distance information of each pixel on the sensor. .
  • the distance image generation unit 114 extracts a target pixel for skeleton estimation from the distance image, and transmits a distance image in which the target pixel for skeleton estimation is marked to the skeleton estimation unit 120 via the communication unit 115.
  • the distance image generation unit 114 captures a distance image obtained when an imaging target such as a person exists in the imaging target space and an image of the same imaging target space when the imaging target does not exist. The difference of the distance information of the corresponding pixel from the obtained distance image is calculated.
  • the distance image generation unit 114 can extract a pixel whose distance information is not zero as a target pixel for skeleton estimation.
  • the distance image generation unit 114 may extract pixels whose distance is less than a predetermined value as target pixels for skeleton estimation.
  • a method of marking a target pixel for skeleton estimation for example, there is a method of setting gradation information and distance information of a pixel (background pixel) that is not a skeleton estimation target to a predetermined value (for example, “1”). Thereby, the distance image generation unit 114 can mark the target pixels of the skeleton estimation without changing the size of the distance image (which indicates the number of vertical and horizontal pixels, the same applies hereinafter).
  • the distance image generation unit 114 may reduce the data amount by performing a predetermined compression process on the output distance image.
  • the compression rate can be increased in a region where the background pixels are continuous.
  • the distance image generation unit 114 can be realized by, for example, a microcomputer including a CPU and a RAM, or a dedicated hardware circuit.
  • the communication unit 115 transmits the marked distance image output from the distance image generation unit 114 to the skeleton estimation unit 120.
  • the communication unit 115 can be realized by a standard serial interface such as USB (UniversalUniversSerial Bus).
  • the imaging unit 110 may have a function of processing a distance image by the three-dimensional camera 701, the CPU 702, or both. Examples of the method for processing the distance image include noise reduction and distortion correction.
  • the format of the distance image generated by the imaging unit 110 may be a format in which information such as luminance (gradation) is stored in a three-dimensional array, or the size of the remaining one axis in a two-dimensional array having two axes as addresses.
  • the stored format may be used.
  • the 3D array format is used, the gradation information of each pixel is stored at the address indicated by the corresponding position in the 3D array, and the distance information of each pixel is realized by the position on the 1D array in the 3D array. Is done.
  • the two-dimensional array format is used, the gradation information and distance information of each pixel are stored at the address indicated by the corresponding position in the two-dimensional array.
  • FIG. 4 is a block diagram illustrating a functional configuration example of the skeleton estimation unit 120.
  • the skeleton estimation unit 120 uses the distance image output from the imaging unit 110 to estimate the skeleton of a person included in the distance image.
  • the skeleton estimation unit 120 includes a feature amount calculation unit 121, a part identification unit 122, and a joint identification unit 123.
  • the feature amount calculation unit 121 calculates the feature amount of each pixel constituting the distance image output from the imaging unit 110.
  • the feature amount calculation unit 121 calculates a feature amount for each target pixel for skeleton estimation (hereinafter referred to as a target pixel).
  • a target pixel since a predetermined value is set for the background pixel as described above, the target pixel can be distinguished from the background pixel.
  • An existing technique can be used for the calculation method of the feature amount, and is not limited. For example, the difference in distance between the target pixel and its surrounding pixels may be used as the feature amount.
  • an 80-dimensional (two-dimensional array) feature amount vector having a difference in distance between the pixel of interest and each of the 80 pixels surrounding it from a rectangular area of 9 pixels vertically by 9 pixels horizontally centered on the pixel of interest Can be used.
  • the part identification unit 122 identifies a part to which each pixel of interest belongs (for example, a body part such as a head, an arm, a hand, a torso, or a joint is not included).
  • the method for identifying the part can use an existing technique and is not limited.
  • the part label of the target pixel may be acquired by inputting the feature quantity of the target pixel to a decision tree (discriminator) that associates the feature amount threshold with the part label.
  • the site label is a site identifier such as information indicating the type of each site.
  • the discriminator for example, a plurality of decision trees such as a random forest can be used, and the discriminator learned in advance may be stored in the ROM 703 provided in the skeleton detection device 100.
  • the joint identification unit 123 identifies the target joint position using the part label of each identified pixel of interest.
  • An existing technique can be used as the joint position identification method, and is not limited.
  • the center-of-gravity position (joint position candidate) may be acquired for each part that is the target pixel group to which the same part label is assigned.
  • the mean-shift method can be used to acquire the position of the center of gravity.
  • the joint label is an identifier indicating information on types of joints such as a neck joint, a wrist joint, and a shoulder joint.
  • the skeleton estimation unit 120 outputs the joint position information identified by the joint identification unit 123 to the human body information generation unit 103 as human skeleton information.
  • the human body information generation unit 103 generates each human body information from one or more human body skeleton information obtained from the skeleton estimation unit 120.
  • human body information for example, height, weight, age, relative position between joints (for example, a linear distance between joints), an angle formed by three joints (for example, a shoulder joint, an elbow joint, and a wrist joint), a three-dimensional camera 701 (imaging) Part 110) to a person.
  • the human body information generation unit 103 outputs the number of persons included in the imaging target space as human body information. Height, weight, and age can be estimated from, for example, the length of the skeleton and the surface area of the body.
  • FIG. 5 shows an example of an imaging target space where an imaging target such as a person exists.
  • the three-dimensional camera 701 images a person A, a person B, and a person C as a virtual image that the person A reflects on the mirror surface M.
  • FIG. 6 is a table illustrating an example of human body information generated by the human body information generation unit 103 when the imaging target space illustrated in FIG. 5 is captured by the three-dimensional camera 701. The number of persons output by the human body information generation unit 103 is “3”.
  • the human body information generation unit 103 uses the right shoulder-right elbow-right hand angle, left shoulder-left elbow-left hand angle, neck-right shoulder-right elbow, neck-left shoulder-left as human body information.
  • the distance between the elbow, head and neck, and the distance from the three-dimensional camera 701 to the person are generated.
  • the distance from the 3D camera 701 to the human body is, for example, the distance from the 3D camera 701 to the head of each person.
  • the human body information generation unit 103 assigns the same symmetry number to items that can be left-right symmetric among the generated human body information. For example, in the example shown in FIG.
  • the right shoulder-right elbow-right hand angle and the left shoulder-left elbow-left hand angle are symmetric in the left and right, so the same symmetry number “1” is given, and the neck—right shoulder— Since the right elbow angle and the neck-left shoulder-left elbow angle are also symmetrical on the left and right, the same symmetry number “2” is attached.
  • the mirror image pair detection unit 104 detects a mirror image pair included in the distance image when the number of persons output from the human body information generation unit 103 is two or more.
  • a mirror image pair is a set of a real image of a person and a virtual image formed by reflecting the real image.
  • the mirror image pair detection unit 104 detects a mirror image pair using the human body information output from the human body information generation unit 103.
  • the mirror image pair detection unit 104 calculates the similarity between the human body information of the first person and the human body information of the second person.
  • a similarity calculation formula in which a person with a smaller similarity is more similar a pair of mirror images is detected when the similarity is equal to or less than a predetermined threshold.
  • the pair is detected as a mirror image pair when the similarity is equal to or greater than a predetermined threshold.
  • the similarity between persons is, for example, a weighted sum of squares of differences between human body information of the same type as shown in Expression (1).
  • N is the number of types of human body information output by the human body information generation unit 103 excluding the distance to the human body
  • x k is a weight corresponding to the kth human body information
  • P 1 k is the kth human body information of the first person
  • P 2 k represents the k-th human body information of the second person.
  • the right shoulder-right elbow-right hand angle (121) with the symmetry number “1” of the person A and the left shoulder-left elbow-left hand are calculated.
  • Human body information of each item with the same symmetry number “1” of person B with respect to angle (169), ie, right shoulder-right elbow-right hand angle (160) and left shoulder-left elbow-left hand of person B The degree of similarity is calculated by exchanging the angle (100).
  • the human body information of each item marked with ", ie, the neck-right shoulder-right elbow angle (170) and the neck-left shoulder-left elbow angle (220) of person B are interchanged to calculate the similarity.
  • the mirror image pair detection unit 104 detects the person A and the person C as a mirror image pair.
  • the mirror image pair detection unit 104 attempts to detect a mirror image pair for all combinations of two persons among a plurality of detected persons. By calculating the similarity of a person based on human body information and detecting a mirror image pair, the processing amount can be reduced compared to a method of detecting a mirror image pair by pattern matching or the like directly from a distance image.
  • the virtual image determination unit 105 determines which of the mirror image pairs obtained by the mirror image pair detection unit 104 is a virtual image. The virtual image determination unit 105 determines that the one farther from the three-dimensional camera 701 (imaging unit 110) in the mirror image pair is a virtual image.
  • the distance between the three-dimensional camera 701 and the real image of the person A is D1
  • the distance between the three-dimensional camera 701 and the person C that is a virtual image of the person A is relative to the distance d21.
  • the distance D2 is obtained by adding the distance d22. That is, since the distance D2 between the three-dimensional camera 701 and the person C is a path due to reflection, it is always geometrically longer than the distance D1 between the three-dimensional camera 701 and the person A. Therefore, as described above, the virtual image determination unit 105 according to the present embodiment determines a mirror image pair having a farther distance from the three-dimensional camera 701 (imaging unit 110) as a virtual image. In the example of FIG. 6, since the distance to the human body is 150 for the person A and 250 for the person C, the virtual image determination unit 105 determines that the person C is a virtual image.
  • the virtual image determination unit 105 can determine a virtual image reflected two or more times from the correspondence relationship between a plurality of mirror image pairs. After determining the virtual image by the above method, the virtual image determination unit 105 determines that a person determined to be a virtual image in another mirror image pair is a virtual image.
  • FIG. 7 is an example of an imaging target space in which the person D is reflected twice.
  • FIG. 8 is a table showing an example of human body information generated by the human body information generation unit 103 when the imaging target space shown in FIG. 7 is captured by the three-dimensional camera 701.
  • the mirror image pair detection unit 104 detects the pair of person D and person E (first pair) and the pair of person E and person F (second pair) as a mirror image pair by the above method.
  • the virtual image determination unit 105 first refers to the distance from the three-dimensional camera 701 to each person and determines the person E as a virtual image reflected by the person D for the first pair.
  • the distance between the 3D camera 701 and the person D is a distance D3
  • the person F is determined to be a virtual image reflected by the person E.
  • the distance between the three-dimensional camera 701 and the person E is a distance D4
  • D5> D4 is always satisfied, the person F can be determined as a virtual image.
  • the virtual image determination unit 105 determines that the person F is a virtual image reflected by the person D twice.
  • the example which reflected twice was demonstrated here, the same method can be used also when reflected three times or more.
  • the mirror image pair detection unit 104 detects a set of the virtual image and the real image reflected from the mirror surface, and the virtual image determination unit 105 converts the virtual image from the detected virtual image and real image pair. Judgment can be made. Thereby, human skeleton information of only a real image can be detected from the distance image output from the three-dimensional camera 701, and erroneous recognition of a person included in the imaging target space can be reduced.
  • the virtual image may be deleted from the distance image, or may be used by highlighting it after specifying it as a virtual image.
  • the virtual image determination unit 105 excludes the virtual image from the recognition target of the person included in the imaging target space by determining the virtual image of the mirror image pair obtained by the mirror image pair detection unit 104. It was.
  • the mirror surface position is detected from the mirror image pair obtained by the mirror image pair detection unit 104, and the distance image located behind the mirror surface position, that is, the mirror surface position is viewed from the three-dimensional camera 701. The far-distance image is removed. As a result, unnecessary portions are deleted in advance from the distance image obtained from the imaging unit 110, so that the processing load on the skeleton estimation unit 120 can be reduced.
  • FIG. 9 is a block diagram showing a functional configuration example of the present embodiment.
  • the second embodiment will be described below with reference to FIG.
  • symbol is attached
  • the skeleton detection apparatus 100 includes a specular candidate point calculation unit 201, a specular candidate point storage unit 202, a specular estimation unit 203, a specular storage unit 204, and a virtual image removal unit 205. It has.
  • the virtual image removal unit 205 displays a distance image of an area farther (back side) than the mirror surface position stored in the mirror surface storage unit 204 when viewed from the three-dimensional camera 701. The distance image that has been removed and part of the distance image is removed is output to the skeleton estimation unit 120.
  • the virtual image removal unit 205 outputs the input distance image to the skeleton estimation unit 120 without processing. Since all the distance images in the region far from the mirror surface position are virtual image data and do not need to perform skeleton detection, the processing amount of the skeleton estimation unit 120 is reduced by removing the distance image in the region far from the mirror surface position. be able to. Further, since the skeleton detection of the virtual image is eliminated, the processing amount of the human body information generation unit 103, the mirror image pair detection unit 104, and the virtual image determination unit 105 can be reduced.
  • the skeleton estimation unit 120 uses the distance image partially removed by the virtual image removal unit 205 to detect human skeleton information from the distance image. Estimate the human skeleton. That is, when the mirror surface position is stored in the mirror surface storage unit 204, the skeleton estimation unit 120 outputs human skeleton information of only a real image. Thereby, human skeleton information of only a real image can be detected from the distance image output from the three-dimensional camera 701, and erroneous recognition of a person included in the imaging target space can be reduced.
  • the skeleton estimation unit 120 uses the distance image output without being processed in the virtual image removal unit 205, and uses the distance image to calculate the human body skeleton information.
  • the human skeleton is estimated by detecting. That is, when the specular position is not stored in the specular storage unit 204, the skeleton estimation unit 120 outputs the human skeleton information of the real image and the virtual image as in the first embodiment.
  • the human body information generation unit 103 generates human body information from the human body skeleton information output from the skeleton estimation unit 120, and the mirror image pair detection unit 104 is output from the human body information generation unit 103.
  • the mirror image pair is detected from the human body information, and the virtual image determination unit 105 determines the virtual image of the mirror image pair.
  • the mirror surface candidate point calculation unit 201 uses the mirror image pair output from the mirror image pair detection unit 104 to calculate the position of the point candidate constituting the mirror surface.
  • FIG. 10 is a diagram showing the position of the mirror surface candidate point C1.
  • the mirror surface candidate point calculation unit 201 calculates a vertical bisector M1 of a line segment connecting the joint R1p of the real image R1 and the joint V1p of the virtual image V1.
  • the joint R1p and the joint V1p are the same type of joint when there is no left and right, and the right and left are joints when left and right.
  • the perpendicular bisector M1 is a plane that passes through the midpoint B1 of the joint R1p and the joint V1p, and is a plane that is perpendicular to the line segment that connects the joint R1p and the joint V1p. The intersection of this plane, a line segment connecting the three-dimensional camera 701 and the joint V1p is calculated as the position of the mirror surface candidate point C1.
  • the origin of the position of the mirror surface candidate point C1 may be the position of the three-dimensional camera 701, or may be another position. For example, the position of the mirror surface candidate point C1 calculated first may be used as the origin.
  • FIG. 10 shows an example in which the mirror surface candidate point C1 is obtained by using the head as the joint R1p and the joint V1p.
  • a set of other joints included in the real image and the virtual image for example, the right side of the real image
  • Mirror surface candidate points C2, C3, C4, C5, etc. for elbow joint and virtual left elbow joint, real right shoulder joint and virtual left shoulder joint, real image and virtual hip joint, etc. Is calculated.
  • the description will proceed assuming that five mirror surface candidate points C1, C2, C3, C4, and C5 (hereinafter referred to as C1 to C5) have been calculated.
  • the method for calculating the specular candidate point is not limited to the above method, and any other calculation method may be used as long as the specular candidate point is calculated using two corresponding points in the mirror image pair.
  • the mirror surface candidate point storage unit 202 stores the absolute positions of the mirror surface candidate points C1 to C5 obtained by the mirror surface candidate point calculation unit 201.
  • the mirror surface candidate point storage unit 202 has, for example, a ring buffer inside and stores the positions of the mirror surface candidate points C1 to C5.
  • the ring buffer is a buffer in which the front end and the end of the buffer are connected and used in a circular manner. By using the ring buffer, the oldest mirror surface candidate point can be updated to a new mirror surface candidate point.
  • the mirror surface estimation unit 203 estimates a mirror surface.
  • the specular estimation unit 203 obtains a candidate plane from the plurality of specular candidate points C1 to C5 accumulated in the specular candidate point storage unit 202 by, for example, the least square method.
  • the mirror surface estimation unit 203 includes all the points at which the distance between the obtained plane candidate and each mirror surface candidate point C1 to C5 is the minimum, that is, all the vertical projection points for the plane candidates of each mirror surface candidate point C1 to C5, The minimum polygonal surface where the internal angles at all vertices are 180 ° or less is estimated as a mirror surface. For example, when the vertical projection points Ca1 to Ca5 corresponding to the mirror surface candidate points C1 to C5 are distributed as shown in FIG.
  • the polygonal surface indicated by the solid line in FIG. 11 is estimated as the mirror surface.
  • the internal angle ⁇ 3 at the vertex Ca3 exceeds 180 °, so the vertical projection point Ca3 has a mirror surface. It is not selected as one of the constituent vertices.
  • the mirror surface candidate point is calculated using the mirror image pair output from the mirror image pair detection unit 104, and the mirror surface is estimated using a plurality of mirror surface candidate points, so that the mirror surface is estimated by simple arithmetic processing. Can do.
  • the mirror surface storage unit 204 stores the mirror surface estimated by the mirror surface estimation unit 203 and outputs the stored mirror surface to the virtual image removal unit 205.
  • the mirror surface storage unit 204 stores, for example, the coordinates of each vertex of the mirror surface. By storing the mirror surface, the mirror surface estimation unit 203 does not need to perform mirror surface estimation (for each frame) at the sampling period of the imaging unit 110, and the number of processing times of the mirror surface estimation unit 203 can be reduced.
  • mirror surface estimation may be performed for each frame imaged by the imaging unit 110, and the mirror surface position may be sequentially updated. Further, mirror surface estimation may be performed for a predetermined number of frames, and a statistical value (for example, an average value) of the mirror surface position estimated for each frame may be stored in the mirror surface storage unit 204.
  • the skeleton estimation unit 120, the human body information generation unit 103, the mirror image pair detection unit 104, and the virtual image determination unit are estimated by estimating the mirror surface from the relationship between the mirror image pairs and removing the distance image behind the mirror surface.
  • the processing amount of 105 can be reduced.
  • the third embodiment has a configuration in which the distance image of the region behind the mirror surface obtained from the mirror surface estimation unit 203 is folded and overlapped with the mirror surface as a symmetry plane.
  • the mirror image superimposing unit 301 the virtual image and the real image are superimposed, and the portion that does not appear in the real image can be supplemented with the virtual image, so that the estimation accuracy of the skeleton estimation unit 120 can be improved.
  • FIG. 12 is a block diagram illustrating a functional configuration example of the present embodiment.
  • the third embodiment will be described with reference to FIG.
  • symbol is attached
  • the skeleton detection apparatus 100 includes a mirror image superimposing unit 301 instead of the virtual image removing unit 205 shown in the second embodiment.
  • the mirror image superimposing unit 301 generates a superimposed image (corresponding to the superimposed three-dimensional data of the present invention) in which the virtual image reflected on the mirror surface of the distance image output from the imaging unit 110 is superimposed on the real image.
  • the mirror image superimposing unit 301 is plane symmetric when a distance image of a region farther (back side) than the mirror surface position stored in the mirror surface storage unit 204 as viewed from the imaging unit 110 is a mirror surface. The distance image in the region farther (back side) than the mirror surface position before mapping is deleted.
  • mapping if there is already real image distance image data at a plane-symmetrical position, the real image distance image data is left as it is without mapping (virtual image distance image data is deleted).
  • the blind spot of the three-dimensional camera 701 is obtained.
  • the range image data of the person in the range can be superimposed on the real range image.
  • an image of the person E an image on the back side of the person D
  • the common part between the real image and the virtual image is You can avoid overlapping.
  • the mirror image is mapped in order from the mirror surface having the highest number of reflections.
  • a distance image in a region deeper than the mirror surface Mb is mapped to a position that is plane symmetric when the mirror surface Mb is a symmetric surface.
  • the distance image of the area deeper than the mirror surface Ma is mapped to a position that is plane-symmetric when the mirror surface Ma is a symmetry plane.
  • the skeleton estimation unit 120 detects human skeleton information from the superimposed image generated by the mirror image superimposing unit 301.
  • the estimation accuracy of the skeleton estimation unit 120 can be improved by superimposing the virtual image and the real image. Since the virtual image reflected on the mirror surface includes a distance image of a region that does not include the real image, it is synonymous with imaging from a plurality of directions, and the information amount of the distance image used for skeleton estimation can be increased.
  • the fourth embodiment has a configuration in which a function of deleting or correcting the mirror surface position stored in the mirror surface storage unit 204 is added to the second embodiment.
  • FIG. 13 is a block diagram illustrating a functional configuration example of the present embodiment.
  • the fourth embodiment will be described below with reference to FIG.
  • symbol is attached
  • the skeleton detection apparatus 100 includes a mirror surface output unit 401 and a mirror surface information input unit 402 in addition to the functions shown in the second embodiment.
  • the mirror surface output unit 401 (corresponding to the mirror surface presentation unit of the present invention) outputs the mirror surface position stored in the mirror surface storage unit 204.
  • the mirror output unit 401 displays the mirror position on the display 801 as an image.
  • FIG. 14 shows a display example of the mirror position on the display 801.
  • the mirror output unit 401 displays an image 803 on a display screen 802 included in the display 801.
  • An image 803 is an image obtained by superimposing a specular image 804 generated using a specular position stored in the specular storage unit 204 on a distance image generated by the imaging unit 110.
  • the image 803 is a two-dimensional image obtained by viewing a distance image including the mirror image 804 from an arbitrary viewpoint.
  • the mirror surface output unit 401 may be configured to output the mirror surface position as binary format data.
  • the skeleton detection apparatus 100 includes a communication unit with the outside.
  • the communication means is, for example, a communication device such as Ethernet or USB (Universal Serial ⁇ ⁇ ⁇ Bus).
  • the mirror surface output unit 401 communicates with an external device through communication means, and outputs the mirror surface position as binary format data.
  • the binary format data includes at least three-dimensional position information of the specular vertices.
  • the specular information input unit 402 receives an input from the user as to whether or not the specular image 803 displayed on the display 801 by the specular output unit 401 is correct. Further, when the mirror image 803 is not correct, the mirror surface information input unit 402 issues an instruction to delete or correct a mirror surface position stored in the mirror surface storage unit 204 and a mirror surface candidate point stored in the mirror surface candidate point storage unit 202. Accept input.
  • the mirror surface information input unit 402 receives an input via an input device such as a keyboard, a mouse, and a touch panel.
  • the mirror surface information input unit 402 may use a combination of a plurality of these input devices. Further, the mirror surface information input unit 402 may accept an input via a communication means with the outside. Specifically, the mirror surface information input unit 402 may accept an input from an external input device via Ethernet or the like.
  • the mirror surface information input unit 402 When the mirror surface information input unit 402 receives an input indicating that the mirror surface image 803 is correct or receives no input, the mirror surface information stored in the mirror surface storage unit 204 and the mirror surface candidate point storage unit 202 are input. No processing is performed on the saved specular candidate points. On the other hand, when the mirror surface information input unit 402 receives an input indicating that the mirror image 803 is not correct, the mirror surface position stored in the mirror surface storage unit 204 and the mirror surface candidate point stored in the mirror surface candidate point storage unit 202 An input of at least one deletion instruction or correction instruction is accepted.
  • the mirror surface information input unit 402 simply receives an input indicating that the mirror surface image 803 is not correct, the mirror surface position and all mirror surface candidate points stored in the mirror surface storage unit 204 are deleted, and the mirror surface candidate points are stored. The calculation is performed again.
  • the specular estimation unit 203 corrects the specular position.
  • the specular position correction instruction includes, for example, deletion of the specular vertex, correction of the specular vertex position, and addition of the specular vertex.
  • a mirror surface vertex is deleted, one or more mirror surface candidate points are deleted in order of distance from the vertex, and the mirror surface estimation unit 203 excludes the deleted mirror surface candidate point and performs mirror surface estimation again.
  • the specular surface estimation unit 203 stored in the candidate point storage unit 202 performs specular surface estimation again including the newly stored specular surface candidate points. Further, when a mirror surface vertex is added, a mirror surface candidate point at the same position as the newly added vertex position is stored in the mirror surface candidate point storage unit 202, and the mirror surface estimation unit 203 is newly stored. The mirror surface is estimated again including the mirror surface candidate points.
  • the wrong mirror surface can be deleted or corrected.
  • the mirror surface can be correctly estimated without turning off the power. Thereby, the distance image of the area
  • the fifth embodiment has a configuration in which a function of deleting or correcting the mirror surface position stored in the mirror surface storage unit 204 is added to the third embodiment, similarly to the fourth embodiment. Thereby, in the mirror surface estimation part 203, when an incorrect mirror surface is estimated, it becomes possible to delete or correct.
  • FIG. 15 is a block diagram showing a functional configuration example of the present embodiment.
  • the fifth embodiment will be described with reference to FIG.
  • symbol is attached
  • the skeleton detection apparatus 100 includes a mirror surface output unit 401 and a mirror surface information input unit 402 in addition to the functions shown in the third embodiment. Functions and specific configurations of the mirror surface output unit 401 and the mirror surface information input unit 402 in the fifth embodiment are the same as those in the fourth embodiment.
  • the wrong mirror surface can be deleted or corrected.
  • the mirror surface can be correctly estimated without turning off the power. Thereby, it is possible to appropriately superimpose a distance image in a region deeper than the mirror surface position on the real image side.
  • the sixth embodiment is a configuration that can appropriately remove the distance image in the region behind the mirror surface even when the mirror surface moves. Thereby, for example, even when the mirror surface is formed on the door and the mirror surface is moved by opening and closing the door, it is possible to appropriately remove the distance image in the region behind the mirror surface.
  • FIG. 16 is a block diagram showing a functional configuration example of the present embodiment.
  • the sixth embodiment will be described below with reference to FIG.
  • symbol is attached
  • the skeleton detection apparatus 100 includes a mirror movement information input unit 501 in addition to the functions shown in the fourth embodiment.
  • the virtual image removal unit 504 of the sixth embodiment calculates the current position of the moving mirror surface from the mirror surface movement information output by the mirror surface movement information input unit 501 and the mirror surface position information output by the mirror surface storage unit 503. Then, the distance image in the region behind the mirror surface position is removed.
  • Mirror surface movement information input unit 501 accepts input of mirror surface movement information.
  • the movement information of the mirror surface is, for example, the parallel movement amount of the mirror surface or the rotation angle of the mirror surface.
  • a linear scale or the like is provided along the parallel movement axis of the mirror surface, and the mirror surface movement information input unit 501 sends the signal output from the linear scale to the mirror surface.
  • a rotary encoder or the like is provided for the rotation axis of the mirror surface, and the mirror surface movement information input unit 501 uses the signal output from the rotary encoder as the rotation angle information of the mirror surface.
  • the mirror surface movement information input unit 501 uses the signal output from the rotary encoder as the rotation angle information of the mirror surface.
  • the rotary encoder is provided for the rotation angle information of the mirror surface.
  • the mirror surface information input unit 502 has a function of receiving an input of the parallel movement axis of the mirror surface or the rotation surface of the mirror surface and outputting it to the subsequent stage.
  • the mirror surface information input unit 502 receives the values of each element of the mirror translation axis or the mirror rotation axis via an input device such as a keyboard, for example.
  • the mirror surface storage unit 503 stores and outputs the mirror surface position information.
  • the mirror surface position information includes a mirror surface position estimated by the mirror surface estimation unit 203 and a mirror surface translation axis or a mirror surface rotation axis received by the mirror surface information input unit 502.
  • the parallel movement axis of the mirror surface is, for example, a three-dimensional space unit vector.
  • the virtual image removing unit 504 determines the translation amount received by the mirror surface movement information input unit 501 with respect to the three-dimensional space unit vector output from the mirror surface storage unit 503.
  • the multiplied vector is added to each pixel of the mirror surface output by the mirror surface storage unit 503 to perform parallel movement of the mirror surface.
  • the mirror rotation axis is, for example, arbitrary coordinates on the rotation axis and a three-dimensional space unit vector.
  • the virtual image removing unit 504 uses the Rodriguez rotation formula with the three-dimensional space unit vector output from the mirror surface storage unit 503 as the rotation axis and the arbitrary coordinates of the mirror surface as the origin, and the mirror surface movement information The mirror surface is rotated by the amount of rotation accepted by the input unit 501.
  • the virtual image removing unit 504 outputs the mirror surface output from the mirror surface storage unit 503 from the mirror surface movement information input unit 501.
  • the mirror surface rotated by the rotation angle of the mirror surface is calculated.
  • the virtual image removing unit 504 for example, when the mirror surface is formed of a glass door or the like and is a mirror surface that moves in parallel by opening and closing the glass door, the mirror surface output from the mirror surface storage unit 503 is used as the mirror surface movement information input unit.
  • the mirror surface translated by the translation amount output from 501 is calculated.
  • the virtual image removal unit 504 removes the distance image in the region behind the mirror surface in the same manner as the virtual image removal unit 205 in the second embodiment.
  • the mirror surface position can be correctly estimated, and the distance image in the region deeper than the mirror surface position can be appropriately removed.
  • the seventh embodiment has a configuration in which a distance image in an area deeper than the mirror surface can be appropriately superimposed on the real image side even when the mirror surface moves. Thereby, for example, even when the mirror surface is formed on the door and the mirror surface is moved by opening and closing the door, it is possible to appropriately superimpose the distance image of the area behind the mirror surface on the real image side.
  • FIG. 17 is a block diagram illustrating a functional configuration example of the present embodiment.
  • the seventh embodiment will be described below with reference to FIG.
  • symbol is attached
  • the skeleton detection apparatus 100 includes a mirror movement information input unit 501 as in the sixth embodiment, in addition to the functions shown in the fifth embodiment.
  • the mirror image superimposing unit 505 of the seventh embodiment calculates the current position of the moving mirror surface from the mirror surface movement information output from the mirror surface movement information input unit 501 and the mirror surface position information output from the mirror surface storage unit 503. Then, the distance image of the area deeper than the mirror surface position is superimposed on the real image side.
  • the functions and specific configurations of the mirror surface movement information input unit 501, the mirror surface information input unit 502, and the mirror surface storage unit 503 of the seventh embodiment are the same as those of the sixth embodiment.
  • the mirror image superimposing unit 505 outputs, for example, the mirror surface output from the mirror surface storage unit 503 from the mirror surface movement information input unit 501 when the mirror surface is formed of a glass door or the like and is rotated by opening and closing the glass door. The mirror surface rotated by the rotation angle of the mirror surface is calculated.
  • the mirror image superimposing unit 505 for example, when the mirror surface is formed of a glass door or the like and moves in parallel by opening and closing of the glass door, the mirror surface output from the mirror surface storage unit 503 is used as the mirror surface movement information input unit.
  • the mirror surface translated by the translation amount output from 501 is calculated.
  • the mirror image superimposing unit 505 maps and superimposes the distance image in the area behind the mirror surface on the real image side, like the mirror image superimposing unit 301 in the third embodiment.
  • the seventh embodiment even when the mirror surface moves, it is possible to correctly estimate the mirror surface position, and it is possible to appropriately superimpose a distance image in a region deeper than the mirror surface position on the real image side.
  • the eighth embodiment is a skeleton detection system including a plurality of skeleton detection devices.
  • FIG. 18 is a block diagram illustrating an example of a functional configuration of each skeleton detection device constituting the skeleton detection system of the present embodiment.
  • Each skeleton detection device constituting the skeleton detection system according to the present embodiment includes a human body information input / output unit 601 in addition to the functions shown in the second embodiment.
  • symbol is attached
  • the human body information input / output unit 601 (corresponding to the human body information input unit of the present invention) is configured to be communicable with another skeleton detection device via a network such as Ethernet, and is output from the other skeleton detection device.
  • the human body information is received and the human body information is output to another skeleton detection device.
  • the human body information input / output unit 601 outputs the human body information output by the human body information generation unit 602 to the human body information input / output unit 601 of one or more other skeleton detection devices specified in advance.
  • the human body information input / output unit 601 receives input of human body information output from the human body information input / output unit 601 of one or more other skeleton detection devices, and inputs the received human body information to the human body information generation unit 602. To do. That is, the human body information generated by each of the linked skeleton detection devices is shared between the skeleton detection devices.
  • the human body information generation unit 602 calculates the distance to the person imaged by the skeleton detection apparatus to which the human body information belongs, using the human body skeleton information output from the skeleton estimation unit 120, and inputs the human body information via the human body information input / output unit 601. Using the obtained human body information, the distance to the person imaged by another skeleton detection device is calculated.
  • the distance to the person imaged by the other skeleton detection device is the absolute coordinate of the skeleton detection device to which the human body information generation unit 602 belongs, the absolute coordinate of the other skeleton detection device, or the three-dimensional camera 701 of the other skeleton detection device. And the three-dimensional coordinates of the person generated in the human body information generation unit 602 of another skeleton detection device.
  • the human body information generation unit 602 receives the input of human body information received by the human body information input / output unit 601 and generates the human body information input / output unit 601. A function for outputting human body information is provided.
  • the human body information generation unit 602 outputs the generated human body information to the mirror image pair detection unit 104.
  • the human body information generated by the human body information generation unit 602 includes human coordinates in addition to the human body information generated by the human body information generation unit 103.
  • the coordinates of the person are the three-dimensional coordinates when the skeleton detection device is the origin of the same part as the part used for calculating the distance to the person.
  • FIG. 19 is an example in which an imaging target space is imaged by a plurality of skeleton detection devices.
  • the skeleton detection device A and the skeleton detection device B image the imaging target space.
  • the person H which is a virtual image reflected by the mirror surface Mc of the person G
  • the skeleton detection apparatus B the person G is imaged. Since there is an obstacle A between the skeleton detection device A and the person G, the skeleton detection device A cannot capture the person G.
  • the human body information generation unit 602 of the skeleton detection device A generates human body information and three-dimensional coordinates of the person H
  • the human body information generation unit 602 of the skeleton detection device B generates human body information and three-dimensional coordinates of the person G. Is generated.
  • Each human body information and three-dimensional coordinates generated are shared via each human body information input / output unit 601.
  • the human body information generation unit 602 of each skeleton detection device calculates the distance from each skeleton detection device to the person G and the person H using the input three-dimensional coordinates of the person G and the person H, respectively.
  • each skeleton detection device detects that the person G and the person H are mirror image pairs
  • the virtual image determination unit 105 of each skeleton detection device detects that the person H far from each skeleton detection device Judged to be a virtual image.
  • the captured image can be determined as a virtual image by sharing the human body information of another skeleton detection device.
  • the human body information input / output unit 601 is further provided as a basic configuration of the skeleton detection apparatus according to the second embodiment.
  • the present invention is not limited to this, and the first, third to third The skeleton detection apparatus according to any one of the seven embodiments may be a basic configuration, and a human body information input / output unit 601 may be further provided.
  • the present invention is not limited to the above-described embodiment, and includes various modifications.
  • each of the above-described embodiments has been described in detail for easy understanding of the present invention, and the present invention is not necessarily limited to the one having all the constituent elements described.
  • a part of the configuration of an embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of an embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
  • each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them, for example, with an integrated circuit.
  • each configuration and each function described above may be realized by software by a processor interpreting and executing a program that realizes each function.
  • Information such as programs, tables, and files that realize each function should be stored in a storage device such as a memory, hard disk, and SSD (Solid State Drive), or a storage medium such as an IC (Integrated Circuit) card, SD card, or DVD. Can do.
  • the control lines and the information lines are those that are considered necessary for the explanation, and not all the control lines and the information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
  • the present invention can be provided in various modes such as a computer-readable program executed by the skeleton detection apparatus, a processing method in the skeleton detection apparatus, and the like as well as the skeleton detection apparatus.

Landscapes

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

Abstract

骨格検出装置において、実像の誤認識を低減することを目的とする。 骨格検出装置は、撮像部により人物を撮像して得られた3次元データから人体骨格情報を検出する骨格推定部と、骨格推定部により得られた人体骨格情報から人体情報を生成する人体情報生成部と、人体情報生成部により得られた複数の人体情報を用いて、3次元データに含まれる人物の実像と虚像とからなる鏡像対を検出する鏡像対検出部と、鏡像対検出部により検出された鏡像対のうち、撮像部からの距離が遠い方を虚像と判断する虚像判断部とを備える。

Description

骨格検出装置、及び骨格検出方法
 本発明は、骨格検出装置、及び骨格検出方法に関する。本発明は2018年5月31日に出願された日本国特許の出願番号2018-105050の優先権を主張し、文献の参照による織り込みが認められる指定国については、その出願に記載された内容は参照により本出願に織り込まれる。
 測距センサ(TOF(Time of Flight)センサ、ステレオカメラ等)と距離画像解析技術を用いて、人の動作を認識し、生産効率改善や不良品低減、顧客行動分析、従業員監視を実現するユースケースが拡大している。人の動作の認識は、人の骨格検出を行う骨格検出装置を用いることで、認識率が上がることが知られている。例えば、特許文献1は3Dセンサによって取得した3次元データ内に含まれる人物の骨格検出を行う。
国際公開第2017/187641号
 しかしながら、特許文献1に記載の方法では、例えば3Dセンサの撮影範囲内にドアや工作機械から作業者を保護する仕切り板等が存在し、これらが鏡面を有する場合には、その鏡面を反射した像も実像と認識してしまう。鏡面を反射した像は虚像であり、実体を持たない。例えば特許文献1の実施例2に記載のスキル判定装置では、実体を持たない虚像を実像と認識してしまうことで、作業者が正しい行動をしているにもかかわらず、間違った行動をしていると判断してしまう。
 本発明は、骨格検出装置において、実像の誤認識を低減することを目的とする。
 本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。
 上記の課題を解決する本発明の一態様は、撮像部により人物を撮像して得られた3次元データから人体骨格情報を検出する骨格推定部と、骨格推定部により得られた人体骨格情報から人体情報を生成する人体情報生成部と、人体情報生成部により得られた複数の人体情報を用いて、3次元データに含まれる人物の実像と虚像とからなる鏡像対を検出する鏡像対検出部と、鏡像対検出部により検出された鏡像対のうち、撮像部からの距離が遠い方を虚像と判断する虚像判断部と、を備える。
 本発明の一態様によれば、骨格検出装置において、実像の誤認識を低減することができる。
 上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
本発明の第1実施形態に係る骨格検出装置のハードウェア構成例を示すブロック図である。 骨格検出装置の機能構成例を示すブロック図である。 撮像部の機能構成例を示すブロック図である。 骨格推定部の機能構成例を示すブロック図である。 人物等の撮像対象が存在する撮像対象空間の例を示す図である。 人体情報生成部によって生成される人体情報の例を示す表である。 人物が2回反射している撮像対象空間の例を示す図である。 図7に示す撮像対象空間を撮像した場合に、人体情報生成部によって生成される人体情報の例を示す表である。 本発明の第2実施形態に係る骨格検出装置の機能構成例を示すブロック図である。 鏡面候補点の例を示す図である。 推定された鏡面の一例を示す図である。 本発明の第3実施形態に係る骨格検出装置の機能構成例を示すブロック図である。 本発明の第4実施形態に係る骨格検出装置の機能構成例を示すブロック図である。 ディスプレイにおける鏡面位置の表示例を示す図である。 本発明の第5実施形態に係る骨格検出装置の機能構成例を示すブロック図である。 本発明の第6実施形態に係る骨格検出装置の機能構成例を示すブロック図である。 本発明の第7実施形態に係る骨格検出装置の機能構成例を示すブロック図である。 本発明の第8実施形態に係る骨格検出装置の機能構成例を示すブロック図である。 2つの骨格検出装置で撮像対象空間を撮像している例を示す図である。
 以下、本発明の複数の実施形態について、図面を参照して説明する。
[第1実施形態]
 以下に説明する実施形態では、撮像部により人物を撮影した3次元データから人体の骨格情報を検出し、その骨格情報から人体情報を生成する。そして、その生成した人体情報の類似度を算出することによって、3次元データに含まれる人物の実像とその実像の鏡面反射である虚像の対を検出し、撮像部からの距離が遠い方を虚像と判断する。
 図1は、本発明の第1実施形態に係る骨格検出装置100のハードウェア構成例である。本実施形態の骨格検出装置100は、図1に示すように、3次元カメラ701、CPU(Central Processing Unit)702、ROM(Read Only Memory)703およびRAM(Random Access Memory)704等を備えている。
 3次元カメラ701は、人物等の撮像対象が存在する撮像対象空間を撮像し、3次元データを出力する撮像装置である。なお、骨格検出装置100の出力は、後で詳述する人体骨格情報でもよいし、3次元データでもよい。
 本実施形態では、3次元カメラ701の設置条件が予め測定され、骨格検出装置100に入力設定されている。3次元カメラ701の設置条件としては、例えば床からの高さおよび3次元カメラ701のXYZカメラ座標系のZ軸と鉛直軸とがなす角度等がある。3次元カメラ701の設置条件の測定の方法としては、3次元カメラ701を設置する作業者が実測してもよいし、3次元カメラ701内にカメラの姿勢(向き)を検出するセンサを内蔵し、その出力を用いてZ軸と鉛直軸とがなす角度を求めるようにしてもよい。姿勢を検出するセンサとしては、例えば加速度センサ等がある。また、センサを用いてZ軸と鉛直軸とがなす角度を求める場合、床からの高さは、3次元カメラ701で得られる床からの距離情報および加速度センサから得られるZ軸と鉛直軸とがなす角度から、三角測量法で求めることができる。これにより、カメラ座標系と世界座標系の関係を算出するための情報を得ることが可能である。
 CPU702は、ROM703またはRAM704に格納されているプログラムを実行する。具体的には、CPU702がプログラムを実行することにより、骨格検出装置100の各部の機能が実現される。ROM703は、CPU702が実行するプログラムおよび実行に必要な各種パラメータを格納するための記憶媒体である。RAM704は3次元カメラ701により生成された画像および各種情報を格納するための記憶媒体である。また、RAM704は、CPU702が使用するデータの一時保管領域としても機能する。骨格検出装置100は、CPU702とROM703とRAM704をそれぞれ複数有することができる。
 なお、骨格検出装置100のハードウェア構成は、図1に示す構成に限定されない。例えば3次元カメラ701を骨格検出装置100とは別体として設けるようにしてもよい。その場合、骨格検出装置100は汎用のコンピュータ(例えばサーバコンピュータやパーソナルコンピュータ等)を用いて実現するようにしてもよい。
 また、複数のコンピュータをネットワークで接続して、骨格検出装置100の各部の機能を各コンピュータが分担することもできる。一方で、骨格検出装置100の機能の1つ以上を、専用のハードウェアを用いて実現することもできる。
 図2は、本実施形態の骨格検出装置100の機能構成例を示すブロック図である。骨格検出装置100は、図2に示すように、撮像部110、骨格推定部120、人体情報生成部103、鏡像対検出部104および虚像判断部105を備える。
 撮像部110は、人物等の撮像対象が存在する撮像対象空間を撮像し、人物を含む3次元データを生成する。3次元データは、1フレームの静止画であってもよいし、複数フレームからなる映像でもよい。本実施形態における3次元データは、直交する3軸方向に並ぶ各画素に対して、その階調情報(例えばRGB)を与えた距離画像である。撮像部110は、3次元カメラ701によって実現される。また、撮像部110は、3次元カメラ701とCPU702によって実現してもよい。撮像部110以外の骨格推定部120、人体情報生成部103、鏡像対検出部104および虚像判断部105の機能は、CPU702がプログラムを実行することにより実現される。
 撮像部110は、例えばTOF(Time of Flight)方式によって距離画像を生成する。なお、撮像部110としては、これに限らず、距離画像を生成するのであれば他の方式を用いるようにしてもよい。例えば可視光による撮像を行う2つの光学系を備えたステレオカメラ方式等を用いることができる。
 以下、TOF方式を用いた撮像部110について説明する。図3は、本実施形態の撮像部110の機能構成例を示すブロック図である。撮像部110は、図3に示すように、制御部111と、光源112と、距離画像センサ113と、距離画像生成部114と、通信部115とを備える。
 制御部111は、光源112、距離画像センサ113、距離画像生成部114及び通信部115を制御する。例えば、制御部111は、光源112に光の照射を指示し、距離画像センサ113に照射光と反射光の位相差情報の生成を指示し、距離画像生成部114に距離画像の生成を指示し、通信部115に距離画像の送信を指示する。制御部111は、例えば、CPU及びRAM等を含むマイクロコンピュータや、専用ハードウェア回路により実現することができる。
 光源112は、人物等の撮像対象が存在する撮像対象空間に対して光を照射する。光源112は、例えば、赤外光を照射する発光ダイオードおよび半導体レーザ等のデバイスにより実現することができる。
 距離画像センサ113は、撮像対象空間からの反射光を、結像レンズ(図示せず)を介して受光し、センサ上の画素毎に、照射時と受光時の位相差情報と、階調情報とを生成して出力する。距離画像センサ113は、例えば、照射時と受光時の位相差情報と階調情報とを生成する複数の受光素子を、二次元状に配列することで構成することができる。
 距離画像生成部114は、距離画像センサ113から出力されるセンサ上の画素毎の位相差情報を用いて、センサ上の画素毎にその距離情報を算出する。そして、距離画像生成部114は、得られたセンサ上の各画素の階調情報と距離情報に基づき、3次元配列された各画素位置に対してその階調情報を関連付けた距離画像を生成する。
 また、距離画像生成部114は、距離画像から骨格推定の対象画素を抽出し、骨格推定の対象画素にマークをつけた距離画像を通信部115を介して骨格推定部120に送信する。例えば、距離画像生成部114は、人物等の撮像対象が撮像対象空間に存在するときに撮像して得られた距離画像と、撮像対象が存在しないときに同一の撮像対象空間を撮像して得られた距離画像との間で対応する画素の距離情報の差分を算出する。距離画像生成部114は、距離情報の差分がゼロでない画素を骨格推定の対象画素として抽出することができる。
 なお、骨格推定の対象画素の抽出方法はこれに限定されない。距離画像生成部114は、例えば、距離が所定値未満の画素を骨格推定の対象画素として抽出してもよい。骨格推定の対象画素にマークをつける方法としては、例えば、骨格推定の対象外の画素(背景画素)の階調情報及び距離情報を所定値(例えば「1」)に設定する方法がある。これにより、距離画像生成部114は、距離画像のサイズ(縦横の画素数を指す、以下同様)を変更することなく、骨格推定の対象画素にマークをつけることができる。
 また、距離画像生成部114は、出力する距離画像に対して所定の圧縮処理を施すことによってデータ量を削減してもよい。上記のマーキングの例では、背景画素が同じ値に設定されるため、背景画素が連続する領域では圧縮率を高めることができる。距離画像生成部114は、例えば、CPUおよびRAM等を含むマイクロコンピュータや、専用ハードウェア回路により実現することができる。
 通信部115は、距離画像生成部114から出力されたマーク付きの距離画像を、骨格推定部120に送信する。通信部115は、例えば、USB(Universal Serial Bus)等の規格のシリアルインターフェイスにより実現することができる。
 撮像部110は、3次元カメラ701またはCPU702もしくはその両方によって、距離画像を加工する機能を有してもよい。距離画像を加工する方法としては、例えば、ノイズ削減および歪み補正等が挙げられる。撮像部110が生成する距離画像の形式は、3次元配列に例えば輝度(階調)等の情報を格納した形式でもよいし、2軸をアドレスとする2次元配列に残り1軸の大きさを格納した形式でもよい。3次元配列の形式を用いる場合、各画素の階調情報は3次元配列中の対応する位置が示すアドレスに格納され、各画素の距離情報は3次元配列中の1次元配列上の位置によって実現される。2次元配列の形式を用いる場合、各画素の階調情報及び距離情報は2次元配列中の対応する位置が示すアドレスに格納される。
 次に、図2に示す骨格推定部120について説明する。図4は、骨格推定部120の機能構成例を示すブロック図である。骨格推定部120は、撮像部110から出力された距離画像を用いて、その距離画像に含まれる人物の骨格を推定する。骨格推定処理を行うため、骨格推定部120は、特徴量算出部121、部位識別部122、及び関節識別部123を含む。
 特徴量算出部121は、撮像部110から出力された距離画像を構成する各画素の特徴量を算出する。特徴量算出部121は、骨格推定の対象画素(以下、注目画素という)毎に、特徴量を算出する。本実施形態においては、上述のように背景画素には所定値が設定されているため、注目画素は背景画素から区別することができる。特徴量の算出方法は、既存の技術を用いることができ、限定されない。例えば、注目画素とその周囲画素の距離の差を特徴量とすればよい。具体例としては、注目画素を中心とする縦9画素×横9画素の矩形領域から、注目画素とその周囲の80画素それぞれとの距離の差を有する80次元(2次元配列)の特徴量ベクトルを用いることができる。
 部位識別部122は、各注目画素が属する部位(例えば、頭、腕、手、胴体等の体のパーツ、関節は含まない)を識別する。部位の識別方法は、既存の技術を用いることができ、限定されない。例えば、特徴量閾値と部位ラベルを関連付けた決定木(識別器)に対して、注目画素の特徴量を入力することで、その注目画素の部位ラベルを取得すればよい。部位ラベルとは、各部位の種類を示す情報等の、部位の識別子である。識別器には、例えば、ランダムフォレスト等の複数の決定木を用いることができ、予め学習した識別器を骨格検出装置100が備えるROM703に記憶しておけばよい。
 関節識別部123は、識別された各注目画素の部位ラベルを用いて、対象の関節位置を識別する。関節位置の識別方法は、既存の技術を用いることができ、限定されない。例えば、同一部位ラベルが付与された注目画素群である部位毎に、その重心位置(関節位置候補)を取得すればよい。重心位置の取得には、例えば、mean-shift法を用いることができる。また、例えば、関節間の直線距離や関節間を結ぶ直線がなす角度等といった関節間の関係を定義した骨格関節モデルを用いて、各重心位置の骨格関節モデルに対する整合性を評価し、最終的な各関節位置を決定すればよい。また、各関節位置の関節ラベルを決定してもよい。関節ラベルとは、例えば、首関節、手首関節、および肩関節等といった関節の種類の情報を示す識別子である。
 骨格推定部120は、関節識別部123によって識別された関節位置の情報を人体骨格情報として人体情報生成部103に出力する。
 人体情報生成部103は、骨格推定部120から得られた1つまたは複数の人体骨格情報から、それぞれの人体情報を生成する。人体情報としては、例えば身長、体重、年齢、関節間の相対位置(例えば関節間の直線距離)、3つの関節(例えば肩関節、肘関節および手首関節)からなる角度、3次元カメラ701(撮像部110)から人物までの距離等がある。また、人体情報生成部103は、人体情報として、撮像対象空間に含まれている人物の数を出力する。身長、体重、年齢は、例えば、骨格の長さや体の表面積から推定することができる。
 図5は、人物等の撮像対象が存在する撮像対象空間の例を示す。この例では、3次元カメラ701は、人物A、人物B、人物Aが鏡面Mに反射した虚像の人物Cを撮像している。図6は、図5に示す撮像対象空間を3次元カメラ701によって撮像した場合において、人体情報生成部103によって生成される人体情報の例を示す表である。人体情報生成部103が出力する人物の数は「3」である。
 図6に示す例では、人体情報生成部103は、人体情報として、右肩-右肘-右手の角度、左肩-左肘-左手の角度、首-右肩-右肘、首-左肩-左肘、頭部と首の距離、および3次元カメラ701から人物までの距離を生成している。3次元カメラ701から人体までの距離は、例えば、3次元カメラ701から各人物の頭部までの距離である。人体情報生成部103は、生成する人体情報のうち、左右で対称となり得る項目に、同じ対称番号を付与する。例えば、図6に示す例では、右肩-右肘-右手の角度と左肩-左肘-左手の角度は左右で対称となるので、同じ対称番号「1」が付与され、首-右肩-右肘の角度と首-左肩-左肘の角度も左右で対称となるので同じ対称番号「2」が付されている。
 鏡像対検出部104は、人体情報生成部103から出力された人物の数が2以上の場合に、距離画像に含まれる鏡像対を検出する。鏡像対とは、人物の実像とその実像が反射してできた虚像からなる組である。鏡像対検出部104は、人体情報生成部103から出力された人体情報を用いて鏡像対を検出する。
 具体的には、鏡像対検出部104は、第1の人物の人体情報と第2の人物の人体情報との間の類似度を算出する。類似度が小さいほうが類似した人物となる類似度算出式を用いる場合には、類似度が所定の閾値以下の場合に、鏡像対として検出する。一方、類似度が大きいほうが類似した人物となる類似度算出式を用いる場合には、類似度が所定の閾値以上の場合に、鏡像対として検出する。人物の類似度は、例えば式(1)に示すような、同じ種類の人体情報の差の重み付き平方和等である。
Figure JPOXMLDOC01-appb-M000001
 Nは人体までの距離を除いた人体情報生成部103が出力する人体情報の種類数、xkはk番目の人体情報に対応する重み、P1 kは第1の人物のk番目の人体情報、P2 kは第2の人物のk番目の人体情報を表す。このとき類似度は、同じ対称番号が付与されている項目の場合、第1の人物の同じ対称番号が付与された各項目の人体情報に対して、第2の人物の同じ対称番号が付された各項目の人体情報を入れ替えて計算する。
 具体的には、人物Aと人物Bの類似度を計算する際、人物Aの対称番号「1」が付された右肩-右肘-右手の角度(121)と左肩-左肘-左手の角度(169)に対して、人物Bの同じ対称番号「1」が付された各項目の人体情報、すなわち人物Bの右肩-右肘-右手の角度(160)と左肩-左肘-左手の角度(100)とを入れ替えて類似度を計算する。また、人物Aの対称番号「2」が付された首-右肩-右肘の角度(130)と首-左肩-左肘の角度(95)に対して、人物Bの同じ対称番号「2」が付された各項目の人体情報、すなわち人物Bの首-右肩-右肘の角度(170)と首-左肩-左肘の角度(220)とを入れ替えて類似度を計算する。
 例えばすべての重みxkが「1」の場合、人物Aと人物Bの類似度は「14272」(=(121-100)^2+(169-160)^2+(130-220)^2+(95-170)^2+(30-25)^2)となり、人物Aと人物Cの類似度は「7」となり、人物Bと人物Cの類似度は「23605」となる。類似度が「100」以下の対を鏡像対として検出する場合、鏡像対検出部104は、人物Aと人物Cを鏡像対と検出する。
 このように、鏡像対検出部104は、検出された複数の人物の中で、人物2人の全ての組み合わせについて鏡像対の検出を試みる。人体情報を基に人物の類似度を算出し鏡像対を検出することで、距離画像から直接パターンマッチング等によって鏡像対を検出する方法に比べて、処理量を減らすことができる。
 虚像判断部105は、鏡像対検出部104によって得られた鏡像対のうち、どちらの像が虚像かを判断する。虚像判断部105は、鏡像対のうち、3次元カメラ701(撮像部110)からの距離が遠いほうを虚像と判断する。
 図5に示す例の場合、3次元カメラ701と人物Aの実像との距離がD1であるのに対し、3次元カメラ701と人物Aの虚像である人物Cとの距離は、距離d21に対して距離d22を加算した距離D2となる。すなわち、3次元カメラ701と人物Cとの距離D2は、反射による経路であるため、幾何学的に必ず3次元カメラ701と人物Aとの距離D1よりも長くなる。したがって、本実施形態の虚像判断部105は、上述したように、鏡像対のうち、3次元カメラ701(撮像部110)からの距離が遠いほうを虚像と判断する。図6の例では、人体までの距離は、人物Aが150、人物Cが250であるため、虚像判断部105は、人物Cを虚像と判断する。
 また、虚像判断部105は、複数の鏡像対の対応関係から2回以上反射した虚像を判断することができる。虚像判断部105は、上記方法で虚像を判断したのち、他の鏡像対において虚像と判断された人物を虚像と判断する。図7は、人物Dが2回反射している撮像対象空間の例である。また、図8は、図7に示す撮像対象空間を3次元カメラ701によって撮像した場合において、人体情報生成部103によって生成される人体情報の例を示す表である。
 図7に示す撮像対象空間には、人物D、人物Dが鏡面Maで反射した人物E、人物Dが鏡面Maと鏡面Mbで2回反射した人物Fがそれぞれ存在する。鏡像対検出部104は、上記方法により人物Dと人物Eの対(第1の対)と、人物Eと人物Fの対(第2の対)をそれぞれ鏡像対と検出する。虚像判断部105は、まず、3次元カメラ701から各人物までの距離を参照し、第1の対については、人物Eを人物Dが反射した虚像と判断する。3次元カメラ701と人物Dとの距離は距離D3となり、3次元カメラ701と人物Eとの距離は、距離d41+距離d42=距離D4となる。幾何学的に、必ずD4>D3となるので、人物Eを虚像と判断することができる。
 また、第2の対については、人物Fを人物Eが反射した虚像と判断する。3次元カメラ701と人物Eとの距離は距離D4となり、3次元カメラ701と人物Fとの距離は、距離d51+距離d52=距離D5となる。幾何学的に、必ずD5>D4となるので、人物Fを虚像と判断することができる。
 その後、第1の対について人物Eが虚像と判断されていることから、第2の対における人物Eも虚像と判断する。その結果、虚像判断部105は、人物Fを人物Dが2回反射した虚像と判断する。なお、ここでは2回反射した例について説明したが、3回以上反射した場合も同様の手法を用いることができる。
 第1実施形態の骨格検出装置100によれば、鏡像対検出部104によって、鏡面を反射した虚像と実像の組を検出し、虚像判断部105によって、検出された虚像と実像の組から虚像を判断することができる。これにより、3次元カメラ701から出力された距離画像から実像のみの人体骨格情報を検出することができ、撮像対象空間に含まれる人物の誤認識を低減することができる。
 なお、虚像については距離画像から削除するようにしてもよいし、虚像として特定した上で、強調表示するなどして利用してもよい。
[第2実施形態]
 第1実施形態では、虚像判断部105において、鏡像対検出部104で得られた鏡像対のうちの虚像を判断することによって、撮像対象空間に含まれる人物の認識対象からその虚像を除外する構成とした。これに対し、第2実施形態は、鏡像対検出部104で得られた鏡像対から鏡面位置を検出し、その鏡面位置より奥側にある距離画像、すなわち鏡面位置よりも3次元カメラ701から見て遠方の距離画像を除去する構成とする。これにより撮像部110から得られた距離画像から不要な部分が予め削除されるため骨格推定部120の処理負荷を軽減することが可能となる。
 図9は、本実施形態の機能構成例を示すブロック図である。以下、図9を参照しながら第2実施形態について説明する。なお、第1実施形態と同一の構成、機能を有するものには同一の符号を付して、その詳細な説明を省略する。
 第2実施形態に係る骨格検出装置100は、第1実施形態で示す機能に加え、鏡面候補点算出部201、鏡面候補点保存部202、鏡面推定部203、鏡面保存部204および虚像除去部205を備えている。
 虚像除去部205は、鏡面保存部204に鏡面位置が保存されている場合は、3次元カメラ701から見て鏡面保存部204に保存された鏡面位置より遠方(奥側)の領域の距離画像を除去し、その一部が除去された距離画像を骨格推定部120に出力する。一方、虚像除去部205は鏡面保存部204に鏡面位置が保存されていない場合は、入力された距離画像を加工せず骨格推定部120に出力する。鏡面位置より遠方の領域の距離画像はすべて虚像のデータであり骨格検出をする必要はないため、鏡面位置より遠方の領域の距離画像を除去することによって、骨格推定部120の処理量を削減することができる。また、虚像の骨格検出がなくなることで、人体情報生成部103と鏡像対検出部104と虚像判断部105の処理量を減らすことができる。
 骨格推定部120は、鏡面保存部204に鏡面位置が保存されている場合には、虚像除去部205によって一部除去された距離画像を用いて、その距離画像から人体骨格情報を検出することにより人物の骨格を推定する。すなわち、骨格推定部120は、鏡面保存部204に鏡面位置が保存されている場合には、実像のみの人体骨格情報を出力する。これにより、3次元カメラ701から出力された距離画像から実像のみの人体骨格情報を検出することができ、撮像対象空間に含まれる人物の誤認識を低減することができる。
 一方、骨格推定部120は、鏡面保存部204に鏡面位置が保存されていない場合には、虚像除去部205において加工されることなく出力された距離画像を用いて、その距離画像から人体骨格情報を検出することにより人物の骨格を推定する。すなわち、骨格推定部120は、鏡面保存部204に鏡面位置が保存されていない場合には、第1実施形態と同様に、実像および虚像の人体骨格情報を出力する。
 そして、第1実施形態と同様に、人体情報生成部103は、骨格推定部120から出力された人体骨格情報から人体情報を生成し、鏡像対検出部104は、人体情報生成部103から出力された人体情報から鏡像対を検出し、虚像判断部105は、鏡像対のうちの虚像を判断する。
 鏡面候補点算出部201は、鏡像対検出部104から出力された鏡像対を用いて、鏡面を構成する点の候補の位置を算出する。図10は鏡面候補点C1の位置を示す図である。まず、鏡面候補点算出部201は、実像R1の関節R1pと虚像V1の関節V1pを結ぶ線分の垂直二等分面M1を算出する。
 関節R1pと関節V1pは、左右がない関節の場合は同じ種類の関節であり、左右がある場合は左右が逆の関節である。垂直二等分面M1は、関節R1pと関節V1pの中点B1を通る面であり、関節R1pと関節V1pを結ぶ線分に垂直な面である。この面と、3次元カメラ701と関節V1pを結ぶ線分の交点を鏡面候補点C1の位置として算出する。鏡面候補点C1の位置の原点は、3次元カメラ701の位置であってもよいし、他の位置でもよく、例えば最初に算出された鏡面候補点C1の位置を原点としてもよい。
 図10では、関節R1pと関節V1pとして頭部を用いて鏡面候補点C1を求める例を示しているが、実際には、実像と虚像に含まれるその他の複数の関節の組(例えば実像の右肘関節と虚像の左肘関節の組、実像の右肩関節と虚像の左肩関節の組、実像と虚像の股関節の組等)について、それぞれ鏡面候補点C2,C3,C4,C5,・・・が算出される。なお、ここでは5つの鏡面候補点C1,C2,C3,C4,C5(以下、C1~C5と示す)が算出されたとして説明を進める。また、鏡面候補点の算出方法は、上記の方法に限らず、鏡像対における対応する2点を用いて鏡面候補点を算出する方法であれば、その他の算出方法を用いるようにしてもよい。
 鏡面候補点保存部202は、鏡面候補点算出部201によって得られた鏡面候補点C1~C5の絶対位置を保存する。鏡面候補点保存部202は、例えば、リングバッファを内部に持ち、鏡面候補点C1~C5の位置を保存する。リングバッファとは、バッファの先端と終端が連結され、循環的に利用されるようになっているバッファである。リングバッファを用いることによって、最も古い鏡面候補点を新しい鏡面候補点に更新していくことができる。
 鏡面推定部203は、鏡面を推定する。鏡面推定部203は、まず、鏡面候補点保存部202に蓄積された複数の鏡面候補点C1~C5から、例えば最小二乗法によって候補となる平面を求める。その後、鏡面推定部203は、求めた平面候補と各鏡面候補点C1~C5との距離が最小となる各点、すなわち各鏡面候補点C1~C5の平面候補に対する垂直投影点のすべてを含み、すべての頂点における内角が180°以下となる最小の多角形の面を鏡面と推定する。例えば鏡面候補点C1~C5に対応する垂直投影点Ca1~Ca5が図11に示すように分布している場合、図11において実線で示す多角形の面が鏡面と推定される。なお、図11において点線で示すように垂直投影点Ca3を多角形の頂点の1つとして選択した場合、頂点Ca3における内角θ3が180°を超えることになるので、垂直投影点Ca3は、鏡面を構成する頂点の1つとして選択されない。
 上記のように鏡像対検出部104から出力された鏡像対を用いて鏡面候補点を算出し、複数の鏡面候補点を用いて鏡面を推定することによって、簡易な演算処理によって鏡面を推定することができる。
 鏡面保存部204は、鏡面推定部203が推定した鏡面を保存し、保存した鏡面を虚像除去部205に出力する。鏡面保存部204は、例えば鏡面の各頂点の座標を保存する。鏡面を保存することにより、鏡面推定部203は撮像部110のサンプリング周期で(フレーム毎に)鏡面推定を実行する必要がなくなり、鏡面推定部203の処理回数を減らすことができる。
 なお、撮像部110によって撮像されるフレーム毎に鏡面推定を行い、鏡面位置を順次更新するようにしてもよい。また、予め設定された数のフレーム数だけ鏡面推定を行い、そのフレーム毎に推定された鏡面位置の統計値(例えば平均値)を鏡面保存部204に保存するようにしてもよい。
 第2実施形態によれば、鏡像対の関係から鏡面を推定し、鏡面より奥の距離画像を除去することによって、骨格推定部120、人体情報生成部103、鏡像対検出部104、虚像判断部105の処理量を減らすことができる。
[第3実施形態]
 第2実施形態では、虚像除去部205において、鏡面推定部203から得られた鏡面より奥の領域の距離画像を除去する構成について説明した。これに対し、第3実施形態は、鏡面推定部203から得られた鏡面より奥の領域の距離画像を、鏡面を対称面として手前に折り返して重ね合わせる構成である。これにより、鏡像重畳部301において、虚像と実像が重ね合わせられ、実像には現れていない部分を虚像で補うことができるので、骨格推定部120の推定精度を向上することが可能となる。
 図12は、本実施形態の機能構成例を示すブロック図である。以下、図12を参照しながら第3実施形態について説明する。なお、第2実施形態と同一の構成、機能を有するものには同一の符号を付して、その詳細な説明を省略する。
 第3実施形態に係る骨格検出装置100は、第2実施形態で示す虚像除去部205に替えて、鏡像重畳部301を備えている。
 鏡像重畳部301は、撮像部110から出力された距離画像のうち鏡面に反射した虚像を、実像に重ね合わせた重畳画像(本発明の重畳3次元データに相当する)を生成する。鏡像重畳部301は、具体的には、撮像部110から見て鏡面保存部204に保存された鏡面位置より遠方(奥側)の領域の距離画像を、鏡面を対称面とした場合に面対称となる位置に写像し、写像前の鏡面位置より遠方(奥側)の領域の距離画像については削除する。写像の際、面対称な位置に既に実像の距離画像のデータがある場合は、その部分については写像せずに実像の距離画像のデータをそのまま残す(虚像の距離画像のデータは削除する)。
 例えば、3次元カメラ701から見て骨格検出対象となる人物より奥に鏡面がある場合は(例えば図7に示す人物Dと鏡面Maの位置関係である場合)、3次元カメラ701の死角となる範囲の人物の距離画像のデータを実像の距離画像に重ね合わせることができる。具体例としては、人物Dが3次元カメラ701の方を向いて立っている場合には、人物Eの画像(人物Dの背中側の画像)を写像できる。一方、3次元カメラ701から見て骨格検出対象となる人物より手前に鏡面がある場合は(例えば図5に示す人物Aと鏡面Mの位置関係である場合)、実像と虚像で共通する部分は重ね合わせないようにできる。
 また、虚像判断部105によって2回以上反射していると判断されている場合は、反射回数が多い鏡面から順に対称面として写像する。図7に示す例では、まず鏡面Mbより奥の領域の距離画像を、鏡面Mbを対称面とした場合に面対称となる位置に写像する。次に、鏡面Maより奥の領域の距離画像を、鏡面Maを対称面とした場合に面対称となる位置に写像する。
 骨格推定部120は鏡像重畳部301が生成した重畳画像から人体骨格情報を検出する。
 第3実施形態によれば、鏡像重畳部301において、虚像と実像を重ね合わせることで、骨格推定部120の推定精度を向上することができる。鏡面に反射した虚像は、実像が含まない領域の距離画像を含むため、複数方向から撮像したことと同義であり、骨格推定に利用される距離画像の情報量を増加させることができる。
[第4実施形態]
 第2実施形態では、鏡面保存部204に保存された鏡面位置より奥の領域の距離画像を除去する構成について説明した。これに対し、第4実施形態は、第2実施形態に対して、鏡面保存部204に保存された鏡面位置を削除または訂正する機能を付加した構成である。これにより、鏡面推定部203において、誤った鏡面を推定した場合に削除または訂正することが可能となる。
 図13は、本実施形態の機能構成例を示すブロック図である。以下、図13を参照しながら第4実施形態について説明する。なお、第2実施形態と同一の構成、機能を有するものには同一の符号を付して、その詳細な説明を省略する。
 第4実施形態に係る骨格検出装置100は、第2実施形態で示す機能に加え、鏡面出力部401および鏡面情報入力部402を備えている。
 鏡面出力部401(本発明の鏡面提示部に相当する)は、鏡面保存部204に保存された鏡面位置を出力する。鏡面出力部401は、例えば、ディスプレイ801に鏡面位置を画像として表示する。図14はディスプレイ801における鏡面位置の表示例を示す。鏡面出力部401は、ディスプレイ801が有する表示画面802に画像803を表示する。画像803は、撮像部110で生成した距離画像に対して、鏡面保存部204に保存された鏡面位置を用いて生成した鏡面画像804を重ね合わせた画像である。画像803は、鏡面画像804を含む距離画像を、任意の視点からみた2次元の画像である。このように鏡面画像804を表示させることによって、ユーザは、推定された鏡面を容易に把握することができ、鏡面の当否および訂正の要否などを即座に判断することができる。
 また、鏡面出力部401は、鏡面位置をバイナリ形式のデータとして出力する構成としてもよい。この場合、骨格検出装置100は、外部との通信手段を有する。通信手段は、例えばイーサネットやUSB(Universal Serial Bus)等の通信装置である。鏡面出力部401は、通信手段で外部の装置と通信を行い、バイナリ形式のデータとして鏡面位置を出力する。バイナリ形式のデータは、少なくとも鏡面の頂点の3次元位置情報を含む。
 鏡面情報入力部402は、鏡面出力部401によってディスプレイ801に表示された鏡面画像803が正しいか否かの入力をユーザから受け付ける。また、鏡面情報入力部402は、鏡面画像803が正しくない場合には、鏡面保存部204に保存された鏡面位置および鏡面候補点保存部202に保存された鏡面候補点の削除指示または訂正指示の入力を受け付ける。
 402は、例えば、キーボード、マウスおよびタッチパネル等の入力装置を介して入力を受け付ける。また、鏡面情報入力部402は、これらの入力装置を複数組み合わせて用いてもよい。また、鏡面情報入力部402は、外部との通信手段を介して入力を受け付けてもよい。具体的には、鏡面情報入力部402は、イーサネット等を介して外部の入力装置からの入力を受け付けてもよい。
 鏡面情報入力部402は、鏡面画像803が正しいことを示す入力を受け付けた場合または何も入力を受け付けなかった場合には、鏡面保存部204に保存された鏡面位置および鏡面候補点保存部202に保存された鏡面候補点に対して何も処理を施さない。一方、鏡面情報入力部402は、鏡面画像803が正しくないことを示す入力を受け付けた場合には、鏡面保存部204に保存された鏡面位置および鏡面候補点保存部202に保存された鏡面候補点の少なくとも1つの削除指示または訂正指示の入力を受け付ける。この際、鏡面情報入力部402において単に鏡面画像803が正しくないという入力が受け付けられた場合には、鏡面保存部204に保存された鏡面位置およびすべての鏡面候補点が削除され、鏡面候補点の算出が再び行われる。
 一方、鏡面情報入力部402おいて鏡面画像803が正しくないという入力とともに訂正指示が受け付けられた場合には、鏡面推定部203は、鏡面位置を訂正する。鏡面位置の訂正指示としては、例えば、鏡面の頂点の削除、鏡面の頂点位置の訂正および鏡面の頂点の追加等がある。鏡面の頂点が削除された場合は、その頂点に距離が近い順に鏡面候補点が1つ以上削除され、鏡面推定部203は、削除された鏡面候補点を除外して再び鏡面の推定を行う。また、鏡面の頂点位置が訂正された場合は、訂正前の頂点に距離が近い順に鏡面候補点が1つ以上削除され、新たに訂正後の頂点の位置と同じ位置である鏡面候補点が鏡面候補点保存部202に保存され、鏡面推定部203は、新たに保存された鏡面候補点を含めて再び鏡面の推定を行う。また、鏡面の頂点が追加された場合は、新たに追加された頂点の位置と同じ位置である鏡面候補点が鏡面候補点保存部202に保存され、鏡面推定部203は、新たに保存された鏡面候補点を含めて再び鏡面の推定を行う。
 第4実施形態によれば、鏡像対検出部104が正しく鏡像対を検出できなかった場合や鏡面推定部203が正しく鏡面を推定できなかった場合でも、間違った鏡面を削除または訂正することができる。また、骨格検出装置100の場所を変更した場合や、撮像対象空間のレイアウトが変更になった場合でも、電源を落とすことなく正しく鏡面を推定することができる。これにより、鏡面位置より奥の領域の距離画像を適切に除去することができる。
[第5実施形態]
 第3の実施形態では、鏡面位置より奥の領域の距離画像を実像側に重畳する構成について説明した。これに対し、第5実施形態は、第3実施形態に対して、第4実施形態と同様に、鏡面保存部204に保存された鏡面位置を削除または訂正する機能を付加した構成である。これにより、鏡面推定部203において、誤った鏡面を推定した場合に削除または訂正することが可能となる。
 図15は、本実施形態の機能構成例を示すブロック図である。以下、図15を参照しながら第5実施形態について説明する。なお、第3実施形態と同一の構成、機能を有するものには同一の符号を付して、その詳細な説明を省略する。
 第5実施形態に係る骨格検出装置100は、第3実施形態で示す機能に加え、鏡面出力部401および鏡面情報入力部402を備えている。第5実施形態における鏡面出力部401および鏡面情報入力部402の機能および具体的な構成は、第4実施形態と同様である。
 第5実施形態によれば、鏡像対検出部104が正しく鏡像対を検出できなかった場合や鏡面推定部203が正しく鏡面を推定できなかった場合でも、間違った鏡面を削除または訂正することができる。また、骨格検出装置100の場所を変更した場合や、撮像対象空間のレイアウトが変更になった場合でも、電源を落とすことなく正しく鏡面を推定することができる。これにより、鏡面位置より奥の領域の距離画像を実像側に適切に重畳することができる。
[第6実施形態]
 第4実施形態では、第2実施形態に対して、鏡面保存部204に保存された鏡面位置を削除または訂正する機能を付加した構成について説明した。これに対し、第6実施形態は、さらに、鏡面が移動した場合でも、鏡面より奥の領域の距離画像を適切に除去することができる構成である。これにより、例えば鏡面がドアに形成されており、ドアの開閉によって鏡面が移動した場合でも、鏡面より奥の領域の距離画像を適切に除去することができる。
 図16は、本実施形態の機能構成例を示すブロック図である。以下、図16を参照しながら第6実施形態について説明する。なお、第4実施形態と同一の構成、機能を有するものには同一の符号を付して、その詳細な説明を省略する。
 第6実施形態に係る骨格検出装置100は、第4実施形態で示す機能に加え、鏡面移動情報入力部501を備えている。
 そして、第6実施形態の虚像除去部504は、鏡面移動情報入力部501が出力する鏡面の移動情報と、鏡面保存部503が出力する鏡面位置の情報から、移動する鏡面の現在位置を算出し、その鏡面位置より奥の領域の距離画像を除去する。
 鏡面移動情報入力部501は、鏡面の移動情報の入力を受け付ける。鏡面の移動情報とは、例えば、鏡面の平行移動量や鏡面の回転角等である。具体的には、例えば鏡面が平行移動する場合には、その鏡面の平行移動軸に沿ってリニアスケール等が設けられ、鏡面移動情報入力部501は、そのリニアスケールから出力された信号を鏡面の平行移動量として受け付ける。また、鏡面が回転する場合には、その鏡面の回転軸に対して、例えばロータリエンコーダ等が設けられ、鏡面移動情報入力部501は、そのロータリエンコーダから出力された信号を鏡面の回転角情報として受け付ける。
 鏡面情報入力部502は、第4実施形態における鏡面情報入力部402の機能に加え、上述した鏡面の平行移動軸または鏡面の回転軸の入力を受け付け、後段に出力する機能を有する。鏡面情報入力部502は、例えば、キーボード等の入力装置を介して、鏡面の平行移動軸または鏡面の回転軸の各要素の値を受け付ける。
 鏡面保存部503は、鏡面位置の情報を保存し出力する。鏡面位置の情報は、鏡面推定部203が推定する鏡面位置と、鏡面情報入力部502によって受け付けられる鏡面の平行移動軸または鏡面の回転軸を含む。
 鏡面の平行移動軸は、例えば、3次元空間単位ベクトルである。虚像除去部504は、鏡面が平行移動する場合、鏡面保存部503から出力された鏡面の平行移動軸である3次元空間単位ベクトルに対し、鏡面移動情報入力部501において受け付けられた平行移動量を乗算したベクトルを、鏡面保存部503が出力する鏡面の各画素に対して加算することで、鏡面の平行移動を行う。
 また、鏡面の回転軸は、例えば、回転軸上の任意の座標と3次元空間単位ベクトルである。虚像除去部504は、鏡面が回転する場合、鏡面保存部503から出力された3次元空間単位ベクトルを回転軸とし、鏡面の任意の座標を原点として、ロドリゲスの回転公式を用いて、鏡面移動情報入力部501において受け付けられた回転量だけ鏡面の回転を行う。
 虚像除去部504は、例えば、鏡面がガラスドア等から形成され、ガラスドアの開閉によって回転する鏡面である場合には、鏡面保存部503から出力された鏡面を、鏡面移動情報入力部501から出力された鏡面の回転角だけ回転させた鏡面を算出する。
 また、虚像除去部504は、例えば、鏡面がガラスドア等から形成され、ガラスドアの開閉によって平行移動する鏡面である場合には、鏡面保存部503から出力された鏡面を、鏡面移動情報入力部501から出力された平行移動量だけ平行移動させた鏡面を算出する。
 鏡面の回転または平行移動の後、虚像除去部504は、第2実施形態における虚像除去部205と同様に鏡面より奥の領域の距離画像を除去する。
 第6実施形態によれば、鏡面が移動する場合でも、正しく鏡面位置を推定することができ、鏡面位置よりも奥の領域の距離画像を適切に除去することができる。
[第7実施形態]
 第5実施形態では、第3実施形態に対して、鏡面保存部204に保存された鏡面位置を削除または訂正する機能を付加した構成について説明した。これに対し、第7実施形態は、さらに、鏡面が移動した場合でも、鏡面より奥の領域の距離画像を適切に実像側に重畳することができる構成である。これにより、例えば鏡面がドアに形成されており、ドアの開閉によって鏡面が移動した場合でも、鏡面より奥の領域の距離画像を実像側に適切に重畳することができる。
 図17は、本実施形態の機能構成例を示すブロック図である。以下、図17を参照しながら第7実施形態について説明する。なお、第5実施形態と同一の構成、機能を有するものには同一の符号を付して、その詳細な説明を省略する。
 第7実施形態に係る骨格検出装置100は、第5実施形態で示す機能に加え、第6実施形態と同様に、鏡面移動情報入力部501を備えている。
 そして、第7実施形態の鏡像重畳部505は、鏡面移動情報入力部501が出力する鏡面の移動情報と、鏡面保存部503が出力する鏡面位置の情報から、移動する鏡面の現在位置を算出し、その鏡面位置より奥の領域の距離画像を実像側に重畳する。
 第7実施形態の鏡面移動情報入力部501、鏡面情報入力部502および鏡面保存部503の機能および具体的な構成は、第6実施形態と同様である。
 鏡像重畳部505は、例えば、鏡面がガラスドア等から形成され、ガラスドアの開閉によって回転する鏡面である場合には、鏡面保存部503から出力された鏡面を、鏡面移動情報入力部501から出力された鏡面の回転角だけ回転させた鏡面を算出する。
 また、鏡像重畳部505は、例えば、鏡面がガラスドア等から形成され、ガラスドアの開閉によって平行移動する鏡面である場合には、鏡面保存部503から出力された鏡面を、鏡面移動情報入力部501から出力された平行移動量だけ平行移動させた鏡面を算出する。
 鏡面の回転または平行移動の後、鏡像重畳部505は、第3実施形態における鏡像重畳部301と同様に鏡面より奥の領域の距離画像を実像側に写像して重畳する。
 第7実施形態によれば、鏡面が移動する場合でも、正しく鏡面位置を推定することができ、鏡面位置よりも奥の領域の距離画像を実像側に適切に重畳することができる。
[第8実施形態]
 第1実施形態から第7実施形態では、撮像対象空間に含まれる人物の人体情報を生成し、その人体情報から鏡像対を検出し、その鏡像対のうちの虚像を判断する構成について説明した。これに対し、第8実施形態は、複数の骨格検出装置を組み合わせて連携することで、1つの骨格検出装置によって虚像のみが撮像された場合でも、その撮像された像を虚像として判断することができる構成である。
 第8実施形態は、複数の骨格検出装置から構成される骨格検出システムである。図18は、本実施形態の骨格検出システムを構成する各骨格検出装置の機能構成例を示すブロック図である。本実施形態に係る骨格検出システムを構成する各骨格検出装置は、第2実施形態で示す機能に加え、人体情報入出力部601を備えている。なお、第2実施形態と同一の構成、機能を有するものには同一の符号を付して、その詳細な説明を省略する。
 人体情報入出力部601(本発明の人体情報入力部に相当する)は、例えばイーサネット等のネットワークを介して他の骨格検出装置と通信可能に構成されており、他の骨格検出装置から出力された人体情報の入力の受け付けおよび他の骨格検出装置に対する人体情報の出力を行う。
 人体情報入出力部601は、人体情報生成部602が出力する人体情報を、他のすべて又は予め指定された1台以上の骨格検出装置の人体情報入出力部601に出力する。また、人体情報入出力部601は、他の1台以上の骨格検出装置の人体情報入出力部601から出力された人体情報の入力を受け付け、その受け付けた人体情報を人体情報生成部602に入力する。すなわち、連携する骨格検出装置のそれぞれで生成された人体情報が、骨格検出装置間で共有される。
 人体情報生成部602は、骨格推定部120から出力された人体骨格情報を用いて、自身が属する骨格検出装置が撮像した人物までの距離を算出するとともに、人体情報入出力部601を介して入力された人体情報を用いて、他の骨格検出装置が撮像した人物までの距離を算出する。ここで、他の骨格検出装置が撮像した人物までの距離は、人体情報生成部602が属する骨格検出装置の絶対座標、他の骨格検出装置の絶対座標、他の骨格検出装置の3次元カメラ701の撮像角度、他の骨格検出装置の人体情報生成部602において生成された人物の3次元座標から算出する。
 人体情報生成部602は、第2実施形態の人体情報生成部103の機能に加え、人体情報入出力部601において受け付けられた人体情報の入力の受け付けおよび人体情報入出力部601に対して生成した人体情報を出力する機能を備える。
 人体情報生成部602は、生成した人体情報を鏡像対検出部104に出力する。人体情報生成部602が生成する人体情報には、人体情報生成部103が生成する人体情報に加え、人物の座標が含まれる。人物の座標とは、人物までの距離の算出に使用した部位と同じ部位の、骨格検出装置を原点とした場合の3次元座標である。
 図19は、複数の骨格検出装置で撮像対象空間を撮像している例である。本例では、骨格検出装置Aと骨格検出装置Bが撮像対象空間を撮像している。骨格検出装置Aでは、人物Gが鏡面Mcに反射した虚像である人物Hが撮像され、骨格検出装置Bでは、人物Gを撮像されている。骨格検出装置Aと人物Gの間には障害物Aがあるため、骨格検出装置Aは人物Gを撮像することができない。
 図19の例では、骨格検出装置Aの人体情報生成部602は人物Hの人体情報と3次元座標を生成し、骨格検出装置Bの人体情報生成部602は人物Gの人体情報と3次元座標を生成する。生成された各人体情報と3次元座標は、各人体情報入出力部601を介して共有される。各骨格検出装置の人体情報生成部602は、入力された人物Gおよび人物Hの3次元座標を用いて、各骨格検出装置から人物Gおよび人物Hまでの距離をそれぞれ算出する。また、各骨格検出装置の鏡像対検出部104は、人物Gと人物Hが鏡像対であると検出し、各骨格検出装置の虚像判断部105は、各骨格検出装置から遠い方の人物Hが虚像であると判断する。
 第8実施形態によれば、1つの骨格検出装置が虚像のみ撮像している場合でも、他の骨格検出装置の人体情報を共有することで、その撮像した像を虚像として判断することができる。
 なお、第8実施形態は、第2実施形態に係る骨格検出装置を基本的な構成として人体情報入出力部601をさらに設けた構成としたが、これに限らず、第1および第3~第7実施形態のうちのいずれかの実施形態に係る骨格検出装置を基本的な構成とし、人体情報入出力部601をさらに設けるようにしてもよい。
 本発明は、上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した各実施形態は、本発明を分かりやすく説明するために詳細に説明したものであり、本発明が、必ずしも説明した全ての構成要素を備えるものに限定されるものではない。また、ある実施形態の構成の一部を、他の実施形態の構成に置き換えることが可能であり、ある実施形態の構成に、他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加、削除および置換をすることが可能である。
 また、上記各構成、機能、処理部および処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成および各機能は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現されてもよい。各機能を実現するプログラム、テーブルおよびファイル等の情報は、メモリ、ハードディスクおよびSSD(Solid State Drive)等の記憶装置、または、IC(Integrated Circuit)カード、SDカード、DVD等の記憶媒体に置くことができる。また、制御線および情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線および情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
 本発明は、骨格検出装置だけなく、骨格検出装置で実行されるコンピュータ読み取り可能なプログラム、骨格検出装置における処理方法等の様々な態様で提供することができる。
100:骨格検出装置、103,602:人体情報生成部、104:鏡像対検出部、105:虚像判断部、110:撮像部、111:制御部、112:光源、113:距離画像センサ、114:距離画像生成部、115:通信部、120:骨格推定部、121:特徴量算出部、122:部位識別部、123:関節識別部、201:鏡面候補点算出部、202:鏡面候補点保存部、203:鏡面推定部、204,503:鏡面保存部、205,504:虚像除去部、301,505:鏡像重畳部、401:鏡面出力部、402、502:鏡面情報入力部、501:鏡面移動情報入力部、601:人体情報入出力部、801:ディスプレイ、802:表示画面、803:画像、804:鏡面画像

Claims (15)

  1.  撮像部により人物を撮像して得られた3次元データから人体骨格情報を検出する骨格推定部と、
     前記骨格推定部により得られた人体骨格情報から人体情報を生成する人体情報生成部と、
     前記人体情報生成部により得られた複数の人体情報を用いて、前記3次元データに含まれる前記人物の実像と虚像とからなる鏡像対を検出する鏡像対検出部と、
     前記鏡像対検出部により検出された鏡像対のうち、前記撮像部からの距離が遠い方を虚像と判断する虚像判断部と、
     を備える骨格検出装置。
  2.  請求項1に記載の骨格検出装置であって、
     前記鏡像対検出部により検出された鏡像対における対応する2点を用いて鏡面候補点を算出する鏡面候補点算出部と、
     該鏡面候補点算出部により算出された鏡面候補点を保存する鏡面候補点保存部と、
     該鏡面候補点保存部に保存された複数の鏡面候補点から鏡面を推定する鏡面推定部と、
     備える骨格検出装置。
  3.  請求項2に記載の骨格検出装置であって、
     前記鏡面候補点算出部は、前記鏡像対における2点を結ぶ線分の垂直二等分面と、前記虚像判断部により判断された虚像における前記点と前記撮像部を結ぶ線分との交点を、前記鏡面候補点として算出する骨格検出装置。
  4.  請求項2に記載の骨格検出装置であって、
     前記鏡面推定部により推定された鏡面を保存する鏡面保存部と、
     前記撮像部により得られた3次元データのうち前記鏡面推定部により推定された鏡面よりも前記撮像部から見て遠方の3次元データを除去する虚像除去部とを有し、
     前記骨格推定部は、前記虚像除去部により得られた3次元データから人体骨格情報を検出する骨格検出装置。
  5.  請求項2に記載の骨格検出装置であって、
     前記鏡面推定部により推定された鏡面を保存する鏡面保存部と、
     前記撮像部により得られた3次元データを前記鏡面推定部により推定された鏡面を対称面として折り返した重畳3次元データを生成する鏡像重畳部とを有し、
     前記骨格推定部は、前記鏡像重畳部により得られた重畳3次元データから人体骨格情報を検出する骨格検出装置。
  6.  請求項2に記載の骨格検出装置であって、
     前記鏡面推定部により推定された鏡面を提示する鏡面提示部を備える骨格検出装置。
  7.  請求項6に記載の骨格検出装置であって、
     前記鏡面の当否の入力を受ける鏡面情報入力部を備える骨格検出装置。
  8.  請求項4に記載の骨格検出装置であって、
     前記鏡面の移動情報の入力を受け付ける鏡面移動情報入力部を備える骨格検出装置。
  9.  請求項8に記載の骨格検出装置であって、
     前記虚像除去部は、前記鏡面移動情報入力部により受け付けられた鏡面の移動情報を用いて、前記鏡面推定部により推定された鏡面を移動させる骨格検出装置。
  10.  請求項5に記載の骨格検出装置であって、
     前記鏡面の移動情報の入力を受け付ける鏡面移動情報入力部を備える骨格検出装置。
  11.  請求項10に記載の骨格検出装置であって、
     前記鏡像重畳部は、前記鏡面移動情報入力部により受け付けられた鏡面の移動情報を用いて、前記鏡面推定部により推定された鏡面を移動させる骨格検出装置。
  12.  請求項1に記載の骨格検出装置であって、
     他の前記骨格検出装置から出力された前記人体情報の入力を受け付ける人体情報入力部を備える骨格検出装置。
  13.  請求項12に記載の骨格検出装置であって、
     前記鏡像対検出部は、前記人体情報生成部により得られた人体情報と前記人体情報入力部により受け付けられた人体情報を用いて前記鏡像対を検出する骨格検出装置。
  14.  請求項1に記載の骨格検出装置であって、
     前記撮像部を備える骨格検出装置。
  15.  撮像部により人物を撮像して得られた3次元データから人体骨格情報を検出し、
     該検出した人体骨格情報から人体情報を生成し、
     該生成した複数の前記人体情報を用いて、前記3次元データに含まれる前記人物の実像と虚像とからなる鏡像対を検出し、
     該検出した鏡像対のうち、前記撮像部からの距離が遠い方を虚像と判断する骨格検出方法。
PCT/JP2019/015628 2018-05-31 2019-04-10 骨格検出装置、及び骨格検出方法 WO2019230205A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018105050A JP6985982B2 (ja) 2018-05-31 2018-05-31 骨格検出装置、及び骨格検出方法
JP2018-105050 2018-05-31

Publications (1)

Publication Number Publication Date
WO2019230205A1 true WO2019230205A1 (ja) 2019-12-05

Family

ID=68696895

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/015628 WO2019230205A1 (ja) 2018-05-31 2019-04-10 骨格検出装置、及び骨格検出方法

Country Status (2)

Country Link
JP (1) JP6985982B2 (ja)
WO (1) WO2019230205A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111079597A (zh) * 2019-12-05 2020-04-28 联想(北京)有限公司 三维信息检测方法及电子设备
EP3886046A1 (en) * 2020-03-26 2021-09-29 Sony Group Corporation Multi-view positioning using reflections

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7061092B2 (ja) * 2019-03-28 2022-04-27 Kddi株式会社 画像処理装置及びプログラム
WO2021215236A1 (ja) * 2020-04-21 2021-10-28 ソニーグループ株式会社 情報処理装置、情報処理方法および記録媒体
CN111626247A (zh) * 2020-06-01 2020-09-04 上海商汤智能科技有限公司 姿态检测的方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065360A (ja) * 2007-09-05 2009-03-26 Denso Corp 画像処理装置、車載用画像処理装置、車載用画像表示装置及び車両制御装置
WO2017187641A1 (ja) * 2016-04-28 2017-11-02 富士通株式会社 骨格推定装置、骨格推定方法および骨格推定プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065360A (ja) * 2007-09-05 2009-03-26 Denso Corp 画像処理装置、車載用画像処理装置、車載用画像表示装置及び車両制御装置
WO2017187641A1 (ja) * 2016-04-28 2017-11-02 富士通株式会社 骨格推定装置、骨格推定方法および骨格推定プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111079597A (zh) * 2019-12-05 2020-04-28 联想(北京)有限公司 三维信息检测方法及电子设备
EP3886046A1 (en) * 2020-03-26 2021-09-29 Sony Group Corporation Multi-view positioning using reflections
US20210304435A1 (en) * 2020-03-26 2021-09-30 Sony Corporation Multi-view positioning using reflections
US11645777B2 (en) 2020-03-26 2023-05-09 Sony Group Corporation Multi-view positioning using reflections

Also Published As

Publication number Publication date
JP2019211850A (ja) 2019-12-12
JP6985982B2 (ja) 2021-12-22

Similar Documents

Publication Publication Date Title
WO2019230205A1 (ja) 骨格検出装置、及び骨格検出方法
JP6690041B2 (ja) 三次元物体上の注視点決定方法及び装置
JP5380789B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US9418475B2 (en) 3D body modeling from one or more depth cameras in the presence of articulated motion
JP5548482B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、プログラム及び記憶媒体
JP5671281B2 (ja) 位置姿勢計測装置、位置姿勢計測装置の制御方法及びプログラム
JP5618569B2 (ja) 位置姿勢推定装置及びその方法
JP5838355B2 (ja) 空間情報検出装置、人位置検出装置
Stamos et al. Integration of range and image sensing for photo-realistic 3D modeling
US20130187919A1 (en) 3D Body Modeling, from a Single or Multiple 3D Cameras, in the Presence of Motion
US20140225988A1 (en) System and method for three-dimensional surface imaging
JP2016197287A (ja) 情報処理装置、情報処理方法、プログラム
CN109284653A (zh) 基于计算机视觉的细长物体检测
JP2002259989A (ja) ポインティングジェスチャ検出方法及びその装置
KR20200113743A (ko) 인체 자세 추정 및 보정을 하는 방법 및 장치
JP2008309595A (ja) オブジェクト認識装置及びそれに用いられるプログラム
JP2015111128A (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
Hödlmoser et al. Multiple camera self-calibration and 3D reconstruction using pedestrians
Lao et al. Rolling shutter pose and ego-motion estimation using shape-from-template
KR20170059272A (ko) 다면체를 이용한 카메라 칼리브레이션 시스템 및 방법
JP6579659B2 (ja) 光源推定装置及びプログラム
JP6374812B2 (ja) 三次元モデル処理装置およびカメラ校正システム
Swadzba et al. Tracking objects in 6D for reconstructing static scenes
US10798360B2 (en) Information processing system, method for controlling same, and program
JP2011022084A (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: 19810905

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

Country of ref document: EP

Kind code of ref document: A1