WO2019229818A1 - 表示方法、表示プログラムおよび情報処理装置 - Google Patents

表示方法、表示プログラムおよび情報処理装置 Download PDF

Info

Publication number
WO2019229818A1
WO2019229818A1 PCT/JP2018/020404 JP2018020404W WO2019229818A1 WO 2019229818 A1 WO2019229818 A1 WO 2019229818A1 JP 2018020404 W JP2018020404 W JP 2018020404W WO 2019229818 A1 WO2019229818 A1 WO 2019229818A1
Authority
WO
WIPO (PCT)
Prior art keywords
joint
player
angular velocity
timing
display
Prior art date
Application number
PCT/JP2018/020404
Other languages
English (en)
French (fr)
Inventor
拓哉 増田
和宏 有馬
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2018/020404 priority Critical patent/WO2019229818A1/ja
Priority to JP2020521667A priority patent/JP7070675B2/ja
Publication of WO2019229818A1 publication Critical patent/WO2019229818A1/ja
Priority to US17/104,410 priority patent/US11837255B2/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0062Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B2071/065Visualisation of specific exercise parameters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B2071/0675Input for modifying training controls during workout
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/05Image processing for measuring physical parameters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/803Motion sensors
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/806Video cameras

Definitions

  • the present invention relates to a display method and the like.
  • checkpoints such as address, top, impact, and finish are set for each video related to golf swing, and in the video to be compared, the checkpoint playback timing matches, The playback speed of each video is adjusted.
  • the above-described conventional technology has a problem in that it is not possible to assist in grasping the body movement and state based on the joint movement of the athlete performing the training.
  • the present invention provides a display method, a display program, and an information processing apparatus that can assist in grasping the movement and state of the body based on the movement of the joint of the athlete performing the training. Objective.
  • the computer executes the following processing.
  • the computer acquires sensing data obtained by sensing the movement of the athlete by the 3D sensor.
  • the computer specifies a predetermined timing for each joint from a change in the degree of bending of each joint of the athlete based on the sensing data.
  • the computer displays a predetermined timing for each joint in a state where it can be grasped in association with a movement model of the athlete based on the sensing data or a slide bar for designating a reproduction timing in a video shot of the athlete.
  • FIG. 1A is a diagram for explaining the reference technique 1.
  • FIG. 1B is a diagram for explaining the reference technique 2.
  • FIG. 2 is a diagram for explaining the processing of the information processing apparatus according to the present embodiment.
  • FIG. 3 is a diagram for explaining the configuration of the system according to the present embodiment.
  • FIG. 4 is a functional block diagram illustrating the configuration of the information processing apparatus according to the present embodiment.
  • FIG. 5 is a diagram illustrating an example of the data structure of the sensing DB according to the present embodiment.
  • FIG. 6 is a diagram illustrating an example of the data structure of the video DB according to the present embodiment.
  • FIG. 7 is a diagram illustrating an example of joint definition data according to the present embodiment.
  • FIG. 1A is a diagram for explaining the reference technique 1.
  • FIG. 1B is a diagram for explaining the reference technique 2.
  • FIG. 2 is a diagram for explaining the processing of the information processing apparatus according to the present embodiment.
  • FIG. 3 is a diagram for explaining the configuration of the system
  • FIG. 8 is a diagram illustrating an example of a data structure of the joint position DB according to the present embodiment.
  • FIG. 9 is a diagram illustrating an example of the data structure of the 3D model DB according to the present embodiment.
  • FIG. 10 is a diagram illustrating an example of a data structure of the angular velocity DB according to the present embodiment.
  • FIG. 11 is a diagram illustrating an example of the data structure of the first intermediate table according to the present embodiment.
  • FIG. 12 is a diagram illustrating an example of the data structure of the second intermediate table according to the present embodiment.
  • FIG. 13 is a diagram illustrating an example of a display screen generated by the display control unit according to the present embodiment.
  • FIG. 14 is a diagram showing another display screen example (1).
  • FIG. 15 is a diagram showing another display screen example (2).
  • FIG. 16 is a diagram showing another display screen example (3).
  • FIG. 17 is a flowchart illustrating the processing procedure of the information processing apparatus according to the present embodiment.
  • FIG. 18 is a diagram illustrating an example of a hardware configuration of a computer that implements the same function as the information processing apparatus.
  • FIG. 1A is a diagram for explaining the reference technique 1. As an example, a description will be given using video data in which a player performs basketball shooting practice.
  • Reference Technique 1 video data obtained by shooting a series of movements of a competitor is analyzed, image frames corresponding to a predetermined check point are identified from the video data, and are displayed in time series.
  • the reference technique 1 sequentially displays the image frames 10a, 10b, 10c, and 10d.
  • “Hold”, “Set”, “Release”, and “Follow Through” are set as check points in the video data of basketball shoots.
  • the image frame 10a is an image frame when the athlete takes the “Hold” posture.
  • the image frame 10b is an image frame when the athlete takes the “Set” posture.
  • the image frame 10c is an image frame when the athlete takes the “Release” posture.
  • the image frame 10d is an image frame when the athlete takes the “Follow Through” posture.
  • the athlete can confirm the image of his / her posture at each check point by referring to the information shown in FIG. 1A.
  • it is only to confirm an image of its own posture, and it is difficult to grasp the movement and state of the body based on the movement of the joint of the athlete performing the training.
  • FIG. 1B is a diagram for explaining the reference technique 2.
  • Reference technology 2 calculates the angular velocity of each joint of the athlete when performing a certain motion, and displays information in which the time at which the angular velocity is maximum for each joint is plotted.
  • the vertical axis in FIG. 1B is an axis indicating time, and the horizontal axis corresponds to each joint.
  • the marker 5a indicates the time when the angular velocity of the athlete “Hip” is maximized.
  • the time at which the angular velocity of the athlete “Knee” is maximized is indicated by the marker 5b.
  • the time at which the angular velocity of the athlete “Ankle” is maximized is indicated by the marker 5c.
  • the time at which the angular velocity of the athlete “Shoulder” is maximized is indicated by the marker 5d.
  • the time at which the angular velocity of the athlete “Elbow” is maximized is indicated by the marker 5e.
  • the time at which the angular velocity of the athlete “Wrist” is maximized is indicated by the marker 5f.
  • Reference Technique 2 it is possible to grasp the time at which the angular velocity is the maximum for each joint, but the correspondence between the video data of the athlete photographed by the camera and the sensing data of the athlete and each time Since the relationship is not managed on the system, the posture of the athlete at a certain time (for example, the time when the angular velocity of Hip becomes maximum) cannot be confirmed from the video data or the sensing data.
  • the information processing apparatus uses a 3D (three dimension) laser sensor to sense a competitor who performs a series of actions, thereby obtaining sensing data, and using the sensing data, Identify joint movements.
  • the information processing apparatus calculates the angular velocity of each joint from the movement of each joint, specifies the timing at which the angular velocity is maximum for each joint, and displays the timing in association with a slide bar for designating the timing.
  • FIG. 2 is a diagram for explaining processing of the information processing apparatus according to the present embodiment.
  • the timing at which the angular velocities of the athletes “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow” are maximized is specified and displayed in association with the slide bar 50.
  • the angular velocity of “Hip” is an angular velocity related to the angle of the competitor's hip joint.
  • the angular velocity of “Knee” is the angular velocity with respect to the knee angle of the competitor.
  • the angular velocity of “Ankle” is the angular velocity related to the bending angle of the competitor's ankle.
  • the “Shoulder” angular velocity is the angular velocity with respect to the angle around the shoulder.
  • the "Elbow” angular velocity is the angular velocity related to the player's elbow bending angle.
  • the angular velocity of “Hip” becomes maximum at time t 1 .
  • the angular velocity of the "Knee” becomes the maximum at time t 2.
  • the angular velocity of “Ankle” is maximized.
  • the angular velocity of the "Shoulder” is the maximum at time t 4.
  • the angular velocity of the "Elbow” is the maximum at time t 5.
  • the information processing apparatus moves the slide 50a of the slide bar 50 in time series, when the slide 50a has reached the time t 1, the display of the marker 11a.
  • the information processing apparatus when the slide 50a has reached the time t 2, the display the marker 11b.
  • the information processing apparatus when the slide 50a has reached Time t 3, to display the marker 11c.
  • the information processing apparatus when the slide 50a has reached Time t 4, to display the marker 11d.
  • the information processing apparatus when the slide 50a has reached Time t 5, to display a marker 11e.
  • the athlete may operate the input device to move the slide 50a of the slide bar 50.
  • the athletes who are good at shooting are linked to each other's movements, and in a series of movements, the hip joints, knee joints, ankles, shoulders, and elbows are extended in this order.
  • the form is an ideal form when the order of the joints having the maximum angular velocity is “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow”.
  • the user can check the order of the joints with the maximum angular velocity in accordance with the movement of the slide 50 a, and the movements of the joints can be linked well. (Whether or not the power is transmitted well). For this reason, since the information processing apparatus according to the present embodiment can assist in grasping the body movement and state of the athlete performing the training, the problems described in the reference techniques 1 and 2 can be improved. .
  • the present embodiment is technically improved by a GUI as shown in FIG. 2 for a system that displays a graph indicating the transition of the movement of the athlete's joint.
  • a GUI as shown in FIG. 2 for a system that displays a graph indicating the transition of the movement of the athlete's joint.
  • the correspondence between the video data and the sensing data and the characteristic points in the movement of each joint is managed, so that when the user designates a characteristic point by the movement of the joint, it corresponds.
  • Timing video data and sensing data can be displayed.
  • the GUI according to the present embodiment can improve the user's operability technically while improving the degree of grasping of the movement and posture by the user.
  • FIG. 3 is a diagram for explaining the configuration of the system according to the present embodiment.
  • this system includes a 3D laser sensor 60 a, a camera 60, and an information processing apparatus 100.
  • the information processing apparatus 100 is connected to the 3D laser sensor 60a and the camera 60b.
  • the 3D laser sensor 60a is a sensor that performs 3D sensing on the competitor 20.
  • the 3D laser sensor 60a outputs sensing data as a sensing result to the information processing apparatus 100.
  • the 3D laser sensor 60a is an example of a sensor that can measure the distance to the player 20.
  • the sensing data includes a plurality of sensing frames, and frame numbers are assigned in ascending order.
  • the camera 60b is a device that captures video data of the competitor 20.
  • the camera 60b outputs the video data to the information processing apparatus 100.
  • the video data includes a plurality of video frames corresponding to the image of the competitor 20, and frame numbers are assigned to each video frame in ascending order. It is assumed that the frame number of the video data and the frame number of the sensing data are synchronized.
  • the information processing apparatus 100 uses the 3D laser sensor 60a to sense the athlete 20 performing a series of operations, thereby obtaining sensing data and using the sensing data to identify the movement of each joint of the athlete. .
  • the information processing apparatus 100 calculates the angular velocity of each joint from the movement of each joint, specifies the timing at which the angular velocity is maximum for each joint, and displays the timing in association with a slide bar for designating the timing.
  • FIG. 4 is a functional block diagram illustrating the configuration of the information processing apparatus according to the present embodiment.
  • the information processing apparatus 100 includes an interface unit 110, a communication unit 120, an input unit 130, a display unit 140, a storage unit 150, and a control unit 160.
  • the interface unit 110 is a device that is connected to the 3D laser sensor 60a and the camera 60b and acquires data from the 3D laser sensor 60a and the camera 60b.
  • the interface unit 110 outputs the acquired data to the control unit 160.
  • the interface unit 110 acquires sensing data from the 3D laser sensor 60a.
  • the interface unit 110 acquires video data from the camera 60b.
  • the communication unit 120 is a device that performs data communication with other devices via a network.
  • the communication unit 120 corresponds to a communication device.
  • the information processing apparatus 100 may be connected to the 3D laser sensor 60a and the camera 60b via a network. In this case, the communication unit 120 acquires data from the 3D laser sensor 60a and the camera 60b via the network.
  • the input unit 130 is an input device for inputting various information to the information processing apparatus 100.
  • the input unit 130 corresponds to a keyboard, a mouse, a touch panel, or the like.
  • the user may operate the input unit 130 to move the slide 50a of the slide bar 50.
  • the display unit 140 is a display device that displays information on a display screen output from the control unit 160.
  • the display unit 140 displays the information described with reference to FIG.
  • the display unit 140 corresponds to a liquid crystal display, a touch panel, or the like.
  • the storage unit 150 includes a sensing DB 150a, an image DB 150b, joint definition data 150c, a joint position DB 150d, a 3D model DB 150e, and an angular velocity DB 150f.
  • the storage unit 150 corresponds to a semiconductor memory device such as a RAM (Random Access Memory), a ROM (Read Only Memory), and a flash memory (Flash Memory), and a storage device such as an HDD (Hard Disk Drive).
  • the sensing DB 150a is a database that stores sensing data acquired from the 3D laser sensor 60a.
  • FIG. 5 is a diagram illustrating an example of the data structure of the sensing DB according to the present embodiment. As shown in FIG. 5, the sensing DB 150a associates a player ID, a frame number, and a sensing frame.
  • the player ID is information that uniquely identifies the player.
  • the frame number is a number that uniquely identifies each sensing frame corresponding to the same player ID.
  • the sensing frame is a sensing frame sensed by the 3D laser sensor 60a. For example, the sensing frame includes distance information between each point on the object (competitor) included in the imaging range of the 3D laser sensor 60a and the 3D laser sensor 60a.
  • the video DB 150 b is a database that stores video data acquired from the camera 60.
  • FIG. 6 is a diagram illustrating an example of the data structure of the video DB according to the present embodiment. As shown in FIG. 6, the player ID, the frame number, and the video frame are associated with each other. The player ID is information that uniquely identifies the player. The frame number is a number that uniquely identifies each video frame corresponding to the same player ID. The video frame is a video frame taken by the camera 60b.
  • the joint definition data 150c defines each joint position of the athlete.
  • FIG. 7 is a diagram illustrating an example of joint definition data according to the present embodiment.
  • the joint definition data 150c stores information obtained by numbering each joint specified by a known skeleton model.
  • No. 7 is assigned to the right shoulder joint (SHOULDER_RIGHT)
  • No. 5 is assigned to the left elbow joint (ELBOW_LEFT)
  • No. 11 is assigned to the left knee joint (KNEE_LEFT).
  • No. 14 is assigned to the right hip joint (HIP_RIGHT).
  • the X coordinate of the eighth right shoulder joint may be described as X8, the Y coordinate as Y8, and the Z coordinate as Z8.
  • the joint position DB 150d is position data of each joint of the athlete 20 generated based on the sensing data of the 3D laser sensor 60a.
  • FIG. 8 is a diagram illustrating an example of a data structure of the joint position DB according to the present embodiment. As shown in FIG. 8, the joint position DB 150d associates the player ID, the frame number, and “X0, Y0, Z0,..., X17, Y17, Z17”.
  • the player ID is information that uniquely identifies the player.
  • the frame number is a number that uniquely identifies each sensing frame corresponding to the same player ID. It is assumed that the frame number corresponding to the player ID “U101” in FIG. 8 and the frame number corresponding to the player ID “U101” in FIG. 5 are synchronized.
  • “X0, Y0, Z0,..., X17, Y17, Z17” are the XYZ coordinates of each joint. For example, “X0, Y0, Z0” is the three-dimensional coordinates of the joint number 0 shown in FIG. is there.
  • the 3D model DB 150e is a database that stores information on the 3D model of the competitor 20 generated based on the sensing data.
  • FIG. 9 is a diagram illustrating an example of the data structure of the 3D model DB according to the present embodiment. As shown in FIG. 9, the 3D model DB 150e associates the player ID, the frame number, the skeleton data, and the 3D model data. The explanation regarding the player ID and the frame number is the same as the explanation given in the sensing DB 150a.
  • the skeleton data is data indicating the skeleton of the player 20 estimated by connecting each joint position.
  • the 3D model data is data of the 3D model of the player 20 estimated based on information obtained from the sensing data and skeleton data.
  • the angular velocity DB 150f is a database that holds information on the angular velocity of each joint.
  • FIG. 10 is a diagram illustrating an example of a data structure of the angular velocity DB according to the present embodiment. As shown in FIG. 10, the angular velocity DB 150f associates the player ID, the frame number, and the angular velocity of each joint.
  • the player ID is information that uniquely identifies the player.
  • the frame number is a number that uniquely identifies the sensing frame. For example, the angular velocities of “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow” are included as the angular velocities of each joint.
  • the angular velocity of“ Hip ” is the angular velocity related to the competitor's hip joint angle.
  • the angle of the hip joint of the athlete is the angle formed by the “Hip” line segment and a preset “Hip” reference line.
  • the “Hip” line segment is a line segment passing through the coordinates (X10, Y10, Z10) and the coordinates (X14, Y14, Z14) in FIG.
  • the angular velocity of“ Knee ” is the angular velocity related to the knee angle of the competitor.
  • the angle at which the competitor's knee bends is the angle formed by the first “Knee” line segment and the second “Knee” line.
  • the first “Knee” line segment is a line segment passing through the coordinates (X14, Y14, Z14) and the coordinates (X15, Y15, Z15) in FIG.
  • the second “Knee” line segment is a line segment passing through the coordinates (X15, Y15, Z15) and the coordinates (X16, Y16, Z16) in FIG.
  • the angular velocity of “Ankle” is the angular velocity related to the bending angle of the competitor's ankle.
  • the bend angle of the athlete's ankle is the angle formed by the “Ankle” line segment and a preset “Ankle” reference line.
  • the “Ankle” line segment is defined as a line segment passing through the coordinates (X16, Y16, Z16) and the coordinates (X17, Y17, Z17) in FIG.
  • the angular velocity of “Shoulder” is the angular velocity related to the angle around the shoulder.
  • the angle around the athlete's shoulder is the angle formed by the “Shoulder” line segment and a preset “Shoulder” reference line.
  • the “Shoulder” line segment is a line segment passing through the coordinates (X4, Y4, Z4) and the coordinates (X7, Y7, Z7) in FIG.
  • the angular velocity of“ Elbow ” is the angular velocity related to the bending angle of the competitor's elbow.
  • the bend angle of the athlete's elbow is the angle formed by the first “Elbow” line segment and the second “Elbow” line.
  • the first “Elbow” line segment is a line segment passing through the coordinates (X7, Y7, Z7) and the coordinates (X8, Y8, Z8) in FIG.
  • the second “Elbow” line segment is a line segment passing through the coordinates (X8, Y8, Z8) and the coordinates (X9, Y9, Z9) in FIG.
  • the control unit 160 includes an acquisition unit 160a, a 3D model generation unit 160b, a reception unit 160c, a specification unit 160d, and a display control unit 160e.
  • the control unit 160 can be realized by a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). Further, the control unit 160 can be realized by hard wired logic such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the acquisition unit 160a acquires sensing data from the 3D laser sensor 60a, and stores the acquired sensing data in the sensing DB 150a.
  • the acquisition unit 160a associates the player ID, the frame number, and the sensing frame when storing the sensing data in the sensing DB 150a.
  • the player ID may be set in the sensing data, or the player 20 may operate the input unit 130 and specify the player ID for the sensing data.
  • the acquisition unit 160a acquires video data from the camera 60b, and stores the acquired video data in the video DB 150b.
  • the acquisition unit 160a associates the player ID, the frame number, and the video frame.
  • the player ID may be set in the video data, or the player 20 may operate the input unit 130 and specify the player ID for the video data.
  • the 3D model generation unit 160b is a processing unit that generates 3D model data corresponding to each frame number of each player ID based on the sensing DB 150a.
  • the 3D model generation unit 160b compares the sensing frame of the sensing DB 150a with the positional relationship of each joint defined in the joint definition data 150c, and identifies the type of each joint included in the sensing frame and the three-dimensional coordinates of the joint. To do.
  • the 3D model generation unit 160b generates the joint position DB 150d by repeatedly executing the above process for each frame number of each player ID.
  • the 3D model generation unit 160b generates skeleton data by connecting the three-dimensional coordinates of each joint stored in the joint position DB 150d based on the connection relationship defined in the joint definition data 150c. Further, the 3D model generation unit 160b generates 3D model data by applying the estimated skeleton data to a skeleton model that matches the physique of the athlete 20. The 3D model generation unit 160b generates the 3D model DB 150e by repeatedly executing the above process for each frame number of each player ID.
  • the reception unit 160c is a processing unit that receives designation of a player ID.
  • the receiving unit 160c outputs the received player ID to the specifying unit 160d.
  • the athlete 20 performs a series of operations and senses the 3D laser sensor 60a, and then operates the input unit 130 to input his / her athlete ID to confirm his / her form.
  • the identification unit 160d is a processing unit that generates an angular velocity DB 150f corresponding to the player ID.
  • an example of processing of the specifying unit 160d will be described.
  • the specifying unit 160d extracts the coordinate information used when calculating the angle of each joint from the coordinate information of each joint corresponding to the player ID, and stores it in the first intermediate table.
  • FIG. 11 is a diagram illustrating an example of the data structure of the first intermediate table according to the present embodiment.
  • the first intermediate table 155a associates frame numbers with coordinates.
  • the frame number is a number that uniquely identifies the sensing frame.
  • the coordinates are coordinate information used when calculating the angle of each joint, and include coordinate information on “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow”.
  • the “Hip” coordinates are used to calculate the “Hip” line segment among the coordinates (X0, Y0, Z0 to X17, Y17, Z17 in FIG. 8) corresponding to the combination of the player ID and the frame number. Coordinates.
  • the coordinates used when calculating the “Hip” line segment are coordinates (X10, Y10, Z10) and coordinates (X14, Y14, Z14).
  • the coordinates of “Knee” are the first “Knee” line segment and the second “Knee” among the coordinates (X0, Y0, Z0 to X17, Y17, Z17 in FIG. 8) corresponding to the combination of the player ID and the frame number. This is the coordinate used when calculating the “Knee” line segment.
  • the coordinates used when calculating the first “Knee” line segment are coordinates (X14, Y14, Z14) and coordinates (X15, Y15, Z15).
  • the coordinates used when calculating the second “Knee” line segment are coordinates (X15, Y15, Z15) and coordinates (X16, Y16, Z16).
  • the coordinates of “Ankle” are used when calculating the “Ankle” line segment among the coordinates (X0, Y0, Z0 to X17, Y17, Z17 in FIG. 8) corresponding to the combination of the player ID and the frame number. Coordinates.
  • the coordinates used when calculating the “Ankle” line segment are coordinates (X16, Y16, Z16) and coordinates (X17, Y17, Z17).
  • the “Shoulder” coordinates are used to calculate the “Shoulder” line segment among the coordinates (X0, Y0, Z0 to X17, Y17, Z17 in FIG. 8) corresponding to the combination of the player ID and the frame number. Coordinates.
  • the coordinates used when calculating the “Shoulder” line segment are coordinates (X4, Y4, Z4) and coordinates (X7, Y7, Z7).
  • the coordinates of “Elbow” are the first “Elbow” line segment and the second “Elbow” of the coordinates (X0, Y0, Z0 to X17, Y17, Z17 in FIG. 8) corresponding to the combination of the player ID and the frame number. This is the coordinate used when calculating the "Elbow” line segment.
  • the coordinates used when calculating the first “Elbow” line segment are coordinates (X7, Y7, Z7) and coordinates (X8, Y8, Z8).
  • the coordinates used when calculating the second “Elbow” line segment are coordinates (X8, Y8, Z8) and coordinates (X9, Y9, Z9).
  • the specifying unit 160d generates the first intermediate table 155a by extracting the coordinate information of “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow” for each frame number from the joint position DB 150d. .
  • the specifying unit 160d generates the second intermediate table 155b based on the first intermediate table 155a.
  • FIG. 12 is a diagram illustrating an example of the data structure of the second intermediate table according to the present embodiment.
  • the second intermediate table 155b associates a frame number with an angle.
  • the frame number is information that uniquely identifies a sensing frame.
  • the angle indicates an angle of each joint, and has angles related to “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow”.
  • the “Hip” angle is an angle formed by a “Hip” line segment and a preset “Hip” reference line.
  • the specifying unit 160d calculates the angle [theta] hn of "Hip” of the frame number n based on the coordinates of "Hip” of the frame number n of the first intermediate table 155a.
  • the “Knee” angle is an angle formed by the first “Knee” line segment and the second “Knee” line.
  • the specifying unit 160d calculates the angle ⁇ kn of “Knee” of the frame number n based on the coordinates of “Knee” of the frame number n of the first intermediate table 155a.
  • the angle of “Ankle” is an angle formed by an “Ankle” line segment and a preset “Ankle” reference line.
  • the specifying unit 160d calculates the angle ⁇ an of “Ankle” of the frame number n based on the coordinates of “Ankle” of the frame number n of the first intermediate table 155a.
  • the “Shoulder” angle is an angle formed by a “Shoulder” line segment and a preset “Shoulder” reference line.
  • the specifying unit 160d calculates the angle ⁇ sn of the “Shoulder” of the frame number n based on the coordinates of the “Shoulder” of the frame number n of the first intermediate table 155a.
  • the “Elbow” angle is an angle formed by the first “Elbow” line segment and the second “Elbow” line.
  • the specifying unit 160d calculates the angle ⁇ en of “Elbow” of the frame number n based on the coordinates of “Elbow” of the frame number n of the first intermediate table 155a.
  • the identifying unit 160d generates the second intermediate table 155b by calculating the angles of “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow” for each frame number.
  • the specifying unit 160d generates the angular velocity DB 150f based on the second intermediate table 155b.
  • the specifying unit 160d generates the angular velocity DB 150f.
  • the angular velocities include the angular velocities of “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow”.
  • the specifying unit 160d calculates the angular velocity of “Hip” of each frame number based on Expression (1).
  • the time interval between frames indicates a time interval before and after a preset frame.
  • ⁇ hn + 1 (angle ⁇ hn + 1 ⁇ angle ⁇ hn ) / frame time interval (1)
  • the specifying unit 160d calculates the angular velocity of “Knee” of each frame number based on Expression (2).
  • ⁇ kn + 1 (angle ⁇ kn + 1 ⁇ angle ⁇ kn ) / frame time interval (2)
  • the specifying unit 160d calculates the angular velocity of “Ankle” of each frame number based on Expression (3).
  • the specifying unit 160d calculates the angular velocity of “Shoulder” of each frame number based on Expression (4).
  • ⁇ sn + 1 (angle ⁇ sn + 1 ⁇ angle ⁇ sn ) / frame time interval (4)
  • the specifying unit 160d calculates the angular velocity of “Elbow” of each frame number based on Expression (5).
  • ⁇ en + 1 (angle ⁇ en + 1 ⁇ angle ⁇ en ) / frame time interval (5)
  • the identification unit 160d identifies the frame number (time) at which the angular velocity is maximum for each joint after generating the angular velocity DB 150f.
  • Specifying unit 160d scans the rows of the angular velocity "Hip” angular velocity DB150f, "Hip” angular velocity omega h to identify the frame number becomes maximum.
  • the specifying unit 160d converts the frame number into time, and specifies the time when the “Hip” angular velocity ⁇ h is maximum. In the following description, the time at which the “Hip” angular velocity ⁇ h is maximized is referred to as “T mh ”.
  • Specifying unit 160d scans the rows of the angular velocity "Knee” of the angular velocity DB150f, "Knee” angular velocity omega k identifies the frame number with the maximum.
  • the specifying unit 160d converts the frame number into time, and specifies the time at which the “Knee” angular velocity ⁇ k is maximum. In the following description, the time at which the “Knee” angular velocity ⁇ k is maximized is denoted as “T mk ” as appropriate.
  • Specifying unit 160d scans the rows of the angular velocity "Ankle" angular velocity DB150f, "Ankle” angular velocity omega a to identify the frame number becomes maximum. Specifying unit 160d converts the frame number at the time, "Ankle” angular velocity ⁇ a to identify the time at which the maximum. In the following description, the time when the “Ankle” angular velocity ⁇ a is maximized will be denoted as “T ma ” as appropriate.
  • the specifying unit 160d scans the column of the angular velocity “Shoulder” in the angular velocity DB 150f, and specifies the frame number that maximizes the “Shoulder” angular velocity ⁇ s .
  • the specifying unit 160d converts the frame number into a time, and specifies the time when the “Shoulder” angular velocity ⁇ s is maximum. In the following description, the time at which the “Shoulder” angular velocity ⁇ s is maximized is denoted as “T ms ” as appropriate.
  • Specifying unit 160d scans the rows of the angular velocity "Elbow” of the angular velocity DB150f, "Elbow” angular velocity omega e to identify the frame number becomes maximum.
  • the specifying unit 160d converts the frame number into time, and specifies the time at which the “Elbow” angular velocity ⁇ e is maximum. In the following description, the time when the “Elbow” angular velocity ⁇ e is maximized will be denoted as “T me ” as appropriate.
  • Specifying unit 160d by performing the above processing, the time T mh every joint, T mk, T ma, T ms, to identify T me, specific information, and outputs to the display control unit 160e.
  • the display control unit 160e generates information on a display screen associated with a slide model for designating a player's motion model based on the sensing data or a playback timing in a video shot of the player, and generates a predetermined value for each joint. It is a processing unit that displays on the display unit 140 in a state where the timing can be grasped.
  • FIG. 13 is a diagram illustrating an example of a display screen generated by the display control unit according to the present embodiment.
  • the display screen 70 has display areas 70a and 70b.
  • the display area 70 a is an area for displaying the timing at which the angular velocity of the competitor 20 “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow” is maximized in association with the slide bar 50.
  • the slide bar 50 indicates time, and the display control unit 160e specifies the time according to the position of the slide 50a on the slide bar 50.
  • the slide 50a is set to be movable, and the display control unit 160e may move the slide 50a in time series, or the user may operate the input unit 130 to move the slide 50a.
  • the display control unit 160e holds information indicating that the “Hip” angular velocity ⁇ h is maximized at the time “T mh ”.
  • the display control unit 160e displays the marker 11a when the position of the slide 50a reaches a time corresponding to the time “T mh ”. By displaying a set of the time “T mh ” and the marker 11 a, it becomes possible to grasp that the “Hip” angular velocity is maximized at the time “T mh ”.
  • the display control unit 160e holds information indicating that the “Knee” angular velocity ⁇ k is maximized at the time “T mk ”.
  • the display control unit 160e displays the marker 11b when the position of the slide 50a reaches a time corresponding to the time “T mk ”. By displaying a set of the time “T mk ” and the marker 11 b, it becomes possible to grasp that the “Knee” angular velocity is maximized at the time “T mk ”.
  • the display control unit 160e holds information indicating that the “Ankle” angular velocity ⁇ a is maximized at the time “T ma ”.
  • the display control unit 160e displays the marker 11c when the position of the slide 50a reaches a time corresponding to the time “T ma ”. By displaying a set of the time “T ma ” and the marker 11 c, it becomes possible to grasp that the “Ankle” angular velocity is maximized at the time “T ma ”.
  • the display control unit 160e holds information indicating that the “Shoulder” angular velocity ⁇ s is maximized at the time “T ms ”.
  • the display control unit 160e displays the marker 11d when the position of the slide 50a reaches a time corresponding to the time “T ms ”. By displaying a set of the time “T ms ” and the marker 11 d, it becomes possible to grasp that the “Shoulder” angular velocity is maximized at the time “T ms ”.
  • the display control unit 160e holds information indicating that the “Elbow” angular velocity ⁇ e is maximized at the time “T ms ”.
  • the display control unit 160e displays the marker 11e when the position of the slide 50a reaches a time corresponding to the time “T me ”. By displaying a set of the time “T me ” and the marker 11 e, it becomes possible to grasp that the “Elbow” angular velocity is maximum at the time “T me ”.
  • the display control unit 160e sets the timing at which the angular velocity of the competitor 20's “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow” is maximized in accordance with the movement of the slide 50a. indicate. Thereby, since the order of the joints with the maximum angular velocity can be confirmed, it is possible to confirm whether the movements of the joints are well linked (whether the force is transmitted well). In the example shown in FIG. 13, the force is transmitted in the order of “Hip”, “Knee”, “Ankle”, “Shoulder”, “Elbow”, and it can be seen that this is an ideal form.
  • the display area 70b is an area for displaying the 3D model of the competitor 20.
  • the display control unit 160e specifies a time corresponding to the position of the slide 50a, acquires 3D model data corresponding to the specified time from the 3D model DB 150e, and causes the display area 70b to display the data. Thereby, the movement of the athlete 20's body in accordance with the movement of the slide 50a can be confirmed by the 3D model.
  • the information processing apparatus can accept, from the user, an operation for fitting the slide 50 a to the marker 11 e that is the timing at which the elbow joint has moved the most, for example. it can. Furthermore, the information processing apparatus can display a 3D model corresponding to the timing at which the elbow joint moves most in the display area 70b. Therefore, it is possible to confirm the posture of the athlete at that timing and the transition (movement) of the posture from the timing at which the elbow joint has moved the most.
  • the information processing apparatus can accept, from the user, for example, an operation for fitting the slide 50a slightly before the marker 11e, which is the timing at which the elbow joint has moved most greatly. Furthermore, the information processing apparatus can display the 3D model corresponding to the elbow joint a little before the most moved timing in the display area 70b. Therefore, it is possible to confirm the posture of the athlete a little before the timing when the elbow joint moves the most, and the transition (movement) of the posture from a little before the timing when the elbow joint moves the most.
  • the display screen shown in FIG. 13 is an example, and the display control unit 160e may generate another display screen and display it on the display unit 140.
  • the display control unit 160e may generate another display screen and display it on the display unit 140.
  • other display screen examples (1) to (3) generated by the display control unit 160e will be described.
  • the display control unit 160e displays the timing at which the angular velocities of “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow” are maximized in association with the slide bar 50 for a plurality of players. Also good.
  • FIG. 14 is a diagram showing another display screen example (1).
  • the display screen 71 has display areas 71a, 71b, 71c, 71d.
  • the display area 71a is an area for displaying the timing at which the angular velocities of “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow” of a plurality of competitors are maximized in association with the slide bar 50. .
  • the user operates the input unit 130 to input and specify player IDs corresponding to the first player and the second player to the information processing apparatus 100.
  • the specifying unit 160d specifies the time at which the angular velocity of each joint of the first player is maximized and the time at which the angular velocity of each joint of the second player is maximized, and the display control unit 160e.
  • the slide bar 50 is set so that the slide 50a can be moved.
  • the display control unit 160e may move the slide 50a in time series, or the user may operate the input unit 130 to move the slide 50a.
  • the user may operate the input unit 130 (drag operation) to move the slide 50a, or instruct the time series movement, skip movement, frame advance, pause, etc. regarding the movement of the slide 50a.
  • the movement of the slide 50a may be controlled.
  • the display control unit 160e holds information indicating that the “Hip” angular velocity of the first player is maximized at time “T mh1 ” (not shown).
  • the display control unit 160e displays the marker 11a when the position of the slide 50a reaches the time corresponding to the time “T mh1 ”.
  • By displaying a set of the time “T mh1 ” and the marker 11 a it is possible to grasp that the “Hip” angular velocity of the first player is maximized at the time “T mh1 ”.
  • the display control unit 160e holds information indicating that the “Hip” angular velocity of the second player is maximized at time “T mh2 ” (not shown).
  • the display control unit 160e displays the marker 12a when the position of the slide 50a reaches the time corresponding to the time “T mh2 ”.
  • By displaying the set of the time “T mh2 ” and the marker 12 a it becomes possible to grasp that the “Hip” angular velocity of the second player is maximized at the time “T mh2 ”.
  • the display control unit 160e holds information indicating that the “Knee” angular velocity of the first player is maximized at time “T mk1 ” (not shown).
  • the display control unit 160e displays the marker 11b when the position of the slide 50a reaches the time corresponding to the time “T mk1 ”. By displaying a set of the time “T mk1 ” and the marker 11b, it becomes possible to grasp that the “Knee” angular velocity of the first player is maximized at the time “T mk1 ”.
  • the display control unit 160e holds information indicating that the “Knee” angular velocity of the second player is maximized at time “T mk2 ” (not shown).
  • the display control unit 160e displays the marker 12b when the position of the slide 50a reaches the time corresponding to the time “T mk2 ”.
  • the display control unit 160e holds information indicating that the “Ankle” angular velocity of the first player is maximized at time “T ma1 ” (not shown).
  • the display control unit 160e displays the marker 11c when the position of the slide 50a reaches the time corresponding to the time “T ma1 ”. By displaying a set of the time “T ma1 ” and the marker 11 c, it becomes possible to grasp that the “Ankle” angular velocity of the first player is maximized at the time “T ma1 ”.
  • the display control unit 160e holds information indicating that the second player's “Ankle” angular velocity is maximum at time “T ma2 ” (not shown).
  • the display control unit 160e displays the marker 12c when the position of the slide 50a reaches a time corresponding to the time “T ma2 ”. By displaying a set of the time “T ma2 ” and the marker 12 c, it becomes possible to grasp that the “Ankle” angular velocity of the second player is maximized at the time “T ma2 ”.
  • the display control unit 160e holds information indicating that the first player's “Shoulder” angular velocity is maximized at time “T ms1 ” (not shown).
  • the display control unit 160e displays the marker 11d when the position of the slide 50a reaches the time corresponding to the time “T ms1 ”. By displaying a set of the time “T ms1 ” and the marker 11 d, it becomes possible to grasp that the “Shoulder” angular velocity of the first player is maximized at the time “T ms1 ”.
  • the display control unit 160e holds information indicating that the second player's “Shoulder” angular velocity is maximum at time “T ms2 ” (not shown).
  • the display control unit 160e displays the marker 12d when the position of the slide 50a reaches a time corresponding to the time “T ms2 ”.
  • By displaying a set of the time “T ms2 ” and the marker 12 d it becomes possible to grasp that the “Shoulder” angular velocity of the second player is maximized at the time “T ms2 ”.
  • the display control unit 160e holds information indicating that the first player's “Elbow” angular velocity is maximized at time “T ms1 ” (not shown).
  • the display control unit 160e displays the marker 11e when the position of the slide 50a reaches a time corresponding to the time “T me1 ”. By displaying a set of the time “T me1 ” and the marker 11 e, it becomes possible to grasp that the “Elbow” angular velocity of the first player is maximized at the time “T me1 ”.
  • the display control unit 160e holds information indicating that the second player's “Elbow” angular velocity is maximum at time “T ms2 ” (not shown).
  • the display control unit 160e displays the marker 12e when the position of the slide 50a reaches a time corresponding to the time “T me2 ”. By displaying the set of the time “T me2 ” and the marker 12 e, it becomes possible to grasp that the “Elbow” angular velocity of the second player is maximized at the time “T me2 ”.
  • the display control unit 160e determines the timing at which the angular velocity of each competitor's “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow” is maximized in accordance with the movement of the slide 50a. indicate. Thereby, it is possible to compare and confirm the order of the joints having the maximum angular velocity for each athlete.
  • the display area 71b is an area for displaying the 3D model of the first player.
  • the display control unit 160e specifies the time corresponding to the position of the slide 50a, acquires the 3D model data of the first player corresponding to the specified time from the 3D model DB 150e, and causes the display area 71b to display the data. Thereby, the movement of the body of a 1st player matched with the movement of the slide 50a can also be confirmed with a 3D model.
  • the display area 71c is an area for displaying the 3D model of the second player.
  • the display control unit 160e specifies the time corresponding to the position of the slide 50a, acquires the 3D model data of the second player corresponding to the specified time from the 3D model DB 150e, and causes the display area 71c to display the data. Thereby, the movement of the body of a 2nd player matched with the movement of the slide 50a can also be confirmed with a 3D model.
  • the display area 71d is an area for displaying candidate candidates to be selected as the first player and the second player.
  • the user operates the input unit 130 to select the first player and the second player from the plurality of players displayed in the display area 71d.
  • the display control unit 160 e when the display control unit 160 e receives designation of a predetermined joint angle, the display control unit 160 e displays time-series changes in the designated joint angle in the display areas 71 b and 71 c. May be. Moreover, although the display areas 71b and 71c shown in FIG. 14 show the 3D model when each player is viewed from the side, the display areas are not limited to this. The user can also operate the input unit 130 to change the viewpoint and check each competitor's form from another viewpoint. The display control unit 160e may further display the projection angle when the player throws the ball.
  • FIG. 15 is a diagram showing another display screen example (2). As shown in FIG. 15, the display screen 72 has display areas 72a and 72b.
  • the display area 72a is an area for displaying the slide bar 50.
  • the slide 50a is set to be movable.
  • the slide bar 50 indicates time, and the display control unit 160e specifies the time based on the position of the slide 50a on the slide bar 50.
  • the slide 50a is set to be movable, and the display control unit 160e may move the slide 50a in time series, or the user may operate the input unit 130 to move the slide 50a.
  • the display area 72b is an area for displaying a movement trajectory related to a predetermined joint of the player (for example, the player 20) in a 3D model.
  • a movement trajectory related to a predetermined joint of the player for example, the player 20
  • the display control unit 160e may display the 3D model of the entire body of the athlete 20 in accordance with the display area 72b.
  • the display control unit 160e refers to the joint position DB 150d and acquires information that associates the three-dimensional coordinates of the joint position of the right wrist with the time.
  • the display control unit 160e displays each joint position of the right wrist corresponding to each time in the area 72c. For example, the display control unit 160e displays each joint position to be displayed in the region 72c with a sphere.
  • the display control unit 160e When the position of the slide 50a is arranged at the start position 50b, the display control unit 160e displays a sphere corresponding to each joint position in a translucent manner. When the position of the slide 50a moves, the display control unit 160e specifies the time corresponding to the moved position of the slide 50a, and the spheres at the respective joint positions associated with the time before the specified time are “half”. A process of changing from “transparent” to “black” is performed.
  • the time corresponding to the moved slide 50a is set as time TA.
  • the spheres at the respective joint positions associated with the time before time TA are defined as the respective spheres 72d shown in FIG.
  • the display control unit 160e performs a process of changing each sphere 72d from “translucent” to “black”.
  • the display control unit 160e further displays a reference line 72e indicating the ideal right wrist position in the display area 72b, and the difference between the reference line 72e and the right wrist position corresponding to the time specified by the slide 50a. May be calculated and displayed.
  • the display screen 72 shown in FIG. 15 is a display screen when the player 20 is viewed from the front.
  • the user can also operate the input unit 130 to change the viewpoint and check the form of the player 20 from another viewpoint.
  • the display control unit 160e pastes the video of the video frame stored in the video DB 150b on the 3D model of the player shown in the display area 70b of FIG. 13, the display areas 71b and 71c of FIG. 14, and the display area 72b of FIG. You may attach and display.
  • FIG. 16 is a diagram showing another display screen example (3). As shown in FIG. 16, this display screen 73 has display areas 73a and 73b.
  • the display area 73 a is an area for displaying the timing at which the angular velocity of “Hip”, “Knee”, “Ankle”, “Shoulder”, and “Elbow” of the competitor 20 is maximized in association with the slide bar 50.
  • the other description regarding the display area 73a is the same as the description regarding the display area 70a described with reference to FIG.
  • the display area 73b is an area for displaying a 3D model of the athlete 20 with the video of the athlete 20 attached thereto.
  • the display control unit 160e specifies a time corresponding to the position of the slide 50a, acquires 3D model data corresponding to the specified time from the 3D model DB 150e, and causes the display area 70b to display the data.
  • the display control part 160e acquires the image data of each part of the player 20 from the video DB 150b, attaches it to the 3D model data, and displays it. Thereby, the movement of the body of the player 20 in accordance with the movement of the slide 50a can be confirmed with a more realistic 3D model.
  • the display control unit 160e may display the video frame stored in the video DB 150b in another display area of the display screen 73.
  • the display control unit 160e specifies a time corresponding to the position of the slide 50a, acquires a video frame corresponding to the specified time from the video DB 150b, and displays the video frame in the display area.
  • FIG. 17 is a flowchart illustrating the processing procedure of the information processing apparatus according to the present embodiment.
  • the reception unit 160 c of the information processing apparatus 100 receives selection of a player ID (Step S ⁇ b> 101).
  • the identifying unit 160d of the information processing apparatus 100 calculates an angular velocity corresponding to the selected player ID, and generates an angular velocity DB 150f (step S102).
  • the identification unit 160d identifies the timing at which the angular velocity is maximized for each joint of the player ID based on the angular velocity (step S103).
  • the display control unit 160e of the information processing apparatus 100 generates a display screen in which the slide bar is associated with the timing at which the angular velocity of each joint is maximized (step S104). A display screen is displayed, and markers are displayed according to the slide position of the slide bar (step S105).
  • the information processing apparatus 100 acquires sensing data by sensing a player who performs a series of operations using the 3D laser sensor 60a, and specifies the movement of each joint of the player using the sensing data.
  • the information processing apparatus 100 calculates the angular velocity of each joint from the movement of each joint, specifies the timing at which the angular velocity is maximum for each joint, and displays the timing in association with a slide bar for designating the timing.
  • the information processing apparatus 100 can assist in grasping the movement and state of the athlete performing the training, and can improve the problems described in the reference technique 1 and the like of FIG. 1A. it can.
  • the information processing apparatus 100 As described with reference to FIG. 13 and the like, not only the timing at which each angular velocity is maximized, but also the posture of the player according to the 3D model of the player is displayed in association with the slide bar. For this reason, it is possible not only to check whether or not the movements of the joints are well coordinated, but also to check the player's form corresponding to the characteristic points by the movements of the joints.
  • the information processing apparatus 100 displays a timing that becomes a point of movement of each joint of the first player and a timing that becomes a point of movement of each joint of the second player in association with the slide bar. To do. For this reason, it can be compared between different athletes whether or not the movements of the joints are well coordinated.
  • the player 20 performs a series of operations related to basketball, and the information processing apparatus 100 identifies the timing at which the angular velocity is maximum for each joint and associates it with the slide bar.
  • the present invention is not limited to this.
  • the athlete 20 may perform a series of operations related to other competitions, and the information processing apparatus 100 may specify the timing at which the angular velocity is maximized for each joint and display the timing in association with the slide bar.
  • the information processing apparatus 100 calculates the angular velocity of each joint from the movement of each joint, specifies the timing at which the angular velocity is maximum for each joint, and corresponds to a slide bar for designating the timing.
  • the present invention is not limited to this.
  • the information processing apparatus 100 may calculate angular acceleration instead of angular velocity, specify the timing at which the angular acceleration is maximum, and display the information in association with a slide bar for specifying the timing.
  • the information processing apparatus 100 may specify the timing at which the angle is maximized and display the timing in association with a slide bar for designating the timing.
  • FIG. 18 is a diagram illustrating an example of a hardware configuration of a computer that implements the same function as the information processing apparatus.
  • the computer 200 includes a CPU 201 that executes various arithmetic processes, an input device 202 that receives input of data from a user, and a display 203.
  • the computer 200 also includes a reading device 204 that reads a program and the like from a storage medium, and an interface device 205 that exchanges data with a 3D laser sensor, a camera, and the like via a wired or wireless network.
  • the computer 200 includes a RAM 206 that temporarily stores various information and a hard disk device 207.
  • the devices 201 to 207 are connected to the bus 208.
  • the hard disk device 207 includes an acquisition program 207a, a 3D model generation program 207b, a reception program 207c, a specific program 207d, and a display control program 207e.
  • the CPU 201 reads out the acquisition program 207 a, the 3D model generation program 207 b, the reception program 207 c, the specific program 207 d, and the display control program 207 e and develops them in the RAM 206.
  • the acquisition program 207a functions as the acquisition process 206a.
  • the 3D model generation program 207b functions as a 3D model generation process 206b.
  • the reception program 207c functions as a reception process 206c.
  • the specific program 207d functions as a specific process 206d.
  • the display control program 207e functions as a display control process 206e.
  • the processing of the acquisition process 206a corresponds to the processing of the acquisition unit 160a.
  • the processing of the 3D model generation process 206b corresponds to the processing of the 3D model generation unit 160b.
  • the process of the reception process 206c corresponds to the process of the reception unit 160c.
  • the process of the identification process 206d corresponds to the process of the identification unit 160d.
  • the processing of the display control process 206e corresponds to the processing of the display control unit 160e.
  • each program is stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, and an IC card inserted into the computer 200. Then, the computer 200 may read and execute each of the programs 207a to 207c.
  • a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, and an IC card inserted into the computer 200.
  • the computer 200 may read and execute each of the programs 207a to 207c.
  • 60a 3D laser sensor 60b camera 100 information processing apparatus 110 interface unit 120 communication unit 130 input unit 140 display unit 150 storage unit 150a sensing DB 150b Video DB 150c Joint definition data 150d Joint position DB 150e 3D model DB 150f Angular velocity DB 160 control unit 160a acquisition unit 160b 3D model generation unit 160c reception unit 160d identification unit 160e display control unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

