WO2017141344A1 - 3次元モデル生成システム、3次元モデル生成方法、及びプログラム - Google Patents

3次元モデル生成システム、3次元モデル生成方法、及びプログラム Download PDF

Info

Publication number
WO2017141344A1
WO2017141344A1 PCT/JP2016/054404 JP2016054404W WO2017141344A1 WO 2017141344 A1 WO2017141344 A1 WO 2017141344A1 JP 2016054404 W JP2016054404 W JP 2016054404W WO 2017141344 A1 WO2017141344 A1 WO 2017141344A1
Authority
WO
WIPO (PCT)
Prior art keywords
dimensional model
subject
skeleton
parameter
shape
Prior art date
Application number
PCT/JP2016/054404
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 JP2017500096A priority Critical patent/JP6116784B1/ja
Priority to PCT/JP2016/054404 priority patent/WO2017141344A1/ja
Priority to US16/066,674 priority patent/US10593106B2/en
Priority to CN201680076775.4A priority patent/CN108475439B/zh
Priority to EP16890486.0A priority patent/EP3382648A4/en
Publication of WO2017141344A1 publication Critical patent/WO2017141344A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform

Definitions

  • the present invention relates to a three-dimensional model generation system, a three-dimensional model generation method, and a program.
  • Non-Patent Document 1 discloses a three-dimensional model in which a subject is photographed from different directions with a plurality of RGBD cameras, and the body line of the subject is estimated based on the contour information and depth information of the subject acquired by each RGBD camera. Techniques for generating are described. Further, for example, Non-Patent Document 2 describes a technique for deforming a three-dimensional model so as to match the length of a limb indicated by depth information detected by a single RGBD camera.
  • Non-Patent Document 1 it is necessary to prepare a large number of RGBD cameras, so a dedicated shooting studio or the like is required. Furthermore, since it is necessary to analyze an RGBD image obtained by photographing a subject from each photographing direction, the processing becomes complicated and it takes time to generate a three-dimensional model.
  • the 3D model is simply deformed according to the length of a limb or the like, so the size of the subject cannot be accurately estimated. For example, the 3D model larger than the actual size of the subject Cannot be generated and a highly accurate three-dimensional model cannot be generated.
  • the present invention has been made in view of the above problems, and an object thereof is to quickly generate a highly accurate three-dimensional model.
  • a 3D model generation system is based on skeleton acquisition means for acquiring a skeleton parameter based on depth information of a subject detected by a depth detection device, on the basis of the skeleton parameter, Posture change means for changing the posture of the deformable three-dimensional model according to body parameters, surface shape acquisition means for acquiring the surface shape of the subject based on the depth information, and posture changed by the posture change means 3
  • a body shape determining means for determining the body shape parameter based on the difference between the surface shape of the dimensional model and the surface shape of the subject; and the 3D model based on the body shape parameter determined by the body shape parameter determining means.
  • a body shape deforming means for deforming.
  • the three-dimensional model generation method includes a skeleton acquisition step of acquiring a skeleton parameter based on depth information of a subject detected by a depth detection device, and a three-dimensional shape that can be deformed by a body shape parameter based on the skeleton parameter.
  • a posture changing step for changing the posture of the model; a surface shape step for acquiring a surface shape of the subject based on the depth information; a surface shape of the three-dimensional model whose posture is changed by the posture changing step; and the subject
  • a body shape determining step for determining the body shape parameter based on the difference between the surface shape and a body shape deforming step for deforming the three-dimensional model based on the body shape parameter determined by the body shape parameter determining step. It is characterized by including.
  • the program according to the present invention includes a skeleton acquisition unit that acquires skeleton parameters based on depth information of a subject detected by a depth detection device, and changes the posture of a three-dimensional model that can be deformed by body parameters based on the skeleton parameters.
  • Posture changing means for performing, surface shape obtaining means for obtaining the surface shape of the subject based on the depth information, surface shape of the three-dimensional model whose posture has been changed by the posture changing means, and surface shape of the subject.
  • the computer functions as body type determining means for determining the body type parameter, and body shape deforming means for deforming the three-dimensional model based on the body type parameter determined by the body type parameter determining unit.
  • the information storage medium according to the present invention is a computer-readable information storage medium storing the above program.
  • the 3D model generation system may further include a skeleton determination unit that determines the skeleton parameter based on a difference between a surface shape of the 3D model and a surface shape of the subject.
  • the posture changing means updates the posture of the three-dimensional model based on the skeleton parameter determined by the skeleton determining means.
  • the three-dimensional model generation system may be configured to detect a difference between a part of the surface shape of the three-dimensional model deformed by the body shape deforming unit and the surface shape of the subject corresponding to the part. Based on this, it further includes partial deformation means for deforming the part.
  • the three-dimensional model generation system may be configured to detect a range corresponding to a detection range of the depth detection device from the three-dimensional model based on the depth information.
  • the partial deformation means deforms a part specified by the detection range specifying means in the three-dimensional model.
  • the partial deformation means deforms each part of the three-dimensional model based on a surrounding deformation state.
  • the partial deformation means deforms each part of the three-dimensional model based on a past shape of the part.
  • the three-dimensional model generation system may identify a body part corresponding to the body of the subject from the three-dimensional model based on the three-dimensional model or the surface shape of the subject.
  • the three-dimensional model generation system may be configured to detect a detection range specifying unit that specifies a vertex corresponding to the detection range of the depth detection device from the three-dimensional model based on the depth information.
  • the body type determining means determines the body type parameter based on a difference between the surface shape of the three-dimensional model and the surface shape of the subject in the detection range.
  • the three-dimensional model generation system further includes a history recording unit that records a history of the body type parameter in a storage unit, and the body type determination unit includes the history recorded by the history recording unit.
  • the body type parameter is determined based on the above.
  • a highly accurate three-dimensional model can be quickly generated.
  • FIG. 1 is a diagram illustrating how a subject is photographed in the three-dimensional model generation system
  • FIG. 2 is a diagram illustrating a hardware configuration of the three-dimensional model generation system.
  • the three-dimensional model generation system 1 includes a depth detection device 10 and a three-dimensional model generation device 20.
  • the depth detection device 10 and the three-dimensional model generation device 20 are connected so as to be able to transmit and receive data by wired communication or wireless communication.
  • the depth detection device 10 is a measuring device that detects the depth of a subject.
  • the depth detection device 10 may be a Kinect (registered trademark) sensor.
  • the depth is a distance between the depth detection device 10 and the subject.
  • the subject is a moving object to be detected, for example, a person, an animal, or a clothing thereof.
  • the depth detection device 10 includes a control unit 11, a storage unit 12, a communication unit 13, and a depth detection unit 14.
  • the control unit 11 includes, for example, one or a plurality of microprocessors.
  • the control unit 11 executes processing according to programs and data stored in the storage unit 12.
  • the storage unit 12 includes a main storage unit and an auxiliary storage unit.
  • the main storage unit is a volatile memory such as a RAM
  • the auxiliary storage unit is a non-volatile memory such as a hard disk or a flash memory.
  • the communication unit 13 includes a network card for wired communication or wireless communication. The communication unit 13 performs data communication via a network.
  • the depth detection unit 14 is a depth sensor (distance camera) that detects a depth using electromagnetic waves, sound waves, or the like, and is, for example, an RGBD camera or an ultrasonic sensor.
  • the depth detection unit 14 includes an RGBD camera and detects the depth of a subject using infrared rays will be described.
  • the depth detection unit 14 itself can be realized by various known depth sensors.
  • the RGBD camera of the depth detection unit 14 includes a CMOS image sensor or a CCD image sensor, and an infrared sensor.
  • the depth detection unit 14 generates an RGB image of the subject based on a detection signal from the CMOS image sensor or the CCD image sensor.
  • the RGB image is planar information of the subject and has no depth.
  • the depth detection unit 14 emits infrared rays from the light emitting element of the infrared sensor, and detects the infrared rays reflected by the subject with the light receiving element.
  • the depth detection part 14 estimates the distance with a to-be-photographed object based on the flight time after emitting infrared rays and returning, and produces
  • various known methods can be applied to the depth information generation method itself, and a light coding method may be used in addition to the above-described time-of-flight method.
  • FIG. 3 is a diagram showing an example of depth information.
  • the depth information I is shown as a depth image.
  • each pixel of the depth information I is associated with a pixel value indicating the depth.
  • the depth information I may be handled as an image different from the RGB image, or may be handled as an RGBD image combined with the RGB image.
  • the pixel value of each pixel includes the value of the depth channel in addition to the value of each color channel.
  • the depth information I is treated as different from the RGB image.
  • the depth detection apparatus 10 acquires a skeleton by estimating the position of each joint of the subject based on the depth information I detected by the depth detection unit 14.
  • the skeleton can be acquired by various known extraction methods.
  • a method using template matching will be described as an example.
  • the depth detection apparatus 10 performs template matching between the depth information I detected by the depth detection unit 14 and a template image indicating the basic shape of the contour of the subject, and the position of each joint of the subject in the depth information I ( Pixel).
  • the depth detection apparatus 10 estimates the three-dimensional position of each joint by carrying out predetermined matrix transformation of the depth of each joint.
  • the estimated position of each joint is a skeleton posture, and is hereinafter expressed as detected posture information.
  • FIG. 4 is a diagram illustrating an example of detected posture information.
  • the detected posture information J includes the three-dimensional coordinates of each of the joints of the subject.
  • the detected posture information J includes the head J 1 , the shoulder center J 2 , the right shoulder J 3 , the right elbow J 4 , the right hand J 5 , the left shoulder J 6 , the left elbow J 7 , the left hand J 8 , the spine J 9 , the hip
  • the center J 10 the right hip J 11 , the right knee J 12 , the right foot J 13 , the left hip J 14 , the left knee J 15 , and the left foot J 16 are included.
  • the detected posture information J may be more or less than the above 16 pieces.
  • the detected posture information J only needs to indicate the position of the joint that can be detected from the depth information I, and may include, for example, the position of the wrist or ankle.
  • the depth detection device 10 generates depth information I and detected posture information J based on a predetermined frame rate. For this reason, the depth detection device 10 periodically generates the depth information I and the detected posture information J. For example, assuming that the frame rate is 30 fps, the depth detection apparatus 10 generates depth information I and detected posture information J every 1/30 seconds. In the following, when the depth information I and the detected attitude information J are indicated at a certain time t, the respective codes are described as I t and J t .
  • the three-dimensional model generation apparatus 20 is a computer that generates a three-dimensional model, and is, for example, a personal computer, a portable information terminal (including a tablet computer), a mobile phone (including a smartphone), or the like.
  • the three-dimensional model generation apparatus 20 includes a control unit 21, a storage unit 22, a communication unit 23, an operation unit 24, and a display unit 25.
  • the hardware configurations of the control unit 21, the storage unit 22, and the communication unit 23 are the same as those of the control unit 11, the storage unit 12, and the communication unit 13, respectively.
  • the operation unit 24 is an input device for the player to operate, and is, for example, a pointing device such as a touch panel or a mouse, a keyboard, or the like.
  • the operation unit 24 transmits the operation content by the player to the control unit 21.
  • the display unit 25 is, for example, a liquid crystal display unit or an organic EL display unit.
  • the display unit 25 displays a screen according to instructions from the control unit 21.
  • each of the depth detection device 10 and the three-dimensional model generation device 20 may include a reading unit (for example, an optical disc drive or a memory card slot) that reads a computer-readable information storage medium.
  • the program and data stored in the information storage medium may be supplied to the depth detection device 10 and the three-dimensional model generation device 20 via the reading unit.
  • FIG. 5 is a diagram showing an outline of processing executed by the three-dimensional model generation system 1.
  • T in FIG. 5 is a time axis.
  • the depth detection device 10 periodically transmits depth information I and detected posture information J to the three-dimensional model generation device 20.
  • the three-dimensional model generation apparatus 20 partially estimates the shape estimation process for estimating the body shape (body line) of the subject and the estimated body line.
  • Geometric reconstruction processing for reconstructing a detailed shape (such as a wrinkle of clothes). The shape estimation process and the geometric reconstruction process are executed every frame.
  • the template indicating the basic shape of the body is deformed to resemble the posture and body shape of the subject.
  • the template is a three-dimensional model showing the body itself, and may be a naked three-dimensional model, for example.
  • the template is composed of a plurality of parts indicating the body part, and may be prepared in advance using shooting data of a subject or 3D CAD.
  • the symbol “M T ” is described in the three-dimensional model, and when referring to the three-dimensional model deformed by the shape estimation process, the symbol “M S ” is described.
  • 3-dimensional model M S is, it can be said that the three-dimensional model of a naked that reproduces the posture and body type of the subject.
  • the geometrical reconstruction process by using the depth information I, as detailed shape such as clothes wrinkles (shape of a portion other than the body) appears, partially reconstruct the three-dimensional model M S.
  • the symbol “M D ” is described.
  • Three-dimensional model M D not only the body line of the object is a three-dimensional model that reproduces to those wearing. Although details will be described later, the three-dimensional model M D, so can distinguish the body part and the other part of the subject, by feeding back the execution result of the geometrical reconstruction process on the shape estimation processing, three-dimensional it is also possible to improve the accuracy of the model M S.
  • Bayesian estimation theory is used to evaluate the high accuracy of the three-dimensional models M S and M D so as to increase their accuracy.
  • Bayesian estimation theory is a technique for estimating a thing to be estimated in a probabilistic sense based on measurement results in the real world. The higher the probability of Bayesian estimation theory, the higher the probability that the thing to be estimated will actually occur. That is, if the probability of Bayesian estimation theory is high, the estimated three-dimensional models M S and M D are similar to an actual subject.
  • 3D model generation system 1 determines the overall deformation degree and partial reconstruction condition of the three-dimensional model M T.
  • D, and a three-dimensional model M S is utilizing three evaluation values of the evaluation value E 0 to avoid an abrupt change that not be the real, so as to quickly generate an accurate three-dimensional model ing.
  • FIG. 6 is a functional block diagram illustrating an example of functions realized by the three-dimensional model generation system 1.
  • the determining unit 37, the history recording unit 38, the body shape deforming unit 39, the skeleton determining unit 40, the partial deforming unit 41, and the body part specifying unit 42 are realized by the three-dimensional model generation device 20.
  • the main process of the shape estimation process is executed by the body shape determination unit 37 and the skeleton determination unit 40
  • the main process of the geometric reconstruction process is executed by the partial deformation unit 41.
  • the data storage unit 30 is realized mainly by the storage unit 22.
  • Data storage unit 30 the three-dimensional model M S, and stores the data for generating the M D.
  • the following data will be described as an example of data stored in the data storage unit 30.
  • Skeletal history data storing history of skeleton parameters (details will be described later)
  • Body history data (4) storing history of body parameters (details will be described later)
  • vertex movement amount physical history data (7 for storing the details will be described later
  • movement amount history data (5) history of the three-dimensional model M T template data (6) 3-dimensional model that defines the M S for storing a history of) 3 reconstruction historical data store historical dimension model M D
  • the data stored in the data storage unit 30 is not limited to the above example.
  • the data storage unit 30 may store data indicating the basic attitude data and the skeleton J T for storing the history of the detected posture information J.
  • the depth acquisition unit 31 is realized mainly by the control unit 21.
  • the depth acquisition unit 31 acquires depth information I (FIG. 3) on the subject detected by the depth detection device 10.
  • the depth acquisition unit 31 since the three-dimensional model generation device 20 is directly connected to the depth detection device 10, the depth acquisition unit 31 directly receives the depth information I from the depth detection device 10.
  • the depth information I may be received indirectly via the device.
  • the depth acquisition unit 31 stores the acquired depth information in the depth history data.
  • the skeleton acquisition unit 32 is realized mainly by the control unit 21.
  • the skeleton acquisition unit 32 acquires the skeleton parameter of the subject based on the depth information I detected by the depth detection device 10.
  • the skeleton parameter is information relating to the skeleton of the subject and is information indicating the positional relationship between the joints.
  • the detected posture information J in FIG. 4 may be used as it is as a skeleton parameter, here, the case where the skeleton acquisition unit 32 uses the angle of each joint indicated by the detected posture information J as a skeleton parameter will be described.
  • the skeleton acquisition unit 32 stores the acquired skeleton parameter in the skeleton history data.
  • FIG. 7 is a diagram showing skeleton parameters.
  • the skeleton acquisition unit 32 acquires the angle ⁇ j ⁇ of each joint calculated based on the three-dimensional coordinates of each joint indicated by the detected posture information J as a skeleton parameter.
  • the skeleton parameter ⁇ j ⁇ is composed of 12 angles.
  • ⁇ t j ⁇ when referring to the skeleton parameter ⁇ j ⁇ at a certain time t, it is described as ⁇ t j ⁇ .
  • the body parameter acquisition unit is realized mainly by the control unit 21.
  • the body parameter acquisition unit acquires body parameters.
  • those three-dimensional model M T is deformed by body type parameter is a three-dimensional model M S.
  • Deformation here means changing the position and shape of the surface, for example, changing the overall size or changing the partial shape.
  • the body shape obtaining unit 33 stores the obtained body shape parameter in the body shape history data.
  • the body type parameter indicates the characteristics of the body type of the subject, and indicates the size of the whole body or each part.
  • the body type parameter includes respective numerical values such as height, chest circumference, waist, width of the garment, inseam, arm length, or foot size.
  • the body type parameter is a combination of a plurality of values, and is described with a symbol ⁇ k ⁇ . k is a number for identifying an item included in the body type parameter.
  • ⁇ 1 is height
  • ⁇ 2 is chest circumference
  • ⁇ 3 is waist, and so on.
  • the body type parameter may be only a single value, not a combination of a plurality of values.
  • Figure 8 is a diagram showing how the three-dimensional model M T is deformed by integrated parameters ⁇ k ⁇ .
  • the three-dimensional model M T is deformed so as to type indicated by the type parameter ⁇ beta k ⁇ .
  • three-dimensional model M T is the height becomes lower as the beta 1 is small, deformed so as tall as the beta 1 is large becomes high.
  • three-dimensional model M T is chest becomes shorter as beta 2 is small, deformed such as beta 2 is larger chest becomes longer.
  • three-dimensional model M T is West becomes thinner as the beta 3 is small, deformed so as waist as beta 3 is large becomes thick.
  • the type parameters ⁇ k ⁇ , 3-dimensional model M T of the shape of each part (i.e., the vertex position) and, the relationship is assumed to be previously stored in the data storage unit 30.
  • This relationship may be in the form of a mathematical expression, in the form of a table, or may be described as a program code.
  • the three-dimensional model M T is defined to be the type of integrated parameters ⁇ k ⁇ . Described later type deforming portion 39, so that the shape associated with the integrated parameter ⁇ beta k ⁇ , deforming the part of the three-dimensional model M T.
  • 3-dimensional model M T is deformed.
  • the body type parameter ⁇ k ⁇ at a certain time t it is described as ⁇ t k ⁇ .
  • the body parameter ⁇ 0 k ⁇ at that time is an initial value, and the three-dimensional model of the template directly becomes the value indicating the type of M T.
  • the body parameter ⁇ 0 k ⁇ may be stored in the data storage unit 30 in advance.
  • the body shape acquisition unit 33 acquires the body parameter ⁇ 0 k ⁇ of the initial value stored in the data storage unit 30.
  • the posture changing unit 34 is realized mainly by the control unit 21.
  • Posture change unit 34 on the basis of the skeleton parameter ⁇ theta j ⁇ , changing the attitude of the deformable three-dimensional model M T by integral parameters ⁇ k ⁇ .
  • Posture change unit 34 so that the posture indicated by the skeleton parameter ⁇ theta j ⁇ , changes the positional relationship between each part of the 3D model M T.
  • the posture is a positional relationship between body parts, and here is a positional relationship between joints.
  • FIG. 9 and 10 are diagrams showing how the attitude of the three-dimensional model M T varies based on the skeleton parameter ⁇ j ⁇ .
  • the posture change unit 34 the basic position (e.g., upright) to set inside the 3D model M T skeletons J T of.
  • Positional relationship between a plurality of joints that constitute the skeleton J T may be determined in advance to show the orientation of the three-dimensional model M T is a template.
  • the three-dimensional model M T when the skeleton J T is set each vertex in the 3D model M T is associated with one of the joints of the skeleton J T.
  • the vertex associated with that joint is moved so as to maintain the joint and a predetermined positional relationship. That is, a vertex associated with a certain joint is linked to that joint.
  • Posture change unit 34 the positional relationship of each joint indicated skeletal parameters ⁇ theta j ⁇ , and the positional relation of the joints of the skeleton J T, it is to correspond, deforming the skeleton J T.
  • the positional relationship corresponds to the fact that the positions of these two joints match or the positional deviation is less than a predetermined value. Is to allow some positional displacement, the distance between the actual joints of the subject, the distance between the joints of the skeleton J T, but not necessarily match, that match the three-dimensional coordinates completely Because it is difficult.
  • the posture changing unit 34 causes the skeleton J to have an angle of each joint of the skeleton J T that matches or shifts below the reference with the skeleton parameter ⁇ j ⁇ . T is deformed.
  • the posture change unit 34 deforms the skeleton J T, and subject orientation it is possible to obtain a three-dimensional model M S of similar attitude.
  • the detection range specifying unit 35 is realized mainly by the control unit 21. Detection range identification unit 35, based on the depth information I, from three-dimensional model M S, identifies a portion corresponding to the detection range of the depth detection device 10.
  • the detection range is a detectable range on the surface of the subject, and is a place where the infrared rays of the depth detection device 10 are reflected.
  • the detection range identification unit 35 based on the depth information I, obtains the orientation of the depth detection device 10 in the three-dimensional space, and the acquired orientation, and the orientation of the surface of the three-dimensional model M S, the relationship
  • the detection range is specified based on the result.
  • FIG. 11 is an explanatory diagram for explaining the processing of the detection range specifying unit 35.
  • the line-of-sight direction V of the depth detection device 10 that is, the infrared irradiation direction
  • Detection range identification unit 35 based on the depth information I, obtains the viewpoint O V and the viewing direction V in a three-dimensional space.
  • Viewpoint O V is the origin of the viewpoint coordinate system
  • the viewing direction V is the Z-axis of the viewpoint coordinate system (Incidentally, the coordinate axis in FIG. 11 is a coordinate axis in the world coordinate system).
  • the detection range specifying unit 35 acquires the position O V and the line-of-sight direction V of the depth detection device 10 in the three-dimensional space based on the depth of the point of interest (that is, the center pixel of the image) of the depth information I.
  • the detection range specifying unit 35 sets the vertex v i within the detection range where the normal line ni and the line-of-sight direction V face each other (for example, the angle formed by them is 90 ° or more), and sets the other points outside the detection range.
  • the surface shape acquisition unit 36 is realized mainly by the control unit 21.
  • the surface shape acquisition unit 36 acquires the surface shape of the subject (shown in FIG. 12 described later) based on the depth information I.
  • the surface shape of the subject is the shape of the portion detected by the depth detection device 10 in the subject, and is a region that appears in the depth information I as the depth.
  • the surface shape of the subject is a three-dimensional coordinate group obtained by performing a predetermined matrix transformation on the depth information I, and is obtained by converting the depth of each pixel of the depth information I into a three-dimensional space.
  • the surface shape acquired by the surface shape acquisition unit 36 is only the front surface of the subject and does not include the back surface.
  • the body shape determination unit 37 is realized mainly by the control unit 21.
  • the body type determining unit 37 determines body type parameters based on the difference between the surface shape of the three-dimensional model whose posture has been changed by the posture changing unit 34 and the surface shape of the subject.
  • the difference in shape is a positional difference in a three-dimensional space, for example, a distance between vertices.
  • the body shape determination unit 37 changes the body shape parameter so that the difference in shape becomes small. That is, the body type determination unit 37 changes the body type parameter so that the difference after changing the body type parameter is smaller than the difference before changing the body type parameter.
  • FIG. 12 is an explanatory diagram of the processing of the body type determination unit 37.
  • Figure 12 shows a three-dimensional model M S by the solid line shows the surface S OB of the object by a broken line.
  • the evaluation value E S can be said to be an evaluation value E S for comprehensively evaluating the distance d i between the three-dimensional coordinates of each vertex v i and the three-dimensional coordinates of the point p i corresponding to the vertex v i. .
  • the evaluation value E S indicates the high accuracy of the three-dimensional model M S.
  • type determination unit 37 by substituting the distance d i in a predetermined equation to obtain the evaluation value E S.
  • E S the evaluation value at a certain time t is indicated, it is described as E t S (X t ).
  • Weighting factor mu t i of Equation 1 the weighting factor (here, 0 or 1 or less).
  • Weighting factor mu t i is not a body (e.g., such as clothes wrinkles) deviation degree of the portion that seems to have a coefficient to reduce or eliminate the influence on the evaluation value E t S (X t).
  • the degree of displacement of the part that is not considered to be a body cannot be trusted in obtaining the evaluation value E t S (X t ).
  • to reduce the weight of the portion seems to have used a weighting factor mu t i. Method of obtaining the weighting factor mu t i will be described later.
  • V t i of formula 1 are the vertices of the three-dimensional model M S at time t.
  • p t i is the point closest to the vertex v t i among the points on the surface S OB of the subject.
  • vis (v t i , p t i ) is a function including a conditional expression. If the vertex v t i is within the detection range, the distance between the vertex v t i and the point p t i is returned, and the vertex v t i If is outside the detection range, a predetermined value ⁇ S is returned.
  • the reason why the predetermined value ⁇ S is returned is that when the vertex v t i is out of the detection range, the point p t i corresponding to the vertex v t i does not exist and the distance cannot be obtained.
  • the predetermined value ⁇ S may be an arbitrary value, but if it is set to 0, the three-dimensional model may be reduced, and may be about 0.1.
  • the body shape determination unit 37 obtains a distance from the point p t i or a predetermined value ⁇ S for each vertex v t i , and uses the sum total multiplied by the weighting coefficient ⁇ t i as the evaluation value E t. Acquired as S (X t ).
  • integrated determining unit 37 to optimize the integrated parameters ⁇ beta k ⁇ on the basis of the evaluation value E S.
  • type determination unit 37 a plurality selects candidates for integrated parameters ⁇ beta k ⁇ , determined from among them, the value of the candidate to the evaluation value E S below the minimum or threshold, as integrated parameter ⁇ beta k ⁇ To do.
  • the optimization itself may use various optimization algorithms, but here, a case where a particle swarm optimization method is used will be described as an example.
  • the body shape determination unit 37 selects a plurality of body shape parameter ⁇ k ⁇ candidates based on the particle swarm optimization algorithm.
  • the body type determination unit 37 initializes a body type parameter ⁇ k ⁇ based on an evaluation value E 0 of Equation 2 described later, and selects a plurality of candidates based on the initialized ⁇ k ⁇ . For example, a candidate whose difference from the initialized ⁇ k ⁇ falls within a predetermined range is a candidate.
  • the number of candidates may be arbitrary, for example, about 30.
  • Type determination unit 37 calculates an evaluation value E S for each candidate, selects one of the plurality of candidates.
  • type determination unit 37 the value of the candidate which minimizes the evaluation value E S, is selected as a new type parameters ⁇ k ⁇ .
  • Type determination unit 37 updates the three-dimensional model M S passes the integrated parameters ⁇ beta k ⁇ after optimized integrated deformation portion 39.
  • type determination unit 37 when determining the type parameter ⁇ beta k ⁇ , the body part
  • the corresponding difference weighting ie, the weighting factor ⁇ t i
  • the body shape determination unit 37 calculates the surface shape of the three-dimensional model in the detection range and the surface shape of the subject. Based on the difference, the body type parameter is determined.
  • the body shape determination unit 37 Since the depth information I is repeatedly acquired at a predetermined frame rate, the body shape determination unit 37 repeatedly executes the optimization process as described above. Type determination unit 37 may execute only optimized once at a single frame, repeat the optimization process until the visit is the next frame may be made smaller the evaluation value E S as possible. Furthermore, type determination unit 37 holds the integrated parameters ⁇ beta k ⁇ of when the evaluation value E S becomes less than the threshold, until obtaining depth information I of the next frame, not any further optimization You may do it.
  • the body shape determination unit 37 may obtain an initial value of the body shape parameter ⁇ k ⁇ in a certain frame from past values to suppress fluctuations in the body shape parameter ⁇ k ⁇ .
  • This initial value may be obtained by substituting the past body type parameter ⁇ k ⁇ into a predetermined mathematical expression, but in this embodiment, the body type parameter ⁇ k ⁇ is based on the evaluation value E 0 .
  • the evaluation value E 0 can be represented by a function having a body type parameter ⁇ k ⁇ as a variable, for example, as in the following Expression 2.
  • D in Equation 2 is a distance in a principal component analysis space (a so-called PCA space; here, a k-dimensional space in which a body type parameter ⁇ k ⁇ is indicated).
  • r is an arbitrary time.
  • Right side of Equation 2 and the candidate value of the type parameter ⁇ beta k ⁇ , the integrated parameters ⁇ t k ⁇ at each time t, a distance sum.
  • the left side of Equation 2 indicates how much a candidate value for a certain body parameter ⁇ k ⁇ deviates from the past body parameter ⁇ k ⁇ as a whole.
  • the body shape determination unit 37 performs initialization based on ⁇ k ⁇ that makes the evaluation value E 0 ( ⁇ k ⁇ ) minimum or less than the threshold value.
  • the evaluation value E 0 ( ⁇ k ⁇ ) is minimized when the past body type parameter ⁇ k ⁇ is an average value, so the body type determination unit 37 determines the average of the past body type parameters ⁇ k ⁇ . Initialization is based on the value. In this way, it is possible to prevent the body parameter ⁇ k ⁇ from changing suddenly only at a certain time t.
  • This average value may be an average of all past periods, or may be an average of the most recent predetermined period.
  • a coefficient may be provided according to time t. In this case, it is good also as a weighted average which made weighting large, so that it is near the present time.
  • integrated type determination unit 37, a type parameter ⁇ beta k ⁇ , and history recorded by the history recording unit 38, based on, will determine the type parameter ⁇ beta k ⁇ .
  • the history recording unit 38 is realized mainly by the control unit 21.
  • the history recording unit 38 records the history of the body type parameter ⁇ k ⁇ in the data storage unit 30.
  • the history recording unit 38 stores the body type parameter ⁇ k ⁇ in the body type history data in time series, or stores the body type parameter ⁇ k ⁇ in the body type history data in association with the optimized time.
  • the body deforming unit 39 is realized mainly by the control unit 21.
  • Type deformation part 39 based on the integrated parameters determined by the type parameter determination unit, deforming the three-dimensional model M T.
  • Integrated deformable portion 39 deforms by changing the position of the vertices of the 3D model M T. Vertex, so that to define individual polygon, the position of the vertex is changed, it is changed at least one of the position and shape of each part of the 3D model M T. That is, the integrated deformation portion 39 will be moved or deformed polygons constituting the three-dimensional model M T.
  • a triangular polygon will be described here, a quadrilateral or pentagon or more polygon may be used.
  • Figure 13 is a diagram showing how the three-dimensional model M S is changed when the optimization is performed.
  • the body shape determination unit 37 increases ⁇ 1 indicating the height. stature of the three-dimensional model M S so as to become possible to optimize high Te.
  • the body shape deforming unit 39 updates the 3D model M S based on the optimized body shape parameter ⁇ k ⁇ , the 3D model M S approaches the actual height of the subject.
  • the skeleton determination unit 40 is realized mainly by the control unit 21. Skeletal determination unit 40, and the surface shape of the three-dimensional model M S, based on the difference of the surface shape of the subject, to determine skeletal parameters ⁇ j ⁇ .
  • Skeletal determination unit 40 and the surface shape of the three-dimensional model M S, based on the difference of the surface shape of the subject, to determine skeletal parameters ⁇ j ⁇ .
  • skeletal determining section 40 Determines the skeleton parameter ⁇ j ⁇ based on the evaluation value E S and optimizes the skeleton parameter ⁇ j ⁇ .
  • skeletal determination unit 40 the candidate of the skeleton parameter ⁇ theta j ⁇ a plurality elected determined from among them, the value of the candidate to the evaluation value E S below the minimum or threshold, as a scaffold parameter ⁇ theta j ⁇ To do.
  • the optimization itself may use various optimization algorithms, but here, the optimization is determined using an optimization method based on the least square method.
  • the skeleton determination unit 40 selects a plurality of skeleton parameter ⁇ j ⁇ candidates based on the least square method.
  • the candidate is a candidate whose difference from the current skeleton parameter ⁇ j ⁇ falls within a predetermined range.
  • the number of candidates may be arbitrary.
  • Type determination unit 37 calculates an evaluation value E S for each candidate, selects one of the plurality of candidates. For example, type determination unit 37, the value of the candidate which minimizes the evaluation value E S, is selected as a new skeletal parameters ⁇ j ⁇ .
  • Posture change unit 34 on the basis of the skeleton parameter ⁇ theta j ⁇ which are determined by the skeleton determination unit 40, and updates the posture of the 3D model M S.
  • Partial deformation portion 41 includes a part of the surface shape of the three-dimensional model M S deformed by integrated deformable portion 39, and the surface shape of the object corresponding to the portion, based on the difference, to deform the portion.
  • partial deformation portion 41 has a three-dimensional model M S, and the surface shape of the subject, based on the partial misalignment degree of obtains the vertex movement amount on the position to have each vertex of the three-dimensional model M S .
  • Vertex movement amount in order to reproduce the subject partial details, showing where to may be moved vertices v i of the three-dimensional model M S.
  • FIG. 14 is an explanatory diagram of the vertex movement amount.
  • Figure 14 is an enlarged view of the vicinity of the fuselage surface S OB of the three-dimensional model M S and the object.
  • Vertex movement amount to move the vertex v i may be any identifiable information, but as shown in FIG. 14, in this embodiment, the vertex movement amount, the direction with respect to the normal n i vertex v i illustrating the case of a movement amount eta i.
  • the vertex movement amount is not limited to the movement amount ⁇ i , and may indicate the three-dimensional coordinates of the movement destination vertex v i itself, or may be vector information indicating the movement direction and the movement amount.
  • Partial deformation portion 41, the three-dimensional coordinates of the vertex v i by substituting the 3-dimensional coordinates of a vertex v i closest point p i within the surface shape of the subject, to a predetermined formula, the vertex moving amount ⁇ Get i .
  • This mathematical expression is determined so that the vertex movement amount ⁇ i increases as the deviation between the three-dimensional coordinates of the vertex v i and the three-dimensional coordinates of the point p i increases, and the vertex movement amount ⁇ i decreases as the deviation decreases. It has been.
  • the case where by using the evaluation value E D acquires vertex movement amount eta i.
  • Evaluation value E D when the three-dimensional model M S is deformed based on the vertex movement amount eta i, an evaluation value for evaluating whether the deviation much and the surface S OB of the object.
  • the evaluation value E D since that deform the 3D model M S based on the vertex movement amount eta i is described in the sign of "M D", the evaluation value E D, the accuracy of the three-dimensional model M D It can be said that it shows the height of.
  • E t D when the evaluation value E D at a certain time t is indicated, it is described as E t D.
  • the evaluation value E t D because changes in accordance with the vertex movement amount eta i, can be described to have a variable vertex movement amount eta i function E t D ( ⁇ i).
  • partial deformation section 41 uses Equation 3 below, to obtain the evaluation value E t D ( ⁇ i).
  • S t of the first term on the right side of the equation 3 is the surface of the three-dimensional model M S.
  • the first term on the right side of Equation 3 represents the distance between the point p t i of the subject at a certain time t and the point v i ′ obtained by moving the vertex v t i in the direction of the normal n i by the vertex movement amount ⁇ i. those taking the sum is calculated for each individual vertex v t i.
  • N (i) in the second term on the right side of Equation 3 is another vertex adjacent to a certain vertex v i , and ⁇ D is a hyperparameter.
  • the second term on the right side of Equation 3 means a vertex v t i vertex movement amount eta i of a certain, a vertex movement amount eta j of adjacent vertices, the sum of the difference.
  • the partial deformation unit 41 acquires the vertex movement amount ⁇ i of each vertex v i based on the evaluation value E D. Higher evaluation value E D is small, the difference between the surface shape of the three-dimensional model M D and the object is accuracy increases less, partial deformation section 41, the vertex moving distance to the evaluation value E D below the minimum or threshold Get ⁇ i .
  • the vertex movement amount ⁇ i at a certain time t is indicated, it is described as ⁇ t i .
  • the partial deformation unit 41 temporarily calculates the vertex movement amount ⁇ t i by using the following formula 4, and then the evaluation value E t D ( ⁇ i ) of the formula 3 is minimized.
  • the vertex movement amount ⁇ t i is corrected as follows.
  • Equation 4 is an equation for calculating a weighted average of the deviation between the vertex v t i and the point p t i at the current time t and the past vertex movement amount (in the latest frame, in Equation 4).
  • ⁇ t ⁇ 1 and ⁇ ′ t are weighted average coefficients.
  • the vertex movement amount ⁇ t i is temporarily calculated as shown in Equation 4 because the depth information I at a certain time t may be mixed with noise, so that only when the noise is mixed, the vertex movement amount ⁇ i is suddenly changed. changes, in order to prevent the three-dimensional model M D is dented sudden or protrudes take the average of the past, in order to avoid too only larger or smaller vertex movement amount eta i at a certain time is there.
  • the partial deforming unit 41 temporarily calculates the vertex movement amount ⁇ i for each vertex using Expression 4. Then, the partial deformation unit 41 acquires a plurality of candidates based on the temporarily calculated vertex movement amount ⁇ i . This candidate only needs to be within a predetermined range with respect to the tentative calculation vertex movement amount ⁇ i . The number of candidates may be arbitrary.
  • the partial deforming unit 41 calculates an evaluation value E t D ( ⁇ i) based on the candidates acquired for each vertex v i and determines the candidate having the minimum value as the vertex movement amount ⁇ i .
  • partial deformation section 41 a vertex movement amount eta i for each vertex, based on the vertex movement amount eta i around the vertex decide. Therefore, partial deformation portion 41, each portion of the three-dimensional model M S, is modified based on the modification degree of the surroundings.
  • partial deformation section 41 may be a deformed condition of each portion of the three-dimensional model M S, the difference between the deformation degree of the peripheral portion, to be less than a predetermined.
  • the vertex movement amount ⁇ i is obtained by a weighted average with the past vertex movement amount, so the partial deformation unit 41 is based on the vertex movement amount ⁇ i acquired in the past, The vertex movement amount ⁇ i is acquired.
  • the partial deformation unit 41 can set the difference between the deformation state of each part of the three-dimensional model and the past deformation state of the part to be less than a predetermined value.
  • the partial deforming unit 41 changes the position of the vertex based on the vertex movement amount ⁇ i acquired for each vertex as described above.
  • the partial deformation unit 41 moves each vertex so as to move to a position determined based on the vertex movement amount ⁇ i .
  • the vertex movement amount eta i is indicative of the amount of movement of the normal direction
  • partial deformation section 41 will position v i 'vertex v i is apart vertex movement amount eta i in the direction of the normal n i
  • the three-dimensional coordinates of the vertex v i are changed. That is, the partial deformation portion 41 by deforming the three-dimensional model M S based on the vertex movement amount eta i, will produce a three-dimensional model M D.
  • Figure 15 is a diagram showing a three-dimensional model M D.
  • the three-dimensional model M D is is reproduced detailed shape such as clothes wrinkles and bags.
  • the portion deformable portion 41, the RGB image depth detecting device 10 is taken, may be mapped to the surface of the three-dimensional model M D as a texture. Thus, it may be expressed like pattern or color of the surface of the object in the three-dimensional model M D.
  • partial deformation section 41 of the three-dimensional model M S so as to change the shape of the portion identified by the detection range identification unit 35 It may be. Moreover, since the vertex movement amount eta i is repeatedly acquired, partial deformation section 41, each time a vertex movement amount is obtained, will change the position of each vertex of the three-dimensional model M S.
  • the body part specifying unit 42 is realized mainly by the control unit 21.
  • the body part specifying unit 42 specifies a body part corresponding to the body of the subject among the three-dimensional models M S and M D based on the three-dimensional models M S and M D or the surface shape of the subject.
  • Body part is identified in order to determine the weighting factor mu t i of Equation 1.
  • the body part is a part having a small change in shape and is a part showing a relatively hard object.
  • the other part is a part having a large change in shape, and is a part showing a relatively soft object.
  • the body part is a part where the background is exposed, and the other part is a part where wrinkles such as clothes and wrinkles approach (a part that moves in accordance with the movement of the body).
  • the body portion specifying unit 42 specifies the body part based on the positional relationship and the time variation of the vertices of the 3D model M D.
  • the body part specifying unit 42 may specify the position based on the positional deviation between the vertex at a certain time t and the surrounding vertices, or may specify the position based on the density of the vertices or the degree of dispersion.
  • the body part specifying unit 42 may specify based on a change in position of a certain vertex over time.
  • the body part specifying unit 42 acquires an evaluation value ⁇ related to the curvature, as shown in Equation 5 below, for each vertex of the three-dimensional model.
  • the evaluation value ⁇ indicates a local curvature.
  • the evaluation value ⁇ is a value between ⁇ 1 and 1 inclusive.
  • a body portion specifying unit 42 if the standard deviation kappa t is less than the threshold value of the kappa of a vertex v i at a certain time t, and the area corresponding to the body it indicates that change is small, if greater, change Indicates that the area is large.
  • K in Equation 5 is a Gaussian curvature
  • H is an average curvature.
  • K and H are calculated for each vertex based on the positional relationship between the vertex and the surrounding vertices, for example, based on the density of the vertices. Since these calculation methods are general, the details are described in “M.Meyer, M.Desbrun, P.Schroder, and AHBarr. Discrete differential-geometry operators for triangulated 2-manifolds.Mathematics and Visualization, pages 35- See 57, 2003 ”.
  • a body portion specifying unit 42 if the standard deviation kappa t is equal to or larger than the threshold, a predetermined value of less than 1 weighting coefficient ⁇ t i ⁇ u (e.g., lambda u ⁇ 1) and, if the standard deviation kappa t is less than the threshold value if, to the weighting coefficient ⁇ t i 1.
  • ⁇ t i weighting coefficient
  • u e.g., lambda u ⁇ 1
  • the standard deviation kappa t is less than the threshold value if, to the weighting coefficient ⁇ t i 1.
  • a large standard deviation ⁇ t indicates that the change in curvature is large, so this part is estimated to be a soft object whose shape is easily changed.
  • the standard deviation kappa t is small, it indicates that the change in curvature is small, this portion is estimated to shape changes hardly hard objects.
  • FIG. 16 is a flowchart showing an example of processing executed in the three-dimensional model generation system.
  • the processing shown in FIG. 16 is executed by the control units 11 and 21 operating according to programs stored in the storage units 12 and 22, respectively.
  • the process described below is an example of a process executed by the functional block shown in FIG.
  • the control unit 11 generates depth information I and detected posture information J based on the detection signal of the depth detection unit 14 (S10).
  • the control unit 11 transmits the depth information I and the detected posture information J generated in S10 to the three-dimensional model generation device 20 (S11).
  • the control unit 11 determines whether the next processing timing (frame) has arrived (S12). It is assumed that the frame rate is stored in the storage unit 12 in advance. The control unit 11 determines whether the current time has reached the start time of each frame by executing a time measurement process using a real-time clock.
  • control unit 11 determines whether to end this processing (S13). In S ⁇ b> 13, the control unit 11 may determine whether a predetermined end condition (for example, a signal for ending the process from the three-dimensional model generation device 20 has been received) is satisfied. If it is not determined that the present process is to be terminated (S13; N), the process returns to S12. On the other hand, when it is determined that the present process is to be terminated (S13; Y), the present process is terminated.
  • a predetermined end condition for example, a signal for ending the process from the three-dimensional model generation device 20 has been received
  • the processing returns to S10. Thereafter, the depth detection device 10 periodically generates the depth information I and the detected posture information J and transmits them to the three-dimensional model generation device 20 until this processing is completed.
  • the control unit 21 first, the control unit 21, based on the template data stored in the storage unit 22, placing the three-dimensional model M T in a virtual three-dimensional space (S20).
  • the control unit 21, integrated parameters corresponding to the three-dimensional model M T ⁇ k ⁇ i.e., initial value
  • This initial value may be stored in the storage unit 22 in advance.
  • Control unit 21 based on the basic attitude data stored in the storage unit 22, sets the skeleton J T to the inside of the three-dimensional model M T disposed in S20 (S21).
  • the 3D model generation apparatus 20 since it has not yet received depth information I and the detected posture information J from the depth detection device 10, the three-dimensional space, three-dimensional model M T is the basic position of the basic shape Is taking. In other words, body type and posture of the three-dimensional model M T is, does not resemble the actual subject of shape.
  • the control unit 21 receives the depth information I and the detected posture information J from the depth detection device 10 (S22). In S22, the control unit 21 stores the received depth information I and detected posture information J in depth history data and skeleton history data, respectively. The control unit 21 performs shape estimation processing for estimating the shape of the subject's body (S23).
  • FIG. 17 is a diagram showing details of the shape estimation process.
  • the control unit 21 acquires the skeletal parameter ⁇ j ⁇ of each joint based on the detected posture information J received in S22 (S30).
  • the control unit 21 executes the skinning process on three-dimensional model M T which is deformed in S31 (S32). By the process of S32, the surface of the three-dimensional model becomes smooth. Thus the three-dimensional model M S is generated. Information identifying a three-dimensional model M S at time t (the position of the vertex and the skeleton J T) is stored in the body history data.
  • the control unit 21 initializes the body type parameter ⁇ k ⁇ based on the evaluation value E 0 (S33).
  • the control unit 21 the history stored in the integrated history data stored in the storage unit 22 into Equation 2, the value of the evaluation value E 0 to a minimum (i.e., average) the latest type
  • the control unit 21 acquires the three-dimensional coordinates of the subject based on the depth information received in S22. Then, the control unit 21 on the basis of the obtained integrated parameters ⁇ beta k ⁇ with particle swarm optimization algorithm S33, acquires a plurality of candidates of the integrated parameters ⁇ k ⁇ .
  • evaluation value E S performs the optimization by the value of the candidate that minimizes the integrated parameters ⁇ k ⁇ .
  • the optimized body shape parameter ⁇ k ⁇ is stored in the body shape history data.
  • the control unit 21 optimizes the skeleton parameter ⁇ j ⁇ based on the evaluation value E S (S36).
  • S36 the control unit 21 acquires a plurality of candidates for the skeleton parameter ⁇ j ⁇ based on the latest skeleton parameter ⁇ j ⁇ and the least square method.
  • evaluation value E S performs the optimization by updating the skeleton parameter ⁇ theta j ⁇ such that a value of a candidate to be minimized.
  • the optimized skeleton parameter ⁇ j ⁇ is stored in the skeleton history data.
  • the control unit 21 updates the three-dimensional model based on the skeleton parameter ⁇ j ⁇ optimized in S36 (S37).
  • evaluation value E S repeats processes from S33 ⁇ S37 becomes sufficiently small.
  • control unit 21 executes a geometric reconstruction process for expressing partial details of the subject (S24). Note that the geometric reconstruction process may be repeatedly executed within a frame or may be executed only once.
  • FIG. 18 is a diagram showing details of the geometric reconstruction processing.
  • the control unit 21 based on the depth information I acquired in S22, to identify the detection range of the three-dimensional model M S (S40).
  • the control unit 21 obtains the viewing direction V of the depth detection device 10 on the basis of the depth information I, based on the relationship between the normal n i of each vertex v i of the three-dimensional model M S Detection Identify the range.
  • the control unit 21 acquires the vertex movement amount ⁇ i ⁇ for each vertex in the detection range based on the evaluation value E D (S41).
  • the control unit 21 acquires the evaluation value E D based on the three-dimensional coordinates of the vertex within the detection range, the three-dimensional coordinates of the subject, and Expression 3. Then, the control unit 21 acquires the temporary vertex movement amount ⁇ i ⁇ based on Expression 4, and corrects it to the vertex movement amount ⁇ i ⁇ that minimizes the evaluation value E D.
  • the vertex movement amount ⁇ i ⁇ at time t is stored in the movement amount history data.
  • the control unit 21 rearranges the vertices in the detection range based on the vertex movement amount ⁇ i ⁇ acquired in S41 (S42).
  • the model M D is generated 3-dimensional.
  • Information identifying a three-dimensional model M D at time t (vertex and position of the skeleton J T) is stored in reconstructed historical data.
  • the control unit 21 Based on the vertex movement amount ⁇ i ⁇ acquired in S41, the control unit 21 acquires the weighting coefficient ⁇ i of the vertex within the detection range (S43). In S43, the control unit 21, the three-dimensional model M S based on Equation 5, and distinguish between the body portion and the other portion of M D, based on the result of the distinction, the weighting factor for each vertex mu i Will get. Weighting factor mu i obtained in S43 is used in calculating the evaluation value E D shape estimation processing S23.
  • the control unit 21 determines whether or not to end this process (S25). When it is not determined to end (S25; N), the process returns to the process of S22, and when the depth information I and the detected attitude information J of the next frame are received, the shape estimation based on the latest depth information I and the detected attitude information J Processing and geometric reconstruction processing are performed. On the other hand, when it is determined to end (S25; Y), this processing ends.
  • the three-dimensional model generation system 1 described above, after closer the orientation of the three-dimensional model M T of the posture of the subject, because it produces a three-dimensional model M S determines the type parameter ⁇ beta k ⁇ , the three-dimensional model M S accurate can be quickly generated. That is, it is not necessary to the image analysis of a large number of depth detection device 10, it is unnecessary to perform complex processing, it is possible to generate a rapid three-dimensional model M S. Furthermore, since the integrated parameters ⁇ beta k ⁇ is optimized so as to approach the actual body line of the object, it is possible to improve the accuracy of the three-dimensional model M S.
  • the skeleton parameter ⁇ theta j ⁇ is optimized to the deviation of the actual framework of the subject is small, it is possible to approximate the orientation of the three-dimensional model M S of the posture of the subject, the three-dimensional model M S Accuracy can be further increased.
  • the skeleton parameter ⁇ theta j ⁇ be close to the actual subject both type and orientation Can do.
  • the backbone parameters ⁇ theta j ⁇ After optimizing the integrated parameters ⁇ beta k ⁇ , by then it is repeated again these optimizations, it gradually reduces the deviation between the three-dimensional model M S and the object Can do.
  • the three-dimensional model M S by partially modified based on the vertex movement amount eta i, it is possible to approximate the shape of each portion of the three-dimensional model M D partial shape of the subject, three-dimensional it is possible to improve the accuracy of the model M D. For example, even in the case of using a single depth sensing device 10 as in the embodiment, for the surface where the depth detection device 10 has detected, to reproduce details such as clothes wrinkles three-dimensional model M D The body line can be reproduced for other surfaces.
  • the target of the geometric reconstruction process as an area within the detection range, it is not necessary to execute the process up to a portion that does not need to be deformed, so the processing load on the three-dimensional model generation device 20 is reduced. together, it can be generated more quickly three-dimensional model M D.
  • the vertex moving amount eta i of each vertex order determined based on the vertex movement amount around the vertex can be modified based on the shape of each portion of the three-dimensional model M S around the shape. As a result, it is possible to prevent a state such that dented or protruded unnaturally only partial, it is possible to improve the accuracy of the three-dimensional model M D.
  • the vertex moving amount eta i of each vertex so determined based on past vertex movement of the vertex can be deformed based on each part of the 3D model M S in the past in the shape of the part. As a result, it is possible to prevent a specific portion from being suddenly deformed only at a certain point in time.
  • the portion other than the body can be suppressed the influence on the evaluation value E D, it is not an important part in order to estimate the body lines of the object in the evaluation value E D The influence that it has can be suppressed.
  • the weighting factor mu i the portion other than the body can be suppressed the influence on the evaluation value E D, it is not an important part in order to estimate the body lines of the object in the evaluation value E D The influence that it has can be suppressed.
  • the integrated parameters determined based on a history of type parameters ⁇ beta k ⁇ it is possible to prevent such that integrated parameters ⁇ beta k ⁇ becomes suddenly large. As a result, it is possible to prevent a certain unnatural situation where type is abruptly changed for a specific time by the three-dimensional model M S.
  • the skeleton parameter ⁇ j ⁇ is optimized after optimizing the body type parameter ⁇ k ⁇ has been described, but the order of these may be reversed.
  • the case where both the body type parameter ⁇ k ⁇ and the skeleton parameter ⁇ j ⁇ are optimized has been described, only one of them may be optimized.
  • the body part may be identified by using a three-dimensional model M S, may be specified using the depth information I.
  • the depth information I When using a three-dimensional model M S, like the method described in the embodiment, it may be as specified by the positional relationship and the time change of the vertices.
  • the depth information I when using the depth information I is the body part only the nearest vertex from each point on the surface S OB of the object may be other than the body portion other than it.
  • the detected posture information J may be generated by the three-dimensional model generation device 20.
  • the three-dimensional model generation device 20 generates the detected posture information J based on the depth information I.
  • the skeleton parameter ⁇ j ⁇ may be generated by the depth detection device 10 and transmitted to the three-dimensional model generation device 20.
  • the frame rate is not particularly defined, and the depth detection device 10 may generate the depth information I and the detected posture information J irregularly.
  • the subject may be an animal other than a human (for example, a dog or a cat).
  • each function may be realized by the depth detection apparatus 10 or another computer.
  • each function may be shared by a plurality of computers of the three-dimensional model generation system 1.
  • functions other than the skeleton acquisition unit 32, the posture change unit 34, the surface shape acquisition unit 36, the body shape determination unit 37, and the body shape deformation unit 39 may be omitted.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

