WO2017170761A1 - 3次元動画データ生成装置、3次元動画データ生成プログラム、及びその方法 - Google Patents
3次元動画データ生成装置、3次元動画データ生成プログラム、及びその方法 Download PDFInfo
- Publication number
- WO2017170761A1 WO2017170761A1 PCT/JP2017/013047 JP2017013047W WO2017170761A1 WO 2017170761 A1 WO2017170761 A1 WO 2017170761A1 JP 2017013047 W JP2017013047 W JP 2017013047W WO 2017170761 A1 WO2017170761 A1 WO 2017170761A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- dimensional
- posture
- moving image
- image data
- series
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
Definitions
- the present invention relates to a 3D moving image data generation device, a 3D moving image data generation program, and a method thereof.
- Patent Document 1 describes a method of acquiring moving image data indicating a person's action by imaging a person wearing a plurality of markers each having a light emitting element.
- moving image data indicating a person's action by imaging a person wearing a plurality of markers each having a light emitting element.
- Patent Document 2 describes performing matching using a numerical value representing a geometric feature of an object extracted by performing predetermined processing on a frame as a feature amount.
- Patent Documents 3 and 4 describe that a parameter for extracting a feature amount of a recognition target included in a frame is optimized using an evolutionary algorithm also called a genetic algorithm.
- Patent Document 5 shows a posture by matching a silhouette frame generated based on a three-dimensional model within a range of postures that the posture model can take and a silhouette frame of a person included in the acquired frame. Generating data is described.
- Patent Document 6 describes detecting the posture by changing the posture of the virtual three-dimensional person model according to the gene information of the chromosome and bringing the posture of the virtual person model close to the posture of the person. .
- a plurality of frame models corresponding to the silhouette frame of a person when generating data indicating a posture by matching the silhouette frame generated based on the three-dimensional model and the silhouette frame of the person included in the acquired frame May exist. For example, as a frame model of a silhouette frame of a person with both arms crossed in front of the chest, a frame model with both arms crossed in front of the chest, a frame model with both arms crossed behind the back, and one arm in front of the chest And a frame model in which the other arm is placed behind the back. If data indicating many postures is generated in each of a series of frames, the generation cost for generating three-dimensional moving image data indicating a moving image including a series of frames including the posture of the three-dimensional model may increase.
- a three-dimensional moving image data generation apparatus capable of reducing generation cost for generating three-dimensional moving image data indicating a moving image including a series of frames including the posture of a three-dimensional model from the contour of a moving object included in the two-dimensional moving image. The purpose is to provide.
- a 3D moving image data generation apparatus includes a 2D moving image data acquisition unit that acquires 2D moving image data including a series of frames obtained by imaging a moving object having a plurality of joints, A contour extracting unit that extracts a contour of a moving object from each of the frames, a three-dimensional posture data generating unit that generates one or more three-dimensional posture data corresponding to the contour for each of a series of frames, and the generated 3
- the posture determination unit that determines whether or not the posture of the three-dimensional model corresponding to each of the three-dimensional posture data is appropriate, and is associated with each of the series of frames.
- 3D moving image data that generates 3D moving image data including a series of 3D posture data by continuously arranging the determined 3D posture data.
- the posture determination unit estimates the angle between a pair of bones joined by joints for each of the postures of one or more three-dimensional models.
- the angle between the joint angle estimator, the estimated angle between the pair of bones within a predetermined appropriate range, and the angle between the detected pair of bones are both appropriate. It is preferable to have a first posture determination unit that executes a first determination process for determining that the posture of the three-dimensional model is appropriate when it is determined that the value is within the range.
- the posture determination unit includes a frame arrangement unit that arranges the three-dimensional model determined to have a proper posture in the first determination process in time series, and a time series order.
- the joint position estimation unit for estimating the positions of the joints of the arranged three-dimensional model, and the positional relationship between the joint of the current three-dimensional model and the joint of the three-dimensional model at the next time is appropriate for each joint
- a joint position determination unit that determines whether or not the position of the three-dimensional model is appropriate when the positional relationship between the joints is determined to be appropriate. It is preferable to further include a second posture determination unit.
- the three-dimensional posture data generation unit generates the contour of the three-dimensional model when viewed from the angle at which the moving object included in the corresponding frame is captured, and the corresponding frame. It is preferable to generate the posture of the three-dimensional model so that the difference from the outline of the moving object included is equal to or less than a predetermined threshold value.
- the 3D moving image data generation method acquires 2D moving image data including a series of frames obtained by imaging a moving object having a plurality of joints, extracts a contour of the moving object from each of the series of frames, One or more 3D posture data corresponding to the contour is generated for each of a series of frames, and the posture of the 3D model corresponding to each 3D posture data is appropriate for each of the generated 3D posture data.
- 3D moving image including a series of 3D posture data by continuously arranging the 3D posture data determined to be appropriate in association with each of the series of frames. Generating data and outputting three-dimensional moving image data.
- the 3D moving image data generation program acquires 2D moving image data including a series of frames obtained by imaging a moving object having a plurality of joints, extracts the outline of the moving object from each of the series of frames, One or more 3D posture data corresponding to the contour is generated for each of a series of frames, and the posture of the 3D model corresponding to each 3D posture data is appropriate for each of the generated 3D posture data.
- 3D moving image including a series of 3D posture data by continuously arranging the 3D posture data determined to be appropriate in association with each of the series of frames. It is characterized by causing a computer to generate data and output three-dimensional moving image data.
- 3D moving image data that can reduce the generation cost of generating 3D moving image data indicating a moving image including a series of frames including the posture of a 3D model from the contour of a moving object included in the 2D moving image.
- a generating device is provided.
- FIG. 1 It is a figure which shows roughly the three-dimensional moving image data generation process performed by the three-dimensional moving image data generation apparatus which concerns on embodiment. It is a block diagram of the three-dimensional video data generation device concerning an embodiment. It is a flowchart of the three-dimensional moving image data generation process by the three-dimensional moving image data generation device. It is a diagram illustrating a frame at time t 1 that is included in the video. It is a diagram illustrating a frame at a time later t 2 than the time t 1 that is included in the video. It is a diagram illustrating a frame at slower time t 3 than the time t 2 included in the moving image. It is a figure which shows an example of the three-dimensional model used when the three-dimensional attitude
- FIG. 7 is a diagram (part 1) for explaining the processing of S204 to S207 shown in FIG. 6;
- FIG. 7 is a diagram (No. 2) for explaining the processing of S204 to S207 shown in FIG. 6;
- FIG. 7 is a view showing the posture of a three-dimensional model determined to be appropriate in the process of S104 shown in FIG. 3 from the first frame to the third frame shown in FIG. It is a figure which shows an example of the three-dimensional model of a dog.
- FIG. 1 is a diagram schematically illustrating a 3D moving image data generation process executed by the 3D moving image data generation apparatus according to the embodiment.
- the 3D moving image data generation apparatus acquires 2D moving image data indicating a moving image including a series of frames in which a moving body such as a person is captured (S1).
- the 3D moving image data generation apparatus acquires 2D moving image data via the Internet.
- the 3D moving image data generation device detects a moving object included in the moving image corresponding to the moving image data, and extracts the detected moving object's contour (S2).
- the three-dimensional moving image data generation device generates three-dimensional posture data indicating the posture of one or more three-dimensional models corresponding to the extracted contour for each of a series of frames (S3). .
- each of the postures of the 3D model corresponding to one or more three-dimensional posture data generated for each of a series of frames is appropriate. Is determined (S4). Then, the 3D moving image data generation device according to the embodiment continuously arranges the 3D posture data determined to be appropriate in association with each of the series of frames, thereby continuously arranging the 3D posture data. Is generated (S5). The 3D moving image data generation device according to the embodiment determines whether the orientation of the 3D model corresponding to the generated 3D orientation data is appropriate, thereby determining the contour of the moving object included in the acquired 2D frame. The appropriate posture is selected from the postures that can be generated from. The 3D moving image data generation apparatus according to the embodiment generates the 3D moving image data indicating the motion of the moving object by selecting the appropriate posture of the moving object included in the frame and generating the 3D moving image data. Suppress.
- FIG. 2 is a block diagram of the 3D moving image data generation apparatus according to the embodiment.
- the 3D moving image data generation apparatus 1 includes a communication unit 10, a storage unit 11, an input unit 12, an output unit 13, and a processing unit 20.
- the communication unit 10 communicates with a server or the like (not shown) via the Internet according to the HTTP (Hypertext Transfer Protocol) protocol. Then, the communication unit 10 supplies data received from the server or the like to the processing unit 20. The communication unit 10 transmits data supplied from the processing unit 20 to a server or the like.
- HTTP Hypertext Transfer Protocol
- the storage unit 11 includes, for example, at least one of a semiconductor device, a magnetic tape device, a magnetic disk device, or an optical disk device.
- the storage unit 11 stores an operating system program, a driver program, an application program, data, and the like used for processing in the processing unit 20.
- the storage unit 11 stores, as an application program, a 3D moving image data generation program for causing the processing unit 20 to execute 3D moving image data generation processing for generating 3D moving image data from 2D moving image data.
- the three-dimensional moving image data generation program may be installed in the storage unit 11 using a known setup program or the like from a computer-readable portable recording medium such as a CD-ROM or DVD-ROM.
- the storage unit 11 stores data used for input processing as data. Furthermore, the storage unit 11 may temporarily store data that is temporarily used in processing such as input processing.
- the input unit 12 may be any device as long as data can be input, such as a touch panel and a key button.
- the operator can input characters, numbers, symbols, and the like using the input unit 12.
- the input unit 12 When operated by the operator, the input unit 12 generates a signal corresponding to the operation. Then, the generated signal is supplied to the processing unit 20 as an instruction from the operator.
- the output unit 13 may be any device as long as it can display images, frames, and the like, and is, for example, a liquid crystal display or an organic EL (Electro-Luminescence) display.
- the output unit 13 displays a video corresponding to the video data supplied from the processing unit 20, a frame corresponding to the moving image data, and the like.
- the output unit 13 may be an output device that prints video, frames, characters, or the like on a display medium such as paper.
- the processing unit 20 includes one or a plurality of processors and their peripheral circuits.
- the processing unit 20 controls the overall operation of the 3D moving image data generation apparatus 1 and is, for example, a CPU.
- the processing unit 20 executes processing based on programs (driver program, operating system program, application program, etc.) stored in the storage unit 11.
- the processing unit 20 can execute a plurality of programs (such as application programs) in parallel.
- the processing unit 20 includes a two-dimensional video data acquisition unit 21, a contour extraction unit 22, a three-dimensional posture data generation unit 23, a posture determination unit 24, a three-dimensional video data generation unit 25, and a three-dimensional video data output unit. 26.
- the posture determination unit 24 includes a joint angle estimation unit 31, a joint angle determination unit 32, a first posture determination unit 33, a frame arrangement unit 34, a joint position estimation unit 35, a joint position determination unit 36, and a second And an attitude determination unit 37.
- Each of these units is a functional module realized by a program executed by a processor included in the processing unit 20. Or these each part may be mounted in the three-dimensional moving image data generation device 1 as firmware.
- FIG. 3 is a flowchart of 3D moving image data generation processing by the 3D moving image data generation apparatus 1.
- the three-dimensional moving image data generation process shown in FIG. 3 is mainly executed by the processing unit 20 in cooperation with each element of the three-dimensional moving image data generation device 1 based on a program stored in the storage unit 11 in advance.
- the two-dimensional moving image data acquisition unit 21 acquires two-dimensional moving image data indicating a moving image including a series of frames in which a moving body such as a person is captured (S101).
- the three-dimensional moving image data generation device 1 acquires two-dimensional moving image data corresponding to a desired condition via the Internet using a known search engine.
- the three-dimensional moving image data generation device 1 may be a moving object that acquires a person.
- the three-dimensional moving image data generation apparatus 1 may acquire a human adult as a target moving object, or may acquire a human child as a target moving object.
- the contour extracting unit 22 detects the moving object of the target imaged in the two-dimensional moving image corresponding to the two-dimensional moving image data acquired in the process of S101, and the contour of the moving object included in each of the detected series of frames. Is extracted (S102).
- the contour extraction unit 22 stores the extracted contour of the moving image in the storage unit 11 together with information such as the time of the corresponding frame and the direction of the moving object.
- the contour extraction unit 22 uses a known person detection algorithm such as HOG (Histograms of Oriented Gradients) or the like, and a moving object to be included in one of a series of frames included in the two-dimensional moving image corresponding to the two-dimensional moving image data. Is detected.
- HOG Heistograms of Oriented Gradients
- the contour extracting unit 22 When the contour extracting unit 22 detects a target moving object included in any of a series of frames, the contour extracting unit 22 predicts the position and contour of the moving object included in the frames before and after the detected frame, thereby detecting a frame in which the moving object cannot be detected. Detects moving objects contained in.
- FIG. 4A is a diagram showing a frame at time t 1 included in the moving image
- FIG. 4B is a diagram showing a frame at time t 2 later than time t 1 included in the moving image
- FIG. 4C is a time included in the moving image. It is a diagram illustrating a frame at slower time t 3 than t 2.
- the frame 401 includes a moving body 411 that is a ballerina with a face extended in the horizontal direction and arms extended in the horizontal direction.
- the frame 402 includes a moving body 412 that is a ballerina with its face facing forward, arms up, and one leg raised.
- the frame 401 includes a moving body 411 that is a ballerina with arms extended in the horizontal direction with the face facing backward.
- the contour extraction unit 22 reverses the time series from time t 2 when the moving body 412 is detected to time t 1 corresponding to the frame 401 including the moving body 412.
- the moving body 411 is detected by sequentially predicting the position and shape of the moving body.
- the contour extracting unit 22 can detect the moving body 412 and the moving body 411, but when the moving body 413 cannot detect that the moving body 413 is facing backward, the contour extracting unit 22 determines the position and shape of the moving body from the moving body 412 in the time series direction. It is predicted in turn that the moving body 413 is facing backward.
- the contour extraction unit 22 sequentially predicts the position and orientation of the moving object imaged in a series of frames included in the two-dimensional video from the detected video in the time series direction and the opposite direction of the time series, thereby Can be detected for each frame.
- the moving body captured in a moving image other than the target moving body can be separated from the target moving body. For example, even when other moving bodies such as a ballerina other than the ballerina corresponding to the target moving bodies 411 and 412 are imaged in a plurality of frames between the frame 401 and the frame 402, the position and posture of the target moving body are sequentially set. By predicting, the target moving object can be separated from other moving objects.
- the three-dimensional posture data generation unit 23 generates three-dimensional posture data indicating the posture of one or more three-dimensional models corresponding to the contour of the moving object extracted in the process of S102 for each of a series of frames. (S103).
- the three-dimensional posture data is stored in the storage unit 11 together with information such as the time of the corresponding frame and the direction of the moving object.
- FIG. 5A is a diagram illustrating an example of a three-dimensional model used when the three-dimensional posture data generation unit 23 generates three-dimensional posture data
- FIG. 5B is a table illustrating joints of the three-dimensional model illustrated in FIG. 5A. .
- the 3D model 501 is a 3D model of a person and has a skeleton and a skin shape.
- the three-dimensional model 501 has 24 joints shown in the table 502, and the skin shape is deformed according to the movement of the joints.
- the three-dimensional model 501 is formed by incorporating a rig into a shape having the appearance of a person.
- the three-dimensional model data indicating the three-dimensional model 501 is generated by using a computer program “Rigmesh” described in a paper “RigMesh:“ Automatic ”Rigging” for “Part-Based” Shape “Modeling” and “Deformation” by Peter Borosan et al. Also good.
- the three-dimensional model data indicating the three-dimensional model 501 may be generated by morphing a template. For example, it can be extracted from multiple candidate models generated by changing the shape to match the contour extracted from the two-dimensional data by inflating or narrowing the parts of the narrow eight-headed template. A three-dimensional model having the smallest difference between the contour and the contour may be adopted. In this case, the parameter for motion data estimation is increased by one. Further, the three-dimensional model data indicating the three-dimensional model 501 may be generated based on difference data indicating a difference between data generated by “Rigmesh” stored in advance and data of the template. In this case, the body shape is evaluated based on the “Rigmesh” data, and the joint angle is evaluated based on the template data.
- the three-dimensional model 501 has a hip joint (HipCenter) 511.
- the three-dimensional model 501 includes a spinal joint (Spince) 521, a shoulder center joint (ShoulderCenter) 522, a neck joint (Neck) 523, an eye joint (Eye) 524, a head joint (Head) 525, and a left eye joint. (EyeLeft) 526 and a right eye joint (EyeRight) 527 are further provided.
- the three-dimensional model 501 further includes a left shoulder joint (ShoulderLeft) 531, a left elbow joint (ElbowLeft) 532, and a left wrist joint (WristLeft) 533.
- the three-dimensional model 501 further includes a right shoulder joint (ShoulderRight) 541, a right elbow joint (ElbowRight) 542, and a right wrist joint (WristRight) 543.
- the three-dimensional model 501 includes a left hip joint (HipLeft) 551, a left knee joint (KneeLeft) 552, a left ankle joint (AnkleLeft) 553, a left hip joint (HeelLeft) 554, and a left toe joint (ToeLeft) 555. It has further.
- the three-dimensional model 501 includes a right hip joint (HipRight) 561, a right knee joint (KneeRight) 562, a right ankle joint (AnkleRight) 563, a right hip joint (HeelRight) 564, and a right toe joint (ToeRight) 565. It has further.
- the three-dimensional posture data generating unit 23 adjusts the position of each of a plurality of joints of the three-dimensional model 501 and the angle between the pair of bones joined by the joints of the three-dimensional model 501, and is extracted in the process of S ⁇ b> 102.
- One or more three-dimensional posture data corresponding to the contour of the moving object is generated.
- the three-dimensional posture data generation unit 23 uses a known arithmetic algorithm such as a genetic algorithm (Genetic Algorithm, GA) or machine learning such as deep running to correspond to the contour of the moving object extracted in the process of S102.
- GA Genetic Algorithm
- the three-dimensional posture data generation unit 23 has a predetermined difference between the contour of the three-dimensional model when viewed from the angle at which the moving object included in the corresponding frame is captured and the contour of the moving object included in the corresponding frame. Three-dimensional posture data is generated so as to be equal to or less than the threshold value. In one example, the three-dimensional posture data generation unit 23 determines whether or not the difference between the contour area of the three-dimensional model and the contour area of the moving object included in the corresponding frame is equal to or less than a predetermined threshold value. .
- the posture determination unit 24 determines whether or not each of the postures of the three-dimensional model corresponding to the one or more three-dimensional posture data generated in the process of S103 is appropriate (S104).
- the three-dimensional moving image data generation unit 25 sequentially arranges the three-dimensional posture data determined to be appropriate in association with each of the series of frames in the processing of S104, thereby performing a series of 3 Three-dimensional moving image data including the three-dimensional posture data is generated (S105).
- S104 it may be determined that a plurality of postures are appropriate for the contour of the moving object included in each of the series of frames. That is, there is a possibility that the postures of a plurality of three-dimensional models are associated with each of a series of frames.
- the 3D moving image data generation unit 25 uses a known arithmetic algorithm such as a genetic algorithm or machine learning such as deep running so that the motion of the elbow joint angle is minimized.
- Video data indicating a three-dimensional video showing a three-dimensional video including a frame may be generated.
- the three-dimensional moving image data generation unit 25 when generating the moving image data, the three-dimensional moving image data generation unit 25 generates not only a single moving image data which is the optimal solution processed by the algorithm but also a plurality of moving image data satisfying a predetermined condition. Also good.
- the three-dimensional moving image data generation unit 25 can generate various moving image data having different motions by changing the condition of reward. For example, when it is desired to create motion data with a large amount of motion, 3D moving image data including a motion with a large amount of motion can be generated by setting an item with a large amount of motion as “excellent” within a range where human motion is possible.
- the 3D moving image data output unit 26 outputs the 3D moving image data generated by the process of S105 (S106).
- FIG. 6 is a flowchart showing more detailed processing of S104.
- the joint angle estimation unit 31 estimates an angle between a pair of bones joined by a joint for each posture of the three-dimensional model generated in the process of S103 (S201). For example, the joint angle estimation unit 31 estimates the position of the joint of the three-dimensional model, and estimates the angle between the pair of bones joined by the joint based on the estimated joint position.
- the positions of the joints are obtained by extracting the coordinates of the joints when the 3D model is viewed from the front with the spinal joint 521 as the origin and when the 3D model is viewed from the side, and based on the extracted coordinates, Estimate the angle between a pair of bones joined together.
- the joint angle estimator 31 is configured so that the angle between straight lines between the indirect located between the pair of bones joined at the joint and the indirect located at the other end of the pair of bones is joined at the joint. Estimate the angle between a pair of bones.
- the joint angle determination unit 32 determines whether or not the estimated angle between the pair of bones is within a predetermined appropriate range (S202).
- the joint angle determination unit 32 refers to appropriate range information indicating the range of movable angles of each joint stored in association with the identifier indicating the joint and the coordinates indicating the position of the joint, for example. It is determined whether or not the angle between the bones is within a predetermined appropriate range.
- the appropriate range information is stored in the storage unit 11 in a table format.
- the movable angle may be stored as an angle on the XY plane and an angle on the XZ plane.
- the first posture determination unit 33 determines that the posture of the three-dimensional model is appropriate when it is determined that both of the detected angles between the pair of bones are within the appropriate range.
- a determination process is executed (S203).
- the frame arranging unit 34 arranges the three-dimensional models whose postures are determined to be appropriate in the first determination process in time series order (S204).
- the frame arrangement unit 34 arranges the three-dimensional model in time series based on the order of a series of frames corresponding to the two-dimensional moving image data acquired in the process of S101.
- the joint position estimation unit 35 estimates the positions of the joints of the three-dimensional model arranged in time series in the process of S204 (S205).
- the positions of the joints are, for example, with the spinal joint 521 as the origin, the X-axis direction as the direction extending horizontally from the spinal joint 521 to the front, the Y-axis direction as the direction extending horizontally from the spinal joint 521, and Z
- the direction may be defined as a direction extending from the spinal joint 521 in the vertical direction.
- the joint position determination unit 36 determines whether or not the positional relationship between the joint of the current three-dimensional model and the joint of the three-dimensional model at the next time is appropriate for each joint (S206). ). In one example, the joint position determination unit 36 determines that the joint moving speed calculated from the moving distance from the current joint position to the joint position at the next time and the time between frames is within a predetermined reference speed range. At some point, it is determined that the positional relationship between the current joint and the joint at the next time is appropriate. On the other hand, the joint position determination unit 36 determines whether the current joint position is higher when the joint moving speed is higher than a speed within a predetermined reference speed range and when the joint moving speed is lower than a speed within a predetermined reference speed range. It is determined that the positional relationship of the joint at the next time is not appropriate.
- the joint position determination unit 36 refers to the reference speed range information that defines the reference speed range for each joint, and determines whether or not the positional relationship with the joint of the three-dimensional model is appropriate.
- the reference speed range information is stored in the storage unit 11 in a table format.
- the joint position determination unit 36 calculates the movement distance between the current time and the next time for each joint from the position estimated in the process of S205, and calculates the joint distance from the calculated distance and the time between frames. Estimate the moving speed.
- the joint position determination unit 36 determines whether or not the joint position relationship of the three-dimensional model between frames is appropriate depending on whether or not the estimated moving speed is within the reference speed range corresponding to the reference speed range information. judge.
- the second posture determination unit 37 performs second determination processing for determining that the posture of the three-dimensional model is appropriate when it is determined in S206 that the positional relationship between the joints is appropriate. Execute (S207).
- FIG. 7 is a diagram for explaining the process of S104.
- FIG. 7A shows the first frame of the moving image acquired by the process of S101
- FIG. 7A shows the second frame next to the first frame
- FIG. Indicates the third frame following the second frame. 7A to 7C
- the moving object is imaged from the front.
- FIG. 7D shows a frame when the 3D model having the same posture as the moving body of the first frame is viewed from the front
- FIG. 7E shows the 3D model having the same posture as the moving body of the second frame from the front. Indicates the frame that was seen.
- FIG. 7F shows a frame in which a three-dimensional model having the same posture as the moving body of the third frame is viewed from the front. Data indicating the frames shown in FIGS. 7D to 7F is generated by the process of S103.
- FIG. 8 is a diagram for explaining the processing of S104, and is a diagram for explaining the processing of S201 to S203.
- FIG. 8A shows a frame including a first posture when the posture of the three-dimensional model shown in FIG. 7A is viewed from the side.
- FIG. 8B shows a frame including a second posture when the posture of the three-dimensional model shown in FIG. 7A is viewed from the side.
- FIG. 8C shows a frame force including a third form when the posture of the three-dimensional model shown in FIG. 7A is viewed from the side.
- three-dimensional posture data is generated from a two-dimensional frame included in the two-dimensional moving image, and therefore, a plurality of three-dimensional posture data having the same posture viewed from the captured direction is generated. There is. For example, in the first frame shown in FIGS. 7A and 7D, three three-dimensional posture data shown in FIGS. 8A to 8C are generated.
- it is determined that the posture of the three-dimensional model is not appropriate when the angle between the pair of bones joined by the joint is an angle deviating from the movable range of the joint of the human body.
- the joint angle determination unit 32 acquires information indicating the movable angle at the position shown in FIG. 8A of the right shoulder joint 541 from the appropriate range information stored in the storage unit 11. Whether or not the information acquired by the right shoulder joint 541 and the angle between the pair of bones joined by the right shoulder joint 541 estimated by the joint angle estimation unit 31 are included in the movable angle at the position shown in FIG. 8A. Determine whether.
- the joint angle determination unit 32 similarly shows the angle between a pair of bones joined by the right shoulder joint 541 estimated by the joint angle estimation unit 31 for the right elbow joint 542 and the right wrist joint 543 as shown in FIG. 8A. It is determined whether or not it is included in the movable angle at the position.
- the joint angle determination unit 32 similarly determines the angle between the pair of bones estimated by the joint angle estimation unit 31 that is a movable angle at the position illustrated in FIG. It is determined whether it is included.
- the joint angle determination unit 32 determines that the estimated angle between the pair of bones is included in the movable angle at the position shown in FIG. 8A, and the first posture determination unit 33 executes a first determination process for determining that the posture of the three-dimensional model is appropriate.
- the joint angle determining unit 32 is movable at the position shown in FIG. 8B where the angle between the pair of bones joined at the respective joints included in the frame is the same as the frame shown in FIG. 8A. It is determined whether it is included in an angle.
- the angle between the pair of bones joined to the wrist joint of the right hand is the palm of the right hand, even though the right arm of the three-dimensional model extends rearward in a direction substantially parallel to the shoulder. Is at an angle that faces outward and the fingertip of the right hand faces toward the head. Since the joint of the human wrist cannot take the posture shown in FIG. 8B, it is determined that the posture shown in FIG. 8B is not appropriate in the processing of S201 to S203.
- the joint angle determination unit 32 moves the angle between a pair of bones joined at each joint included in the frame at the position shown in FIG. 8C, as in the frame shown in FIG. 8A. It is determined whether it is included in an angle.
- the bone between the right shoulder and the right elbow of the three-dimensional model extends substantially parallel to the left shoulder from the right shoulder, and the bone and the right elbow between the right shoulder and the right elbow of the three-dimensional model
- the angle between the bone between the right wrist and the right wrist is about 60 degrees, and the bone between the right elbow and the right wrist extends upward and backward.
- the angle between the pair of bones joined to the wrist joint of the right hand is such that the palm of the right hand faces outward. Since the joint of the human wrist cannot take the posture shown in FIG. 8C, it is determined that the posture shown in FIG. 8C is not appropriate in the processing of S201 to S203.
- FIG. 9 is a diagram for explaining the processing of S104, and is a diagram (part 1) for explaining the processing of S204 to S207.
- a frame 901 shows the posture of the three-dimensional model when the posture of the first frame shown in FIGS. 7A and 7D is viewed from the side.
- a frame 911 shows the first posture of the three-dimensional model when the posture of the second frame shown in FIGS. 7B and 7E is viewed from the side.
- a frame 912 shows the second posture of the three-dimensional model when the posture of the second frame shown in FIGS. 7B and 7E is viewed from the side.
- a frame 913 shows the third posture of the three-dimensional model when the posture of the second frame shown in FIGS. 7B and 7E is viewed from the side.
- the movement speed of the joint of the three-dimensional model between the current frame and the next time frame is calculated, and when the calculated movement speed of the joint is out of the reference speed range, It is determined that the posture of the three-dimensional model in the time frame is not appropriate.
- the right elbow joint 542 is determined to be within the reference speed range in the movement from the frame 901 to the frame 911.
- the moving speed from the first frame to the second frame of the joint of the three-dimensional model such as the left elbow joint is determined to be within the reference speed range, and the posture shown in the frame 911 is determined to be appropriate. .
- the moving speed from the first frame to the second frame of the right elbow joint 542 of the three-dimensional model is determined to be out of the reference speed range because it is slow, and the posture shown in the frame 912 Is determined to be inappropriate.
- the moving speeds of the joints of the three-dimensional model such as the right elbow joint 542 and the left elbow joint from the first frame to the second frame are within the reference speed range.
- the posture shown in 913 is determined to be appropriate.
- FIG. 10 is a diagram for explaining the processing of S104, and is a diagram (No. 2) for explaining the processing of S204 to S207.
- frames 1011 and 1012 indicate the postures of the three-dimensional model that are determined to be suitable postures in the processing of FIG. 9.
- a frame 1021 shows the first posture of the three-dimensional model when the posture of the third frame shown in FIGS. 7C and 7F is viewed from the side.
- a frame 1022 shows the second posture of the three-dimensional model when the posture of the third frame shown in FIGS. 7C and 7F is viewed from the side.
- a frame 1023 shows the third posture of the three-dimensional model when the posture of the third frame shown in FIGS. 7C and 7F is viewed from the side.
- the moving speed from the second frame to the third frame of the joint of the three-dimensional model such as the right elbow joint 542 and the left elbow joint is within the reference speed range. Determined. Since the moving speed of the joint of the three-dimensional model from the second frame to the third frame is determined to be within the reference speed range, it is determined that the posture shown in each of the frames 1021 to 1023 is appropriate.
- the moving speed from the second frame to the third frame of the joint of the three-dimensional model such as the right elbow joint 542 and the left elbow joint is within the reference speed range. Determined. Since the moving speed of the joint of the three-dimensional model from the second frame to the third frame is determined to be within the reference speed range, it is determined that the posture shown in each of the frames 1021 to 1023 is appropriate.
- FIG. 11 is a diagram for explaining the process of S104, and shows the posture of the three-dimensional model determined to be appropriate in the process of S104 from the first frame to the third frame shown in FIG.
- the posture shown in the frame 1101 is appropriate for the first frame
- the posture shown in frames 1111 and 1112 is determined to be appropriate for the second frame
- the posture shown in frames 1121 to 1123 is determined for the third frame. Determined to be appropriate.
- the posture shown in the frame 1101 is selected in the first frame
- the posture shown in the frame 1111 is selected in the second frame
- the posture shown in the frame 1121 is selected in the third frame.
- a plurality of 3D moving image data may be created when a predetermined condition is satisfied. For example, in addition to the three-dimensional moving image data in which the frames 1101, 1111, and 1121 are combined, three-dimensional moving image data in which the postures shown in the frames 1101, 1112, and 1121 are combined may be generated.
- the three-dimensional moving image data generation apparatus 1 selects the appropriate posture from the postures of the three-dimensional model generated from the contour of the moving object included in the frame of the two-dimensional moving image, thereby calculating the number of moving object posture candidates included in the frame. By reducing, the generation cost for generating the three-dimensional moving image data is suppressed.
- the 3D moving image data generation apparatus 1 acquires 2D moving image data corresponding to a desired condition via the Internet, it generates 3D moving image data from an existing 2D moving image that can be acquired on the Internet. Can do. Since the 3D moving image data generation apparatus 1 generates 3D moving image data using an existing 2D moving image that can be acquired on the Internet, resources that can be acquired on the Internet can be effectively used.
- the 3D moving image data generation device 1 can generate not only the optimal solution but also a plurality of moving image data satisfying a predetermined condition in the process of S105, the moving image corresponding to the generated plurality of moving image data can be generated.
- the motion of the moving object included can be used for various processes.
- the three-dimensional moving image data generation device 1 may store and manage the movement of parts such as the human elbow and knee included in the moving image corresponding to the moving image data generated in the process of S105 for each part. Then, the three-dimensional moving image data generation apparatus 1 may automatically generate new three-dimensional moving image data indicating an image including a person who moves by combining movements of parts to be stored and managed. Since the three-dimensional moving image data generation apparatus 1 can automatically generate operation data of various patterns, time and cost can be reduced.
- the 3D moving image data generation apparatus 1 automatically feeds back the new 3D moving image data automatically generated by combining the movements of the parts to be stored and managed to the algorithm of S105, so that the learning function of the algorithm of S105 is automatically performed. Can be improved.
- the three-dimensional moving image data generation apparatus 1 uses the new automatically generated three-dimensional moving image data to automatically improve the learning function of the algorithm of S105, thereby improving the processing accuracy and processing speed of the processing of S105. Can do.
- the three-dimensional moving image data generation device 1 determines that the posture of the three-dimensional model is appropriate when it is determined that the angles between the pair of bones joined by the joint are both within the appropriate range. Thus, the posture that the moving body cannot take can be excluded from the posture candidates of the three-dimensional model.
- the 3D moving image data generation device 1 determines whether the positional relationship between the joint of the current frame and the joint of the frame of the next time is appropriate, so that the posture showing an unnatural motion is determined. It can be excluded from candidates for the posture of the 3D model.
- the 3D moving image data generation apparatus 1 generates 3D moving image data using the 3D model of the person shown in FIG. 5, the 3D moving image data generation apparatus according to the embodiment includes a plurality of joints other than the person.
- Three-dimensional moving image data may be generated using a three-dimensional model of a moving object.
- the 3D moving image data generation apparatus according to the embodiment may generate 3D moving image data using a 3D model of a dog, a cat, and a hamster.
- FIG. 12 is a diagram showing an example of a three-dimensional dog model.
- the three-dimensional model 1301 has a skeleton and a skin shape, and the skin shape is deformed according to the motion of the joint.
- the three-dimensional model 1301 is formed by incorporating a rig into a shape having the appearance of a dog using the computer program “Rigmesh”.
- the 3D model data indicating the 3D model 1301 may be generated by morphing a template, similarly to the 3D model data indicating the 3D model 501. For example, a three-dimensional model of dachshund is automatically generated by shortening the foot of a template showing a dog and lengthening the torso.
- the three-dimensional model data indicating the three-dimensional model 501 is based on difference data indicating the difference between the data generated by “Rigmesh” stored in advance and the template data. May be generated.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Processing Or Creating Images (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
3次元モデルの姿勢を含む一連のフレームを含む動画を示す動画データを生成する生成コストを低減する。3次元動画データ生成装置は、複数の関節を有する動体を撮像した一連のフレームを含む2次元動画データを取得する2次元動画データ取得部と、一連のフレームのそれぞれから、動体の輪郭を抽出する輪郭抽出部と、輪郭に対応した1又は2以上の3次元姿勢データを一連のフレームのそれぞれについて生成する3次元姿勢データ生成部と、生成された3次元姿勢データのそれぞれについて、それぞれの3次元姿勢データに対応する3次元モデルの姿勢が適切であるか否かを判定する姿勢判定部と、一連のフレームのそれぞれに対応付けて、適切であると判定された3次元姿勢データを連続して配置することによって、一連の3次元姿勢データを含む3次元動画データを生成する3次元動画データ生成部とを有する。
Description
本発明は、3次元動画データ生成装置、3次元動画データ生成プログラム、及びその方法に関する。
人物等の動体の動作を示す3次元動画を示す動画データを生成する種々の方法が知られている。例えば、特許文献1には、それぞれが発光素子を有する複数のマーカを装着した人物を撮像することにより、人物の動作を示す動画データを取得する方法が記載される。しかしながら、マーカを装着した人物を撮像して人物の動作を示す動画データを取得する場合、取得したい動作ができる人物を確保する必要がある上に、撮像したフレームからノイズを除去する等の前処理を施す必要があり、3次元動画生成コストが高くなるおそれがある。
人物等の動作を取得するコストを抑制するために、単眼カメラから取得した人物等の動体の2次元フレームから3次元の位置姿勢を推定することが知られる。例えば、特許文献2には、フレームに所定の処理を施すことによって抽出された対象物についての幾何学的特徴を表す数値を特徴量として用いて、マッチングを行うことが記載される。また、特許文献3及び4には、フレームに含まれる認識対象の特徴量を抽出するパラメータを、遺伝的アルゴリズムとも称される進化的アルゴリズムを使用して最適化することが記載される。また、特許文献5には、姿勢モデルが取り得る姿勢の範囲内で3次元モデルに基づいて生成されたシルエットフレームと、取得したフレームに含まれる人物のシルエットフレームとのマッチングを行って姿勢を示すデータを生成することが記載される。そして、特許文献6には、染色体の遺伝子情報に応じて仮想3次元人物モデルの姿勢を変化させて、仮想人物モデルの姿勢を人物の姿勢に近づけることで、姿勢を検出することが記載される。
しかしながら、動体の特徴量を抽出して動体の姿勢を推定する場合、特徴量を抽出する部位の数が増加するに従って、特徴量を抽出するための演算処理が増加して演算コストが増大するおそれがある。また、3次元モデルに基づいて生成されたシルエットフレームと、取得したフレームに含まれる人物のシルエットフレームとのマッチングにより姿勢を示すデータを生成するときに、人物のシルエットフレームに対応する複数のフレームモデルが存在する場合がある。例えば、両腕を胸の前で組んでいる人物のシルエットフレームのフレームモデルとして、両腕を胸の前で組むフレームモデル、両腕を背中の後ろで組むフレームモデル、一方の腕を胸の前に配置し且つ他方の腕を背中の後ろに配置するフレームモデルが挙げられる。一連のフレームのそれぞれにおいて多くの姿勢を示すデータが生成されると、3次元モデルの姿勢を含む一連のフレームを含む動画を示す3次元動画データを生成する生成コストが増加するおそれがある。
一態様では、2次元動画に含まれる動体の輪郭から3次元モデルの姿勢を含む一連のフレームを含む動画を示す3次元動画データを生成する生成コストを低減することができる3次元動画データ生成装置を提供することを目的とする。
上記目的を実現するため、実施形態に係る3次元動画データ生成装置は、複数の関節を有する動体を撮像した一連のフレームを含む2次元動画データを取得する2次元動画データ取得部と、一連のフレームのそれぞれから、動体の輪郭を抽出する輪郭抽出部と、輪郭に対応した1又は2以上の3次元姿勢データを一連のフレームのそれぞれについて生成する3次元姿勢データ生成部と、生成された3次元姿勢データのそれぞれについて、それぞれの3次元姿勢データに対応する3次元モデルの姿勢が適切であるか否かを判定する姿勢判定部と、一連のフレームのそれぞれに対応付けて、適切であると判定された3次元姿勢データを連続して配置することによって、一連の3次元姿勢データを含む3次元動画データを生成する3次元動画データ生成部と、3次元動画データを出力する出力部とを有することを特徴とする。
また、実施形態に係る3次元動画データ生成装置では、姿勢判定部は、1つ又は2つ以上の3次元モデルの姿勢のそれぞれについて、関節で接合された一対の骨の間の角度を推定する関節角推定部と、推定された一対の骨の間の角度が所定の適正範囲内であるか否かを判定する関節角判定部と、検出された一対の骨の間の角度が何れも適正範囲内であると判定されたときに、3次元モデルの姿勢が適切であることを決定する第1決定処理を実行する第1姿勢決定部とを有することが好ましい。
また、実施形態に係る3次元動画データ生成装置では、姿勢判定部は、第1決定処理において姿勢が適切であると判定された3次元モデルを時系列順に配列するフレーム配列部と、時系列順に配列された3次元モデルの関節の位置を推定する関節位置推定部と、それぞれの関節について、現在の3次元モデルの関節と、次の時間の3次元モデルの関節との間の位置関係が適切であるか否かを判定する関節位置判定部と、関節の間の位置関係が適切であると判定されたときに、3次元モデルの姿勢が適切であることを決定する第2決定処理を実行する第2姿勢決定部とを更に有することが好ましい。
また、実施形態に係る3次元動画データ生成装置では、3次元姿勢データ生成部は、対応するフレームに含まれる動体が撮像された角度から見たときの3次元モデルの輪郭と、対応するフレームに含まれる動体の輪郭との差が所定のしきい値以下になるように、3次元モデルの姿勢を生成することが好ましい。
さらに、実施形態に係る3次元動画データ生成方法は、複数の関節を有する動体を撮像した一連のフレームを含む2次元動画データを取得し、一連のフレームのそれぞれから、動体の輪郭を抽出し、輪郭に対応した1又は2以上の3次元姿勢データを一連のフレームのそれぞれについて生成し、生成された3次元姿勢データのそれぞれについて、それぞれの3次元姿勢データに対応する3次元モデルの姿勢が適切であるか否かを判定し、一連のフレームのそれぞれに対応付けて、適切であると判定された3次元姿勢データを連続して配置することによって、一連の3次元姿勢データを含む3次元動画データを生成し、3次元動画データを出力することを含むことを特徴とする。
さらに、実施形態に係る3次元動画データ生成プログラムは、複数の関節を有する動体を撮像した一連のフレームを含む2次元動画データを取得し、一連のフレームのそれぞれから、動体の輪郭を抽出し、輪郭に対応した1又は2以上の3次元姿勢データを一連のフレームのそれぞれについて生成し、生成された3次元姿勢データのそれぞれについて、それぞれの3次元姿勢データに対応する3次元モデルの姿勢が適切であるか否かを判定し、一連のフレームのそれぞれに対応付けて、適切であると判定された3次元姿勢データを連続して配置することによって、一連の3次元姿勢データを含む3次元動画データを生成し、3次元動画データを出力することをコンピュータに実行させることを特徴とする。
一態様によれば、2次元動画に含まれる動体の輪郭から3次元モデルの姿勢を含む一連のフレームを含む動画を示す3次元動画データを生成する生成コストを低減することができる3次元動画データ生成装置が提供される。
以下の図面を参照して、実施形態に係る3次元動画データ生成装置、3次元動画データ生成プログラム、及びその方法について説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明との均等物に及ぶ点に留意されたい。
(実施形態に係る3次元動画データ生成装置の概要)
図1は、実施形態に係る3次元動画データ生成装置により実行される3次元動画データ生成処理を概略的に示す図である。
図1は、実施形態に係る3次元動画データ生成装置により実行される3次元動画データ生成処理を概略的に示す図である。
まず、実施形態に係る3次元動画データ生成装置は、人物等の動体が撮像された一連のフレームを含む動画を示す2次元動画データを取得する(S1)。一例では、実施形態に係る3次元動画データ生成装置は、インタネットを介して2次元動画データを取得する。次いで、実施形態に係る3次元動画データ生成装置は、動画データに対応する動画に含まれる動体を検出し、検出した動体の輪郭を抽出する(S2)。次いで、実施形態に係る3次元動画データ生成装置は、抽出した輪郭に対応する1つ又は2つ以上の3次元モデルの姿勢を示す3次元姿勢データを一連のフレームのそれぞれについて生成する(S3)。次いで、実施形態に係る3次元動画データ生成装置は、一連のフレームのそれぞれについて生成された1つ又は2つ以上の3次元姿勢データに対応する3次元モデルの姿勢のそれぞれが適切であるか否かを判定する(S4)。そして、実施形態に係る3次元動画データ生成装置は、一連のフレームのそれぞれに対応付けて、適切であると判定された3次元姿勢データを連続して配置することによって、一連の3次元姿勢データを含む3次元動画データを生成する(S5)。実施形態に係る3次元動画データ生成装置は、生成した3次元姿勢データに対応する3次元モデルの姿勢が適切であるか否かを判定することで、取得した2次元フレームに含まれる動体の輪郭から生成可能な姿勢の中で、適切な姿勢を選択する。実施形態に係る3次元動画データ生成装置は、フレームに含まれる動体の適切な姿勢を選択して、3次元動画データを生成することで、動体の動作を示す3次元動画データを生成する生成コストを抑制する。
(実施形態に係る3次元動画データ生成装置の構成及び機能)
図2は、実施形態に係る3次元動画データ生成装置のブロック図である。
図2は、実施形態に係る3次元動画データ生成装置のブロック図である。
3次元動画データ生成装置1は、通信部10と、記憶部11と、入力部12と、出力部13と、処理部20とを有する。
通信部10は、HTTP(Hypertext Transfer Protocol)のプロトコルに従ってインタネットを介して不図示のサーバ等と通信を行う。そして、通信部10は、サーバ等から受信したデータを処理部20に供給する。また、通信部10は、処理部20から供給されたデータをサーバ等に送信する。
記憶部11は、例えば、半導体装置、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくとも一つを備える。記憶部11は、処理部20での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、記憶部11は、アプリケーションプログラムとして、2次元動画データから3次元動画データを生成する3次元動画データ生成処理を、処理部20に実行させるための3次元動画データ生成プログラム等を記憶する。3次元動画データ生成プログラムは、例えばCD-ROM、DVD-ROM等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶部11にインストールされてもよい。
また、記憶部11は、データとして、入力処理で使用するデータ等を記憶する。さらに、記憶部11は、入力処理等の処理で一時的に使用されるデータを一時的に記憶してもよい。
入力部12は、データの入力が可能であればどのようなデバイスでもよく、例えば、タッチパネル、キーボタン等である。操作者は、入力部12を用いて、文字、数字、記号等を入力することができる。入力部12は、操作者により操作されると、その操作に対応する信号を生成する。そして、生成された信号は、操作者の指示として、処理部20に供給される。
出力部13は、映像やフレーム等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイ又は有機EL(Electro-Luminescence)ディスプレイ等である。出力部13は、処理部20から供給された映像データに応じた映像や、動画データに応じたフレーム等を表示する。また、出力部13は、紙などの表示媒体に、映像、フレーム又は文字等を印刷する出力装置であってもよい。
処理部20は、一又は複数個のプロセッサ及びその周辺回路を有する。処理部20は、3次元動画データ生成装置1の全体的な動作を統括的に制御するものであり、例えば、CPUである。処理部20は、記憶部11に記憶されているプログラム(ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、処理部20は、複数のプログラム(アプリケーションプログラム等)を並列に実行できる。
処理部20は、2次元動画データ取得部21と、輪郭抽出部22と、3次元姿勢データ生成部23と、姿勢判定部24と、3次元動画データ生成部25と、3次元動画データ出力部26とを有する。姿勢判定部24は、関節角推定部31と、関節角判定部32と、第1姿勢決定部33と、フレーム配列部34と、関節位置推定部35と、関節位置判定部36と、第2姿勢決定部37とを有する。これらの各部は、処理部20が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとして3次元動画データ生成装置1に実装されてもよい。
(実施形態に係る3次元動画データ生成装置の動作)
図3は、3次元動画データ生成装置1による3次元動画データ生成処理のフローチャートである。図3に示す3次元動画データ生成処理は、予め記憶部11に記憶されているプログラムに基づいて、主に処理部20により、3次元動画データ生成装置1の各要素と協働して実行される。
図3は、3次元動画データ生成装置1による3次元動画データ生成処理のフローチャートである。図3に示す3次元動画データ生成処理は、予め記憶部11に記憶されているプログラムに基づいて、主に処理部20により、3次元動画データ生成装置1の各要素と協働して実行される。
まず、2次元動画データ取得部21は、人物等の動体が撮像された一連のフレームを含む動画を示す2次元動画データを取得する(S101)。3次元動画データ生成装置1は、既知の検索エンジンを使用してインタネットを介して所望の条件に対応する2次元動画データを取得する。一例では、3次元動画データ生成装置1は、人物を取得する対象の動体としてもよい。3次元動画データ生成装置1は、人間の大人を対象の動体として取得してもよく、人間の子供を対象の動体として取得してもよい。
次いで、輪郭抽出部22は、S101の処理で取得された2次元動画データに対応する2次元動画に撮像された対象の動体を検出し、検出された一連のフレームのそれぞれに含まれる動体の輪郭を抽出する(S102)。輪郭抽出部22は、抽出した動画の輪郭を、対応するフレームの時刻及び動体の向き等の情報と共に記憶部11に記憶する。輪郭抽出部22は、HOG(Histograms of Oriented Gradients)等の既知の人物検出アルゴリズムを使用して、2次元動画データに対応する2次元動画に含まれる一連のフレームの何れかに含まれる対象の動体を検出する。輪郭抽出部22は、一連のフレームの何れかに含まれる対象の動体を検出すると、検出したフレームの前後のフレームに含まれる動体の位置及び輪郭を予測することにより、動体が検出できなかったフレームに含まれる動体を検出する。
図4Aは動画に含まれる時刻t1におけるフレームを示す図であり、図4Bは動画に含まれる時刻t1よりも遅い時刻t2におけるフレームを示す図であり、図4Cは動画に含まれる時刻t2よりも更に遅い時刻t3におけるフレームを示す図である。
フレーム401は、顔を横方向に向けて腕を横方向に広げたバレリーナである動体411を含む。フレーム402は、顔を前方に向けて腕を上方向に掲げ且つ片足を振り上げたバレリーナである動体412を含む。フレーム401は、顔を後方に向けて腕を横方向に広げたバレリーナである動体411を含む。輪郭抽出部22は、動体411を検出できず且つ動体412を検出できたとき、動体412を検出した時刻t2から動体412を含むフレーム401に対応する時刻t1まで、時系列を逆方向に動体の位置及び形状を順次予測して動体411を検出する。また、輪郭抽出部22は、動体412を検出でき且つ動体411を検出できたが、動体413が後方に向いていることを検出できなかったとき、動体412から動体の位置及び形状を時系列方向に順次予測して動体413が後ろに向いていることを検出する。
輪郭抽出部22は、2次元動画に含まれる一連のフレームに撮像された動体の位置及び姿勢を、検出された動画から時系列方向及び時系列の反対方向に順次予測することで、一連のフレームに含まれる対象の動体の動作をフレーム毎に検出できる。また、対象の動体の位置及び姿勢をフレーム毎に検出することで、対象の動体以外の動画に撮像された動体を対象の動体と分離できる。例えば、フレーム401とフレーム402との間の複数のフレームに対象の動体411及び412に対応するバレリーナ以外のバレリーナ等の他の動体が撮像されていた場合でも、対象の動体の位置及び姿勢を順次予測することで対象の動体は他の動体と分離できる。
次いで、3次元姿勢データ生成部23は、S102の処理で抽出された動体の輪郭に対応する1つ又は2つ以上の3次元モデルの姿勢を示す3次元姿勢データを一連のフレームのそれぞれについて生成する(S103)。3次元姿勢データは、対応するフレームの時刻及び動体の向き等の情報と共に記憶部11に記憶される。
図5Aは3次元姿勢データ生成部23が3次元姿勢データを生成するときに使用する3次元モデルの一例を示す図であり、図5Bは図5Aに示す3次元モデルの関節を示すテーブルである。
3次元モデル501は、人物の3次元モデルであり、骨格及び皮膚形状を有する。3次元モデル501にはテーブル502に示される24個の関節を有し、関節の動作に応じて皮膚形状が変形する。3次元モデル501は、人物の外観を有する形状にリグ(Rig)を組み込むことにより形成される。3次元モデル501を示す3次元モデルデータは、一例ではPeter Borosanらによる論文「RigMesh: Automatic Rigging for Part-Based Shape Modeling and Deformation」等で説明されるコンピュータプログラム「Rigmesh」を使用して生成されてもよい。また、3次元モデル501を示す3次元モデルデータは、テンプレートをモーフィング(morphing)することで、生成されてもよい。例えば、細身の8頭身のテンプレートのパーツを膨らませること又は細くすることにより、二次元データから抽出した輪郭に一致するように形状を変更して生成された複数の候補モデルの中で、抽出された輪郭との間の差分が最も少ないものを3次元モデルに採用してもよい。この場合、モーションデータ推定の際のパラメータが一つ増える。また、3次元モデル501を示す3次元モデルデータは、予め記憶した「Rigmesh」で生成したデータとテンプレートのデータの差分を示す差分データに基づいて生成されてもよい。この場合、身体の形状は「Rigmesh」のデータに基づいて評価され、関節の角度はテンプレートのデータに基づいて評価される。
3次元モデル501は、腰関節(HipCenter)511を有する。3次元モデル501は、脊髄関節(Spince)521と、肩中央関節(ShoulderCenter)522と、首関節(Neck)523と、眼関節(Eye)524と、頭関節(Head)525と、左眼関節(EyeLeft)526と、右眼関節(EyeRight)527とを更に有する。3次元モデル501は、左肩関節(ShoulderLeft)531と、左肘関節(ElbowLeft)532と、左手首関節(WristLeft)533とを更に有する。3次元モデル501は、右肩関節(ShoulderRight)541と、右肘関節(ElbowRight)542と、右手首関節(WristRight)543とを更に有する。3次元モデル501は、左腰関節(HipLeft)551と、左膝関節(KneeLeft)552と、左足首関節(AnkleLeft)553と、左踵関節(HeelLeft)554と、左つま先関節(ToeLeft)555とを更に有する。3次元モデル501は、右腰関節(HipRight)561と、右膝関節(KneeRight)562と、右足首関節(AnkleRight)563と、右踵関節(HeelRight)564と、右つま先関節(ToeRight)565とを更に有する。
3次元姿勢データ生成部23は、3次元モデル501の複数の関節のそれぞれの位置及び3次元モデル501の関節で接合された一対の骨の間の角度を調整することで、S102の処理で抽出された動体の輪郭に対応する1つ又は2つ以上の3次元姿勢データを生成する。3次元姿勢データ生成部23は、遺伝的アルゴリズム(Genetic Algorithm、GA)又はディープランニング等の機械学習等の既知の演算アルゴリズムを使用して、S102の処理で抽出された動体の輪郭に対応する1つ又は2つ以上の3次元姿勢データを生成する。例えば、3次元姿勢データ生成部23は、対応するフレームに含まれる動体が撮像された角度から見たときの3次元モデルの輪郭と、対応するフレームに含まれる動体の輪郭との差が所定のしきい値以下になるように、3次元姿勢データを生成する。一例では、3次元姿勢データ生成部23は、3次元モデルの輪郭の面積と、対応するフレームに含まれる動体の輪郭の面積との差が所定のしきい値以下であるか否かを判定する。
次いで、姿勢判定部24は、S103の処理で生成された1つ又は2つ以上の3次元姿勢データに対応する3次元モデルの姿勢のそれぞれが適切であるか否かを判定する(S104)。
次いで、3次元動画データ生成部25は、S104の処理で姿勢が一連のフレームのそれぞれに対応付けて、適切であると判定された3次元姿勢データを連続して配置することによって、一連の3次元姿勢データを含む3次元動画データを生成する(S105)。S104の処理において、一連のフレームのそれぞれに含まれる動体の輪郭に対して、複数の姿勢が適切であると判断されることがある。すなわち、一連のフレームのそれぞれに複数の3次元モデルの姿勢が関連付けられる可能性がある。一例では、3次元動画データ生成部25は、肘の関節の角度の動作が最小になるように、遺伝的アルゴリズム等又はディープランニング等の機械学習等の既知の演算アルゴリズムを使用して、一連のフレームを含む3次元動画を示す3次元動画を示す動画データを生成してもよい。また、3次元動画データ生成部25は、動画データを生成するときに、アルゴリズムに処理された最適解である単一の動画データだけではなく、所定の条件を満たす複数の動画データを生成してもよい。また、3次元動画データ生成部25は、学習アルゴリズムを使用して動画データを生成するときに、報酬(reward)の条件を変更することで動きが異なる種々の動画データを生成することができる。例えば、動きの激しいモーションデータを作成したいときは、人間の動きがありえる範囲で、動きが大きいものを「優秀」とすることで動きの激しい動作を含む3次元動画データを生成することができる。
そして、3次元動画データ出力部26は、S105の処理で生成された3次元動画データを出力する(S106)。
図6は、S104のより詳細な処理を示すフローチャートである。
まず、関節角推定部31は、S103の処理で生成された3次元モデルの姿勢のそれぞれについて、関節で接合された一対の骨の間の角度を推定する(S201)。関節角推定部31は、例えば、3次元モデルの関節の位置を推定し、推定した関節の位置に基づいて関節で接合された一対の骨の間の角度を推定する。関節の位置は、脊髄関節521を原点として、3次元モデルを正面から見たとき、及び3次元モデルを側面から見たときのそれぞれの関節の座標を抽出し、抽出した座標に基づいて、関節で接合された一対の骨の間の角度を推定する。関節角推定部31は、関節で接合された一対の骨の間に位置する間接と、一対の骨のそれぞれの他端に位置する間接との間の直線の間の角度を、関節で接合された一対の骨の間の角度を推定する。
次いで、関節角判定部32は、推定された一対の骨の間の角度が所定の適正範囲内であるか否かを判定する(S202)。関節角判定部32は、例えば、関節を示す識別子、及び関節の位置を示す座標と関連付けられて記憶されたそれぞれの関節の可動可能な角度の範囲を示す適正範囲情報を参照して、一対の骨の間の角度が所定の適正範囲内であるか否かを判定する。適正範囲情報は、テーブル形式で記憶部11に記憶される。可動可能な角度は、XY平面上の角度及びXZ平面上の角度として記憶されてもよい。
次いで、第1姿勢決定部33は、検出された一対の骨の間の角度が何れも適正範囲内であると判定されたときに、3次元モデルの姿勢が適切であることを決定する第1決定処理を実行する(S203)。
次いで、フレーム配列部34は、第1決定処理において、姿勢が適切であると決定された3次元モデルを時系列順に配列する(S204)。フレーム配列部34は、S101の処理で取得された2次元動画データに対応する一連のフレームの順序に基づいて、3次元モデルを時系列順に配列する。
次いで、関節位置推定部35は、S204の処理で時系列順に配列された3次元モデルの関節の位置を推定する(S205)。関節の位置は、例えば、脊髄関節521を原点として、X軸方向を脊髄関節521から正面に水平に延伸する方向とし、Y軸方向を脊髄関節521から右方向に水平に延伸する方向とし、Z方向を脊髄関節521から鉛直方向に延伸する方向として規定されてもよい。
次いで、関節位置判定部36は、それぞれの関節について、現在の3次元モデルの関節と、次の時間の3次元モデルの関節との間の位置関係が適切であるか否かを判定する(S206)。一例では、関節位置判定部36は、現在の関節の位置から次の時間の関節の位置まで関節が移動する移動距離及びフレーム間の時間から演算した関節の移動速度が所定の基準速度範囲内にあるときに、現在の関節と次の時間の関節の位置関係が適切であると判定する。一方、関節位置判定部36は、関節の移動速度が所定の基準速度範囲内の速度よりも速いとき、及び関節の移動速度が所定の基準速度範囲内の速度よりも遅いときに現在の関節と次の時間の関節の位置関係が適切でないと判定する。
関節位置判定部36は、それぞれの関節について基準速度範囲を規定する基準速度範囲情報を参照して、3次元モデルの関節との間の位置関係が適切であるか否かを判定する。基準速度範囲情報は、テーブル形式で記憶部11に記憶される。関節位置判定部36は、それぞれの関節について現在の時間と次の時間の間の移動距離を、S205の処理で推定された位置から演算し、演算した距離と、フレーム間の時間とから関節の移動速度を推定する。関節位置判定部36は、推定した移動速度が基準速度範囲情報に対応する基準速度範囲以内であるか否かに応じて、フレーム間の3次元モデルの関節位置関係が適切であるか否かを判定する。
そして、第2姿勢決定部37は、S206の処理で、関節の間の位置関係が適切であると判定されたときに、3次元モデルの姿勢が適切であることを決定する第2決定処理を実行する(S207)。
図7はS104の処理を説明するための図であり、図7AはS101の処理で取得された動画の第1フレームを示し、図7Aは第1フレームの次の第2フレームを示し、図7Cは第2フレームの次の第3フレームを示す。図7A~7Cにおいて、動体は正面から撮像される。図7Dは第1フレームの動体の姿勢と同一の姿勢である3次元モデルを正面から見たフレームを示し、図7Eは第2フレームの動体の姿勢と同一の姿勢である3次元モデルを正面から見たフレームを示す。図7Fは、第3フレームの動体の姿勢と同一の姿勢である3次元モデルを正面から見たフレームを示す。図7D~7Fに示すフレームを示すデータはS103の処理で生成される。
図8はS104の処理を説明するための図であり、S201~S203の処理を説明するための図である。図8Aは、図7Aに示す3次元モデルの姿勢を横から見た第1姿勢を含むフレームを示す。図8Bは、図7Aに示す3次元モデルの姿勢を横から見た第2姿勢を含むフレームを示す。図8Cは、図7Aに示す3次元モデルの姿勢を横から見た第3姿を含むフレーム勢を示す。
S101~S103の処理では、2次元動画に含まれる2次元のフレームから3次元姿勢データを生成するため、撮像された方向から見た姿勢が同一である複数の3次元姿勢データが生成されることがある。例えば、図7A及び7Dに示す第1フレームでは、図8A~8Cに示す3つの3次元姿勢データが生成される。S101~S103の処理では、関節で接合された一対の骨の間の角度が、人体の関節の可動範囲から外れた角度であるときに3次元モデルの姿勢が適切でないと判定する。
まず、関節角判定部32は、右肩関節541の図8Aに示す位置における可動角度な角度を示す情報を記憶部11に記憶される適正範囲情報から取得する。右肩関節541取得した情報と、関節角推定部31が推定した右肩関節541で接合された一対の骨の間の角度が、図8Aに示す位置における可動角度な角度に含まれているか否かを判定する。関節角判定部32は、右肘関節542及び右手首関節543についても同様に、関節角推定部31が推定した右肩関節541で接合された一対の骨の間の角度が、図8Aに示す位置における可動角度な角度に含まれているか否かを判定する。また、関節角判定部32は、符号が付されていない他の関節についても同様に、関節角推定部31が推定した一対の骨の間の角度が、図8Aに示す位置における可動角度な角度に含まれているか否かを判定する。
図8Aに示すフレームでは、関節角判定部32は、推定された一対の骨の間の角度が、図8Aに示す位置における可動角度な角度に含まれていると判定し、第1姿勢決定部33は、3次元モデルの姿勢が適切であることを決定する第1決定処理を実行する。
図8Bに示すフレームにおいて、関節角判定部32は、図8Aに示すフレームと同様に、フレームに含まれるそれぞれの関節で接合された一対の骨の間の角度が、図8Bに示す位置における可動角度な角度に含まれているか否かを判定する。
図8Bでは、3次元モデルの右腕が略直線的に肩と平行方向に後方に伸びているにもかかわらず、右手の手首の関節に接合された一対の骨の間の角度は、右手の手のひらが外側に向いて且つ右手の指先が頭部方向に向く角度となっている。人間の手首の関節は、図8Bに示される姿勢をとることができないので、S201~S203の処理において、図8Bに示される姿勢は、適切でないと判定される。
図8Cに示すフレームにおいて、関節角判定部32は、図8Aに示すフレームと同様に、フレームに含まれるそれぞれの関節で接合された一対の骨の間の角度が、図8Cに示す位置における可動角度な角度に含まれているか否かを判定する。
図8Cでは、3次元モデルの右肩と右肘との間の骨は右肩から左肩方向に略平行に伸びており、3次元モデルの右肩と右肘との間の骨と右肘と右手首との間の骨との間の角度は60度程度であり、右肘と右手首との間の骨は上方後ろ方向に延伸する。しかしながら、右手の手首の関節に接合された一対の骨の間の角度は、右手の手のひらが外側に向いている。人間の手首の関節は、図8Cに示される姿勢をとることができないので、S201~S203の処理において、図8Cに示される姿勢は、適切でないと判定される。
図9はS104の処理を説明するための図であり、S204~S207の処理を説明するための図(その1)である。図9において、フレーム901は、図7A及び7Dに示す第1フレームの姿勢を横からみた3次元モデルの姿勢を示す。フレーム911は、図7B及び7Eに示す第2フレームの姿勢を横からみた3次元モデルの第1姿勢を示す。フレーム912は、図7B及び7Eに示す第2フレームの姿勢を横からみた3次元モデルの第2姿勢を示す。フレーム913は、図7B及び7Eに示す第2フレームの姿勢を横からみた3次元モデルの第3姿勢を示す。
S204~S207の処理では、現在のフレームと次の時間のフレームの間の3次元モデルの関節の移動速度を演算し、演算された関節の移動速度が基準速度の範囲外であるときに、次の時間のフレームの3次元モデルの姿勢が適切でないと判定される。例えば、右肘関節542は、フレーム901からフレーム911への移動では、基準速度範囲内であると判定される。同様に左肘関節等の3次元モデルの関節の第1フレームから第2フレームへの移動速度は、基準速度範囲内であると判定され、フレーム911に示される姿勢は適切であると判定される。
フレーム901からフレーム912への移動では、3次元モデルの右肘関節542の第1フレームから第2フレームへの移動速度は、遅いため基準速度範囲外であると判定され、フレーム912に示される姿勢は適切でないと判定される。
フレーム901からフレーム913への移動では、右肘関節542及び左肘関節等の3次元モデルの関節の第1フレームから第2フレームへの移動速度は、基準速度範囲内であると判定され、フレーム913に示される姿勢は適切であると判定される。
図10はS104の処理を説明するための図であり、S204~S207の処理を説明するための図(その2)である。図10において、フレーム1011及び1012は、図9の処理で姿勢が適切であると判定された3次元モデルの姿勢を示す。フレーム1021は、図7C及び7Fに示す第3フレームの姿勢を横からみた3次元モデルの第1姿勢を示す。フレーム1022は、図7C及び7Fに示す第3フレームの姿勢を横からみた3次元モデルの第2姿勢を示す。フレーム1023は、図7C及び7Fに示す第3フレームの姿勢を横からみた3次元モデルの第3姿勢を示す。
フレーム1011からフレーム1021~1023のそれぞれへの移動では、右肘関節542及び左肘関節等の3次元モデルの関節の第2フレームから第3フレームへの移動速度は、基準速度範囲内であると判定される。3次元モデルの関節の第2フレームから第3フレームへの移動速度は、基準速度範囲内であると判定されるので、フレーム1021~1023のそれぞれに示される姿勢は適切であると判定される。
フレーム1012からフレーム1021~1023のそれぞれへの移動では、右肘関節542及び左肘関節等の3次元モデルの関節の第2フレームから第3フレームへの移動速度は、基準速度範囲内であると判定される。3次元モデルの関節の第2フレームから第3フレームへの移動速度は、基準速度範囲内であると判定されるので、フレーム1021~1023のそれぞれに示される姿勢は適切であると判定される。
図11はS104の処理を説明するための図であり、図7に示す第1フレーム~第3フレームからS104の処理で適切であると決定された3次元モデルの姿勢を示す図である。
第1フレームはフレーム1101に示す姿勢が適切であるとは判定され、第2フレームはフレーム1111及び1112に示す姿勢が適切であるとは判定され、第3フレームはフレーム1121~1123に示す姿勢が適切であるとは判定される。
S104に続くS105の処理では、6種類(=1×2×3)の組み合わせについて、何れの組み合わせが人間の動作として自然であるかが判定され、3次元動画を示す3次元動画データが生成される。一例では、第1フレームではフレーム1101に示す姿勢が選択され、第2フレームではフレーム1111に示す姿勢が選択され、第3フレームではフレーム1121に示す姿勢が選択される。なお、S105の処理の処理では、単一の3次元動画データのみを生成するのではなく、所定の条件を満たす場合、複数の3次元動画データが作成されてもよい。例えば、フレーム1101、1111及び1121を組み合わせた3次元動画データの他に、フレーム1101、1112及び1121に示す姿勢を組み合わせた3次元動画データが生成されてもよい。
(実施形態に係る3次元動画データ生成装置の作用効果)
3次元動画データ生成装置1は、2次元動画のフレームに含まれる動体の輪郭から生成した3次元モデルの姿勢から適切な姿勢を選択することで、フレームに含まれる動体の姿勢の候補の数を低減することで、3次元動画データを生成する生成コストを抑制する。
3次元動画データ生成装置1は、2次元動画のフレームに含まれる動体の輪郭から生成した3次元モデルの姿勢から適切な姿勢を選択することで、フレームに含まれる動体の姿勢の候補の数を低減することで、3次元動画データを生成する生成コストを抑制する。
また、3次元動画データ生成装置1は、インタネットを介して所望の条件に対応する2次元動画データを取得するので、インタネット上で取得可能な既存の2次元動画から3次元動画データを生成することができる。3次元動画データ生成装置1は、インタネット上で取得可能な既存の2次元動画を利用して3次元動画データを生成するのでインタネット上で取得可能なリソースを有効活用することができる。
また、3次元動画データ生成装置1は、S105の処理において最適解だけではなく、所定の条件を満たす複数の動画データを生成することができるので、生成された複数の動画データに対応する動画に含まれる動体の動きを種々の処理に利用できる。例えば、3次元動画データ生成装置1は、S105の処理で生成した動画データに対応する動画に含まれる人間の肘及び膝等のパーツの動きをパーツごとに記憶、管理してもよい。そして、3次元動画データ生成装置1は、記憶、管理するパーツの動きを組み合わせた動きをする人間を含む画像を示す新たな3次元動画データを自動生成してもよい。3次元動画データ生成装置1は、様々なパターンの動作データを自動で生成できるため、時間及びコスト削減が可能となる。
また、3次元動画データ生成装置1は、記憶、管理するパーツの動きを組み合わせて自動生成した新たな3次元動画データをS105のアルゴリズムにフィードバックすることで、S105のアルゴリズムの学習機能を自動的に向上させることができる。3次元動画データ生成装置1は、自動生成した新たな3次元動画データを使用してS105のアルゴリズムの学習機能を自動的に向上させることで、S105の処理の処理精度及び処理速度を向上させることができる。
3次元動画データ生成装置1は、関節で接合された一対の骨の間の角度が何れも適正範囲内であると判定されたときに、3次元モデルの姿勢が適切であることを決定することで、動体がとることができない姿勢を3次元モデルの姿勢の候補から除外できる。
また、3次元動画データ生成装置1は、現在のフレームの関節と次の時間のフレームの関節の間の位置関係が適切であるか否かを判定することで、不自然な動作を示す姿勢を3次元モデルの姿勢の候補から除外できる。
(実施形態に係る3次元動画データ生成装置の変形例)
3次元動画データ生成装置1は、図5に示す人物の3次元モデルを使用して3次元動画データを生成したが、実施形態に係る3次元動画データ生成装置は、人物以外の複数の関節を有する動体の3次元モデルを使用して3次元動画データを生成してもよい。例えば、実施形態に係る3次元動画データ生成装置は、犬、猫及びハムスターの3次元モデルを使用して3次元動画データを生成してもよい。
3次元動画データ生成装置1は、図5に示す人物の3次元モデルを使用して3次元動画データを生成したが、実施形態に係る3次元動画データ生成装置は、人物以外の複数の関節を有する動体の3次元モデルを使用して3次元動画データを生成してもよい。例えば、実施形態に係る3次元動画データ生成装置は、犬、猫及びハムスターの3次元モデルを使用して3次元動画データを生成してもよい。
図12は、犬の3次元モデルの一例を示す図である。
3次元モデル1301は、骨格及び皮膚形状を有し、関節の動作に応じて皮膚形状が変形する。3次元モデル1301は、コンピュータプログラム「Rigmesh」を使用して、犬の外観を有する形状にリグ(Rig)を組み込むことにより形成される。また、3次元モデル1301を示す3次元モデルデータは、3次元モデル501を示す3次元モデルデータと同様に、テンプレートをモーフィングすることで、生成されてもよい。例えば、ダックスフンドの3次元モデルは、犬を示すテンプレートの足を短くして胴を長くすることで自動生成される。また、3次元モデル501を示す3次元モデルデータは、3次元モデル501を示す3次元モデルデータと同様に、予め記憶した「Rigmesh」で生成したデータとテンプレートのデータの差分を示す差分データに基づいて生成されてもよい。
Claims (6)
- 複数の関節を有する動体を撮像した一連のフレームを含む2次元動画データを取得する2次元動画データ取得部と、
前記一連のフレームのそれぞれから、前記動体の輪郭を抽出する輪郭抽出部と、
前記輪郭に対応した1又は2以上の3次元姿勢データを前記一連のフレームのそれぞれについて生成する3次元姿勢データ生成部と、
生成された3次元姿勢データのそれぞれについて、それぞれの3次元姿勢データに対応する3次元モデルの姿勢が適切であるか否かを判定する姿勢判定部と、
前記一連のフレームのそれぞれに対応付けて、適切であると判定された3次元姿勢データを連続して配置することによって、一連の3次元姿勢データを含む3次元動画データを生成する3次元動画データ生成部と、
前記3次元動画データを出力する出力部と、
を有することを特徴とする3次元動画データ生成装置。 - 前記姿勢判定部は、
前記1つ又は2つ以上の3次元モデルの姿勢のそれぞれについて、前記関節で接合された一対の骨の間の角度を推定する関節角推定部と、
推定された前記一対の骨の間の角度が所定の適正範囲内であるか否かを判定する関節角判定部と、
検出された前記一対の骨の間の角度が何れも前記適正範囲内であると判定されたときに、前記3次元モデルの姿勢が適切であることを決定する第1決定処理を実行する第1姿勢決定部と、
を有する、請求項1に記載の3次元動画データ生成装置。 - 前記姿勢判定部は、
前記第1決定処理において姿勢が適切であると判定された3次元モデルを時系列順に配列するフレーム配列部と、
時系列順に配列された3次元モデルの関節の位置を推定する関節位置推定部と、
それぞれの関節について、現在の3次元モデルの関節と、次の時間の3次元モデルの関節との間の位置関係が適切であるか否かを判定する関節位置判定部と、
前記関節の間の位置関係が適切であると判定されたときに、前記3次元モデルの姿勢が適切であることを決定する第2決定処理を実行する第2姿勢決定部と、
を更に有する、請求項2に記載の3次元動画データ生成装置。 - 前記3次元姿勢データ生成部は、対応するフレームに含まれる前記動体が撮像された角度から見たときの前記3次元モデルの輪郭と、対応するフレームに含まれる前記動体の輪郭との差が所定のしきい値以下になるように、前記3次元モデルの姿勢を生成する、請求項1~3の何れか一項に記載の3次元動画データ生成装置。
- 複数の関節を有する動体を撮像した一連のフレームを含む2次元動画データを取得し、
前記一連のフレームのそれぞれから、前記動体の輪郭を抽出し、
前記輪郭に対応した1又は2以上の3次元姿勢データを前記一連のフレームのそれぞれについて生成し、
生成された3次元姿勢データのそれぞれについて、それぞれの3次元姿勢データに対応する3次元モデルの姿勢が適切であるか否かを判定し、
前記一連のフレームのそれぞれに対応付けて、適切であると判定された3次元姿勢データを連続して配置することによって、一連の3次元姿勢データを含む3次元動画データを生成し、
前記3次元動画データを出力する、
ことを含むことを特徴とする3次元動画データ生成方法。 - 複数の関節を有する動体を撮像した一連のフレームを含む2次元動画データを取得し、
前記一連のフレームのそれぞれから、前記動体の輪郭を抽出し、
前記輪郭に対応した1又は2以上の3次元姿勢データを前記一連のフレームのそれぞれについて生成し、
生成された3次元姿勢データのそれぞれについて、それぞれの3次元姿勢データに対応する3次元モデルの姿勢が適切であるか否かを判定し、
前記一連のフレームのそれぞれに対応付けて、適切であると判定された3次元姿勢データを連続して配置することによって、一連の3次元姿勢データを含む3次元動画データを生成し、
前記3次元動画データを出力する、
ことをコンピュータに実行させること特徴とする3次元動画データ生成プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016071649A JP6635848B2 (ja) | 2016-03-31 | 2016-03-31 | 3次元動画データ生成装置、3次元動画データ生成プログラム、及びその方法 |
JP2016-071649 | 2016-03-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017170761A1 true WO2017170761A1 (ja) | 2017-10-05 |
Family
ID=59964666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/013047 WO2017170761A1 (ja) | 2016-03-31 | 2017-03-29 | 3次元動画データ生成装置、3次元動画データ生成プログラム、及びその方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6635848B2 (ja) |
WO (1) | WO2017170761A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111447504A (zh) * | 2020-03-27 | 2020-07-24 | 北京字节跳动网络技术有限公司 | 三维视频的处理方法、装置、可读存储介质和电子设备 |
CN117978937A (zh) * | 2024-03-28 | 2024-05-03 | 之江实验室 | 一种视频生成的方法、装置、存储介质及电子设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7405010B2 (ja) * | 2020-06-16 | 2023-12-26 | コニカミノルタ株式会社 | 診断支援システム、診断支援装置及びプログラム |
US20230368408A1 (en) | 2020-10-05 | 2023-11-16 | Shimadzu Corporation | Posture Detection Apparatus, Posture Detection Method, and Sleeping Posture Determination Method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013120556A (ja) * | 2011-12-08 | 2013-06-17 | Kddi Corp | 被写体姿勢推定装置および映像描画装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5820366B2 (ja) * | 2010-10-08 | 2015-11-24 | パナソニック株式会社 | 姿勢推定装置及び姿勢推定方法 |
-
2016
- 2016-03-31 JP JP2016071649A patent/JP6635848B2/ja active Active
-
2017
- 2017-03-29 WO PCT/JP2017/013047 patent/WO2017170761A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013120556A (ja) * | 2011-12-08 | 2013-06-17 | Kddi Corp | 被写体姿勢推定装置および映像描画装置 |
Non-Patent Citations (1)
Title |
---|
RYUZO OKADA ET AL.: "Markerless Motion Capture Using Cell Broadband Engine", TOSHIBA REVIEW, vol. 62, no. 6, 2007, pages 48 - 51 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111447504A (zh) * | 2020-03-27 | 2020-07-24 | 北京字节跳动网络技术有限公司 | 三维视频的处理方法、装置、可读存储介质和电子设备 |
US11785195B2 (en) | 2020-03-27 | 2023-10-10 | Beijing Bytedance Network Technology Co., Ltd. | Method and apparatus for processing three-dimensional video, readable storage medium and electronic device |
CN117978937A (zh) * | 2024-03-28 | 2024-05-03 | 之江实验室 | 一种视频生成的方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2017182615A (ja) | 2017-10-05 |
JP6635848B2 (ja) | 2020-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5211069B2 (ja) | ラベル付けを用いた人体姿勢の推定および追跡 | |
US10417775B2 (en) | Method for implementing human skeleton tracking system based on depth data | |
JP5931215B2 (ja) | 姿勢を推定する方法及び装置 | |
US9898651B2 (en) | Upper-body skeleton extraction from depth maps | |
KR101902702B1 (ko) | 치축 추정 프로그램, 치축 추정 장치 및 그 방법, 및 치형 데이터 생성 프로그램, 치형 데이터 생성 장치 및 그 방법 | |
Schwarz et al. | Estimating human 3d pose from time-of-flight images based on geodesic distances and optical flow | |
JP7367764B2 (ja) | 骨格認識方法、骨格認識プログラムおよび情報処理装置 | |
WO2017170761A1 (ja) | 3次元動画データ生成装置、3次元動画データ生成プログラム、及びその方法 | |
CN102609683A (zh) | 一种基于单目视频的人体关节自动标注方法 | |
JP2016099982A (ja) | 行動認識装置、行動学習装置、方法、及びプログラム | |
KR20110113152A (ko) | 마커가 없는 인물의 모션 캡쳐를 제공하는 장치, 방법 및 컴퓨터 기록 매체 | |
JP2018119833A (ja) | 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体 | |
JPWO2018087933A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP7171745B2 (ja) | 推定装置、学習装置、推定方法、学習方法及びプログラム | |
JP2020135747A (ja) | 行動分析装置および行動分析方法 | |
JP2010113530A (ja) | 画像認識装置及びプログラム | |
CN110910426A (zh) | 动作过程和动作趋势识别方法、存储介质和电子装置 | |
JP2007066094A (ja) | 姿勢推定装置および姿勢推定方法 | |
JP2017033556A (ja) | 画像処理方法及び電子機器 | |
JP2002218449A (ja) | 移動物体追跡装置 | |
CN111368853A (zh) | 一种标签的构建方法、系统、装置及存储介质 | |
KR101447958B1 (ko) | 신체 부분 검출 방법 및 장치 | |
JP2000348181A (ja) | 移動物体追跡装置 | |
JP6868875B1 (ja) | 姿勢推定学習システム、姿勢推定学習方法及び機械学習用データの作成プログラム | |
KR101844367B1 (ko) | 부분 포즈 추정에 의하여 개략적인 전체 초기설정을 사용하는 머리 포즈 추정 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17775295 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17775295 Country of ref document: EP Kind code of ref document: A1 |