情報処理装置(100)は、3Dセンサによって競技者の動きをセンシングしたセンシングデータを取得する。コンピュータは、センシングデータに基づく競技者の各関節の曲がり具合の変化から、関節ごとの所定のタイミングを特定する。情報処理装置(100)は、センシングデータに基づく競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けて、関節ごとの所定のタイミングを把握可能な状態で表示する。

Description

表示方法、表示プログラムおよび情報処理装置
 本発明は、表示方法等に関する。
 各種の競技において、競技者が一連の動作を行う際のフォームは重要な役割を担っている。このため、競技者は自身のフォームを理想的なフォームに近づけるようなトレーニングを行っている。たとえば、競技者は、自身がトレーニングを行っている様子をカメラで撮影し、撮影した動画を確認することで、自身のフォームの改善に役立てている。
 従来技術には、複数の動画を比較しやすくするための技術が開示されている。この従来技術では、たとえば、ゴルフのスイングに関する各動画に、アドレス、トップ、インパクト、フィニッシュなどのチェックポイントを設定しておき、比較対象となる動画において、チェックポイントの再生タイミングが一致するように、各動画の再生速度を調整している。
特開2017-38407号公報
 しかしながら、上述した従来技術では、トレーニングを行う競技者の関節の動きに基づき、体の動きおよび状態を把握することを支援することができないという問題がある。
 1つの側面では、本発明は、トレーニングを行う競技者の関節の動きに基づき、体の動きおよび状態を把握することを支援することができる表示方法、表示プログラムおよび情報処理装置を提供することを目的とする。
 第1の案では、コンピュータが次の処理を実行する。コンピュータは、3Dセンサによって競技者の動きをセンシングしたセンシングデータを取得する。コンピュータは、センシングデータに基づく競技者の各関節の曲がり具合の変化から、関節ごとの所定のタイミングを特定する。コンピュータは、センシングデータに基づく競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けて、関節ごとの所定のタイミングを把握可能な状態で表示する。
 競技者のトレーニングにおいて、体の動きおよび状態を把握することを支援することができる。