精度の高い3次元モデルを迅速に生成する。3次元モデル生成システム(1)の骨格取得手段(32)は、深度検出装置(10)が検出した被写体の深度情報に基づいて、骨格パラメータを取得する。姿勢変化手段(34)は、骨格パラメータに基づいて、体型パラメータにより変形可能な3次元モデルの姿勢を変化させる。表面形状取得手段(36)は、深度情報に基づいて、被写体の表面形状を取得する。体型決定手段(37)は、姿勢変化手段(34)により姿勢が変化した3次元モデルの表面形状と、被写体の表面形状と、の差に基づいて、体型パラメータを決定する。体型変形手段(39)は、体型パラメータ決定手段(37)により決定された体型パラメータに基づいて、3次元モデルを変形させる。

Description

3次元モデル生成システム、3次元モデル生成方法、及びプログラム
 本発明は、3次元モデル生成システム、3次元モデル生成方法、及びプログラムに関する。
 従来、人や動物などの被写体を深度検出装置で検出して3次元モデルを生成する技術が知られている。例えば、非特許文献1には、複数のRGBDカメラで互いに異なる方向から被写体を撮影し、各RGBDカメラが取得した被写体の輪郭情報及び深度情報に基づいて被写体のボディラインを推定して3次元モデルを生成する技術が記載されている。また例えば、非特許文献2には、単一のRGBDカメラが検出した深度情報が示す手足の長さに合うように3次元モデルを変形させる技術が記載されている。