図1Aは、参考技術1を説明するための図である。 図1Bは、参考技術2を説明するための図である。 図2は、本実施例に係る情報処理装置の処理を説明するための図である。 図3は、本実施例に係るシステムの構成を説明するための図である。 図4は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。 図5は、本実施例に係るセンシングDBのデータ構造の一例を示す図である。 図6は、本実施例に係る映像DBのデータ構造の一例を示す図である。 図7は、本実施例に係る関節定義データの一例を示す図である。 図8は、本実施例に係る関節位置DBのデータ構造の一例を示す図である。 図9は、本実施例に係る3DモデルDBのデータ構造の一例を示す図である。 図10は、本実施例に係る角速度DBのデータ構造の一例を示す図である。 図11は、本実施例に係る第1中間テーブルのデータ構造の一例を示す図である。 図12は、本実施例に係る第2中間テーブルのデータ構造の一例を示す図である。 図13は、本実施例に係る表示制御部が生成する表示画面の一例を示す図である。 図14は、その他の表示画面例(1)を示す図である。 図15は、その他の表示画面例(2)を示す図である。 図16は、その他の表示画面例(3)を示す図である。 図17は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。 図18は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
 以下に、本発明にかかる表示方法、表示プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
 本実施例の説明を行う前に参考技術1および参考技術2について説明する。この参考技術1、2は従来技術ではない。図1Aは、参考技術1を説明するための図である。一例として、競技者がバスケットボールのシュート練習を行う映像データを用いて説明を行う。
 たとえば、参考技術1では、競技者の一連の動作を撮影した映像データを解析して、映像データから、所定のチェックポイントに対応する画像フレームを特定し、時系列に表示する。図1Aに示す例では、参考技術1は、画像フレーム10a,10b,10c,10dを順に表示する。なお、図1Aの例では、バスケットボールのシュートの映像データにおいて、「Hold」、「Set」、「Release」、「Follow Through」がチェックポイントとして、設定されている。
 画像フレーム10aは、競技者が「Hold」の姿勢を取った際の画像フレームである。画像フレーム10bは、競技者が「Set」の姿勢を取った際の画像フレームである。画像フレーム10cは、競技者が「Release」の姿勢を取った際の画像フレームである。画像フレーム10dは、競技者が「Follow Through」の姿勢を取った際の画像フレームである。
 競技者は、図1Aに示した情報を参照することで、各チェックポイントにおける自身の姿勢の画像を確認することができる。しかしながら、かかる参考技術では、あくまで、自身の姿勢の画像を確認することのみであり、トレーニングを行う競技者の関節の動きに基づき、体の動きおよび状態を把握することは難しい。
 図1Bは、参考技術2を説明するための図である。参考技術2は、ある動作を行った時の競技者の各関節の角速度を算出し、関節毎に角速度が最大となる時刻をプロットした情報を表示するものである。図1Bの縦軸は時刻を示す軸であり、横軸は、各関節に対応している。たとえば、競技者の「Hip」の角速度が最大となる時刻がマーカ5aで示される。競技者の「Knee」の角速度が最大となる時刻がマーカ5bで示される。競技者の「Ankle」の角速度が最大となる時刻がマーカ5cで示される。競技者の「Shoulder」の角速度が最大となる時刻がマーカ5dで示される。競技者の「Elbow」の角速度が最大となる時刻がマーカ5eで示される。競技者の「Wrist」の角速度が最大となる時刻がマーカ5fで示される。
 たとえば、参考技術2では、各関節について、角速度が最大となる時刻を把握することは可能であるが、カメラで撮影された競技者の映像データや競技者のセンシングデータと、各時刻との対応関係がシステム上で管理されていないため、ある時刻(たとえばHipの角速度が最大となった時刻)における、競技者の姿勢を、映像データやセンシングデータから確認することができない。
 続いて、本実施例に係る情報処理装置の処理の一例について説明する。本実施例に係る情報処理装置は、3D(three dimension)レーザセンサを用いて、一連の動作を行う競技者をセンシングすることで、センシングデータを取得し、センシングデータを用いて、競技者の各関節の動きを特定する。情報処理装置は、各関節の動きから各関節の角速度を算出し、関節毎に、角速度が最大となるタイミングを特定し、タイミングを指定するためのスライドバーと対応付けて表示する。
 図2は、本実施例に係る情報処理装置の処理を説明するための図である。本実施例では一例として、競技者の「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを特定し、スライドバー50と対応付けて表示する。たとえば、「Hip」の角速度は、競技者の股関節の角度に関する角速度である。「Knee」の角速度は、競技者の膝の曲がり角度に関する角速度である。「Ankle」の角速度は、競技者の足首の曲げ角度に関する角速度である。「Shoulder」の角速度は、肩周りの角度に関する角速度である。「Elbow」の角速度は、競技者の肘の曲げ角度に関する角速度である。
 図2に示す例では、時刻tにおいて「Hip」の角速度が最大となる。時刻tにおいて「Knee」の角速度が最大となる。時刻tにおいて「Ankle」の角速度が最大となる。時刻tにおいて「Shoulder」の角速度が最大となる。時刻tにおいて「Elbow」の角速度が最大となる。
 情報処理装置は、スライドバー50のスライド50aを時系列に移動させ、スライド50aが時刻tに到達した時点で、マーカ11aを表示させる。情報処理装置は、スライド50aが時刻tに到達した時点で、マーカ11bを表示させる。情報処理装置は、スライド50aが時刻tに到達した時点で、マーカ11cを表示させる。情報処理装置は、スライド50aが時刻tに到達した時点で、マーカ11dを表示させる。情報処理装置は、スライド50aが時刻tに到達した時点で、マーカ11eを表示させる。なお、競技者が、入力装置を操作して、スライドバー50のスライド50aを移動させてもよい。
 ここで、シュートが上手な競技者は、各関節の動きが連動しており、一連の動きで、股関節、膝関節、足首、肩、肘の順に伸びていく。たとえば、角速度が最大となる各関節の順番が、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」となる場合に、フォームが理想的なフォームであるといえる。
 図2に示した情報をユーザ(競技者)が参照することで、角速度が最大となる各関節の順番を、スライド50aの動きに合わせて確認することができ、各関節の動きがうまく連動できているか否か(力がうまく伝わっているか否か)を確認することができる。このため、本実施例に係る情報処理装置では、トレーニングを行う競技者の体の動きおよび状態を把握することを支援できるので、参考技術1、2等で説明した問題点を改善することができる。
 つまり、図1Bのように、競技者の関節の動きの推移を示すグラフで表示するシステムを、本実施形態は、図2のようなGUIにより、技術的に改良している。なぜなら、本実施例では、映像データやセンシングデータと、各関節の動きにおける特徴的なポイントとの対応関係を管理することで、ユーザが、関節の動きで特徴的なポイントを指定すると、対応するタイミングの映像データやセンシングデータを表示することが可能となる。本実施例にかかるGUIは、ユーザによる動きや姿勢の把握の度合を向上させるとともに、ユーザの操作性を技術的に向上させることができる。
 次に、本実施例に係るシステムの構成の一例について説明する。図3は、本実施例に係るシステムの構成を説明するための図である。図3に示すように、このシステムは、3Dレーザセンサ60aと、カメラ60と、情報処理装置100とを有する。情報処理装置100は、3Dレーザセンサ60a、カメラ60bに接続される。
 3Dレーザセンサ60aは、競技者20に対して3Dセンシングを行うセンサである。3Dレーザセンサ60aは、センシング結果となるセンシングデータを、情報処理装置100に出力する。なお、3Dレーザセンサ60aは、競技者20までの距離を計測可能なセンサの一例である。センシングデータには複数のセンシングフレームが含まれ、昇順にフレーム番号が割り当てられる。
 カメラ60bは、競技者20の映像データを撮影する装置である。カメラ60bは、映像データを、情報処理装置100に出力する。映像データには、競技者20の画像に相当する複数の映像フレームが含まれ、各映像フレームには、昇順にフレーム番号が割り振られる。映像データのフレーム番号と、センシングデータのフレーム番号とは、同期しているものとする。
 情報処理装置100は、3Dレーザセンサ60aを用いて、一連の動作を行う競技者20をセンシングすることで、センシングデータを取得し、センシングデータを用いて、競技者の各関節の動きを特定する。情報処理装置100は、各関節の動きから各関節の角速度を算出し、関節毎に、角速度が最大となるタイミングを特定し、タイミングを指定するためのスライドバーと対応付けて表示する。
 図4は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。図4に示すように、この情報処理装置100は、インタフェース部110、通信部120、入力部130、表示部140、記憶部150、制御部160を有する。
 インタフェース部110は、3Dレーザセンサ60a、カメラ60bと接続し、3Dレーザセンサ60a、カメラ60bからデータを取得する装置である。インタフェース部110は、取得したデータを、制御部160に出力する。たとえば、インタフェース部110は、3Dレーザセンサ60aから、センシングデータを取得する。インタフェース部110は、カメラ60bから、映像データを取得する。
 通信部120は、ネットワークを介して、他の装置とデータ通信を行う装置である。通信部120は、通信装置に対応する。情報処理装置100は、ネットワークを介して、3Dレーザセンサ60a、カメラ60bに接続されてもよい。この場合には、通信部120は、ネットワークを介して、3Dレーザセンサ60a、カメラ60bからデータを取得する。
 入力部130は、情報処理装置100に各種の情報を入力するための入力装置である。入力部130は、キーボード、マウス、タッチパネル等に対応する。たとえば、ユーザは、入力部130を操作して、スライドバー50のスライド50aを移動させてもよい。
 表示部140は、制御部160から出力される表示画面の情報を表示する表示装置である。たとえば、表示部140は、図2で説明した情報等を表示する。表示部140は、液晶ディスプレイ、タッチパネル等に対応する。
 記憶部150は、センシングDB150a、映像DB150b、関節定義データ150c、関節位置DB150d、3DモデルDB150e、角速度DB150fを有する。記憶部150は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
 センシングDB150aは、3Dレーザセンサ60aから取得するセンシングデータを格納するデータベースである。図5は、本実施例に係るセンシングDBのデータ構造の一例を示す図である。図5に示すように、このセンシングDB150aは、競技者IDと、フレーム番号と、センシングフレームとを対応付ける。競技者IDは、競技者を一意に識別する情報である。フレーム番号は、同一の競技者IDに対応する各センシングフレームを、一意に識別する番号である。センシングフレームは、3Dレーザセンサ60aにセンシングされたセンシングフレームである。たとえば、センシングフレームには、3Dレーザセンサ60aの撮像範囲に含まれる対象物(競技者)上の各点と、3Dレーザセンサ60aとの距離情報がそれぞれ含まれる。
 映像DB150bは、カメラ60から取得する映像データを格納するデータベースである。図6は、本実施例に係る映像DBのデータ構造の一例を示す図である。図6に示すように、競技者IDと、フレーム番号と、映像フレームとを対応付ける。競技者IDは、競技者を一意に識別する情報である。フレーム番号は、同一の競技者IDに対応する各映像フレームを、一意に識別する番号である。映像フレームは、カメラ60bに撮影された映像フレームである。
 関節定義データ150cは、競技者の各関節位置を定義するものである。図7は、本実施例に係る関節定義データの一例を示す図である。図7に示すように、この関節定義データ150cは、公知の骨格モデルで特定される各関節をナンバリングした情報を記憶する。たとえば、図7に示すように、右肩関節(SHOULDER_RIGHT)には7番が付与され、左肘関節(ELBOW_LEFT)には5番が付与され、左膝関節(KNEE_LEFT)には11番が付与され、右股関節(HIP_RIGHT)には14番が付与される。たとえば、8番の右肩関節のX座標をX8、Y座標をY8、Z座標をZ8と記載する場合がある。
 関節位置DB150dは、3Dレーザセンサ60aのセンシングデータを基に生成される競技者20の各関節の位置データである。図8は、本実施例に係る関節位置DBのデータ構造の一例を示す図である。図8に示すように、この関節位置DB150dは、競技者IDと、フレーム番号と、「X0、Y0、Z0、・・・、X17、Y17、Z17」を対応づける。競技者IDは、競技者を一意に識別する情報である。
 図8において、フレーム番号は、同一の競技者IDに対応する各センシングフレームを一意に識別する番号である。図8の競技者ID「U101」に対応するフレーム番号と、図5の競技者ID「U101」に対応するフレーム番号は、同期しているものとする。「X0、Y0、Z0、・・・、X17、Y17、Z17」は、各関節のXYZ座標であり、たとえば「X0、Y0、Z0」は、図7に示す0番号の関節の3次元座標である。
 3DモデルDB150eは、センシングデータを基に生成される競技者20の3Dモデルの情報を格納するデータベースである。図9は、本実施例に係る3DモデルDBのデータ構造の一例を示す図である。図9に示すように、この3DモデルDB150eは、競技者IDと、フレーム番号と、骨格データと、3Dモデルデータとを対応付ける。競技者ID、フレーム番号に関する説明は、センシングDB150aで行った説明と同様である。
 骨格データは、各関節位置を接続することで推定される競技者20の骨格を示すデータである。3Dモデルデータは、センシングデータから得られる情報と、骨格データとを基にして推定される競技者20の3Dモデルのデータである。
 角速度DB150fは、各関節の角速度の情報を保持するデータベースである。図10は、本実施例に係る角速度DBのデータ構造の一例を示す図である。図10に示すように、この角速度DB150fは、競技者IDと、フレーム番号と、各関節の角速度とを対応付ける。競技者IDは、競技者を一意に識別する情報である。フレーム番号は、センシングフレームを一意に識別する番号である。たとえば、各関節の角速度として、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が含まれる。
 「Hip」の角速度は、競技者の股関節の角度に関する角速度である。たとえば、競技者の股関節の角度を、「Hip」線分と、予め設定される「Hip」基準線とのなす角度とする。「Hip」線分を、図7の座標(X10、Y10、Z10)と、座標(X14、Y14、Z14)とを通る線分とする。
 「Knee」の角速度は、競技者の膝の曲がり角度に関する角速度である。たとえば、競技者の膝の曲がり角度を、第1「Knee」線分と、第2「Knee」線とのなす角度とする。第1「Knee」線分を、図7の座標(X14、Y14、Z14)と、座標(X15、Y15、Z15)とを通る線分とする。第2「Knee」線分を、図7の座標(X15、Y15、Z15)と、座標(X16、Y16、Z16)とを通る線分とする。
 「Ankle」の角速度は、競技者の足首の曲げ角度に関する角速度である。たとえば、競技者の足首の曲げ角度を、「Ankle」線分と、予め設定される「Ankle」基準線とのなす角度とする。「Ankle」線分を、図7の座標(X16、Y16、Z16)と、座標(X17、Y17、Z17)とを通る線分とする。
 「Shoulder」の角速度は、肩周りの角度に関する角速度である。たとえば、競技者の肩周りの角度を、「Shoulder」線分と、予め設定される「Shoulder」基準線とのなす角度とする。「Shoulder」線分を、図7の座標(X4、Y4、Z4)と、座標(X7、Y7、Z7)とを通る線分とする。
 「Elbow」の角速度は、競技者の肘の曲げ角度に関する角速度である。たとえば、競技者の肘の曲げ角度を、第1「Elbow」線分と、第2「Elbow」線とのなす角度とする。第1「Elbow」線分を、図7の座標(X7、Y7、Z7)と、座標(X8、Y8、Z8)とを通る線分とする。第2「Elbow」線分を、図7の座標(X8、Y8、Z8)と、座標(X9、Y9、Z9)とを通る線分とする。
 図4の説明に戻る。制御部160は、取得部160a、3Dモデル生成部160b、受付部160c、特定部160d、表示制御部160eを有する。制御部160は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部160は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
 取得部160aは、3Dレーザセンサ60aからセンシングデータを取得し、取得したセンシングデータを、センシングDB150aに格納する。取得部160aは、センシングデータをセンシングDB150aに格納する場合に、競技者IDと、フレーム番号と、センシングフレームとを対応付ける。競技者IDは、センシングデータに設定されていてもよいし、競技者20が入力部130を操作して、センシングデータに対する競技者IDを指定してもよい。
 取得部160aは、カメラ60bから映像データを取得し、取得した映像データを映像DB150bに格納する。取得部160aは、競技者IDと、フレーム番号と、映像フレームとを対応付ける。競技者IDは、映像データに設定されていてもよいし、競技者20が入力部130を操作して、映像データに対する競技者IDを指定してもよい。
 3Dモデル生成部160bは、センシングDB150aを基にして、各競技者IDの各フレーム番号に対応する3Dモデルデータを生成する処理部である。以下において、3Dモデル生成部160bの処理の一例について説明する。3Dモデル生成部160bは、センシングDB150aのセンシングフレームと、関節定義データ150cに定義された各関節の位置関係とを比較して、センシングフレームに含まれる各関節の種別および関節の3次元座標を特定する。3Dモデル生成部160bは、各競技者IDのフレーム番号毎に上記処理を繰り返し実行することで、関節位置DB150dを生成する。
 3Dモデル生成部160bは、関節位置DB150dに格納された各関節の3次元座標を、関節定義データ150cに定義された接続関係を基にしてつなぎ合わせることで、骨格データを生成する。また、3Dモデル生成部160bは、推定した骨格データを、競技者20の体格に合わせた骨格モデルに当てはめることで、3Dモデルデータを生成する。3Dモデル生成部160bは、各競技者IDのフレーム番号毎に上記処理を繰り返し実行することで、3DモデルDB150eを生成する。
 受付部160cは、競技者IDの指定を受け付ける処理部である。受付部160cは、受け付けた競技者IDを、特定部160dに出力する。たとえば、競技者20は、一連の動作を行って、3Dレーザセンサ60aにセンシングされた後に、自身のフォームを確認するべく、入力部130を操作して、自身の競技者IDを入力する。
 特定部160dは、競技者IDに対応する角速度DB150fを生成する処理部である。以下において、特定部160dの処理の一例について説明する。特定部160dは、競技者IDを取得すると、競技者IDに対応する各関節の座標情報のうち、各関節の角度を算出する際に用いる座標情報を抽出し、第1中間テーブルに格納する。
 図11は、本実施例に係る第1中間テーブルのデータ構造の一例を示す図である。図11に示すように、この第1中間テーブル155aは、フレーム番号と、座標とを対応付ける。フレーム番号は、センシングフレームを一意に識別する番号である。座標は、各関節の角度を算出する場合に用いる座標情報であり、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」に関する座標情報を有する。
 「Hip」の座標は、競技者IDおよびフレーム番号の組に対応する各座標(図8のX0、Y0、Z0~X17、Y17、Z17)のうち、「Hip」線分を算出る場合に用いられる座標となる。「Hip」線分を算出する場合に用いられる座標は、座標(X10、Y10、Z10)および座標(X14、Y14、Z14)である。
 「Knee」の座標は、競技者IDおよびフレーム番号の組に対応する各座標(図8のX0、Y0、Z0~X17、Y17、Z17)のうち、第1「Knee」線分および第2「Knee」線分を算出する場合に用いられる座標となる。第1「Knee」線分を算出する場合に用いられる座標は、座標(X14、Y14、Z14)、座標(X15、Y15、Z15)である。第2「Knee」線分を算出する場合に用いられる座標は、座標(X15、Y15、Z15)、座標(X16、Y16、Z16)である。
 「Ankle」の座標は、競技者IDおよびフレーム番号の組に対応する各座標(図8のX0、Y0、Z0~X17、Y17、Z17)のうち、「Ankle」線分を算出する場合に用いられる座標となる。「Ankle」線分を算出する場合に用いられる座標は、座標(X16、Y16、Z16)、座標(X17、Y17、Z17)である。
 「Shoulder」の座標は、競技者IDおよびフレーム番号の組に対応する各座標(図8のX0、Y0、Z0~X17、Y17、Z17)のうち、「Shoulder」線分を算出する場合に用いられる座標となる。「Shoulder」線分を算出する場合に用いられる座標は、座標(X4、Y4、Z4)、座標(X7、Y7、Z7)である。
 「Elbow」の座標は、競技者IDおよびフレーム番号の組に対応する各座標(図8のX0、Y0、Z0~X17、Y17、Z17)のうち、第1「Elbow」線分および第2「Elbow」線分を算出する場合に用いられる座標となる。第1「Elbow」線分を算出する場合に用いられる座標は、座標(X7、Y7、Z7)、座標(X8、Y8、Z8)である。第2「Elbow」線分を算出する場合に用いられる座標は、座標(X8、Y8、Z8)、座標(X9、Y9、Z9)である。
 特定部160dは、関節位置DB150dから、フレーム番号毎に「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の座標情報を抽出することで、第1中間テーブル155aを生成する。特定部160dは、第1中間テーブル155aを基にして、第2中間テーブル155bを生成する。
 図12は、本実施例に係る第2中間テーブルのデータ構造の一例を示す図である。図12に示すように、この第2中間テーブル155bは、フレーム番号と、角度とを対応付ける。フレーム番号は、センシングフレームを一意に識別する情報である。角度は、各関節の角度を示すものであり、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」に関する角度を有する。
 「Hip」の角度は、「Hip」線分と、予め設定される「Hip」基準線とのなす角度である。特定部160dは、フレーム番号nの「Hip」の角度θhnを、第1中間テーブル155aのフレーム番号nの「Hip」の座標を基にして算出する。
 「Knee」の角度は、第1「Knee」線分と、第2「Knee」線とのなす角度である。特定部160dは、フレーム番号nの「Knee」の角度θknを、第1中間テーブル155aのフレーム番号nの「Knee」の座標を基にして算出する。
 「Ankle」の角度は、「Ankle」線分と、予め設定される「Ankle」基準線とのなす角度である。特定部160dは、フレーム番号nの「Ankle」の角度θanを、第1中間テーブル155aのフレーム番号nの「Ankle」の座標を基にして算出する。
 「Shoulder」の角度は、「Shoulder」線分と、予め設定される「Shoulder」基準線とのなす角度である。特定部160dは、フレーム番号nの「Shoulder」の角度θsnを、第1中間テーブル155aのフレーム番号nの「Shoulder」の座標を基にして算出する。
 「Elbow」の角度は、第1「Elbow」線分と、第2「Elbow」線とのなす角度である。特定部160dは、フレーム番号nの「Elbow」の角度θenを、第1中間テーブル155aのフレーム番号nの「Elbow」の座標を基にして算出する。
 特定部160dは、フレーム番号毎に「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角度を算出することで、第2中間テーブル155bを生成する。特定部160dは、第2中間テーブル155bを基にして、角速度DB150fを生成する。
 特定部160dが、角速度DB150fを生成する処理の一例について説明する。図10で説明したように、角速度には、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が含まれる。
 特定部160dが、「Hip」の角速度を算出する処理の一例について説明する。特定部160dは、式(1)に基づいて、各フレーム番号の「Hip」の角速度を算出する。フレームの時間間隔は、予め設定されるフレーム前後の時間間隔を示す。
 ωhn+1=(角度θhn+1-角度θhn)/フレームの時間間隔・・・(1)
 特定部160dが、「Knee」の角速度を算出する処理の一例について説明する。特定部160dは、式(2)に基づいて、各フレーム番号の「Knee」の角速度を算出する。
 ωkn+1=(角度θkn+1-角度θkn)/フレームの時間間隔・・・(2)
 特定部160dが、「Ankle」の角速度を算出する処理の一例について説明する。特定部160dは、式(3)に基づいて、各フレーム番号の「Ankle」の角速度を算出する。
 ωan+1=(角度θan+1-角度θan)/フレームの時間間隔・・・(3)
 特定部160dが、「Shoulder」の角速度を算出する処理の一例について説明する。特定部160dは、式(4)に基づいて、各フレーム番号の「Shoulder」の角速度を算出する。
 ωsn+1=(角度θsn+1-角度θsn)/フレームの時間間隔・・・(4)
 特定部160dが、「Elbow」の角速度を算出する処理の一例について説明する。特定部160dは、式(5)に基づいて、各フレーム番号の「Elbow」の角速度を算出する。
 ωen+1=(角度θen+1-角度θen)/フレームの時間間隔・・・(5)
 続いて、特定部160dは、角速度DB150fを生成した後に、関節毎に、角速度が最大となるフレーム番号(時刻)を特定する。
 特定部160dは、角速度DB150fの角速度「Hip」の列を走査し、「Hip」角速度ωが最大となるフレーム番号を特定する。特定部160dは、フレーム番号を時刻に変換し、「Hip」角速度ωが最大となる時刻を特定する。以下の説明では適宜、「Hip」角速度ωが最大となる時刻を「Tmh」と表記する。
 特定部160dは、角速度DB150fの角速度「Knee」の列を走査し、「Knee」角速度ωが最大となるフレーム番号を特定する。特定部160dは、フレーム番号を時刻に変換し、「Knee」角速度ωが最大となる時刻を特定する。以下の説明では適宜、「Knee」角速度ωが最大となる時刻を「Tmk」と表記する。
 特定部160dは、角速度DB150fの角速度「Ankle」の列を走査し、「Ankle」角速度ωが最大となるフレーム番号を特定する。特定部160dは、フレーム番号を時刻に変換し、「Ankle」角速度ωが最大となる時刻を特定する。以下の説明では適宜、「Ankle」角速度ωが最大となる時刻を「Tma」と表記する。
 特定部160dは、角速度DB150fの角速度「Shoulder」の列を走査し、「Shoulder」角速度ωが最大となるフレーム番号を特定する。特定部160dは、フレーム番号を時刻に変換し、「Shoulder」角速度ωが最大となる時刻を特定する。以下の説明では適宜、「Shoulder」角速度ωが最大となる時刻を「Tms」と表記する。
 特定部160dは、角速度DB150fの角速度「Elbow」の列を走査し、「Elbow」角速度ωが最大となるフレーム番号を特定する。特定部160dは、フレーム番号を時刻に変換し、「Elbow」角速度ωが最大となる時刻を特定する。以下の説明では適宜、「Elbow」角速度ωが最大となる時刻を「Tme」と表記する。
 特定部160dは、上記処理を行うことで、関節毎の時刻Tmh、Tmk、Tma、Tms、Tmeを特定し、特定した情報を、表示制御部160eに出力する。
 表示制御部160eは、センシングデータに基づく競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けた表示画面の情報を生成し、関節ごとの所定のタイミングを把握可能な状態で表示部140に表示する処理部である。
 図13は、本実施例に係る表示制御部が生成する表示画面の一例を示す図である。図13に示すように、この表示画面70は、表示領域70a,70bを有する。表示領域70aは、競技者20の「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを、スライドバー50と対応付けて表示する領域である。
 スライドバー50は時間を示すものであり、表示制御部160eは、スライドバー50上のスライド50aの位置によって、時刻を特定する。スライド50aは、移動可能に設定されており、表示制御部160eがスライド50aを時系列に移動させてもよいし、ユーザが、入力部130を操作して、スライド50aを移動させてもよい。
 表示制御部160eは、時刻「Tmh」において、「Hip」角速度ωが最大となる旨の情報を保持している。表示制御部160eは、スライド50aの位置が、時刻「Tmh」に対応する時刻となった時点で、マーカ11aを表示させる。時刻「Tmh」と、マーカ11aとの組を表示させることで、時刻「Tmh」において、「Hip」角速度が最大となることが把握可能となる。
 表示制御部160eは、時刻「Tmk」において、「Knee」角速度ωが最大となる旨の情報を保持している。表示制御部160eは、スライド50aの位置が、時刻「Tmk」に対応する時刻となった時点で、マーカ11bを表示させる。時刻「Tmk」と、マーカ11bとの組を表示させることで、時刻「Tmk」において、「Knee」角速度が最大となることが把握可能となる。
 表示制御部160eは、時刻「Tma」において、「Ankle」角速度ωが最大となる旨の情報を保持している。表示制御部160eは、スライド50aの位置が、時刻「Tma」に対応する時刻となった時点で、マーカ11cを表示させる。時刻「Tma」と、マーカ11cとの組を表示させることで、時刻「Tma」において、「Ankle」角速度が最大となることが把握可能となる。
 表示制御部160eは、時刻「Tms」において、「Shoulder」角速度ωが最大となる旨の情報を保持している。表示制御部160eは、スライド50aの位置が、時刻「Tms」に対応する時刻となった時点で、マーカ11dを表示させる。時刻「Tms」と、マーカ11dとの組を表示させることで、時刻「Tms」において、「Shoulder」角速度が最大となることが把握可能となる。
 表示制御部160eは、時刻「Tms」において、「Elbow」角速度ωが最大となる旨の情報を保持している。表示制御部160eは、スライド50aの位置が、時刻「Tme」に対応する時刻となった時点で、マーカ11eを表示させる。時刻「Tme」と、マーカ11eとの組を表示させることで、時刻「Tme」において、「Elbow」角速度が最大となることが把握可能となる。
 上記のように、表示制御部160eは、スライド50aの移動に合わせて、競技者20の「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを表示する。これにより、角速度が最大となる各関節の順番を確認することができるので、各関節の動きがうまく連動できているか否か(力がうまく伝わっているか否か)を確認することができる。図13に示す例では、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の順に、力が伝わっており、理想的なフォームであることが分かる。
 表示領域70bは、競技者20の3Dモデルを表示する領域である。たとえば、表示制御部160eは、スライド50aの位置に対応する時刻を特定し、特定した時刻に対応する3Dモデルデータを、3DモデルDB150eから取得し、表示領域70bに表示させる。これにより、スライド50aの移動に合わせた、競技者20の体の動きを3Dモデルで確認することもできる。
 図13のようなGUIを採用することで、本実施例にかかる情報処理装置は、たとえば、スライド50aを、ひじ関節が最も大きく動いたタイミングであるマーカ11eに合せる操作を、ユーザから受け付けることができる。さらに、情報処理装置は、ひじ関節が最も大きく動いたタイミングに対応する3Dモデルを、表示領域70bに表示させることができる。よって、そのタイミングにおける競技者の姿勢や、ひじ関節が最も大きく動いたタイミングからの姿勢の推移(動き)を確認することができる。
 また、実施例にかかる情報処理装置は、たとえば、スライド50aを、ひじ関節が最も大きく動いたタイミングであるマーカ11eの少し前に合せる操作を、ユーザから受け付けることができる。さらに、情報処理装置は、ひじ関節が最も大きく動いたタイミングの少し前に対応する3Dモデルを、表示領域70bに表示させることができる。よって、ひじ関節が最も大きく動いたタイミングの少し前の競技者の姿勢や、ひじ関節が最も大きく動いたタイミングの少し前からの姿勢の推移(動き)を確認することができる。
 ところで、図13に示した表示画面は一例であり、表示制御部160eは、他の表示画面を生成して、表示部140に表示させてもよい。以下の説明では、表示制御部160eが生成するその他の表示画面例(1)~(3)について説明する。
 表示制御部160eが生成するその他の表示画面例(1)について説明する。表示制御部160eは、複数の競技者について、「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを、スライドバー50と対応付けて表示してもよい。
 図14は、その他の表示画面例(1)を示す図である。図14に示すように、この表示画面71は、表示領域71a,71b,71c,71dを有する。表示領域71aは、複数の競技者の「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを、スライドバー50と対応付けて表示する領域である。
 ここでは、第1競技者と第2競技者に関する情報を表示する場合について説明する。たとえば、ユーザは、入力部130を操作して、第1競技者および第2競技者に対応する競技者IDを、情報処理装置100に入力して指定する。説明を省略するが、特定部160dは、第1競技者の各関節の角速度が最大となる時刻、および、第2競技者の各関節の角速度が最大となる時刻を特定し、表示制御部160eに通知する。
 図13と同様にして、スライドバー50には、スライド50aが移動可能に設定されている。表示制御部160eがスライド50aを時系列に移動させてもよいし、ユーザが、入力部130を操作して、スライド50aを移動させてもよい。ユーザは、入力部130を操作(ドラッグ操作)して、スライド50aを移動させてもよいし、スライド50aの移動に関して、時系列移動、スキップ移動、コマ送り、一時停止等の指示を行って、スライド50aの移動を制御してもよい。
 たとえば、表示制御部160eは、時刻「Tmh1」(図示略)において、第1競技者の「Hip」角速度が最大となる旨の情報を保持しているものとする。表示制御部160eは、スライド50aの位置が、時刻「Tmh1」に対応する時刻となった時点で、マーカ11aを表示させる。時刻「Tmh1」と、マーカ11aとの組を表示させることで、時刻「Tmh1」において、第1競技者の「Hip」角速度が最大となることが把握可能となる。
 表示制御部160eは、時刻「Tmh2」(図示略)において、第2競技者の「Hip」角速度が最大となる旨の情報を保持しているものとする。表示制御部160eは、スライド50aの位置が、時刻「Tmh2」に対応する時刻となった時点で、マーカ12aを表示させる。時刻「Tmh2」と、マーカ12aとの組を表示させることで、時刻「Tmh2」において、第2競技者の「Hip」角速度が最大となることが把握可能となる。
 表示制御部160eは、時刻「Tmk1」(図示略)において、第1競技者の「Knee」角速度が最大となる旨の情報を保持しているものとする。表示制御部160eは、スライド50aの位置が、時刻「Tmk1」に対応する時刻となった時点で、マーカ11bを表示させる。時刻「Tmk1」と、マーカ11bとの組を表示させることで、時刻「Tmk1」において、第1競技者の「Knee」角速度が最大となることが把握可能となる。
 表示制御部160eは、時刻「Tmk2」(図示略)において、第2競技者の「Knee」角速度が最大となる旨の情報を保持しているものとする。表示制御部160eは、スライド50aの位置が、時刻「Tmk2」に対応する時刻となった時点で、マーカ12bを表示させる。時刻「Tmk2」と、マーカ12bとの組を表示させることで、時刻「Tmk2」において、第2競技者の「Knee」角速度が最大となることが把握可能となる。
 表示制御部160eは、時刻「Tma1」(図示略)において、第1競技者の「Ankle」角速度が最大となる旨の情報を保持しているものとする。表示制御部160eは、スライド50aの位置が、時刻「Tma1」に対応する時刻となった時点で、マーカ11cを表示させる。時刻「Tma1」と、マーカ11cとの組を表示させることで、時刻「Tma1」において、第1競技者の「Ankle」角速度が最大となることが把握可能となる。
 表示制御部160eは、時刻「Tma2」(図示略)において、第2競技者の「Ankle」角速度が最大となる旨の情報を保持しているものとする。表示制御部160eは、スライド50aの位置が、時刻「Tma2」に対応する時刻となった時点で、マーカ12cを表示させる。時刻「Tma2」と、マーカ12cとの組を表示させることで、時刻「Tma2」において、第2競技者の「Ankle」角速度が最大となることが把握可能となる。
 表示制御部160eは、時刻「Tms1」(図示略)において、第1競技者の「Shoulder」角速度が最大となる旨の情報を保持している。表示制御部160eは、スライド50aの位置が、時刻「Tms1」に対応する時刻となった時点で、マーカ11dを表示させる。時刻「Tms1」と、マーカ11dとの組を表示させることで、時刻「Tms1」において、第1競技者の「Shoulder」角速度が最大となることが把握可能となる。
 表示制御部160eは、時刻「Tms2」(図示略)において、第2競技者の「Shoulder」角速度が最大となる旨の情報を保持している。表示制御部160eは、スライド50aの位置が、時刻「Tms2」に対応する時刻となった時点で、マーカ12dを表示させる。時刻「Tms2」と、マーカ12dとの組を表示させることで、時刻「Tms2」において、第2競技者の「Shoulder」角速度が最大となることが把握可能となる。
 表示制御部160eは、時刻「Tms1」(図示略)において、第1競技者の「Elbow」角速度が最大となる旨の情報を保持している。表示制御部160eは、スライド50aの位置が、時刻「Tme1」に対応する時刻となった時点で、マーカ11eを表示させる。時刻「Tme1」と、マーカ11eとの組を表示させることで、時刻「Tme1」において、第1競技者の「Elbow」角速度が最大となることが把握可能となる。
 表示制御部160eは、時刻「Tms2」(図示略)において、第2競技者の「Elbow」角速度が最大となる旨の情報を保持している。表示制御部160eは、スライド50aの位置が、時刻「Tme2」に対応する時刻となった時点で、マーカ12eを表示させる。時刻「Tme2」と、マーカ12eとの組を表示させることで、時刻「Tme2」において、第2競技者の「Elbow」角速度が最大となることが把握可能となる。
 上記のように、表示制御部160eは、スライド50aの移動に合わせて、各競技者の「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを表示する。これにより、各競技者について、角速度が最大となる各関節の順番を比較、確認することができる。
 表示領域71bは、第1競技者の3Dモデルを表示する領域である。たとえば、表示制御部160eは、スライド50aの位置に対応する時刻を特定し、特定した時刻に対応する第1競技者の3Dモデルデータを、3DモデルDB150eから取得し、表示領域71bに表示させる。これにより、スライド50aの移動に合わせた、第1競技者の体の動きを3Dモデルで確認することもできる。
 表示領域71cは、第2競技者の3Dモデルを表示する領域である。たとえば、表示制御部160eは、スライド50aの位置に対応する時刻を特定し、特定した時刻に対応する第2競技者の3Dモデルデータを、3DモデルDB150eから取得し、表示領域71cに表示させる。これにより、スライド50aの移動に合わせた、第2競技者の体の動きを3Dモデルで確認することもできる。
 表示領域71dは、第1競技者、第2競技者として選択する競技者の候補を表示する領域である。ユーザは、入力部130を操作して、表示領域71dに表示された複数の競技者から、第1競技者、第2競技者を選択する。
 図14では説明を省略するが、表示制御部160eは、所定の関節の角度の指定を受け付けた場合には、指定された関節の角度の時系列の変化を、表示領域71b,71cに表示させてもよい。また、図14に示した表示領域71b,71cは、各競技者を側面からとらえた場合の3Dモデルを示したがこれに限定されるものではない。ユーザは、入力部130を操作して、視点を変更し、他の視点から、各競技者のフォームを確認することも可能である。表示制御部160eは、競技者がボールを投げた場合の投射角度を更に表示してもよい。
 続いて、表示制御部160eが生成するその他の表示画面例(2)について説明する。図15は、その他の表示画面例(2)を示す図である。図15に示すように、この表示画面72は、表示領域72a,72bを有する。
 表示領域72aは、スライドバー50を表示する領域である。スライドバー50には、スライド50aが移動可能に設定されている。スライドバー50は時間を示すものであり、表示制御部160eは、スライドバー50上のスライド50aの位置によって、時刻を特定する。スライド50aは、移動可能に設定されており、表示制御部160eがスライド50aを時系列に移動させてもよいし、ユーザが、入力部130を操作して、スライド50aを移動させてもよい。
 表示領域72bは、競技者(たとえば、競技者20)の所定の関節に関する移動軌跡を3Dモデルで表示する領域である。図15に示す例では、競技者20の右手首(WRIST_RIGHT)の移動軌跡を示す。表示制御部160eは、競技者20の全身の3Dモデルを、表示領域72bに合わせて表示させてもよい。
 表示制御部160eは、関節位置DB150dを参照して、右手首の関節位置の3次元座標と、時刻とを対応付けた情報を取得する。表示制御部160eは、各時刻に対応する右手首の各関節位置を、領域72cに表示させる。たとえば、表示制御部160eは、領域72cに表示させる各関節位置を、球により表示させる。
 表示制御部160eは、スライド50aの位置が開始位置50bに配置されている場合には、各関節位置に対応する球を、半透明で表示させる。表示制御部160eは、スライド50aの位置が移動した場合には、移動したスライド50aの位置に対応する時刻を特定し、特定した時刻以前の時刻に対応付けられた各関節位置の球を「半透明」から「黒色」に変更する処理を行う。
 たとえば、スライド50aが移動し、移動したスライド50aに対応する時刻を時刻TAとする。また、時刻TA以前の時刻に対応付けられた各関節位置の球を、図15に示す各球72dとする。この場合には、表示制御部160eは、各球72dを、「半透明」から「黒色」に変更する処理を行う。
 表示制御部160eは、表示領域72bに、理想的な右手首の位置を示す基準線72eを更に表示し、基準線72eと、スライド50aで指定された時刻に対応する右手首の位置との差を算出して、表示してもよい。
 図15に示した表示画面72は、競技者20を正面からとらえた場合の表示画面である。ユーザは、入力部130を操作して、視点を変更し、他の視点から、競技者20のフォームを確認することも可能である。
 表示制御部160eが生成するその他の表示画面例(3)について説明する。表示制御部160eは、図13の表示領域70b、図14の表示領域71b,71c、図15の表示領域72bに示した競技者の3Dモデルに、映像DB150bに格納された映像フレームの映像を貼り付けて表示させてもよい。
 図16は、その他の表示画面例(3)を示す図である。図16に示すように、この表示画面73は、表示領域73a,73bを有する。表示領域73aは、競技者20の「Hip」、「Knee」、「Ankle」、「Shoulder」、「Elbow」の角速度が最大となるタイミングを、スライドバー50と対応付けて表示する領域である。表示領域73aに関する他の説明は、図13で説明した表示領域70aに関する説明と同様である。
 表示領域73bは、競技者20の3Dモデルに、競技者20の映像を添付したものを表示する領域である。たとえば、表示制御部160eは、スライド50aの位置に対応する時刻を特定し、特定した時刻に対応する3Dモデルデータを、3DモデルDB150eから取得し、表示領域70bに表示させる。また、表示制御部160eは、3Dモデルデータを表示させる場合に、映像DB150bから、競技者20の各部分の画像データを取得し、3Dモデルデータに添付して、表示させる。これにより、スライド50aの移動に合わせた、競技者20の体の動きをよりリアルな3Dモデルで確認することができる。
 なお、表示制御部160eは、表示画面73の他の表示領域に、映像DB150bに格納された映像フレームを表示させてもよい。たとえば、表示制御部160eは、スライド50aの位置に対応する時刻を特定し、特定した時刻に対応する映像フレームを、映像DB150bから取得し、表示領域に表示させる。
 次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。図17は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。図17に示すように、情報処理装置100の受付部160cは、競技者IDの選択を受け付ける(ステップS101)。
 情報処理装置100の特定部160dは、選択された競技者IDに対応する角速度を算出し、角速度DB150fを生成する(ステップS102)。特定部160dは、角速度を基にして、競技者IDの関節毎に角速度が最大となるタイミングを特定する(ステップS103)。
 情報処理装置100の表示制御部160eは、スライドバーと、各関節の角速度が最大となるタイミングとを対応付けた表示画面を生成する(ステップS104)。表示画面を表示し、スライドバーのスライド位置に応じて、マーカを表示する(ステップS105)。
 次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、3Dレーザセンサ60aを用いて、一連の動作を行う競技者をセンシングすることで、センシングデータを取得し、センシングデータを用いて、競技者の各関節の動きを特定する。情報処理装置100は、各関節の動きから各関節の角速度を算出し、関節毎に、角速度が最大となるタイミングを特定し、タイミングを指定するためのスライドバーと対応付けて表示する。表示された情報を参照することで、角速度が最大となる各関節の順番を確認することができるので、各関節の動きがうまく連動できているか否か(力がうまく伝わっているか否か)を確認することができる。このため、本実施例に係る情報処理装置100では、トレーニングを行う競技者の体の動きおよび状態を把握することを支援でき、図1Aの参考技術1等で説明した問題点を改善することができる。
 情報処理装置100によれば、図13等で説明したように、各角速度が最大となるタイミングだけでなく、競技者の3Dモデルによる競技者の姿勢も、スライドバーと対応付けて表示する。このため、各関節の動きがうまく連動できているか否かを確認できだけでなく、各関節の動きで特徴的なポイントに対応した競技者のフォームを確認することができる。
 情報処理装置100は、スライドバーと対応付けて、第1競技者の一連の各関節の動きのポイントとなるタイミングと、第2競技者の一連の各関節の動きのポイントとなるタイミングとを表示する。このため、各関節の動きがうまく連動できているか否かを、異なる競技者同士で比較することができる。
 本実施例に係る情報処理装置100では、競技者20が、バスケットボールに関する一連の動作を行い、情報処理装置100が、関節毎に、角速度が最大となるタイミングを特定して、スライドバーと対応付けて表示していたが、これに限定されるものではない。たとえば、競技者20は、他の競技に関する一連の動作を行い、情報処理装置100が、関節毎に、角速度が最大となるタイミングを特定して、スライドバーと対応付けて表示してもよい。
 他の競技は、トランポリン、水泳の飛び込み、フィギュアスケート、空手の型、社交ダンス、スノーボード、スケートボード、スキーエアリアル、サーフィンを含む。また、クラシックバレエ、スキージャンプ、モーグルのエアー、ターン、野球、バスケットボールのフォームチェック等にも適用してもよい。また、剣道、柔道、レスリング、相撲などの競技にも適用してもよい。
 また、本実施例に係る情報処理装置100は、各関節の動きから各関節の角速度を算出し、関節毎に、角速度が最大となるタイミングを特定し、タイミングを指定するためのスライドバーと対応付けて表示していたが、これに限定されるものではない。たとえば、情報処理装置100は、角速度の代わりに角加速度を算出し、角加速度が最大となるタイミングを特定し、タイミングを指定するためのスライドバーと対応付けて表示してもよい。また、情報処理装置100は、角度が最大となるタイミングを特定し、タイミングを指定するためのスライドバーと対応付けて表示してもよい。
 次に、上記実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図18は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
 図18に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る読み取り装置204と、有線または無線ネットワークを介して、3Dレーザセンサ、カメラ等との間でデータの授受を行うインタフェース装置205とを有する。コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
 ハードディスク装置207は、取得プログラム207a、3Dモデル生成プログラム207b、受付プログラム207c、特定プログラム207d、表示制御プログラム207eを有する。CPU201は、取得プログラム207a、3Dモデル生成プログラム207b、受付プログラム207c、特定プログラム207d、表示制御プログラム207eを読み出してRAM206に展開する。
 取得プログラム207aは、取得プロセス206aとして機能する。3Dモデル生成プログラム207bは、3Dモデル生成プロセス206bとして機能する。受付プログラム207cは、受付プロセス206cとして機能する。特定プログラム207dは、特定プロセス206dとして機能する。表示制御プログラム207eは、表示制御プロセス206eとして機能する。
 取得プロセス206aの処理は、取得部160aの処理に対応する。3Dモデル生成プロセス206bの処理は、3Dモデル生成部160bの処理に対応する。受付プロセス206cの処理は、受付部160cの処理に対応する。特定プロセス206dの処理は、特定部160dの処理に対応する。表示制御プロセス206eの処理は、表示制御部160eの処理に対応する。
 なお、各プログラム207a~207eについては、必ずしも最初からハードディスク装置207に記憶させておかなくてもよい。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207cを読み出して実行するようにしてもよい。
  60a 3Dレーザセンサ
  60b カメラ
 100  情報処理装置
 110  インタフェース部
 120  通信部
 130  入力部
 140  表示部
 150  記憶部
 150a センシングDB
 150b 映像DB
 150c 関節定義データ
 150d 関節位置DB
 150e 3DモデルDB
 150f 角速度DB
 160  制御部
 160a 取得部
 160b 3Dモデル生成部
 160c 受付部
 160d 特定部
 160e 表示制御部

Claims (12)

  1.  コンピュータが実行する表示方法であって、
     3Dセンサによって競技者の動きをセンシングしたセンシングデータを取得し、
     前記センシングデータに基づく前記競技者の各関節の曲がり具合の変化から、関節ごとの所定のタイミングを特定し、
     前記センシングデータに基づく前記競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けて、前記関節ごとの所定のタイミングを把握可能な状態で表示する
     処理を実行することを特徴とする表示方法。
  2.  前記コンピュータが、
     前記各関節の曲がり具合の変化として、前記競技者の複数の関節それぞれの角速度を算出し、
     前記関節ごとの所定のタイミングとして、該関節毎に前記角速度が最大となるタイミングを特定し、
     前記スライドバーと対応付けて、前記角速度が最大となるタイミングを把握可能な状態で表示することを特徴とする請求項1に記載の表示方法。
  3.  前記コンピュータが、
     前記スライドバーで指定されたタイミングから、前記競技者の動きモデルまたは映像データを表示することを特徴とする請求項1または2に記載の表示方法。
  4.  前記表示する処理は、前記スライドバーと対応付けて、第1競技者の各関節における所定のタイミングと、第2競技者の各関節における所定のタイミングとを表示することを特徴とする請求項1または2に記載の表示方法。
  5.  3Dセンサによって競技者の動きをセンシングしたセンシングデータを取得し、
     前記センシングデータに基づく前記競技者の各関節の曲がり具合の変化から、関節ごとの所定のタイミングを特定し、
     前記センシングデータに基づく前記競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けて、前記関節ごとの所定のタイミングを把握可能な状態で表示する
     処理をコンピュータに実行させることを特徴とする表示プログラム。
  6.  前記コンピュータに、
     前記各関節の曲がり具合の変化として、前記競技者の複数の関節それぞれの角速度を算出し、
     前記関節ごとの所定のタイミングとして、該関節毎に前記角速度が最大となるタイミングを特定し、
     前記スライドバーと対応付けて、前記角速度が最大となるタイミングを把握可能な状態で表示する処理を実行させることを特徴とする請求項5に記載の表示プログラム。
  7.  前記コンピュータに、
     前記スライドバーで指定されたタイミングから、前記競技者の動きモデルまたは映像データを表示する処理を実行させることを特徴とする請求項5または6に記載の表示プログラム。
  8.  前記表示する処理は、前記スライドバーと対応付けて、第1競技者の各関節における所定のタイミングと、第2競技者の各関節における所定のタイミングとを表示することを特徴とする請求項5または6に記載の表示プログラム。
  9.  3Dセンサによって競技者の動きをセンシングしたセンシングデータを取得する取得部と、
     前記センシングデータに基づく前記競技者の各関節の曲がり具合の変化から、関節ごとの所定のタイミングを特定する特定部と、
     前記センシングデータに基づく前記競技者の動きモデルまたは該競技者を撮影した映像における再生タイミングを指定するためのスライドバーと対応付けて、前記関節ごとの所定のタイミングを把握可能な状態で表示する表示制御部と
     を有することを特徴とする情報処理装置。
  10.  前記特定部は、前記各関節の曲がり具合の変化として、前記競技者の複数の関節それぞれの角速度を算出し、前記関節ごとの所定のタイミングとして、該関節毎に前記角速度が最大となるタイミングを特定し、前記表示制御部は、前記スライドバーと対応付けて、前記角速度が最大となるタイミングを把握可能な状態で表示することを特徴とする請求項9に記載の情報処理装置。
  11.  前記表示制御部は、前記スライドバーで指定されたタイミングから、前記競技者の動きモデルまたは映像データを表示することを特徴とする請求項9または10に記載の情報処理装置。
  12.  前記表示制御部は、前記スライドバーと対応付けて、第1競技者の各関節における所定のタイミングと、第2競技者の各関節における所定のタイミングとを表示することを特徴とする請求項9または10に記載の情報処理装置。