A.Weiss, D.Hirshberg, and M.J.Black. Home 3d body scans from noisy image and range data. ICCV, 2011. Q.Wang, V.Jagadeesh, B.Ressler, and R.Piramuthu. Im2fit: Fast 3d model fitting and anthropometrics using single consumer depth camera and synthetic data. arXiv, 2014.
 しかしながら、非特許文献1の技術では、多数のRGBDカメラを用意する必要があるので、専用の撮影スタジオなどが必要になる。更に、各撮影方向から被写体を撮影したRGBD画像を解析する必要があるので、処理が複雑化し、3次元モデルを生成するのに時間がかかる。また、非特許文献2の技術では、単に手足などの長さに応じて3次元モデルを変形させるので、被写体のサイズを正確に推定できず、例えば、実際の被写体のサイズよりも大きい3次元モデルが生成されてしまい、精度の高い3次元モデルを生成することができない。
 本発明は上記課題に鑑みてなされたものであって、その目的は、精度の高い3次元モデルを迅速に生成することである。
 上記課題を解決するために、本発明に係る3次元モデル生成システムは、深度検出装置が検出した被写体の深度情報に基づいて、骨格パラメータを取得する骨格取得手段と、前記骨格パラメータに基づいて、体型パラメータにより変形可能な3次元モデルの姿勢を変化させる姿勢変化手段と、前記深度情報に基づいて、前記被写体の表面形状を取得する表面形状取得手段と、前記姿勢変化手段により姿勢が変化した3次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する体型決定手段と、前記体型パラメータ決定手段により決定された体型パラメータに基づいて、前記3次元モデルを変形させる体型変形手段と、を含むことを特徴とする。
 本発明に係る3次元モデル生成方法は、深度検出装置が検出した被写体の深度情報に基づいて、骨格パラメータを取得する骨格取得ステップと、前記骨格パラメータに基づいて、体型パラメータにより変形可能な3次元モデルの姿勢を変化させる姿勢変化ステップと、前記深度情報に基づいて、前記被写体の表面形状を取得する表面形状ステップと、前記姿勢変化ステップにより姿勢が変化した3次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する体型決定ステップと、前記体型パラメータ決定ステップにより決定された体型パラメータに基づいて、前記3次元モデルを変形させる体型変形ステップと、を含むことを特徴とする。
 本発明に係るプログラムは、深度検出装置が検出した被写体の深度情報に基づいて、骨格パラメータを取得する骨格取得手段、前記骨格パラメータに基づいて、体型パラメータにより変形可能な3次元モデルの姿勢を変化させる姿勢変化手段、前記深度情報に基づいて、前記被写体の表面形状を取得する表面形状取得手段、前記姿勢変化手段により姿勢が変化した3次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する体型決定手段、前記体型パラメータ決定手段により決定された体型パラメータに基づいて、前記3次元モデルを変形させる体型変形手段、としてコンピュータを機能させる。
 また、本発明に係る情報記憶媒体は、上記のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。
 また、本発明の一態様では、前記3次元モデル生成システムは、前記3次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記骨格パラメータを決定する骨格決定手段を更に含み、前記姿勢変化手段は、前記骨格決定手段により決定された骨格パラメータに基づいて、前記3次元モデルの姿勢を更新する、ことを特徴とする。
 また、本発明の一態様では、前記3次元モデル生成システムは、前記体型変形手段により変形した3次元モデルの表面形状の一部と、当該部分に対応する前記被写体の表面形状と、の差に基づいて、当該部分を変形させる部分変形手段、を更に含むことを特徴とする。
 また、本発明の一態様では、前記3次元モデル生成システムは、前記深度情報に基づいて、前記3次元モデルの中から、前記深度検出装置の検出範囲に対応する部分を特定する検出範囲特定手段を更に含み、前記部分変形手段は、前記3次元モデルのうち、前記検出範囲特定手段により特定された部分を変形させる、ことを特徴とする。
 また、本発明の一態様では、前記部分変形手段は、前記3次元モデルの各部分を、周囲の変形具合に基づいて変形させる、ことを特徴とする。
 また、本発明の一態様では、前記部分変形手段は、前記3次元モデルの各部分を、当該部分の過去の形状に基づいて変形させる、ことを特徴とする。
 また、本発明の一態様では、前記3次元モデル生成システムは、前記3次元モデル又は前記被写体の表面形状に基づいて、前記3次元モデルの中から、前記被写体の身体に対応する身体部分を特定する身体部分特定手段を更に含み、前記体型決定手段は、前記体型パラメータを決定する場合に、前記身体部分に対応する差の重み付けを、他の部分の差の重み付けよりも高くする、ことを特徴とする。
 また、本発明の一態様では、前記3次元モデル生成システムは、前記深度情報に基づいて、前記3次元モデルの中から、前記深度検出装置の検出範囲に対応する頂点を特定する検出範囲特定手段を更に含み、前記体型決定手段は、前記検出範囲における前記3次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する、ことを特徴とする。
 また、本発明の一態様では、前記3次元モデル生成システムは、前記体型パラメータの履歴を記憶手段に記録する履歴記録手段を更に含み、前記体型決定手段は、前記履歴記録手段により記録された履歴に基づいて、前記体型パラメータを決定する、ことを特徴とする。
 本発明によれば、精度の高い3次元モデルを迅速に生成することが可能になる。