PCT/JP2018/020404 2018-05-28 2018-05-28 表示方法、表示プログラムおよび情報処理装置 WO2019229818A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2018/020404 WO2019229818A1 (ja) 2018-05-28 2018-05-28 表示方法、表示プログラムおよび情報処理装置
JP2020521667A JP7070675B2 (ja) 2018-05-28 2018-05-28 表示方法、表示プログラムおよび情報処理装置
US17/104,410 US11837255B2 (en) 2018-05-28 2020-11-25 Display method, computer-readable recording medium recording display program, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/020404 WO2019229818A1 (ja) 2018-05-28 2018-05-28 表示方法、表示プログラムおよび情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/104,410 Continuation US11837255B2 (en) 2018-05-28 2020-11-25 Display method, computer-readable recording medium recording display program, and information processing apparatus

Publications (1)

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

Family

ID=68698616

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/020404 WO2019229818A1 (ja) 2018-05-28 2018-05-28 表示方法、表示プログラムおよび情報処理装置

Country Status (3)

Country Link
US (1) US11837255B2 (ja)
JP (1) JP7070675B2 (ja)
WO (1) WO2019229818A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022215116A1 (ja) * 2021-04-05 2022-10-13 富士通株式会社 情報処理プログラム、装置、及び方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021187093A1 (ja) * 2020-03-17 2021-09-23 ソニーグループ株式会社 画像処理装置、および、動画像データ生成方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0321274A (ja) * 1989-03-08 1991-01-30 Matsushita Electric Ind Co Ltd スポーツ練習機
JP2015130151A (ja) * 2013-12-31 2015-07-16 コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド 感情および行動を認識するための方法およびシステム
WO2017187641A1 (ja) * 2016-04-28 2017-11-02 富士通株式会社 骨格推定装置、骨格推定方法および骨格推定プログラム
JP2018019816A (ja) * 2016-08-02 2018-02-08 セイコーエプソン株式会社 ゴルフスイング解析方法、ゴルフスイング解析装置、ゴルフスイング解析システム、ゴルフスイング解析プログラム及び記録媒体

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001000614A (ja) 1999-06-21 2001-01-09 Ritsumeikan スイング解析方法及びその装置
WO2009060011A2 (en) 2007-11-05 2009-05-14 Brian Francis Mooney Apparatus and method for analysing a golf swing
US8696450B2 (en) * 2011-07-27 2014-04-15 The Board Of Trustees Of The Leland Stanford Junior University Methods for analyzing and providing feedback for improved power generation in a golf swing
WO2013041446A1 (en) 2011-09-20 2013-03-28 Brian Francis Mooney Apparatus and method for analysing a golf swing
JP6179916B2 (ja) 2012-11-13 2017-08-16 セイコーエプソン株式会社 ゴルフスイング解析装置、ゴルフスイング解析システム、ゴルフスイング解析プログラム、記録媒体及びゴルフスイング解析方法
US10134296B2 (en) 2013-10-03 2018-11-20 Autodesk, Inc. Enhancing movement training with an augmented reality mirror
JP2015205072A (ja) 2014-04-22 2015-11-19 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US11071494B2 (en) * 2015-05-27 2021-07-27 Georgia Tech Research Corporation Wearable technologies for joint health assessment
JP2017080197A (ja) 2015-10-29 2017-05-18 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理方法、プログラム
JP6930995B2 (ja) 2016-11-09 2021-09-01 株式会社システムフレンド 立体画像生成システム、立体画像生成方法及び立体画像生成プログラム
JP6249078B2 (ja) 2016-11-10 2017-12-20 カシオ計算機株式会社 再生制御装置、再生制御方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0321274A (ja) * 1989-03-08 1991-01-30 Matsushita Electric Ind Co Ltd スポーツ練習機
JP2015130151A (ja) * 2013-12-31 2015-07-16 コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド 感情および行動を認識するための方法およびシステム
WO2017187641A1 (ja) * 2016-04-28 2017-11-02 富士通株式会社 骨格推定装置、骨格推定方法および骨格推定プログラム
JP2018019816A (ja) * 2016-08-02 2018-02-08 セイコーエプソン株式会社 ゴルフスイング解析方法、ゴルフスイング解析装置、ゴルフスイング解析システム、ゴルフスイング解析プログラム及び記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022215116A1 (ja) * 2021-04-05 2022-10-13 富士通株式会社 情報処理プログラム、装置、及び方法