3次元モデル生成システムにおいて被写体が撮影される様子を示す図である。 3次元モデル生成システムのハードウェア構成を示す図である。 深度情報の一例を示す図である。 検出姿勢情報の一例を示す図である。 3次元モデル生成システムが実行する処理の概要を示す図である。 3次元モデル生成システムで実現される機能の一例を示す機能ブロック図である。 骨格パラメータを示す図である。 体型パラメータにより3次元モデルが変形する様子を示す図である。 骨格パラメータに基づいて3次元モデルの姿勢が変化する様子を示す図である。 骨格パラメータに基づいて3次元モデルの姿勢が変化する様子を示す図である。 検出範囲特定部の処理を説明するための説明図である。 体型決定部の処理の説明図である。 最適化が行われた場合に3次元モデルが変化する様子を示す図である。 頂点移動量の説明図である。 3次元モデルを示す図である。 3次元モデル生成システムにおいて実行される処理の一例を示すフロー図である。 形状推定処理の詳細を示す図である。 幾何学的再構成処理の詳細を示す図である。
[1.3次元モデル生成システムのハードウェア構成]
 以下、本発明に関わる3次元モデル生成システムの実施形態の例を説明する。図1は、3次元モデル生成システムにおいて被写体が撮影される様子を示す図であり、図2は、3次元モデル生成システムのハードウェア構成を示す図である。図1及び図2に示すように、3次元モデル生成システム1は、深度検出装置10及び3次元モデル生成装置20を含む。深度検出装置10及び3次元モデル生成装置20は、有線通信又は無線通信によりデータ送受信可能に接続される。
 深度検出装置10は、被写体の深度を検出する計測機器である。例えば、深度検出装置10は、Kinect(登録商標)センサであってよい。深度は、深度検出装置10と被写体との距離である。被写体は、検出対象となる動く物体であり、例えば、人や動物及びその被服である。
 深度検出装置10は、制御部11、記憶部12、通信部13、及び深度検出部14を含む。制御部11は、例えば、一又は複数のマイクロプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信部13は、有線通信又は無線通信用のネットワークカードを含む。通信部13は、ネットワークを介してデータ通信を行う。
 深度検出部14は、電磁波や音波などを利用して深度を検出する深度センサ(距離カメラ)であり、例えば、RGBDカメラや超音波センサなどである。ここでは、深度検出部14がRGBDカメラを含み、赤外線を利用して被写体の深度を検出する場合を説明するが、深度検出部14自体は、公知の種々の深度センサにより実現可能である。
 例えば、深度検出部14のRGBDカメラは、CMOSイメージセンサ又はCCDイメージセンサと、赤外線センサと、を含む。深度検出部14は、CMOSイメージセンサ又はCCDイメージセンサの検出信号により、被写体のRGB画像を生成する。RGB画像は、被写体の平面的な情報であり、深度を持たない。また、深度検出部14は、赤外線センサの発光素子から赤外線を発射し、被写体により反射した赤外線を受光素子で検出する。そして、深度検出部14は、赤外線を発射してから戻るまでの飛行時間に基づいて、被写体との距離を推定して深度情報を生成する。なお、深度情報の生成方法自体は、公知の種々の手法を適用可能であり、上記説明した飛行時間方式以外にも、ライトコーディング方式を利用してもよい。
 図3は、深度情報の一例を示す図である。図3に示すように、ここでは、深度情報Iは、深度画像として示される。このため、深度情報Iの各ピクセルには、深度を示す画素値が関連付けられる。なお、深度情報Iは、RGB画像と別の画像として扱ってもよいし、RGB画像と1つにまとめたRGBD画像として扱ってもよい。RGBD画像とする場合には、各ピクセルの画素値は、各色チャンネルの数値に加えて、深度チャンネルの数値を含むことになる。本実施形態では、深度情報IがRGB画像とは別のものとして扱われる場合を説明する。
 深度検出装置10は、深度検出部14が検出した深度情報Iに基づいて、被写体の各関節の位置を推定してスケルトンを取得する。スケルトンは、公知の種々の抽出方法で取得可能であるが、ここでは、テンプレートマッチングを利用した方法を一例として説明する。例えば、深度検出装置10は、深度検出部14が検出した深度情報Iと、被写体の輪郭の基本形状を示すテンプレート画像と、のテンプレートマッチングを実行し、深度情報Iにおける被写体の各関節の位置(ピクセル)を推定する。そして、深度検出装置10は、各関節の深度を所定の行列変換することで、各関節の3次元的な位置を推定する。当該推定された各関節の位置は、スケルトンの姿勢であり、以降では、検出姿勢情報として表される。
 図4は、検出姿勢情報の一例を示す図である。図4に示すように、検出姿勢情報Jは、被写体の複数の関節のそれぞれの3次元座標を含む。ここでは、検出姿勢情報Jは、頭J、肩中央J、右肩J、右ひじJ、右手J、左肩J、左ひじJ、左手J、背骨J、尻中央J10、右尻J11、右ひざJ12、右足J13、左尻J14、左ひざJ15、及び左足J16の3次元座標を含む場合を説明する。なお、図4では、深度検出装置10から被写体を見た様子を示すので、図面上では左右の位置関係が逆になっている。また、検出姿勢情報Jが示す関節の数は、上記16個より多くてもよいし、少なくてもよい。検出姿勢情報Jは、深度情報Iから検出可能な関節の位置を示せばよく、他にも例えば、手首や足首の位置を含んでいてもよい。
 本実施形態では、深度検出装置10は、所定のフレームレートのもと、深度情報Iと検出姿勢情報Jを生成する。このため、深度検出装置10は、深度情報Iと検出姿勢情報Jを定期的に生成する。例えば、フレームレートを30fpsとすると、深度検出装置10は、1/30秒ごとに深度情報Iと検出姿勢情報Jを生成する。以降、深度情報Iと検出姿勢情報Jのうち、ある時刻tのものを指すときは、それぞれの符号をI,Jと記載する。
 3次元モデル生成装置20は、3次元モデルを生成するコンピュータであり、例えば、パーソナルコンピュータ、携帯情報端末(タブレット型コンピュータを含む)、又は携帯電話機(スマートフォンを含む)等である。3次元モデル生成装置20は、制御部21、記憶部22、通信部23、操作部24、及び表示部25を含む。制御部21、記憶部22、及び通信部23のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であるので説明を省略する。
 操作部24は、プレイヤが操作を行うための入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイスやキーボード等である。操作部24は、プレイヤによる操作内容を制御部21に伝達する。表示部25は、例えば、液晶表示部又は有機EL表示部等である。表示部25は、制御部21の指示に従って画面を表示する。
 なお、記憶部12,22に記憶されるものとして説明するプログラム及びデータは、ネットワークを介してこれらに供給されるようにしてもよい。また、深度検出装置10及び3次元モデル生成装置20のハードウェア構成は、上記の例に限られず、種々のコンピュータのハードウェアを適用可能である。例えば、深度検出装置10及び3次元モデル生成装置20の各々は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)を含んでもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部を介して、深度検出装置10及び3次元モデル生成装置20に供給されるようにしてもよい。