Also Published As

Publication number Publication date
JPWO2019229818A1 (ja) 2021-02-25
US11837255B2 (en) 2023-12-05
JP7070675B2 (ja) 2022-05-18
US20210082473A1 (en) 2021-03-18

Similar Documents

Publication Publication Date Title
US11132533B2 (en) Systems and methods for creating target motion, capturing motion, analyzing motion, and improving motion
US10486050B2 (en) Virtual reality sports training systems and methods
US11321894B2 (en) Motion control via an article of clothing
JP6915701B2 (ja) 抽出プログラム、抽出方法および情報処理装置
US10755466B2 (en) Method and apparatus for comparing two motions
JP7067561B2 (ja) 採点方法、採点プログラムおよび採点装置
US11182946B2 (en) Motion management via conductive threads embedded in clothing material
US20200193866A1 (en) Non-transitory computer readable recording medium, practice assist method, and practice assist system
US20110270135A1 (en) Augmented reality for testing and training of human performance
JP7205201B2 (ja) 表示方法、表示プログラムおよび情報処理装置
CN114078190B (zh) 健身运动的引导设备
US10307657B2 (en) Apparatus and method for automatically analyzing a motion in a sport
US11837255B2 (en) Display method, computer-readable recording medium recording display program, and information processing apparatus
JP2005198818A (ja) 身体動作の学習支援システム及び学習支援方法
CN111241359A (zh) 显示方法、信息处理设备和计算机可读记录介质
JP5521265B2 (ja) スウィング表示方法およびスウィング表示システム
US20230162458A1 (en) Information processing apparatus, information processing method, and program
JP2009034360A (ja) トレーニングシステムおよびトレーニングシステム用装置
KR102095647B1 (ko) 스마트기기를 이용한 동작 비교장치 및 동작 비교장치를 통한 댄스 비교방법
JP7419969B2 (ja) 生成方法、生成プログラムおよび情報処理装置
CN212724074U (zh) 健身运动的引导设备
JP2019083996A (ja) 動体反応確認システム
KR20040084173A (ko) 실시간 동작비교 방법 및 시스템
TW202039034A (zh) 虛擬實境的水中運動訓練裝置及其執行的方法

Legal Events

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

Ref document number: 18920478

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020521667

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18920478

Country of ref document: EP

Kind code of ref document: A1