[2.本発明に係る処理の概要]
 図5は、3次元モデル生成システム1が実行する処理の概要を示す図である。図5のtは時間軸である。図5に示すように、深度検出装置10は、3次元モデル生成装置20に深度情報Iと検出姿勢情報Jを定期的に送信する。3次元モデル生成装置20は、各フレームの開始時点で深度情報Iと検出姿勢情報Jを受信すると、被写体の身体の形状(ボディライン)を推定する形状推定処理と、推定したボディラインから部分的な詳細形状(洋服のしわなど)を再構成する幾何学的再構成処理と、を実行する。形状推定処理と幾何学的再構成処理は、毎フレーム実行される。
 形状推定処理では、深度情報Iや検出姿勢情報Jを利用して、身体の基本形状を示すテンプレートが、被写体の姿勢や体型と似るように変形する。テンプレートは、身体そのものを示す3次元モデルであり、例えば、裸の3次元モデルであってよい。テンプレートは、身体の部位を示す複数のパーツから構成され、被写体の撮影データや3DCADを利用して予め用意しておけばよい。以降、テンプレートを指すときは、3次元モデルに「M」の符号を記載し、形状推定処理で変形させた3次元モデルを指すときは、「M」の符号を記載する。3次元モデルMは、被写体の姿勢や体型を再現した裸の3次元モデルといえる。
 幾何学的再構成処理では、深度情報Iを利用して、洋服のしわなどの詳細形状(身体以外の部分の形状)が表れるように、3次元モデルMを部分的に再構成する。以降、この状態の3次元モデルを指すときは、「M」の符号を記載する。3次元モデルMは、被写体のボディラインだけでなく、身に着けているものまで再現した3次元モデルである。詳細は後述するが、3次元モデルMは、被写体の身体の部分とそれ以外の部分とを区別できるので、幾何学的再構成処理の実行結果を形状推定処理にフィードバックすることで、3次元モデルMの精度を高めることもできる。
 本実施形態では、ベイズ推定理論を利用して、3次元モデルM,Mの精度の高さを評価して、これらの精度を高めるようにしている。ベイズ推定理論は、現実世界の計測結果をもとに、推定したい事柄を確率的な意味で推定する手法である。ベイズ推定理論の確率が高いほど、推定したい事柄が実際に起こる蓋然性が高い。即ち、ベイズ推定理論の確率が高ければ、推定した3次元モデルM,Mが実際の被写体に似ていることになる。
 3次元モデル生成システム1は、ベイズ推定理論の確率が高くなるように、3次元モデルMの全体的な変形具合と部分的な再構成具合を決める。本実施形態では、この確率を高めるために、3次元モデルMと被写体との全体的なずれ具合の評価値E、3次元モデルMと被写体との部分的なずれ具合の評価値E、及び、3次元モデルMが現実ではありえない急激な変化をしないようにするための評価値Eの3つの評価値を利用して、精度の高い3次元モデルを迅速に生成するようにしている。以降、この技術の詳細を説明する。
[3.本実施形態において実現される機能]
 図6は、3次元モデル生成システム1で実現される機能の一例を示す機能ブロック図である。図6に示すように、本実施形態では、データ記憶部30、深度取得部31、骨格取得部32、体型取得部33、姿勢変化部34、検出範囲特定部35、表面形状取得部36、体型決定部37、履歴記録部38、体型変形部39、骨格決定部40、部分変形部41、及び身体部分特定部42が、3次元モデル生成装置20で実現される場合を説明する。なお、ここでは、体型決定部37及び骨格決定部40により形状推定処理の主たる処理が実行され、部分変形部41により幾何学的再構成処理の主たる処理が実行される。
[3-1.データ記憶部]
 データ記憶部30は、記憶部22を主として実現される。データ記憶部30は、3次元モデルM,Mを生成するためのデータを記憶する。ここでは、データ記憶部30が記憶するデータの一例として、下記のデータを説明する。
(1)深度情報Iの履歴を格納する深度履歴データ
(2)骨格パラメータ(詳細後述)の履歴を格納する骨格履歴データ
(3)体型パラメータ(詳細後述)の履歴を格納する体型履歴データ
(4)頂点移動量(詳細後述)の履歴を格納する移動量履歴データ
(5)3次元モデルMを定義したテンプレートデータ
(6)3次元モデルMの履歴を格納する身体履歴データ
(7)3次元モデルMの履歴を格納する再構成履歴データ
 なお、データ記憶部30に記憶されるデータは上記の例に限られない。例えば、データ記憶部30は、検出姿勢情報Jの履歴を格納するデータやスケルトンJの基本姿勢を示すデータを記憶してもよい。
[3-2.深度取得部]
 深度取得部31は、制御部21を主として実現される。深度取得部31は、深度検出装置10が検出した被写体の深度情報I(図3)を取得する。本実施形態では、3次元モデル生成装置20が深度検出装置10と直接的に接続されているので、深度取得部31は、深度検出装置10から深度情報Iを直接的に受信するが、他の機器を経由して深度情報Iを間接的に受信してもよい。深度取得部31は、取得した深度情報を深度履歴データに格納する。
[3-3.骨格取得部]
 骨格取得部32は、制御部21を主として実現される。骨格取得部32は、深度検出装置10が検出した深度情報Iに基づいて、被写体の骨格パラメータを取得する。骨格パラメータは、被写体の骨格に関する情報であり、各関節の位置関係を示す情報である。図4の検出姿勢情報Jをそのまま骨格パラメータとして用いてもよいが、ここでは、骨格取得部32は、検出姿勢情報Jが示す各関節の角度を骨格パラメータとして用いる場合を説明する。骨格取得部32は、取得した骨格パラメータを骨格履歴データに格納する。
 図7は、骨格パラメータを示す図である。図7に示すように、骨格取得部32は、検出姿勢情報Jが示す各関節の3次元座標に基づいて計算した各関節の角度{θ}を、骨格パラメータとして取得する。検出姿勢情報Jが示す各関節のうち、末端以外の関節には角度が存在するので、図7の例では、骨格パラメータ{θ}は12個の角度から構成されることになる。以降、ある時刻tにおける骨格パラメータ{θ}を指すときは、{θ }と記載する。
[3-4.体型取得部]
 体型パラメータ取得部は、制御部21を主として実現される。体型パラメータ取得部は、体型パラメータを取得する。本実施形態では、3次元モデルMが体型パラメータにより変形したものが、3次元モデルMである。ここでの変形とは、表面の位置や形状を変えることであり、例えば、全体的なサイズを変えたり、部分的な形状を変えたりすることである。体型取得部33は、取得した体型パラメータを体型履歴データに格納する。
 体型パラメータは、被写体の体型の特徴を示すものであり、全身又は部位ごとのサイズを示す。例えば、体型パラメータは、身長、胸囲、ウエスト、身幅、股下、腕の長さ、又は足のサイズなどのそれぞれの数値を含む。本実施形態では、体型パラメータは、複数の値の組み合わせであり、{β}の符号で記載する。kは、体型パラメータに含まれる項目を識別する数字であり、例えば、βは身長、βは胸囲、βはウエスト・・・などである。なお、体型パラメータは、複数の値の組み合わせではなく、単一の値のみであってもよい。
 図8は、体型パラメータ{β}により3次元モデルMが変形する様子を示す図である。図8に示すように、3次元モデルMは、体型パラメータ{β}が示す体型になるように変形する。例えば、3次元モデルMは、βが小さいほど身長が低くなり、βが大きいほど身長が高くなるように変形する。また例えば、3次元モデルMは、βが小さいほど胸囲が短くなり、βが大きいほど胸囲が長くなるように変形する。また例えば、3次元モデルMは、βが小さいほどウエストが細くなり、βが大きいほどウエストが太くなるように変形する。
 体型パラメータ{β}と、3次元モデルMの各パーツの形状(即ち、頂点の位置)と、の関係は、予めデータ記憶部30に記憶されているものとする。この関係は、数式形式であってもよいし、テーブル形式であってもよいし、プログラムコードとして記述されていてもよい。この関係は、3次元モデルMが体型パラメータ{β}の体型になるように定義されている。後述する体型変形部39は、体型パラメータ{β}に関連付けられた形状になるように、3次元モデルMの各パーツを変形させる。これにより、体型パラメータ{β}に応じた体型になるように、3次元モデルMが変形する。
 以降、ある時刻tにおける体型パラメータ{β}を指すときは、{β }と記載する。なお、深度情報Iが初めて取得されたとき(即ち、本発明に係る処理の開始時)をt=0とすると、その時点の体型パラメータ{β }は初期値となり、テンプレートの3次元モデルMの体型をそのまま示す値となる。体型パラメータ{β }は、データ記憶部30に予め記憶させておけばよい。t=0では、体型取得部33は、データ記憶部30に記憶された初期値の体型パラメータ{β }を取得することになる。
[3-5.姿勢変化部]
 姿勢変化部34は、制御部21を主として実現される。姿勢変化部34は、骨格パラメータ{θ}に基づいて、体型パラメータ{β}により変形可能な3次元モデルMの姿勢を変化させる。姿勢変化部34は、骨格パラメータ{θ}が示す姿勢になるように、3次元モデルMの各パーツの位置関係を変化させる。なお、姿勢は、身体の部位の位置関係であり、ここでは、各関節の位置関係である。
 図9及び図10は、骨格パラメータ{θ}に基づいて3次元モデルMの姿勢が変化する様子を示す図である。図9に示すように、まず、姿勢変化部34は、基本姿勢(例えば、直立の状態)のスケルトンJを3次元モデルMの内部に設定する。スケルトンJを構成する複数の関節の位置関係は、テンプレートである3次元モデルMの姿勢を示すように予め定めておけばよい。3次元モデルMにスケルトンJが設定されると、3次元モデルMの各頂点は、スケルトンJの何れかの関節と関連付けられる。スケルトンJが変形して各関節が移動すると、当該関節に関連付けられた頂点は、当該関節と所定の位置関係を保つように移動する。即ち、ある関節に関連付けられた頂点は、その関節と連動することになる。
 姿勢変化部34は、骨格パラメータ{θ}が示す各関節の位置関係と、スケルトンJの各関節の位置関係と、が対応するように、スケルトンJを変形させる。位置関係が対応するとは、これら2つの関節の位置が一致すること、又は、位置のずれが所定未満になることである。ある程度の位置的なずれを許容するのは、被写体の実際の関節間の距離と、スケルトンJの関節間の距離と、が必ずしも一致せず、これらの3次元座標を完全に一致させることが難しいからである。
 本実施形態では、全体的な姿勢を似せるために、姿勢変化部34は、スケルトンJの各関節の角度が、骨格パラメータ{θ}と一致又はずれが基準未満になるように、スケルトンJを変形させる。先述したように、3次元モデルMの各頂点は、自身が関連付けられた関節と連動するので、図10に示すように、姿勢変化部34がスケルトンJを変形させると、被写体の姿勢と似た姿勢の3次元モデルMを取得することができる。
[3-6.検出範囲特定部]
 検出範囲特定部35は、制御部21を主として実現される。検出範囲特定部35は、深度情報Iに基づいて、3次元モデルMの中から、深度検出装置10の検出範囲に対応する部分を特定する。検出範囲は、被写体の表面のうち検出可能な範囲であり、深度検出装置10の赤外線が反射する場所である。例えば、検出範囲特定部35は、深度情報Iに基づいて、3次元空間における深度検出装置10の向きを取得し、当該取得した向きと、3次元モデルMの表面の向きと、の関係に基づいて検出範囲を特定する。
 図11は、検出範囲特定部35の処理を説明するための説明図である。図11に示すように、ここでは、深度検出装置10の視線方向V(即ち、赤外線の照射方向)を深度検出装置10の向きとして使用する。検出範囲特定部35は、深度情報Iに基づいて、3次元空間における視点O及び視線方向Vを取得する。視点Oは視点座標系の原点であり、視線方向Vは視点座標系のZ軸である(なお、図11の座標軸はワールド座標系の座標軸である)。
 例えば、検出範囲特定部35は、深度情報Iの注視点(即ち、画像の中心のピクセル)の深度に基づいて、3次元空間における深度検出装置10の位置O及び視線方向Vを取得する。そして、検出範囲特定部35は、3次元モデルの各頂点vの法線nと、視線方向Vと、の関係に基づいて、検出範囲内の頂点vを特定する。法線nは、頂点間ベクトルの外積で取得すればよい。検出範囲特定部35は、法線nと視線方向Vが互いに向かい合う(例えば、これらのなす角度が90°以上)頂点vを検出範囲内とし、それ以外を検出範囲外とする。
[3-7.表面形状取得部]
 表面形状取得部36は、制御部21を主として実現される。表面形状取得部36は、深度情報Iに基づいて、被写体の表面形状(後述の図12で示す。)を取得する。被写体の表面形状は、被写体のうち、深度検出装置10が検出した部分の形状であり、深度情報Iに深度として表れた領域である。被写体の表面形状は、深度情報Iに所定の行列変換を施して得られる3次元座標群であり、深度情報Iの各ピクセルの深度を3次元空間に変換したものである。深度検出装置10と被写体の位置関係が図1のような場合は、表面形状取得部36が取得する表面形状は、被写体の前面のみであり、背面は含まれない。
[3-8.体型決定部]
 体型決定部37は、制御部21を主として実現される。体型決定部37は、姿勢変化部34により姿勢が変化した3次元モデルの表面形状と、被写体の表面形状と、の差に基づいて、体型パラメータを決定する。形状の差とは、3次元空間における位置的な違いであり、例えば、頂点間の距離である。体型決定部37は、形状の差が小さくなるように、体型パラメータを変化させる。即ち、体型決定部37は、体型パラメータを変化させる前の差よりも、体型パラメータを変化させた後の差が小さくなるように体型パラメータを変化させる。
 図12は、体型決定部37の処理の説明図である。図12では、3次元モデルMを実線で示し、被写体の表面SOBを破線で示す。まず、体型決定部37は、3次元モデルMの各頂点と、被写体の表面SOBの各点と、に基づいて、これらの全体的なずれ具合を示す評価値Eを取得する。評価値Eは、各頂点vの3次元座標と、当該頂点vに対応する点pの3次元座標と、の距離dを総合的に評価するための評価値Eといえる。別の言い方をすれば、評価値Eは、3次元モデルMの精度の高さを示す。
 例えば、体型決定部37は、距離dを所定の数式に代入することによって、評価値Eを取得する。以降、ある時刻tにおける評価値Eを指すときは、E (X)と記載する。ある時刻tにおける3次元モデルMの表面形状は、体型パラメータ{β }と骨格パラメータ{θ }によって決まるので、これらの組み合わせをXと記載すると(即ち、X={β ,θ }である。)、評価値E (X)は、変数Xの関数で示すことができ、例えば、下記の式1により求めることができる。
Figure JPOXMLDOC01-appb-M000001
 式1のμ は、重み付け係数(ここでは、0以上1以下とする)である。重み付け係数μ は、身体ではない(例えば、洋服のしわなど)と思われる部分のずれ具合が、評価値E (X)に与える影響を低減又は除去するための係数である。即ち、身体ではないと思われる部分のずれ具合は、評価値E (X)を取得するうえで、信頼することができないので、身体と思われる部分の重み付けを大きくし、身体ではないと思われる部分の重み付けを小さくするために、重み付け係数μ を使用している。重み付け係数μ の取得方法は後述する。
 式1のv は、時刻tにおける3次元モデルMの各頂点である。p は、被写体の表面SOBの各点のうち、最も頂点v に近い点である。vis(v ,p )は、条件式を含む関数であり、頂点v が検出範囲内であれば頂点v と点p との距離を返し、頂点v が検出範囲外であれば所定値λを返す。所定値λを返すのは、頂点v が検出範囲外の場合は、頂点v に対応する点p が存在せず距離を取得できないからである。なお、所定値λは、任意の値であってよいが、0にすると3次元モデルが縮小することがあるので、0.1程度であってよい。式1に示すように、体型決定部37は、頂点v ごとに、点p との距離又は所定値λを取得し、重み付け係数μ を乗じた総和を評価値E (X)として取得する。
 本実施形態では、体型決定部37は、評価値Eに基づいて体型パラメータ{β}を最適化させる。例えば、体型決定部37は、体型パラメータ{β}の候補を複数選出して、その中から、評価値Eを最小又は閾値未満にさせる候補の値を、体型パラメータ{β}として決定する。最適化自体は、種々の最適化アルゴリズムを利用してよいが、ここでは、粒子群最適化手法を利用する場合を一例として説明する。
 体型決定部37は、粒子群最適化アルゴリズムに基づいて、体型パラメータ{β}の候補を複数選出する。ここでは、体型決定部37は、後述する式2の評価値Eに基づいて体型パラメータ{β}を初期化し、当該初期化した{β}に基づいて複数の候補を選出する。例えば、初期化した{β}との差が所定範囲に収まるものが候補となる。候補の数は、任意であってよく、例えば、30個程度であってよい。体型決定部37は、候補ごとに評価値Eを計算して、複数の候補の中の1つを選択する。例えば、体型決定部37は、評価値Eを最も小さくさせる候補の値を、新たな体型パラメータ{β}として選択する。体型決定部37は、最適化後の体型パラメータ{β}を体型変形部39に渡して3次元モデルMを更新させる。
 上記のように、本実施形態では評価値Eを計算するときに重み付け係数μ を使用することによって、体型決定部37は、体型パラメータ{β}を決定する場合に、身体部分に対応する差の重み付け(即ち、重み付け係数μ )を、他の部分の差の重み付けよりも高くするようにしている。また、本実施形態では、条件関数vis(v ,p )を使用することによって、体型決定部37は、検出範囲における前記3次元モデルの表面形状と、被写体の表面形状と、の差に基づいて、体型パラメータを決定するようにしている。
 なお、深度情報Iは所定のフレームレートのもと繰り返し取得されるので、体型決定部37は、上記のような最適化処理を繰り返し実行することになる。体型決定部37は、ある1つのフレームで1回だけ最適化を実行してもよいし、次のフレームが訪れるまで最適化処理を繰り返し、可能な限り評価値Eを小さくしてもよい。更に、体型決定部37は、評価値Eが閾値未満になった場合の体型パラメータ{β}を保持して、次のフレームの深度情報Iを得るまでは、それ以上の最適化をしないようにしてもよい。
 また、被写体は動体なので、骨格パラメータ{θ}が急に変化することはあるが、被写体の体型が急に変化することはないので、体型パラメータ{β}が急に変化することはない。しかし、例えば、あるフレームの深度情報Iがたまたま多くのノイズを含んだ場合などは、計算上、体型パラメータ{β}が前回のフレームから急に変化することがある。この場合、3次元モデルMが急激に膨らんだりしぼんだりしてしまう。このような状況を発生させないために、体型決定部37は、あるフレームにおける体型パラメータ{β}の初期値を、過去の値から求めて体型パラメータ{β}の変動を抑えてもよい。この初期値は、過去の体型パラメータ{β}を所定の数式に代入することで得られるようにすればよいが、本実施形態では、評価値Eをもとに体型パラメータ{β}の初期値が決める場合を説明する。評価値Eは、例えば、下記の式2のように、体型パラメータ{β}を変数とする関数で示すことができる。
Figure JPOXMLDOC01-appb-M000002
 式2のdは、主成分分析空間(いわゆるPCA空間。ここでは、体型パラメータ{β}が示されるk次元空間である。)における距離である。rは任意の時間である。式2の右辺は、体型パラメータ{β}の候補値と、各時刻tにおける体型パラメータ{β }と、の距離の総計である。このため、式2の左辺は、ある体型パラメータ{β}の候補値が、過去の体型パラメータ{β}と全体的にどれだけずれているかを示す。本実施形態では、体型決定部37は、評価値E({β})を最小又は閾値未満にする{β}に基づいて、初期化を行う。
 式2では、過去の体型パラメータ{β}の平均値のときに評価値E({β})が最小になるので、体型決定部37は、過去の体型パラメータ{β}の平均値に基づいて初期化をすることになる。このようにすれば、ある時刻tだけ急激に体型パラメータ{β}が変化することを防止することができる。なお、この平均値は、過去の全期間の平均としてもよいし、直近の所定期間の平均としてもよい。更に、式2では、特に係数を設けなかったが、時刻tに応じて係数を設けてもよい。この場合、現時点に近いほど重み付けを大きくした加重平均としてもよい。このように、本実施形態では、体型決定部37は、体型パラメータ{β}と、履歴記録部38により記録された履歴と、に基づいて、体型パラメータ{β}を決定することになる。
[3-9.履歴記録部]
 履歴記録部38は、制御部21を主として実現される。履歴記録部38は、体型パラメータ{β}の履歴をデータ記憶部30に記録する。履歴記録部38は、体型パラメータ{β}を時系列的に体型履歴データに格納したり、体型パラメータ{β}を最適化した時間と関連付けて体型履歴データに格納したりする。
[3-10.体型変形部]
 体型変形部39は、制御部21を主として実現される。体型変形部39は、体型パラメータ決定部により決定された体型パラメータに基づいて、3次元モデルMを変形させる。体型変形部39は、3次元モデルMの頂点の位置を変えることで変形させる。頂点は、個々のポリゴンを定義する点なので、頂点の位置が変わると、3次元モデルMの各パーツの位置及び形状の少なくとも一方が変わる。即ち、体型変形部39は、3次元モデルMを構成するポリゴンを移動又は変形させることになる。なお、ここでは、三角形のポリゴンを利用する場合を説明するが、四角形や五角形以上のポリゴンを利用してもよい。
 図13は、最適化が行われた場合に3次元モデルMが変化する様子を示す図である。図13に示すように、最適化前の3次元モデルM(実線)は、被写体の表面SOB(破線)よりも身長が短いので、体型決定部37は、身長を示すβを大きくして3次元モデルMの身長が高くなるように最適化を行うことになる。体型変形部39が当該最適化された体型パラメータ{β}に基づいて3次元モデルMを更新すると、3次元モデルMが被写体の実際の身長に近づく。
[3-11.骨格決定部]
 骨格決定部40は、制御部21を主として実現される。骨格決定部40は、3次元モデルMの表面形状と、被写体の表面形状と、の差に基づいて、骨格パラメータ{θ}を決定する。ここでは、骨格取得部32が検出姿勢情報Jをもとに取得した骨格パラメータ{θ}だけでは、3次元モデルMの姿勢を被写体の姿勢に一致させることが難しいので、骨格決定部40は、評価値Eに基づいて骨格パラメータ{θ}を決定して、骨格パラメータ{θ}を最適化させるようにしている。
 例えば、骨格決定部40は、骨格パラメータ{θ}の候補を複数選出して、その中から、評価値Eを最小又は閾値未満にさせる候補の値を、骨格パラメータ{θ}として決定する。最適化自体は、種々の最適化アルゴリズムを利用してよいが、ここでは、最小二乗法による最適化手法を利用して決定する。
 骨格決定部40は、最小二乗法に基づいて、骨格パラメータ{θ}の候補を複数選出する。例えば、候補は、現在の骨格パラメータ{θ}との差が所定範囲に収まるものである。候補の数は、任意であってよい。体型決定部37は、候補ごとに評価値Eを計算して、複数の候補の中の1つを選択する。例えば、体型決定部37は、評価値Eを最も小さくさせる候補の値を、新たな骨格パラメータ{θ}として選択する。姿勢変化部34は、骨格決定部40により決定された骨格パラメータ{θ}に基づいて、3次元モデルMの姿勢を更新する。
[3-12.部分変形部]
 部分変形部41は、制御部21を主として実現される。部分変形部41は、体型変形部39により変形した3次元モデルMの表面形状の一部と、当該部分に対応する被写体の表面形状と、の差に基づいて、当該部分を変形させる。例えば、部分変形部41は、3次元モデルMと、被写体の表面形状と、の部分的なずれ具合に基づいて、3次元モデルMの各頂点があるべき位置に関する頂点移動量を取得する。頂点移動量は、被写体の部分的な詳細を再現するために、3次元モデルMの頂点vをどこに移動させればよいかを示すものである。
 図14は、頂点移動量の説明図である。図14は、3次元モデルM及び被写体の表面SOBの胴体付近を拡大したものである。なお、図12と同様、3次元モデルMを実線で示し、被写体の表面SOBを破線で示している。頂点移動量は、移動先の頂点vを識別可能な情報であればよいが、図14に示すように、本実施形態では、頂点移動量が、頂点vの法線nに対する方向への移動量ηである場合を説明する。
 なお、頂点移動量は、移動量ηに限られず、移動先の頂点vの3次元座標そのものを示してもよいし、移動方向及び移動量を示すベクトル情報であってもよい。部分変形部41は、頂点vの3次元座標と、被写体の表面形状のうち頂点vに最も近い点pの3次元座標と、を所定の数式に代入することによって、頂点移動量ηを取得する。この数式は、頂点vの3次元座標と点pの3次元座標とのずれが大きいほど頂点移動量ηが大きくなり、このずれが小さいほど頂点移動量ηが小さくなるように定められている。
 本実施形態では、評価値Eを利用して頂点移動量ηを取得する場合を説明する。評価値Eは、3次元モデルMを頂点移動量ηに基づいて変形させた場合に、被写体の表面SOBとどれだけずれているかを評価する評価値である。なお、ここでは、頂点移動量ηに基づいて3次元モデルMを変形させたものは「M」の符号で記載しているので、評価値Eは、3次元モデルMの精度の高さを示すものといえる。以降では、ある時刻tにおける評価値Eを指すときは、E と記載する。なお、評価値E は、頂点移動量ηに応じて変化するので、頂点移動量ηを変数とした関数E (η)と記載することができる。本実施形態では、部分変形部41は、下記の式3を用いて、評価値E (η)を取得する。
Figure JPOXMLDOC01-appb-M000003
 式3の右辺第1項のSは、3次元モデルMの表面である。式3の右辺第1項は、ある時刻tにおける被写体の点p と、頂点v を法線n方向に頂点移動量ηにだけ移動した点v’と、の距離を個々の頂点v ごとに算出して総和を取ったものである。式3の右辺第2項のN(i)は、ある頂点vに隣接する他の頂点であり、λは、ハイパーパラメータである。式3の右辺第2項は、ある頂点v の頂点移動量ηと、隣接する頂点の頂点移動量ηと、の差の総和を意味する。この値が大きいと、ある頂点v だけ周囲の頂点よりも出っ張り、現実には起こりえないような局所的に出っ張った形状になる可能性があるので、これを防止して自然な表面にするために、本実施形態では、式3の右辺第2項を定義している。なお、右辺第2項は省略してもよい。
 部分変形部41は、評価値Eに基づいて、各頂点vの頂点移動量ηを取得する。評価値Eが小さいほど、3次元モデルMと被写体の表面形状との差が小さくなり精度が高くなるので、部分変形部41は、評価値Eを最小又は閾値未満にさせる頂点移動量ηを取得する。以降、ある時刻tにおける頂点移動量ηを指すときは、η と記載する。本実施形態では、部分変形部41は、下記の式4を利用して、いったん頂点移動量η を仮計算し、その後に、式3の評価値E (η)が最小になるような頂点移動量η に修正する。
Figure JPOXMLDOC01-appb-M000004
 式4は、現在の時刻tにおける頂点v と点p とのずれと、過去の頂点移動量(式4では直近フレームのもの)と、の加重平均をとるための式である。式4のωt-1及びω´tは、加重平均の係数である。式4のように頂点移動量η を仮計算するのは、ある時刻tの深度情報Iはノイズが混じることがあるので、ノイズが混じってしまったときだけ急激に頂点移動量ηが変化して、3次元モデルMが突然出っ張ったりへこんだりすることを防止するために、過去との平均を取り、ある時点の頂点移動量ηだけ大きく又は小さくなり過ぎないようにするためである。
 部分変形部41は、式4を利用して頂点ごとに頂点移動量ηを仮計算する。そして、部分変形部41は、仮計算した頂点移動量ηに基づいて複数の候補を取得する。この候補は、仮計算の頂点移動量ηとのずれが所定範囲内になるものであればよい。この候補の数は、任意であってよい。部分変形部41は、頂点vごとに取得した候補に基づいて評価値E (ηi)を計算して、最小になる候補を頂点移動量ηとして決定する。
 上記のように、本実施形態では、式3の右辺第2項に示すように、部分変形部41は、各頂点の頂点移動量ηを、周囲の頂点の頂点移動量ηに基づいて決定する。このため、部分変形部41は、3次元モデルMの各部分を、周囲の変形具合に基づいて変形させる。例えば、部分変形部41は、3次元モデルMの各部分の変形具合と、周囲の部分の変形具合と、の差が所定未満になるようにすることができる。
 また、式4に示すように、頂点移動量ηは、過去の頂点移動量との加重平均により得られるので、部分変形部41は、過去に取得された頂点移動量ηに基づいて、頂点移動量ηを取得する。このため、部分変形部41は、3次元モデルの各部分を、当該部分の過去の形状に基づいて変形する。例えば、部分変形部41は、3次元モデルの各部分の変形具合と、当該部分の過去の変形具合と、の差が所定未満になるようにすることができる。
 部分変形部41は、上記のようにして頂点ごとに取得された頂点移動量ηに基づいて、当該頂点の位置を変更する。部分変形部41は、頂点移動量ηに基づいて定まる位置に移動するように、各頂点を移動させる。ここでは、頂点移動量ηが法線方向の移動量を示すので、部分変形部41は、頂点vが法線nの方向に頂点移動量ηだけ離れた位置v’になるように、頂点vの3次元座標を変更する。即ち、部分変形部41は、頂点移動量ηに基づいて3次元モデルMを変形させることによって、3次元モデルMを生成することになる。
 図15は、3次元モデルMを示す図である。図15に示すように、3次元モデルMは、洋服のしわや鞄などの詳細な形状が再現されている。なお、部分変形部41は、深度検出装置10が撮影したRGB画像を、テクスチャとして3次元モデルMの表面にマッピングするようにしてもよい。このようにすれば、被写体の表面の模様や色彩なども3次元モデルMで表現することができる。
 なお、深度検出装置10の検出範囲外の部分は、深度が計測されないので、部分変形部41は、3次元モデルMのうち、検出範囲特定部35により特定された部分の形状を変更するようにしてもよい。また、頂点移動量ηは繰り返し取得されるので、部分変形部41は、頂点移動量が取得されるたびに、3次元モデルMの各頂点の位置を変更することになる。
[3-13.身体部分特定部]
 身体部分特定部42は、制御部21を主として実現される。身体部分特定部42は、3次元モデルM,M又は被写体の表面形状に基づいて、3次元モデルM,Mのうち、被写体の身体に対応する身体部分を特定する。身体部分は、式1の重み付け係数μ を決定するために特定される。身体部分は、形状の変化が小さい部分であり、比較的固い物体を示す部分である。それ以外の部分は、形状の変化が大きい部分であり、比較的柔らかい物体を示す部分である。例えば、身体部分は、地肌が露出している部分であり、それ以外の部分は、洋服や鞄などのしわが寄る部分(身体の動きに合わせて動く部分)である。
 洋服のしわや鞄などは形状が変わりやすいが、身体が突然膨らんだりしぼんだりしないので、ここでは、身体部分を特定するために、3次元モデルMのうち位置的な変化の大きい部分を特定する場合を例に挙げる。本実施形態では、身体部分特定部42は、3次元モデルMの頂点の位置関係や時間変化に基づいて身体部分を特定する。例えば、身体部分特定部42は、ある時刻tにおける頂点とその周囲の頂点との位置のずれ具合に基づいて特定してもよいし、頂点の密度や分散具合に基づいて特定してもよい。他にも例えば、身体部分特定部42は、ある頂点の時間経過に伴う位置変化に基づいて特定してもよい。
 本実施形態では、3次元モデルMの表面の曲率を利用する場合を説明する。身体部分特定部42は、3次元モデルの頂点ごとに、下記の式5のように、曲率に関する評価値κを取得する。評価値κは、局所的な曲率を示す。評価値κは、-1以上1以下の値となる。身体部分特定部42は、ある時刻tにおけるある頂点vのκの標準偏差κが閾値未満であれば、変化が小さいことを示すので身体に対応する領域とし、それ以上であれば、変化が大きいことを示すので身体以外の領域とする。
Figure JPOXMLDOC01-appb-M000005
 なお、式5のKは、ガウス曲率であり、Hは、平均曲率(Mean curvature)である。KとHは、頂点ごとに、当該頂点と周囲の頂点との位置関係に基づいて計算され、例えば、頂点の密集具合に基づいて計算される。これらの計算方法自体は一般的であるので、詳細は、「M.Meyer, M.Desbrun, P.Schroder, and A.H.Barr. Discrete differential-geometry operators for triangulated 2-manifolds.Mathematics and Visualization, pages 35-57, 2003」などを参照されたい。
 身体部分特定部42は、標準偏差κが閾値以上であれば、重み付け係数μ を1未満の所定値λ(例えば、λ≪1)とし、標準偏差κが閾値未満であれば、重み付け係数μ を1とする。標準偏差κが大きいことは、曲率の変化が大きいことを示すので、この部分は、形状が変わりやすい柔らかい物体と推定される。一方、標準偏差κが小さいことは、曲率の変化が小さいことを示すので、この部分は、形状が変わりにくい固い物体と推定される。このため、標準偏差κが大きい場所の重み付け係数μ を小さくし、標準偏差κが小さい場所の重み付け係数μ を大きくしている。なお、上記では、評価値κを利用する場合を説明したが、下記の式6で求まる曲率の大きさを示す評価値cを利用して身体部分が特定されてもよい。
Figure JPOXMLDOC01-appb-M000006
[4.本実施形態において実行される処理]
 図16は、3次元モデル生成システムにおいて実行される処理の一例を示すフロー図である。図16に示す処理は、制御部11,21が、それぞれ記憶部12,22に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図6に示す機能ブロックにより実行される処理の一例である。
 まず、深度検出装置10の動作を説明する。図16に示すように、制御部11は、深度検出部14の検出信号に基づいて、深度情報Iと検出姿勢情報Jとを生成する(S10)。制御部11は、S10で生成した深度情報Iと検出姿勢情報Jとを3次元モデル生成装置20に送信する(S11)。
 制御部11は、次の処理タイミング(フレーム)が訪れたかを判定する(S12)。フレームレートは、予め記憶部12に記憶されているものとする。制御部11は、リアルタイムクロックを利用して計時処理を実行することにより、現在時刻が各フレームの開始時点になったかを判定する。
 次の処理タイミングが訪れたと判定されない場合(S12;N)、制御部11は、本処理を終了するかを判定する(S13)。S13においては、制御部11は、予め定められた終了条件(例えば、3次元モデル生成装置20から処理を終了するための信号を受信したかなど)が満たされるかを判定すればよい。本処理を終了すると判定されない場合(S13;N)、S12の処理に戻る。一方、本処理を終了すると判定された場合(S13;Y)、本処理は終了する。
 一方、S12において、次の処理タイミングが到来したと判定された場合(S12;Y)、S10の処理に戻る。以降、深度検出装置10は、本処理が終了するまで、定期的に深度情報Iと検出姿勢情報Jを生成して3次元モデル生成装置20に送信することになる。
 次に、3次元モデル生成装置20の動作を説明する。図16に示すように、制御部21は、まず、制御部21は、記憶部22に記憶されたテンプレートデータに基づいて、仮想3次元空間内に3次元モデルMを配置する(S20)。S20においては、制御部21は、3次元モデルMに対応する体型パラメータ{β}(即ち、初期値)を体型履歴データに格納する。この初期値は、予め記憶部22に記憶させておけばよい。
 制御部21は、記憶部22に記憶された基本姿勢データに基づいて、S20で配置した3次元モデルMの内部にスケルトンJを設定する(S21)。S21の時点では、3次元モデル生成装置20は、深度検出装置10から深度情報Iと検出姿勢情報Jをまだ受信していないので、3次元空間では、基本形状の3次元モデルMが基本姿勢を取っている。即ち、3次元モデルMの体型や姿勢は、実際の被写体の形状とは似ていない。
 制御部21は、深度検出装置10から深度情報Iと検出姿勢情報Jとを受信する(S22)。S22では、制御部21は、受信した深度情報Iと検出姿勢情報Jを、それぞれ深度履歴データと骨格履歴データに格納する。制御部21は、被写体の身体の形状を推定するための形状推定処理を実行する(S23)。
 図17は、形状推定処理の詳細を示す図である。図17に示すように、制御部21は、S22で受信した検出姿勢情報Jに基づいて、各関節の骨格パラメータ{θ}を取得する(S30)。制御部21は、S30で取得した骨格パラメータ{θ}に基づいて、3次元モデルMを変形させる(S31)。S31においては、制御部21は、S31で取得した骨格パラメータ{θ}に基づいて、3次元モデルM内のスケルトンJを変形させる。
 制御部21は、S31で変形させた3次元モデルMに対してスキニング処理を実行する(S32)。S32の処理により、3次元モデルの表面が滑らかになる。これにより3次元モデルMが生成される。時刻tにおける3次元モデルMを識別する情報(頂点やスケルトンJの位置)は、身体履歴データに格納される。
 制御部21は、評価値Eに基づいて体型パラメータ{β}を初期化する(S33)。S33においては、制御部21は、記憶部22に記憶された体型履歴データに格納された履歴を式2に代入し、評価値Eを最小にする値(即ち、平均値)を最新の体型パラメータ{β}とする。なお、時刻t=0であれば、体型履歴データには、初期値しか格納されていないので、初期値がそのまま使用される。
 制御部21は、評価値Eに基づいて、体型パラメータ{β}を最適化する(S34)。S34においては、制御部21は、S22で受信した深度情報に基づいて被写体の3次元座標を取得する。そして、制御部21は、S33で取得した体型パラメータ{β}と粒子群最適化アルゴリズムに基づいて、体型パラメータ{β}の候補を複数取得する。制御部21は、各候補に対応する3次元モデルMと式1に基づいて、各候補の評価値Eを取得する。制御部21は、評価値Eが最小になる候補の値を体型パラメータ{β}とすることで最適化を実行する。最適化された体型パラメータ{β}は、体型履歴データに格納される。制御部21は、S34で最適化した体型パラメータ{β}に基づいて、3次元モデルMを更新する(S35)。
 制御部21は、評価値Eに基づいて、骨格パラメータ{θ}を最適化する(S36)。S36においては、制御部21は、最新の骨格パラメータ{θ}と最小二乗法に基づいて、骨格パラメータ{θ}の候補を複数取得する。制御部21は、各候補に対応する3次元モデルMと式1に基づいて、各候補の評価値Eを取得する。制御部21は、評価値Eが最小になる候補の値になるように骨格パラメータ{θ}を更新することで最適化を実行する。最適化された骨格パラメータ{θ}は、骨格履歴データに格納される。制御部21は、S36で最適化した骨格パラメータ{θ}に基づいて、3次元モデルを更新する(S37)。
 以降、制御部21は、評価値Eが十分に小さくなるまでS33~S37の処理を繰り返す。なお、S22において深度情報Iと検出姿勢情報Jが受信された場合(即ち、次のフレームになった場合)は、最新の深度情報I及び検出姿勢情報Jに体型や姿勢を合わせる必要があるので、再びS30の処理から実行されることになる。
 図16に戻り、制御部21は、被写体の部分的な詳細を表現するための幾何学的再構成処理を実行する(S24)。なお、幾何学的再構成処理は、フレーム内で繰り返し実行されるようにしてもよいし、1回だけ実行されるようにしてもよい。
 図18は、幾何学的再構成処理の詳細を示す図である。図18に示すように、制御部21は、S22で取得した深度情報Iに基づいて、3次元モデルMのうち検出範囲を特定する(S40)。S40においては、制御部21は、深度情報Iに基づいて深度検出装置10の視線方向Vを取得して、3次元モデルMの各頂点vの法線nとの関係に基づいて検出範囲を特定する。
 制御部21は、評価値Eに基づいて、検出範囲内の頂点ごとに頂点移動量{η}を取得する(S41)。S41においては、制御部21は、検出範囲内の頂点の3次元座標と、被写体の3次元座標と、式3と、に基づいて評価値Eを取得する。そして、制御部21は、式4に基づいて仮の頂点移動量{η}を取得し、評価値Eを最小にする頂点移動量{η}に修正する。時刻tにおける頂点移動量{η}は、移動量履歴データに格納される。
 制御部21は、S41で取得した頂点移動量{η}に基づいて、検出範囲内の頂点を再配置する(S42)。これにより、3次元モデルMが生成される。時刻tにおける3次元モデルMを識別する情報(頂点やスケルトンJの位置)は、再構成履歴データに格納される。
 制御部21は、S41で取得した頂点移動量{η}に基づいて、検出範囲内の頂点の重み付け係数μを取得する(S43)。S43においては、制御部21は、式5に基づいて3次元モデルM,Mにおける身体部分とそれ以外の部分とを区別し、当該区別した結果に基づいて、頂点ごとに重み付け係数μを取得することになる。S43で取得された重み付け係数μは、S23の形状推定処理で評価値Eを計算するときに利用される。
 図16に戻り、制御部21は、本処理を終了するか否かを判定する(S25)。終了すると判定されない場合(S25;N)、S22の処理に戻り、次のフレームの深度情報Iと検出姿勢情報Jが受信された場合に、最新の深度情報Iと検出姿勢情報Jに基づく形状推定処理及び幾何学的再構成処理が実行される。一方、終了すると判定された場合(S25;Y)、本処理は終了する。
 以上説明した3次元モデル生成システム1によれば、3次元モデルMの姿勢を被写体の姿勢に近づけたうえで、体型パラメータ{β}を決定して3次元モデルMを生成するので、精度の高い3次元モデルMを迅速に生成することができる。即ち、多数の深度検出装置10の画像解析をする必要がないので、複雑な処理を実行する必要がなくなり、迅速に3次元モデルMを生成することができる。更に、被写体の実際のボディラインに近づくように体型パラメータ{β}が最適化されるので、3次元モデルMの精度を高めることができる。例えば、3次元モデルMの精度を高めることができれば、3次元モデルMに洋服などのオブジェクトを重畳させることにより、オンラインショッピングモールなどにおいて、商品を疑似的に試着させることができる。他にも例えば、オーダーメイドの洋服を作成するなどの種々の用途に、3次元モデルMを使用することができる。
 また、被写体の実際の骨格とのずれが小さくなるように骨格パラメータ{θ}が最適化されるので、3次元モデルMの姿勢を被写体の姿勢に近づけることができ、3次元モデルMの精度を更に高めることができる。例えば、先述したように検出姿勢情報JとスケルトンJとを完全に一致させることは難しいので、骨格パラメータ{θ}を最適化することで、体型と姿勢の両方を実際の被写体に近づけることができる。更に、体型パラメータ{β}を最適化した後に骨格パラメータ{θ}を最適化し、その後再びこれらの最適化を繰り返すことによって、3次元モデルMと被写体とのずれを徐々に小さくすることができる。
 また、頂点移動量ηに基づいて3次元モデルMを部分的に変形させることによって、3次元モデルMの各部分の形状を被写体の部分的な形状に近づけることができるので、3次元モデルMの精度を高めることができる。例えば、実施形態のように単一の深度検出装置10を用いた場合であっても、深度検出装置10が検出した面については、洋服のしわなどの詳細を3次元モデルMで再現することができ、その他の面については、ボディラインを再現することができる。
 また、幾何学的再構成処理の対象を検出範囲内の領域とすることにより、変形させる必要のない部分にまで処理を実行することがなくなるので、3次元モデル生成装置20の処理負荷を軽減するとともに、より迅速に3次元モデルMを生成することができる。
 また、各頂点の頂点移動量ηは周囲の頂点の頂点移動量に基づいて定まるため、3次元モデルMの各部分の形状を周囲の形状に基づいて変形させることができる。その結果、ある部分だけ不自然に飛び出たりへこんだりするような状態を防止することができ、3次元モデルMの精度を高めることができる。
 また、各頂点の頂点移動量ηは、その頂点の過去の頂点移動量に基づいて定まるので、3次元モデルMの各部分を当該部分の過去の形状に基づいて変形させることができる。その結果、ある時点だけ特定の部分が急に変形してしまうことを防止することができる。
 また、重み付け係数μを利用することにより、身体以外の部分が評価値Eに与える影響を抑えることができるので、被写体のボディラインを推定するうえで重要ではない部分が評価値Eに与える影響を抑えることができる。その結果、信頼性の高い部分で被写体のボディラインを推定して3次元モデルMとすることができるので、3次元モデルMの精度をより高めることができる。
 また、深度検出装置10の検出範囲内のずれ具合に基づいて3次元モデルMを変形させることで、検出できない範囲の位置が3次元モデルMの体型に影響を与えてしまうことを防止することができるので、3次元モデルMの精度をより高めることができる。
 また、体型パラメータ{β}の履歴に基づいて体型パラメータが決まるので、体型パラメータ{β}が突然大きくなるようなことを防止することができる。その結果、ある特定の時だけ3次元モデルMの体型が急激に変化してしまうような不自然な状況を防止することができる。
[5.変形例]
 なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
 例えば、体型パラメータ{β}を最適化した後に骨格パラメータ{θ}を最適化する場合を説明したが、これらの順序は逆であってもよい。また例えば、体型パラメータ{β}と骨格パラメータ{θ}の両方が最適化される場合を説明したが、何れか一方のみが最適化されてもよい。
 また例えば、頂点移動量ηを計算する場合に、周囲の頂点の変形具合や時間経過に伴う変化を考慮する場合を説明したが、処理速度を優先するのであればこれらは特に考慮しなくてもよい。同様に、過去の体型パラメータ{β}から大きくずれないように評価値Eを利用する場合を説明したが、処理速度を優先するのであれば過去の体型パラメータ{β}は特に考慮しなくてもよい。また、3次元モデルMのうち検出範囲内の領域を特定して評価値Eを取得したり幾何学的再構成の処理対象にしたりする場合を説明したが、特に検出範囲を考慮せず、3次元モデルMの全面を処理対象にしてもよい。
 また例えば、形状推定処理と幾何学的再構成処理の両方が実行される場合を説明したが、ボディラインの推定だけを目的として3次元モデル生成システム1を利用する場合は、幾何学的再構成処理は省略してもよい。更に、評価値E,E,Eの計算式は一例にすぎず、他の計算式を用いてもよい。また例えば、身体部分は、3次元モデルMを利用して特定されてもよいし、深度情報Iを利用して特定されてもよい。3次元モデルMを利用する場合は、実施形態で説明した方法と同様に、頂点の位置関係や時間変化により特定されるようにすればよい。一方、深度情報Iを利用する場合は、被写体の表面SOBの各点から最も近い頂点のみを身体部分とし、それ以外を身体部分以外としてよい。
 また例えば、検出姿勢情報Jは、3次元モデル生成装置20により生成されるようにしてもよい。この場合、3次元モデル生成装置20は、深度情報Iに基づいて検出姿勢情報Jを生成することになる。また例えば、骨格パラメータ{θ}は、深度検出装置10が生成して3次元モデル生成装置20に送信してもよい。また例えば、特にフレームレートを定めておかず、深度検出装置10は、深度情報Iと検出姿勢情報Jを不定期的に生成してもよい。また例えば、被写体は、人以外の動物(例えば、犬や猫など)であってもよい。
 また例えば、3次元モデル生成装置20で各機能が実現される場合を説明したが、深度検出装置10や他のコンピュータで各機能が実現されるようにしてもよい。また例えば、3次元モデル生成システム1の複数のコンピュータで各機能が分担されるようにしてもよい。更に、上記説明した各機能のうち、骨格取得部32、姿勢変化部34、表面形状取得部36、体型決定部37、及び体型変形部39以外の機能は省略してもよい。

Claims (11)

  1.  深度検出装置が検出した被写体の深度情報に基づいて、骨格パラメータを取得する骨格取得手段と、
     前記骨格パラメータに基づいて、体型パラメータにより変形可能な3次元モデルの姿勢を変化させる姿勢変化手段と、
     前記深度情報に基づいて、前記被写体の表面形状を取得する表面形状取得手段と、
     前記姿勢変化手段により姿勢が変化した3次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する体型決定手段と、
     前記体型パラメータ決定手段により決定された体型パラメータに基づいて、前記3次元モデルを変形させる体型変形手段と、
     を含むことを特徴とする3次元モデル生成システム。
  2.  前記3次元モデル生成システムは、前記3次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記骨格パラメータを決定する骨格決定手段を更に含み、
     前記姿勢変化手段は、前記骨格決定手段により決定された骨格パラメータに基づいて、前記3次元モデルの姿勢を更新する、
     ことを特徴とする請求項1に記載の3次元モデル生成システム。
  3.  前記3次元モデル生成システムは、前記体型変形手段により変形した3次元モデルの表面形状の一部と、当該部分に対応する前記被写体の表面形状と、の差に基づいて、当該部分を変形させる部分変形手段、
     を更に含むことを特徴とする請求項1又は2に記載の3次元モデル生成システム。
  4.  前記3次元モデル生成システムは、前記深度情報に基づいて、前記3次元モデルの中から、前記深度検出装置の検出範囲に対応する部分を特定する検出範囲特定手段を更に含み、
     前記部分変形手段は、前記3次元モデルのうち、前記検出範囲特定手段により特定された部分を変形させる、
     ことを特徴とする請求項3に記載の3次元モデル生成システム。
  5.  前記部分変形手段は、前記3次元モデルの各部分を、周囲の変形具合に基づいて変形させる、
     ことを特徴とする請求項3又は4に記載の3次元モデル生成システム。
  6.  前記部分変形手段は、前記3次元モデルの各部分を、当該部分の過去の形状に基づいて変形させる、
     ことを特徴とする請求項3~5の何れかに記載の3次元モデル生成システム。
  7.  前記3次元モデル生成システムは、前記3次元モデル又は前記被写体の表面形状に基づいて、前記3次元モデルの中から、前記被写体の身体に対応する身体部分を特定する身体部分特定手段を更に含み、
     前記体型決定手段は、前記体型パラメータを決定する場合に、前記身体部分に対応する差の重み付けを、他の部分の差の重み付けよりも高くする、
     ことを特徴とする請求項1~6の何れかに記載の3次元モデル生成システム。
  8.  前記3次元モデル生成システムは、前記深度情報に基づいて、前記3次元モデルの中から、前記深度検出装置の検出範囲に対応する頂点を特定する検出範囲特定手段を更に含み、
     前記体型決定手段は、前記検出範囲における前記3次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する、
     ことを特徴とする請求項1~7の何れかに記載の3次元モデル生成システム。
  9.  前記3次元モデル生成システムは、前記体型パラメータの履歴を記憶手段に記録する履歴記録手段を更に含み、
     前記体型決定手段は、前記履歴記録手段により記録された履歴に基づいて、前記体型パラメータを決定する、
     ことを特徴とする請求項1~8の何れかに記載の3次元モデル生成システム。
  10.  深度検出装置が検出した被写体の深度情報に基づいて、骨格パラメータを取得する骨格取得ステップと、
     前記骨格パラメータに基づいて、体型パラメータにより変形可能な3次元モデルの姿勢を変化させる姿勢変化ステップと、
     前記深度情報に基づいて、前記被写体の表面形状を取得する表面形状ステップと、
     前記姿勢変化ステップにより姿勢が変化した3次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する体型決定ステップと、
     前記体型パラメータ決定ステップにより決定された体型パラメータに基づいて、前記3次元モデルを変形させる体型変形ステップと、
     を含むことを特徴とする3次元モデル生成方法。
  11.  深度検出装置が検出した被写体の深度情報に基づいて、骨格パラメータを取得する骨格取得手段、
     前記骨格パラメータに基づいて、体型パラメータにより変形可能な3次元モデルの姿勢を変化させる姿勢変化手段、
     前記深度情報に基づいて、前記被写体の表面形状を取得する表面形状取得手段、
     前記姿勢変化手段により姿勢が変化した3次元モデルの表面形状と、前記被写体の表面形状と、の差に基づいて、前記体型パラメータを決定する体型決定手段、
     前記体型パラメータ決定手段により決定された体型パラメータに基づいて、前記3次元モデルを変形させる体型変形手段、
     としてコンピュータを機能させるためのプログラム。
PCT/JP2016/054404 2016-02-16 2016-02-16 3次元モデル生成システム、3次元モデル生成方法、及びプログラム WO2017141344A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017500096A JP6116784B1 (ja) 2016-02-16 2016-02-16 3次元モデル生成システム、3次元モデル生成方法、及びプログラム
PCT/JP2016/054404 WO2017141344A1 (ja) 2016-02-16 2016-02-16 3次元モデル生成システム、3次元モデル生成方法、及びプログラム
US16/066,674 US10593106B2 (en) 2016-02-16 2016-02-16 Three-dimensional model generating system, three-dimensional model generating method, and program
CN201680076775.4A CN108475439B (zh) 2016-02-16 2016-02-16 三维模型生成系统、三维模型生成方法和记录介质
EP16890486.0A EP3382648A4 (en) 2016-02-16 2016-02-16 SYSTEM FOR GENERATING A THREE-DIMENSIONAL MODEL, METHOD FOR GENERATING A THREE-DIMENSIONAL MODEL AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/054404 WO2017141344A1 (ja) 2016-02-16 2016-02-16 3次元モデル生成システム、3次元モデル生成方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2017141344A1 true WO2017141344A1 (ja) 2017-08-24

Family

ID=58666873

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/054404 WO2017141344A1 (ja) 2016-02-16 2016-02-16 3次元モデル生成システム、3次元モデル生成方法、及びプログラム

Country Status (5)

Country Link
US (1) US10593106B2 (ja)
EP (1) EP3382648A4 (ja)
JP (1) JP6116784B1 (ja)
CN (1) CN108475439B (ja)
WO (1) WO2017141344A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107633552A (zh) * 2017-09-01 2018-01-26 上海视智电子科技有限公司 基于体感交互的创建三维几何模型的方法及系统
US20180225858A1 (en) * 2017-02-03 2018-08-09 Sony Corporation Apparatus and method to generate realistic rigged three dimensional (3d) model animation for view-point transform
WO2019044333A1 (ja) * 2017-08-31 2019-03-07 らしさ・ドット・コム株式会社 シミュレーション装置、シミュレーション方法、及びコンピュータプログラム
JPWO2020178957A1 (ja) * 2019-03-04 2021-10-21 日本電気株式会社 画像処理装置、画像処理方法及びプログラム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019015553A (ja) * 2017-07-05 2019-01-31 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理方法および個体撮像装置
EP3693923A4 (en) 2017-10-03 2020-12-16 Fujitsu Limited RECOGNITION PROGRAM, RECOGNITION PROCESS AND RECOGNITION DEVICE
CN111801708B (zh) 2017-12-22 2022-04-29 奇跃公司 使用光线投射和实时深度进行遮挡渲染的方法
CN109144252B (zh) * 2018-08-01 2021-04-27 百度在线网络技术(北京)有限公司 对象确定方法、装置、设备和存储介质
CN110909581B (zh) * 2018-09-18 2023-04-14 北京市商汤科技开发有限公司 数据处理方法及装置、电子设备及存储介质
EP3953857A4 (en) * 2019-04-12 2022-11-16 INTEL Corporation TECHNOLOGY TO AUTOMATICALLY IDENTIFY THE FRONT BODY ORIENTATION OF INDIVIDUALS IN REAL-TIME MULTICAMERA VIDEO STREAMS
WO2021005708A1 (ja) * 2019-07-09 2021-01-14 株式会社ソニー・インタラクティブエンタテインメント スケルトンモデル更新装置、スケルトンモデル更新方法及びプログラム
JP2022512262A (ja) * 2019-11-21 2022-02-03 ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド 画像処理方法及び装置、画像処理機器並びに記憶媒体
CN110930298A (zh) * 2019-11-29 2020-03-27 北京市商汤科技开发有限公司 图像处理方法及装置、图像处理设备及存储介质
CN111105348A (zh) * 2019-12-25 2020-05-05 北京市商汤科技开发有限公司 图像处理方法及装置、图像处理设备及存储介质
CN111260764B (zh) * 2020-02-04 2021-06-25 腾讯科技(深圳)有限公司 一种制作动画的方法、装置及存储介质
CN112288890A (zh) * 2020-11-20 2021-01-29 深圳羽迹科技有限公司 一种模型的编辑方法及系统
CN114372377B (zh) * 2022-03-21 2023-08-01 江西珉轩智能科技有限公司 一种基于3d时空引擎的工程信息模型构建方法
CN115171198B (zh) * 2022-09-02 2022-11-25 腾讯科技(深圳)有限公司 模型质量评估方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015079362A (ja) * 2013-10-17 2015-04-23 セーレン株式会社 試着支援装置及び方法
JP2015531098A (ja) * 2012-06-21 2015-10-29 マイクロソフト コーポレーション デプスカメラを使用するアバター構築

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5065470B2 (ja) * 2010-12-07 2012-10-31 楽天株式会社 サーバ、情報管理方法、情報管理プログラム、及びそのプログラムを記録するコンピュータ読み取り可能な記録媒体
CN103197757A (zh) * 2012-01-09 2013-07-10 癸水动力(北京)网络科技有限公司 一种沉浸式虚拟现实系统及其实现方法
TWI521469B (zh) * 2012-06-27 2016-02-11 Reallusion Inc Two - dimensional Roles Representation of Three - dimensional Action System and Method
US9536338B2 (en) * 2012-07-31 2017-01-03 Microsoft Technology Licensing, Llc Animating objects using the human body
US9524582B2 (en) 2014-01-28 2016-12-20 Siemens Healthcare Gmbh Method and system for constructing personalized avatars using a parameterized deformable mesh
CN104794722A (zh) * 2015-04-30 2015-07-22 浙江大学 利用单个Kinect计算着装人体三维净体模型的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015531098A (ja) * 2012-06-21 2015-10-29 マイクロソフト コーポレーション デプスカメラを使用するアバター構築
JP2015079362A (ja) * 2013-10-17 2015-04-23 セーレン株式会社 試着支援装置及び方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
KAORU SUGITA ET AL.: "Jinbutsu Silhouette eno Jikukan Ichi Awase ni yoru Ifuku Gazo no Gosei", THE TRANSACTIONS OF THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS D, vol. J97-D, no. 9, 9 January 2014 (2014-01-09), pages 1519 - 1528, XP009511542, ISSN: 1880-4535 *
KIMIO HIRAO: "Pose Estimation of Human Upper Body Using Multi-joint CG Model and Depth Images", IEICE TECHNICAL REPORT, PATTERN RECOGNITION AND MEDIA UNDERSTANDING, vol. 104, no. 573, 14 January 2005 (2005-01-14), pages 79 - 84, XP055494743, ISSN: 0913-5685 *
MASAHIRO SEKINE ET AL.: "Clothes Image Synthesis Technologies for Virtual Fitting System Using Body Shape Estimation", TOSHIBA REVIEW, vol. 70, no. 5, May 2015 (2015-05-01), pages 42 - 45, XP009511539, ISSN: 0372-0462 *
See also references of EP3382648A4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180225858A1 (en) * 2017-02-03 2018-08-09 Sony Corporation Apparatus and method to generate realistic rigged three dimensional (3d) model animation for view-point transform
WO2019044333A1 (ja) * 2017-08-31 2019-03-07 らしさ・ドット・コム株式会社 シミュレーション装置、シミュレーション方法、及びコンピュータプログラム
CN107633552A (zh) * 2017-09-01 2018-01-26 上海视智电子科技有限公司 基于体感交互的创建三维几何模型的方法及系统
JPWO2020178957A1 (ja) * 2019-03-04 2021-10-21 日本電気株式会社 画像処理装置、画像処理方法及びプログラム
JP7294402B2 (ja) 2019-03-04 2023-06-20 日本電気株式会社 画像処理装置、画像処理方法及びプログラム
US11803615B2 (en) 2019-03-04 2023-10-31 Nec Corporation Generating 3D training data from 2D images

Also Published As

Publication number Publication date
US10593106B2 (en) 2020-03-17
CN108475439B (zh) 2022-06-17
US20190156564A1 (en) 2019-05-23
JPWO2017141344A1 (ja) 2018-02-22
CN108475439A (zh) 2018-08-31
JP6116784B1 (ja) 2017-04-19
EP3382648A1 (en) 2018-10-03
EP3382648A4 (en) 2019-05-22

Similar Documents

Publication Publication Date Title
JP6116784B1 (ja) 3次元モデル生成システム、3次元モデル生成方法、及びプログラム
Zheng et al. Hybridfusion: Real-time performance capture using a single depth sensor and sparse imus
JP5833189B2 (ja) 被写体の三次元表現を生成する方法およびシステム
JP6560480B2 (ja) 画像処理システム、画像処理方法、及びプログラム
JP5931215B2 (ja) 姿勢を推定する方法及び装置
WO2020054442A1 (ja) 関節位置の取得方法及び装置、動作の取得方法及び装置
EP2893479B1 (en) System and method for deriving accurate body size measures from a sequence of 2d images
US11948376B2 (en) Method, system, and device of generating a reduced-size volumetric dataset
CN104508709A (zh) 使用人体对对象进行动画化
JP2014522058A (ja) 三次元オブジェクトのモデリング、フィッティング、およびトラッキング
JP2012083955A (ja) 動作モデル学習装置、3次元姿勢推定装置、動作モデル学習方法、3次元姿勢推定方法およびプログラム
JP2021105887A (ja) 3dポーズ取得方法及び装置
US11908151B2 (en) System and method for mobile 3D scanning and measurement
Michel et al. Markerless 3d human pose estimation and tracking based on rgbd cameras: an experimental evaluation
KR102436906B1 (ko) 대상자의 보행 패턴을 식별하는 방법 및 이를 수행하는 전자 장치
US20130069939A1 (en) Character image processing apparatus and method for footskate cleanup in real time animation
JP2014085933A (ja) 3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム
Jatesiktat et al. Personalized markerless upper-body tracking with a depth camera and wrist-worn inertial measurement units
US20240013415A1 (en) Methods and systems for representing a user
CN116266408A (zh) 体型估计方法、装置、存储介质及电子设备
Payandeh et al. Experimental Study of a Deep‐Learning RGB‐D Tracker for Virtual Remote Human Model Reconstruction
KR20240035292A (ko) 카메라 캘리브레이션(camera calibration)을 수행하는 전자 장치 및 그 동작 방법
EP4360050A1 (en) Method and system for obtaining human body size information from image data

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2017500096

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16890486

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2016890486

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016890486

Country of ref document: EP

Effective date: 20180627

NENP Non-entry into the national phase

Ref country code: DE