WO2019035350A1 - 情報処理装置、情報処理方法、及び、プログラム - Google Patents

情報処理装置、情報処理方法、及び、プログラム Download PDF

Info

Publication number
WO2019035350A1
WO2019035350A1 PCT/JP2018/028554 JP2018028554W WO2019035350A1 WO 2019035350 A1 WO2019035350 A1 WO 2019035350A1 JP 2018028554 W JP2018028554 W JP 2018028554W WO 2019035350 A1 WO2019035350 A1 WO 2019035350A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion
data
unit
information processing
detection
Prior art date
Application number
PCT/JP2018/028554
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 EP18847028.0A priority Critical patent/EP3669958A4/en
Priority to US16/637,549 priority patent/US20200237264A1/en
Priority to CN201880051727.9A priority patent/CN110997093B/zh
Publication of WO2019035350A1 publication Critical patent/WO2019035350A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1123Discriminating type of movement, e.g. walking or running
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/63ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0002Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network
    • A61B5/0015Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network characterised by features of the telemetry system
    • A61B5/0024Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network characterised by features of the telemetry system for multiple sensor units attached to the patient, e.g. using a body or personal area network
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1113Local tracking of patients, e.g. in a hospital or private home
    • A61B5/1114Tracking parts of the body
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • A61B5/1128Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique using image analysis
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
    • A61B5/7267Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems involving training the classification device
    • 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
    • A63B69/00Training appliances or apparatus for special sports
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63JDEVICES FOR THEATRES, CIRCUSES, OR THE LIKE; CONJURING APPLIANCES OR THE LIKE
    • A63J5/00Auxiliaries for producing special effects on stages, or in circuses or arenas
    • A63J5/02Arrangements for making stage effects; Auxiliary stage appliances
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/30ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/30ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
    • 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/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • A63B2024/0012Comparing movements or motion sequences with a registered reference
    • A63B2024/0015Comparing movements or motion sequences with computerised simulations of movements or motion sequences, e.g. for generating an ideal template as reference to be achieved by the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training

Definitions

  • the present technology relates to an information processing apparatus, an information processing method, and a program, and more particularly to an information processing apparatus, an information processing method, and a program suitable for use in recognizing a motion of an object.
  • the motion related computing device estimates the motion rhythm of each user based on motion information from sensors attached to each of a plurality of users, and the degree of difference between the motion rhythm of each user and the motion rhythm as a basis
  • a system has been proposed which calculates the degree of difference in movement rhythms between users and feeds back the result to the users (see, for example, Patent Document 1).
  • Patent Document 1 it is not considered to recognize specific motions of each user, such as a dance technique.
  • the present technology has been made in view of such a situation, and makes it possible to easily and accurately recognize the motion of an object such as a person.
  • An information processing apparatus includes a required time estimation unit that estimates a first required time required for communication data to arrive at a subsequent apparatus, the communication data, and the first required time. And a transmission unit that transmits the required time information including the information to the device at the subsequent stage.
  • the information processing apparatus determines the object based on a plurality of detection data indicating motion of each of the detection positions detected at a plurality of detection positions of the object by a plurality of sensor devices. And control output of control data used to control processing corresponding to the motion of the object.
  • a program recognizes a motion of an object based on a plurality of detection data indicating a motion of each of the detection positions detected at a plurality of detection positions of the object by a plurality of sensor devices.
  • a computer is caused to execute processing including steps and an output control step of controlling output of control data used to control processing corresponding to the motion of the object.
  • the motion of the object is recognized based on a plurality of detection data indicating the movement of each of the detection positions respectively detected at a plurality of detection positions of the object by a plurality of sensor devices.
  • the output of control data used to control the process corresponding to the motion of is controlled.
  • the motion of an object such as a person can be easily and accurately recognized.
  • FIG. 1 is a block diagram showing a first embodiment of a motion recognition system to which the present technology is applied. It is a figure which shows the example of the mounting
  • FIG. 1 is a block diagram showing a first embodiment of a motion recognition device. It is a flow chart for explaining the 1st embodiment of processing of a wearable sensor. It is a figure which shows 1st Embodiment of the format of a communication packet. It is a table showing an example of composition of motion detection data.
  • FIG. 1 It is a figure which shows 3rd Embodiment of the format of a communication packet. It is a flowchart for demonstrating 3rd Embodiment of a process of a motion recognition apparatus. It is a block diagram showing a 4th embodiment of a motion recognition system to which this art is applied. It is a block diagram which shows the structural example of a repeater. It is a flowchart for demonstrating the process of a repeater. It is a figure which shows 4th Embodiment of the format of a communication packet. It is a block diagram showing an example of composition of a production system to which this art is applied. It is a block diagram showing an example of composition of a production control part. It is a flow chart for explaining production control processing. FIG.
  • FIG. 6 is a transition diagram showing the relationship between motion transition and sound effects. It is a figure which shows the example of the timing to which a sound effect is output. It is a block diagram showing an example of composition of an analysis system to which this art is applied. It is a block diagram showing an example of composition of an analysis processing part. It is a flow chart for explaining analysis processing. It is a figure which shows the 1st example of the presentation method of analysis processing. It is the figure which expanded the display content of the action analysis part. It is a figure which shows the 2nd example of the presentation method of analysis processing. It is a figure which shows the 3rd example of the presentation method of analysis processing.
  • FIG. 1 shows a configuration example of a motion recognition system 100 which is a first embodiment of a motion recognition system to which the present technology is applied.
  • the motion recognition system 100 is a system that performs recognition processing of a user's motion.
  • the motion is, for example, a unit of motion that constitutes an action of a user (person) based on a predetermined classification. Therefore, motion is a user's motion for a shorter time than an action. Also, the motion may be a motion of the whole body of the user or a motion of a part of the body of the user.
  • an action is an assembly of a series of motions based on a predetermined classification, and consists of a combination of a plurality of motions.
  • a set of motions for achieving a predetermined purpose is an action.
  • classifications of actions and motions can be arbitrarily set or changed. For example, based on sports events such as dance, ice skating, rugby, triathlon, swimming and mountain climbing, actions to be recognized as motion are classified. In this case, for example, it is possible to regard a sport combining multiple events such as gymnastic synthesis as one action.
  • an action whose motion is to be recognized is based on the action of daily life such as commuting, driving, work, studying, parenting, sleeping, cooking, eating, watching TV, singing, playing, photographing, etc. being classified.
  • motions to be recognized are classified based on dance skills such as slide, jerk, and bizmarque, for the action of dance.
  • the motion to be recognized is classified based on the movement of dance such as rotation, jump, step, roll, pitch and the like with respect to the action of dance.
  • the motion to be recognized may be classified based on both the dance technique and the movement.
  • motions to be recognized are classified based on the skills of figure skating such as Axel, Lutz, Sarkou.
  • motions to be recognized are classified based on the movement of figure skating such as sliding, rotating, jumping, stepping and the like.
  • the motion to be recognized may be classified based on both the technique and the movement of the figure skate.
  • motions to be recognized are classified based on rugby-specific movements such as scrum, try, run, pass, and tackle.
  • motions to be recognized are classified based on general motions such as running, jumping, throwing, catching, and colliding with an action of rugby. Note that motions to be recognized may be classified based on both rugby-specific movements and general movements.
  • motions to be recognized are classified based on the swimming method of swimming such as crawling, swimming, butterfly, and back swimming.
  • motions to be recognized are classified based on swimming movements such as dive, turn, breathing, kick and the like.
  • the motion to be recognized may be classified based on both the swimming method and the movement of swimming.
  • the motion to be recognized is classified based on the exercise event such as a horse, a floor, a hanging ring, and the like for the action of gymnastics integrated.
  • motions to be recognized are classified based on movements at the time of commuting such as walking, resting, taking a train, climbing stairs, etc., for the action of commuting.
  • the motion to be recognized is classified based on the movement during driving such as an accelerator, a brake, a gear change, and a backward check with respect to an action of driving.
  • motions to be recognized are classified based on movements at work such as speaking, listening, writing, telephone, using a PC, meeting, etc., for the action of work.
  • each eye of the triathlon can be an action for which motion is to be individually recognized. That is, swimming, cycling, or running may be classified as an action, and a motion recognition process may be performed for each action.
  • the motion recognition system 100 includes a wearable sensor 101-1 to a wearable sensor 101-6 and a motion recognition device 102.
  • the wearable sensor 101-1 to the wearable sensor 101-6 will be simply referred to as the wearable sensor 101 if it is not necessary to distinguish them individually.
  • Each wearable sensor 101 is a sensor device which is mounted at mutually different positions (hereinafter, referred to as detection points or detection positions) of users who are targets of motion recognition, and detects the movement of each detection point.
  • Each wearable sensor 101 transmits, to the motion recognition device 102, a communication packet including motion detection data indicating the detection result of the motion of each detection point.
  • the motion recognition device 102 is installed, for example, at a position away from the user. Then, the motion recognition device 102 performs recognition processing of the motion of the user based on the motion of each detection point of the user detected by each wearable sensor 101.
  • the motion recognition device 102 transmits control data (hereinafter referred to as motion control data) used to control a process corresponding to the motion of the user to a device at a later stage.
  • each wearable sensor 101 and the motion recognition device 102 for communication between each wearable sensor 101 and the motion recognition device 102, for example, low delay short distance wireless communication of an arbitrary system is adopted. By employing the short distance wireless communication, it is possible to reduce the power consumption of the wearable sensor 101 and to miniaturize the wearable sensor 101.
  • FIG. 2 schematically shows an example of the mounting position (detection point) of each wearable sensor 101.
  • the mounting position of each wearable sensor 101 is indicated by a circle.
  • the wearable sensor 101-1 is attached to the head of the user and detects the movement of the head.
  • the wearable sensor 101-2 is attached to the waist of the user and detects the motion of the waist. That is, the wearable sensor 101-1 and the wearable sensor 101-2 detect the movement, the center of gravity, the posture, and the like of the user's trunk.
  • the wearable sensor 101-3 is attached to the user's left wrist and detects movement of the left wrist.
  • the wearable sensor 101-4 is attached to the user's right wrist and detects movement of the right wrist. That is, the wearable sensor 101-3 and the wearable sensor 101-4 detect the movement of the user's hands and the snap of the wrist.
  • the wearable sensor 101-5 is attached to the user's left ankle and detects movement of the left ankle.
  • the wearable sensor 101-6 is attached to the user's right ankle to detect movement of the right ankle. That is, the wearable sensor 101-5 and the wearable sensor 101-6 detect the movement, step, and the like of the user's feet.
  • the motion of the user is recognized based on the interlocking movement of the user's trunk, the hands, and the feet.
  • the mounting number and mounting position of the wearable sensor 101 shown in FIGS. 1 and 2 are an example, and may be changed as appropriate depending on the type of motion to be recognized.
  • the wearable sensor 101 is attached to two or more of the user's head, torso, left hand, right hand, left foot, and right foot.
  • the method of mounting the wearable sensor 101 is not particularly limited. For example, bands, belts, supporters, tapes, clips and the like are used.
  • the mounting position of each wearable sensor 101 is prevented from moving as much as possible without disturbing the movement of the user or giving a sense of discomfort to the user. Is desirable.
  • FIG. 3 shows a configuration example of the wearable sensor 101 of FIG.
  • FIG. 4 shows an example of the specification of each sensor of the wearable sensor 101.
  • the wearable sensor 101 includes a High Dynamic Range (HDR) acceleration sensor 131, a Low Dynamic Range (LDR) acceleration sensor 132, a High Dynamic Range (HDR) gyro sensor 133, a Low Dynamic Range (LDR) gyro sensor 134, a geomagnetic sensor 135, and a distortion.
  • Sensor 136 barometric pressure sensor 137, time information acquisition unit 138, sensor data acquisition unit 139, merge processing unit 140, posture detection unit 141, correction unit 142, buffer 143, packet generation unit 144, transmission control unit 145, transmission unit 146 is provided.
  • the HDR acceleration sensor 131 detects accelerations in three axial directions of a pitch axis (x axis), a roll axis (y axis), and a yaw axis (z axis) of a position (detection point) at which the wearable sensor 101 is mounted. I do.
  • the HDR acceleration sensor 131 samples the acceleration of the detection point at a sampling frequency of 1024 Hz, and outputs 16-bit ⁇ 3-axis sensor data (hereinafter, referred to as HDR acceleration data).
  • the LDR acceleration sensor 132 detects accelerations in the directions of the pitch axis, the roll axis, and the yaw axis of the detection point. For example, the LDR acceleration sensor 132 samples the acceleration of the detection point at a sampling frequency of 1024 Hz, and outputs 16-bit ⁇ 3-axis sensor data (hereinafter referred to as LDR acceleration data).
  • the dynamic range of acceleration that can be detected by the HDR acceleration sensor 131 is wider than that of the LDR acceleration sensor 132.
  • the HDR acceleration sensor 131 outputs sensor data at ⁇ 32 G
  • the LDR acceleration sensor 132 outputs sensor data at ⁇ 16 G.
  • the HDR gyro sensor 133 detects angular velocity around the pitch axis of the detection point, around the roll axis, and around three axes around the yaw axis. For example, the HDR gyro sensor 133 samples the angular velocity of the detection point at a sampling frequency of 1024 Hz, and outputs 16-bit ⁇ 3-axis sensor data (hereinafter referred to as HDR angular velocity data).
  • the LDR gyro sensor 134 detects angular velocity around the pitch axis of the detection point, around the roll axis, and around three axes around the yaw axis. For example, the LDR gyro sensor 134 samples the angular velocity of the detection point at a sampling frequency of 1024 Hz, and outputs 16-bit ⁇ 3-axis sensor data (hereinafter referred to as LDR angular velocity data).
  • the dynamic range of the angular velocity that can be detected by the HDR gyro sensor 133 is wider than that of the LDR gyro sensor 134.
  • the HDR gyro sensor 133 outputs sensor data at ⁇ 4000 dps
  • the LDR gyro sensor 134 outputs sensor data at ⁇ 2000 dps.
  • the geomagnetic sensor 135 detects geomagnetism in the directions of the pitch axis, the roll axis, and the yaw axis around the detection point. For example, the geomagnetic sensor 135 samples the geomagnetism around the detection point at a sampling frequency of 128 Hz, and outputs 16-bit ⁇ 3-axis sensor data (hereinafter referred to as geomagnetic data).
  • the strain sensor 136 detects strain (for example, expansion and contraction of the detection point) in two axial directions of the pitch axis and the roll axis of the detection point.
  • the distortion sensor 136 samples distortion of a detection point at a sampling frequency of 256 Hz, and outputs 16-bit ⁇ 2-axis sensor data (hereinafter referred to as distortion data).
  • the pressure sensor 137 detects the pressure around the detection point. For example, the position in the height direction of the detection point is detected based on the pressure around the detection point. For example, the air pressure sensor 137 samples air pressure around the detection point at a sampling frequency of 128 Hz, and outputs 24-bit sensor data (hereinafter referred to as air pressure data).
  • the time information acquisition unit 138 includes, for example, a clock, acquires time information indicating the current time, and supplies the time information to the sensor data acquisition unit 139.
  • the sensor data acquisition unit 139 acquires HDR acceleration data, LDR acceleration data, HDR angular velocity data, and LDR angular velocity data from the HDR acceleration sensor 131, the LDR acceleration sensor 132, the HDR gyro sensor 133, and the LDR gyro sensor 134, respectively.
  • the acquired time is added to the acquired data, and the data is supplied to the merge processing unit 140.
  • the sensor data acquisition unit 139 acquires geomagnetic data from the geomagnetic sensor 135, adds the acquired time to the acquired data, and supplies the data to the attitude detection unit 141.
  • the sensor data acquisition unit 139 acquires distortion data and barometric pressure data from the distortion sensor 136 and the barometric pressure sensor 137, adds the acquired time to the acquired data, and supplies the data to the correction unit 142.
  • the merge processing unit 140 performs merge processing of HDR acceleration data and LDR acceleration data, and merge processing of HDR angular velocity data and LDR angular velocity data.
  • the merge processing unit 140 supplies the post-merged acceleration data and angular velocity data to the posture detection unit 141 and the buffer 143.
  • the attitude detection unit 141 detects the attitude of the detection point based on the acceleration data, the angular velocity data, and the geomagnetic data.
  • the posture of the detection point is represented, for example, by the Euler angle.
  • the attitude detection unit 141 supplies data indicating the calculation result (hereinafter, referred to as attitude data) to the buffer 143.
  • the correction unit 142 corrects distortion data and barometric pressure data, and supplies the corrected distortion data and barometric pressure data to the buffer 143.
  • the buffer 143 temporarily accumulates posture data, acceleration data, angular velocity data, distortion data, and barometric pressure data.
  • the packet generation unit 144 generates a communication packet for transmitting data (hereinafter referred to as motion detection data) including posture data, acceleration data, angular velocity data, distortion data, and barometric pressure data stored in the buffer 143. , And supplies it to the transmission control unit 145.
  • data hereinafter referred to as motion detection data
  • posture data including posture data, acceleration data, angular velocity data, distortion data, and barometric pressure data stored in the buffer 143.
  • the transmission control unit 145 controls the transmission of the communication packet by the transmission unit 146.
  • the transmitting unit 146 transmits a communication packet to the motion recognition apparatus 102 by wireless communication of a predetermined scheme.
  • each part of the wearable sensor 101 is driven by a battery, for example.
  • FIG. 5 shows a configuration example of the motion recognition apparatus 102.
  • the motion recognition apparatus 102 includes a reception unit 161, a packet restoration unit 162, a buffer 163, a sample data generation unit 164, a motion recognition unit 165, a transmission control unit 166, and a transmission unit 167.
  • the reception unit 161 receives a communication packet from each wearable sensor 101 by wireless communication of a method corresponding to the transmission unit 146 of each wearable sensor 101, and supplies the communication packet to the packet recovery unit 162.
  • the packet restoration unit 162 restores the communication packet of each wearable sensor 101, associates motion detection data included in the communication packet with the time stamp, and supplies the time stamp to the buffer 163.
  • the buffer 163 temporarily accumulates motion detection data and a time stamp extracted from the communication packet of each wearable sensor 101.
  • the sample data generation unit 164 generates sample data to be used for the motion recognition process using the motion detection data stored in the buffer 163, and supplies the sample data to the motion recognition unit 165.
  • the motion recognition unit 165 performs recognition processing of the motion of the user based on the sample data, using a motion recognition model which is a model used for recognition of the motion of the user.
  • the motion recognition unit 165 supplies the transmission control unit 166 with the recognition result of the motion of the user.
  • the transmission control unit 166 generates motion control data based on the recognition result of the motion of the user, and controls transmission of the motion control data by the transmission unit 167. That is, the transmission control unit 166 controls the output of motion control data from the motion recognition device 102.
  • the transmitting unit 167 transmits the motion control data to the downstream apparatus by wireless communication or wired communication of a predetermined system.
  • step S1 the sensor data acquisition unit 139 starts acquisition of sensor data.
  • the sensor data acquisition unit 139 includes HDR acceleration data, LDR acceleration data, HDR angular velocity data, and LDR from the HDR acceleration sensor 131, the LDR acceleration sensor 132, the HDR gyro sensor 133, and the LDR gyro sensor 134, respectively.
  • the angular velocity data is acquired, the acquired data is added with the acquired time, and processing to be supplied to the merge processing unit 140 is started.
  • the sensor data acquisition unit 139 acquires geomagnetic data from the geomagnetic sensor 135, adds the acquired time to the acquired data, and starts processing for supplying the acquired data to the attitude detection unit 141.
  • the sensor data acquisition unit 139 acquires distortion data and barometric pressure data from the distortion sensor 136 and the barometric pressure sensor 137, adds the acquired time to the acquired data, and starts processing for supplying the data to the correction unit 142.
  • step S2 the merge processing unit 140 starts merge processing of acceleration data and angular velocity data.
  • the merge processing unit 140 merges (synthesizes) the HDR acceleration data and the LDR acceleration data, supplies the merged acceleration data to the buffer 143, and starts processing for accumulation.
  • data based on LDR acceleration data is used as data within the dynamic range of LDR acceleration data, and data based on HDR acceleration data is used as data in other ranges. used.
  • the detection accuracy of the acceleration within the dynamic range of the LDR acceleration data is improved.
  • the merge processing unit 140 merges (synthesizes) the HDR angular velocity data and the LDR angular velocity data, supplies the merged angular velocity data to the buffer 143, and starts processing for accumulation.
  • angular velocity data after merging data based on LDR angular velocity data is used as data within the dynamic range of LDR angular velocity data, and data based on HDR angular velocity data is used as data in other ranges. used. Thereby, in the angular velocity data after merging, detection accuracy of the angular velocity within the dynamic range of LDR angular velocity data is improved.
  • step S3 the posture detection unit 141 starts detection of the posture. Specifically, based on acceleration data, angular velocity data, and geomagnetic data, the posture detection unit 141 performs Euler around the pitch axis, the roll axis, and the three axes around the yaw axis, which indicate the attitude of the detection point. Start the process of detecting corners. Further, the posture detection unit 141 supplies posture data indicating a detection result to the buffer 143, and starts processing for storage.
  • step S4 the correction unit 142 starts correction of distortion data and barometric pressure data.
  • the correction unit 142 starts processing such as noise removal of distortion data and barometric pressure data, data size conversion, and the like.
  • the correction unit 142 supplies the distortion data and the barometric pressure data after correction to the buffer 143 and starts processing for accumulating.
  • step S5 the packet generation unit 144 determines whether it is time to transmit a communication packet. This determination process is repeatedly executed until it is determined that it is the timing to transmit the communication packet, and when it is determined that it is the timing to transmit the communication packet, the process proceeds to step S6.
  • communication packets are transmitted at predetermined intervals.
  • the communication packet is transmitted at a transmission frequency of 128 Hz (ie, 128 times per second).
  • the sampling frequency of motion detection data included in the communication packet is 128 Hz.
  • step S6 the packet generation unit 144 generates a communication packet.
  • the packet generation unit 144 reads the latest attitude data, acceleration data, angular velocity data, distortion data, and pressure data from the buffer 143.
  • the packet generation unit 144 acquires time information indicating the current time from the time information acquisition unit 138. Then, the packet generation unit 144 generates a communication packet including the attitude data, the acceleration data, the angular velocity data, the distortion data, and the barometric pressure data read from the buffer 143.
  • FIG. 7 shows an example of the format of the communication packet generated by the packet generator 144.
  • the communication packet includes a header, a time stamp, and motion detection data.
  • the time when sensor data was acquired is set in the time stamp.
  • the earliest time among the acquisition times of each sensor data used for the movement detection data in the communication packet is set as the time when the sensor data is acquired.
  • a time stamp time when sensor data is acquired
  • the format of the communication packet is, for example, a header, time stamp 1, data 1 included in motion detection data (for example, posture data), time stamp 2, data 2 included in motion detection data (for example, acceleration data) , ⁇ become that way.
  • the motion detection data includes posture data, acceleration data, angular velocity data, distortion data, and barometric pressure data read from the buffer 143.
  • the motion detection data is encrypted by, for example, a predetermined method.
  • FIG. 8 shows a specification example of each data included in the motion detection data.
  • the size of the attitude data is, for example, 16 bits ⁇ 3 axes.
  • the transmission frequency of the communication packet is 128 Hz
  • the sampling frequency of the attitude data is 128 Hz
  • the bit rate is 6,144 bps (bit per second).
  • the size of acceleration data is, for example, 20 bits ⁇ 3 axes.
  • the transmission frequency of the communication packet is 128 Hz
  • the sampling frequency of the acceleration data is 128 Hz
  • the bit rate is 7,680 bps.
  • the size of angular velocity data is, for example, 20 bits ⁇ 3 axes.
  • the transmission frequency of the communication packet is 128 Hz
  • the sampling frequency of the angular velocity data is 128 Hz
  • the bit rate is 7,680 bps.
  • the size of distortion data is, for example, 16 bits ⁇ 2 axes.
  • the transmission frequency of the communication packet is 128 Hz
  • the sampling frequency of the distortion data is 128 Hz
  • the bit rate is 4096 bps.
  • the pressure data size is, for example, 24 bits.
  • the transmission frequency of the communication packet is 128 Hz
  • the sampling frequency of barometric pressure data is 128 Hz
  • the bit rate is 2,048 bps.
  • the packet generation unit 144 supplies the communication packet to the transmission control unit 145. Also, the packet generation unit 144 deletes, from the buffer 143, each data to be transmitted by the communication packet and data older than that.
  • step S7 the transmission unit 146 transmits the communication packet to the motion recognition apparatus 102 under the control of the transmission control unit 145.
  • step S5 Thereafter, the process returns to step S5, and the processes after step S5 are performed.
  • step S31 the reception unit 161 starts reception of the communication packet. That is, the reception unit 161 receives the communication packet transmitted from each wearable sensor 101, and starts the process of supplying the received communication packet to the packet recovery unit 162.
  • step S32 the packet recovery unit 162 starts recovery of the communication packet. For example, after decoding the motion detection data included in the communication packet received from each wearable sensor 101, the packet recovery unit 162 associates the motion detection data with the time stamp included in the communication packet, and Start processing to supply and accumulate.
  • step S33 the sample data generation unit 164 determines whether it is time to perform the motion recognition process. This determination process is repeatedly executed until it is determined that it is time to perform the motion recognition process, and when it is determined that it is time to perform the motion recognition process, the process proceeds to step S34.
  • the motion recognition process is performed at predetermined intervals.
  • the motion recognition process is performed at the same frequency as the transmission frequency of the communication packet (for example, 128 times per second).
  • step S34 the sample data generation unit 164 extracts motion detection data with close time stamps.
  • the sample data generation unit 164 has the time stamps of motion detection data of all detection points while going back from the current time to the past direction. A time zone that falls within a predetermined time (for example, several milliseconds) is detected. Then, the sample data generation unit 164 extracts motion detection data whose time stamp is included in the time zone. As a result, motion detection data close in time stamp is extracted for each detection point. That is, motion detection data corresponding to the motion detected at substantially the same timing at each detection point is extracted.
  • a predetermined time for example, several milliseconds
  • the time zone Motion detection data may be extracted. In this case, motion detection data of some detection points are lost.
  • the width of the time period for extracting motion detection data may be expanded so that motion detection data of all detection points are extracted.
  • step S35 the sample data generation unit 164 generates sample data using the extracted motion detection data. Specifically, the sample data generation unit 164 generates sample data including motion detection data of each detection point extracted in the process of step S34, and supplies the sample data to the motion recognition unit 165. In addition, the sample data generation unit 164 deletes the extracted motion detection data and the motion detection data whose time stamp is older than the extracted motion detection data from the buffer 163.
  • step S36 the motion recognition unit 165 performs a motion recognition process based on the sample data.
  • the motion recognition unit 165 recognizes the motion of the user based on the posture, acceleration, angular velocity, distortion (expansion and contraction), and barometric pressure (height) of each detection point of the user using the motion recognition model.
  • the motion recognition model is, for example, a model that recognizes the motion of the user based on the relationship of movement between the detection points of the user (for example, the interlocking property of the detection points).
  • the motion recognition model is generated by, for example, prior learning processing.
  • a learning method of the motion recognition model any method such as a recursive neural network (RNN) can be adopted.
  • RNN recursive neural network
  • the motion recognition unit 165 supplies the transmission control unit 166 with the recognition result of the motion of the user.
  • step S37 the motion recognition device 102 transmits the recognition result.
  • the transmission control unit 166 generates motion control data based on the recognition result of the motion of the user, and supplies the motion control data to the transmission unit 167.
  • the motion control data includes, for example, at least one of the recognition result of the motion of the user and control information of a process corresponding to the recognized motion.
  • motion detection data of each detection point used for motion recognition may be included in the motion control data. This makes it possible to detect the details of the recognized motion based on the motion detection data in the subsequent device.
  • the transmission unit 167 transmits the motion control data to a downstream device, for example, a smartphone, a personal computer, various systems, and the like.
  • transmission of motion control data may be performed by intermittent transmission.
  • motion control data may be transmitted at the timing when the recognition result of motion changes. Thereby, the power consumption of the motion recognition apparatus 102 can be reduced.
  • a motion control data transmission protocol for example, a general-purpose protocol such as a human interface device (HID) or a music instrument digital interface (MIDI) may be used. This makes it possible to use existing software or the like in the subsequent device.
  • HID human interface device
  • MIDI music instrument digital interface
  • step S33 Thereafter, the process returns to step S33, and the processes after step S33 are performed.
  • the motion of the user can be easily and accurately recognized.
  • the motion recognition system 100 recognizes up to the type of motion of the user (for example, meaning information of motion), and does not perform detailed motion recognition of each motion.
  • the number of wearable sensors 101 can be reduced by limiting the recognition to the type of motion of the user based on the predetermined classification. As a result, the burden on the user can be reduced as compared with the conventional motion capture system used in CG (Computer Graphics) or the like. For example, even if the user wears the wearable sensor 101, the user can perform almost normal movement with almost no restriction on movement.
  • CG Computer Graphics
  • motion recognition can be performed without regard to the installation position of the camera, the shooting range, the shooting conditions, and the like.
  • the motion of the user in the dark, in the sea eg, windsurfing, etc.
  • the user who is the recognition target can wear clothes or a costume of a desired color or design without worrying about the relationship with the set of the stage, the background, and the like.
  • the installation position of the camera is limited by the structure of the stage, the effect, or the like, and as a result, the recognizable range of the motion of the user is not limited.
  • motion recognition system 100 for each user, it is possible to individually recognize the motion of each user without being affected by other users. For example, in dance performances in a group, motions of individual performers can be recognized, or motions of specific performers can be recognized.
  • each sensor of the wearable sensor 101 is faster than the frame rate of a general camera, it is possible to recognize faster user motion. For example, fast movements such as dance turns and steps can be accurately recognized.
  • a camera may be provided in the motion recognition system 100, and the position of the user may be detected based on an image captured by the camera.
  • at least one of the wearable sensors 101 may be provided with a device capable of detecting position information of the user such as a GNSS (Global Navigation Satellite System) receiver, and the position of the user may be detected.
  • GNSS Global Navigation Satellite System
  • FIG. 13 illustrates a configuration example of a learning system 200 that is an embodiment of a learning system to which the present technology is applied.
  • symbol is attached
  • the learning system 200 is a system that performs learning processing of a motion recognition model applied to the motion recognition unit 165 of the motion recognition apparatus 102.
  • the learning system 200 includes wearable sensors 101-1 to 101-6 and a learning processing device 201.
  • the learning processing device 201 performs learning processing of a motion recognition model based on motion detection data included in the communication packet transmitted from each wearable sensor 101.
  • FIG. 14 shows a configuration example of the information processing device 220 applicable to the learning processing device 201 of FIG.
  • the information processing device 220 is configured by, for example, a personal computer, a smartphone, a tablet, or the like.
  • the information processing device 220 includes a central processing unit (CPU) 221, a read only memory (ROM) 222, a random access memory (RAM) 223, a bus 224, an input / output interface 225, an input unit 226, an output unit 227, a storage unit 228, A communication unit 229, a drive 230, and a removable medium 231 are provided.
  • the CPU 221, the ROM 222, and the RAM 223 are mutually connected by a bus 224. Further, an input / output interface 225 is connected to the bus 224. An input unit 226, an output unit 227, a storage unit 228, a communication unit 229, and a drive 230 are connected to the input / output interface 225.
  • the input unit 226 includes, for example, a keyboard, a mouse, a microphone and the like.
  • the output unit 227 includes, for example, a display, a speaker, and the like.
  • the storage unit 228 includes, for example, a hard disk, a non-volatile memory, and the like.
  • the communication unit 229 includes, for example, a wireless or wired communication device, a network interface, and the like.
  • the drive 230 drives removable media 231 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 221 loads various programs stored in the storage unit 228, for example, into the RAM 243 via the input / output interface 225 and the bus 224, and executes various processes.
  • the program executed by the information processing device 220 can be provided by being recorded on, for example, the removable media 231 as a package media or the like. Also, the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 228 via the input / output interface 225 by attaching the removable media 231 to the drive 230. Also, the program can be received by the communication unit 229 via a wired or wireless transmission medium and installed in the storage unit 228. In addition, the program can be installed in advance in the ROM 202 or the storage unit 228.
  • bus 224 and the input / output interface 225 will be omitted as appropriate.
  • the CPU 221 and the communication unit 229 transmit and receive data via the bus 224 and the input / output interface 225, it is simply described that the CPU 221 and the communication unit 229 transmit and receive data.
  • FIG. 15 shows a configuration example of the learning processing unit 251 realized by the CPU 221 of the information processing device 220 executing a predetermined control program.
  • the learning processing unit 251 includes a packet restoration unit 261, a buffer 262, a sample data generation unit 263, a buffer 264, a learning data generation unit 265, a learning unit 266, and a UI (user interface) control unit 267.
  • the packet recovery unit 261 restores the communication packet of each wearable sensor 101 as in the packet recovery unit 162 of FIG. 5, associates motion detection data included in the communication packet with the time stamp, and supplies it to the buffer 262.
  • the buffer 262 temporarily accumulates motion detection data extracted from the communication packet of each wearable sensor 101.
  • the sample data generation unit 263 generates sample data using the motion detection data stored in the buffer 262 as in the sample data generation unit 164 of FIG. 5 and supplies the sample data to the buffer 264.
  • the buffer 264 temporarily accumulates sample data.
  • the learning data generation unit 265 generates learning data by adding a label to the sample data accumulated in the buffer 264, and supplies the learning data to the learning unit 266.
  • the label indicates, for example, the type of motion of the user when motion detection data included in sample data is detected.
  • the learning unit 266 performs a learning process of the motion recognition model based on the learning data. Note that any learning method can be adopted for the learning process of the motion recognition model.
  • the UI control unit 267 controls the output unit 227 based on a user input or the like input via the input unit 226 to control a user interface when performing a motion recognition model learning process.
  • the motion registration process is a process of registering a motion to be newly recognized by the motion recognition model.
  • the motion registration process is a process of registering a motion to be newly recognized by the motion recognition model.
  • step S101 the learning processing unit 251 receives selection of a point of interest.
  • the output unit 227 displays the window W1 of FIG. 17 under the control of the UI control unit 267.
  • a portion (detection point) on which the user wears the wearable sensor 101 is indicated by a circle. Then, the user selects a target point from the detection points via the input unit 226.
  • the target point is a detection point (part) to be particularly focused in the motion to be registered.
  • a detection point in a portion that exhibits the feature of the motion to be registered particularly prominent is selected as the point of interest. Then, for example, in the learning process, the movement of the focus point is more important than the movement of other detection points.
  • both wrists are selected as the point of interest.
  • the UI control unit 267 acquires the selection result of the focus point from the input unit 226 and supplies the result to the learning unit 266.
  • step S102 the learning processing unit 251 receives setting of tempo.
  • the output unit 227 displays the window W2 of FIG. 17 under the control of the UI control unit 267.
  • a slider 281 for setting the tempo of the click sound when registering a motion is displayed.
  • the user moves the slider 281 left and right via the input unit 226 to set the tempo when registering a motion.
  • the tempo is set to 120 bpm (beats per minute).
  • the UI control unit 267 acquires the setting result of the tempo from the input unit 226.
  • step S103 the learning processing unit 251 receives the setting of the timing of registering the motion.
  • the output unit 227 displays the window W3 of FIG. 17 under the control of the UI control unit 267.
  • round numbers 1 to 4 indicating a click sound of four beats are displayed.
  • characters such as "pips" above the circled numbers indicate click sounds output at each beat, and are not actually displayed.
  • the user sets the timing for registering a motion via the input unit 226.
  • an example is shown in which motion is registered between the click sound of the first beat and the second beat. That is, the period from the output of the click sound of the first beat to the output of the click sound of the second beat is set as the motion registration period.
  • the volume of the click sound of the first and second beats increases, and the volume of the click sound of the third and fourth beats decreases.
  • the UI control unit 267 acquires the setting result of the tempo from the input unit 226.
  • step S104 the motion recognition system 100 receives registration of motion.
  • the output unit 227 displays the window W4 of FIG. 17 under the control of the UI control unit 267, and presents timing to start registration of motion. Then, the output unit 227 displays the window W5 of FIG. 17 at the start timing of the motion registration under the control of the UI control unit 267, and outputs the click sound at the set tempo. Start. As described above, the click sound increases in volume at the first and second beats and decreases in volume at the third and fourth beats.
  • a speaker may be incorporated in some of the wearable sensors 101, and a click sound may be output from the speaker.
  • the user performs a motion to be registered during the motion registration period between the click sound of the first beat and the second beat. For example, the user starts the motion when the click sound of the first beat is output, and ends the motion when the click sound of the second beat is output. Thereby, the user can input motion to the learning system 200 with certainty. Also, the user can perform motion registration while enjoying the game feeling.
  • the click sound may be output in accordance with the user's desired music so that the user can register the motion while having more fun.
  • Each wearable sensor 101 starts processing of transmitting a communication packet including motion detection data indicating the motion of each detection point at a predetermined cycle, by the processing described above with reference to FIG.
  • the communication unit 229 of the information processing device 220 receives the communication packet from each wearable sensor 101, and starts the process of supplying the communication packet to the packet recovery unit 261.
  • the packet restoration unit 261 restores the communication packet of each wearable sensor 101 by the same processing as step S32 in FIG. 9, associates motion detection data included in the communication packet with the time stamp, and supplies it to the buffer 262 for storage. Start processing.
  • the sample data generation unit 263 generates sample data using the motion detection data stored in the buffer 262 by the same processing as steps S34 and S35 in FIG. 9, and supplies the sample data to the buffer 264 for storage. To start. At this time, for example, sample data is generated using only motion detection data detected between click sounds of the first and second beats.
  • step S105 the learning processing unit 251 performs learning of motion. Specifically, the learning data generation unit 265 generates learning data by adding a label indicating the type of motion to be newly registered to the sample data stored in the buffer 264, and supplies the learning data to the learning unit 206. To start.
  • the learning unit 206 starts learning processing for registering a new motion in the motion recognition model based on the acquired learning data.
  • the learning unit 206 performs learning processing by making the weight of the motion detection data of the focus point greater than the weight of motion detection data of another detection point. That is, the learning unit 206 performs learning processing by weighting between detection points.
  • the output unit 227 displays the window W6 of FIG. 17 under the control of the UI control unit 267, notifies completion of the motion registration, and clicks at the time of registration Outputs a click sound that is different from the sound.
  • the information processing device 220 presents the reliability.
  • the learning unit 206 calculates the reliability of the motion registered this time by a predetermined method.
  • the degree of reliability of the motion is calculated based on, for example, the amount of learning data used for registering the motion, the variance of sample data included in the learning data, and the probability of erroneous determination of other motions. And, the higher the reliability of the motion, the higher the recognition accuracy of the motion, and the higher the reliability of the motion, the lower the recognition accuracy of the motion.
  • the output unit 227 displays the window W7 of FIG. 17 under the control of the UI control unit 267, and presents the reliability of the motion registered this time. Also, if the motion reliability is not sufficient, for example, a message indicating that a little more learning data is required is displayed. Thus, for example, the user can determine whether it is necessary to learn more, or whether to change the motion in order to clarify the difference from other motions.
  • the user can easily register new motions while enjoying the easy-to-understand user interface.
  • registration of motion is made efficient, and for example, it becomes possible to register new motion with less recognition data with high recognition accuracy.
  • FIG. 18 is a diagram showing an example in which the genres of dance are organized.
  • the genre of dance is represented by a hierarchical structure. That is, the generation time is as old as the lower genre in the figure, and the generation time is newer as the upper genre. And a new genre is created based on the old genre.
  • combining or refining old genre skills will produce some of the new genre skills.
  • some of the new genre skills will include the features of the old genre dance skills. Therefore, older genres have more influence on other genres, and newer genres have less influence on other genres.
  • jazz, rock, pop and break are genres created based on soul.
  • Middle school is a genre created based on jazz, rock, pop and break.
  • Girls and House are genres created based on middle school respectively.
  • News Cool is a genre created based on girls and house.
  • dance skills can also be represented by a hierarchical structure, as shown in FIG. In FIG. 19, the relationship between dance techniques is indicated by arrows. That is, among the techniques connected by the arrow, the original technique of the arrow is affected by the technique at the tip of the arrow. For example, jerks are affected by slides and worms. More specifically, the technique of combining slides and worms is jerk.
  • real-time motion recognition may be required. That is, it may be required to shorten the time required for the user to recognize a certain motion (hereinafter referred to as a delay time) as much as possible after the user performs a certain motion. For example, when performing stage performance following a performer's movement, when immediately giving feedback on a player's movement recognition result in sports training, etc., when inputting a command by a player's movement in a game in which real-time performance is emphasized Etc.
  • the probability that a state where communication packets (motion detection data) from some wearable sensors 101 are lost may occur. Becomes higher. That is, the probability that the motion recognition apparatus 102 is not notified of the motion of some of the detection points is increased.
  • the motion recognition unit 165 of the motion recognition apparatus 102 recognizes the motion of the user based on the motions of the plurality of detection points of the user. Therefore, even if communication packets of some detection points are lost and motions of the detection points are not notified, it is often the case that the motion of the user can be accurately recognized based on the motions of other detection points.
  • learning processing of a motion recognition model is performed using learning data in which motion detection data of each detection point is partially lost according to a method such as dropout. Is considered.
  • FIG. 20 shows a part of an example of such learning data.
  • FIG. 20 shows an example of waveforms of angular velocity data and acceleration data among motion detection data of each detection point included in learning data.
  • the horizontal axis of each graph indicates time, and the vertical axis indicates angular velocity or acceleration.
  • the waveform of the angular velocity data of each detection point and the waveform of the acceleration data are almost the same, in actuality, the waveforms are different among the detection points.
  • the shaded portions in each graph in the figure indicate portions where motion detection data is missing. As described above, by performing learning processing using learning data in which motion detection data of each detection point is partially lost, a motion recognition model that is robust against loss of motion detection data is constructed.
  • the motion detection data is lost so as to be closer to the actual situation. It is desirable to use training data that has been
  • the number of retransmissions of communication packets between each wearable sensor 101 and the motion recognition device 102 is limited after using a motion recognition model that is robust against the loss of motion detection data.
  • the transmission interval of the communication packet is about 7.8 milliseconds.
  • FIG. 21 is a graph showing the relationship between the loss rate of motion detection data and the recognition accuracy (F value) of motion.
  • the horizontal axis indicates the data loss rate (unit:%), and the vertical axis indicates the recognition accuracy.
  • FIG. 22 shows an example of the relationship between the upper limit value of the number of retransmissions of the communication packet, the loss rate of motion detection data, the maximum delay time of the communication packet, and the recognition accuracy (F value) of motion.
  • the loss rate of motion detection data is 2.5%
  • the maximum delay time is 11.7 milliseconds
  • the motion recognition accuracy is 0.90.
  • the loss rate of motion data increases to 5.0%, and the motion recognition accuracy decreases to 0.85.
  • the maximum delay time is reduced to 7.8 milliseconds.
  • the loss rate of motion data increases to 8.0%, and the recognition accuracy of motion decreases to 0.80.
  • the maximum delay time is reduced to 3.9 milliseconds.
  • the real-time nature of motion recognition is not so important, the number of motion retransmissions is increased to three. As a result, the user's motion recognition accuracy can be improved, and an application that more appropriately follows the user's motion can be realized.
  • the number of wearable sensor 101 mounted for example, as shown in FIG. 23, the number of wearable sensor 101 mounted, the size of motion detection data, and the sampling frequency of motion detection data as elements contributing to real-time performance of motion recognition. There is (transmission frequency of communication packet).
  • the number of wearable sensors 101 when the number of wearable sensors 101 is reduced, the number of time divisions accommodated decreases, so that it is possible to increase the sampling frequency of motion detection data (transmission frequency of communication packets) without changing the number of retransmissions of communication packets. As a result, the cycle of the motion recognition process is shortened, and the delay time is reduced, so that the real time nature of the motion recognition is improved.
  • the number of wearable wearable sensors 101 is reduced, the detection point decreases, and the motion recognition accuracy decreases.
  • the number of wearable sensors 101 is increased, the real-time property of motion recognition decreases, but the motion recognition accuracy improves.
  • the sampling frequency of the motion detection data may be increased without changing the number of retransmissions of the communication packet. it can.
  • the cycle of the motion recognition process is shortened, and the delay time is reduced, so that the real time nature of the motion recognition is improved.
  • the size of the motion detection data is reduced, the size of each data included in the motion detection data is reduced, and the resolution of acceleration, angular velocity, and the like is reduced. As a result, the motion recognition accuracy is reduced.
  • the size of the motion detection data is increased, the real-time nature of motion recognition is reduced, but the motion recognition accuracy is improved.
  • the sampling frequency of the motion detection data transmission frequency of communication packet
  • the cycle of motion recognition processing becomes short and the delay time decreases, so that the real time property of motion recognition is improved.
  • the transmission cycle of the communication packet becomes short, when the delay time is set within the transmission cycle of the communication packet, it is necessary to reduce the number of retransmissions of the communication packet. As a result, the data loss rate increases and the motion recognition accuracy decreases.
  • the sampling frequency of motion detection data is lowered, the real-time nature of motion recognition will decrease, but the motion recognition accuracy will improve.
  • the number of times of communication packet retransmission, the number of wearable sensor 101 mounted, the size of motion detection data, and the sampling frequency of motion detection data are determined based on which of real time motion recognition and motion recognition accuracy are to be emphasized. It is desirable to be able to adjust one or more of This enables the motion recognition system 100 to appropriately cope with both applications requiring real-time performance and applications requiring recognition accuracy.
  • motion recognition is performed based on the relationship of movement between detection points of the user. Therefore, in order to improve the motion recognition accuracy, it is important to synchronize the timing of detecting the motion of each detection point as much as possible. Alternatively, it is important to perform motion recognition processing using motion detection data detected at each detection point at the same timing as possible.
  • motion recognition processing is performed using motion detection data detected at each detection point at the same timing as much as possible based on the time stamp of each communication packet.
  • synchronization processing of time between the time information acquisition units 138 of each wearable sensor 101 is required by some method.
  • this time synchronization processing needs to be performed, for example, each time the power of each wearable sensor 101 is turned on, and the processing load becomes high.
  • more complicated processing is required.
  • the detection timing of the motion detection data of each detection point used in the motion recognition processing does not necessarily have to be strictly simultaneous, and a certain degree of deviation (for example, within several milliseconds or within one sample) is allowed There are many cases.
  • motion detection data detected at the same timing as possible at each detection point by controlling the timing at which each wearable sensor detects motion detection data on the motion recognition device side. Is used to perform motion recognition processing.
  • FIG. 24 shows a configuration example of a motion recognition system 300 which is a second embodiment of a motion recognition system to which the present technology is applied.
  • the motion recognition system 300 includes a wearable sensor 301-1 to a wearable sensor 301-6 and a motion recognition device 302.
  • the wearable sensor 301-1 to the wearable sensor 301-6 are simply referred to as the wearable sensor 301 when it is not necessary to distinguish them individually.
  • the wearable sensors 301 are attached to different detection points of the user, similarly to the wearable sensors 101 of FIG. Each wearable sensor 301 detects the movement of each detection point under the control of the motion recognition device 302, and transmits a communication packet including the detection result to the motion recognition device 302.
  • the motion recognition device 302 recognizes the motion of the user based on motion detection data of each detection point included in the communication packet received from each wearable sensor 301.
  • the motion recognition device 302 transmits motion control data based on the recognition result of the motion of the user to the subsequent device.
  • FIG. 25 shows a configuration example of the wearable sensor 301 of FIG.
  • parts corresponding to the wearable sensor 101 in FIG. 3 are given the same reference numerals, and the description thereof will be omitted as appropriate.
  • the wearable sensor 301 is provided with a packet generation unit 331 and a transmission control unit 334 instead of the packet generation unit 144 and the transmission control unit 145, and a buffer 332 and a reception unit 333 are added. The difference is that the information acquisition unit 138 is deleted.
  • the packet generation unit 331 generates a communication packet for transmitting motion detection data including posture data, acceleration data, angular velocity data, distortion data, and barometric pressure data stored in the buffer 143, and supplies the communication packet to the buffer 332. .
  • the buffer 332 temporarily accumulates communication packets.
  • the reception unit 333 receives a transmission request signal for requesting transmission of a communication packet from the motion recognition apparatus 302 by wireless communication of the same system as the transmission unit 146, and supplies the transmission request unit 334 with the transmission request signal.
  • the transmission control unit 334 controls the transmission of the communication packet by the transmission unit 146.
  • FIG. 26 shows an example of the configuration of the motion recognition apparatus 302 shown in FIG.
  • parts corresponding to those of the motion recognition apparatus 102 in FIG. 5 are given the same reference numerals, and the description thereof will be omitted as appropriate.
  • the motion recognition apparatus 302 is different from the motion recognition apparatus 102 in that a communication control unit 361 and a transmission unit 362 are added and a buffer 163 is deleted.
  • the communication control unit 361 generates a transmission request signal that requests each wearable sensor 301 to transmit a communication packet, and supplies the transmission request signal to the transmission unit 362. Also, the communication control unit 361 supplies the communication packet from each of the wearable sensors 301 supplied from the reception unit 161 to the packet recovery unit 162.
  • the transmitting unit 362 transmits a transmission request signal to each wearable sensor 301 by wireless communication of a method corresponding to the receiving unit 333 of each wearable sensor 301.
  • This process starts, for example, when the power of the motion recognition device 302 is turned on, and ends when the motion recognition device 302 is turned off.
  • step S201 the communication control unit 361 sets the value of the variable i to one.
  • step S202 the motion recognition device 302 requests the i-th wearable sensor (wearable sensor 301-i) to transmit a communication packet.
  • the communication control unit 361 generates a transmission request signal for requesting the wearable sensor 301-i to transmit a communication packet, and supplies the transmission request signal to the transmission unit 362.
  • the transmitter 362 transmits a transmission request signal to the wearable sensor 301-i.
  • the wearable sensor 301-i receives the transmission request signal in step S236 of FIG. 28 described later, and transmits the communication packet in step S237.
  • step S203 the reception unit 161 receives a communication packet from the ith wearable sensor (wearable sensor 301-i).
  • the receiving unit 161 supplies the received communication packet to the communication control unit 361.
  • the communication control unit 361 supplies the communication packet to the packet recovery unit 162.
  • step S204 the packet recovery unit 162 restores the communication packet.
  • the packet recovery unit 162 decodes the motion detection data included in the acquired communication packet, and then supplies the motion detection data to the sample data generation unit 164.
  • step S205 the communication control unit 361 increments the value of the variable i by one.
  • step S206 the communication control unit 361 determines whether the value of the variable i is equal to or less than a constant M.
  • step S206 the process of steps S202 to S206 is repeatedly executed until it is determined that the value of the variable i exceeds the constant M. Accordingly, transmission of communication packets is requested to all wearable sensors 301 in order, and communication packets are received from each wearable sensor 301 in order.
  • the next wearable sensor 301 may be requested to transmit the communication packet.
  • step S206 when it is determined in step S206 that the value of the variable i exceeds the constant M, the process proceeds to step S207.
  • step S207 the sample data generation unit 164 generates sample data. That is, the sample data generation unit 164 generates sample data including motion detection data from each of the wearable sensors 301 supplied from the packet restoration unit 162. The sample data generation unit 164 supplies the generated sample data to the motion recognition unit 165.
  • steps S208 and S209 processing similar to that of steps S36 and S37 of FIG. 9 is performed. Thereafter, the process returns to step S201, and the processes after step S201 are performed.
  • This process starts, for example, when the power of the wearable sensor 301 is turned on, and ends when the wearable sensor 301 is turned off.
  • steps S231 to S234 the same processes as steps S1 to S4 in FIG. 6 are performed.
  • step S235 the packet generation unit 331 starts generation of a communication packet. Specifically, the packet generation unit 331 reads the latest attitude data, acceleration data, angular velocity data, distortion data, and pressure data from the buffer 143, generates a communication packet including the read data, and stores the communication packet in the buffer 332. Start processing.
  • FIG. 29 shows an example of the format of a communication packet generated by the packet generation unit 331.
  • This communication packet differs from the communication packet of FIG. 7 in that the time stamp is deleted. That is, since the motion recognition device 302 controls the timing at which each wearable sensor 301 transmits a communication packet, a time stamp becomes unnecessary.
  • step S236 the transmission control unit 334 determines whether transmission of a communication packet has been requested. This determination process is repeatedly performed at a predetermined timing until it is determined that transmission of the communication packet is requested.
  • the transmission control unit 334 determines that the transmission of the communication packet is requested, and the process proceeds to step S 237.
  • step S237 the wearable sensor 301 transmits a communication packet.
  • the transmission control unit 145 reads the communication packet from the buffer 332 and supplies the communication packet to the transmission unit 146.
  • the transmission control unit 145 deletes the read communication packet from the buffer 332.
  • the transmitting unit 146 transmits the communication packet to the motion recognition device 302.
  • step S236 the process returns to step S236, and the processes after step S236 are performed.
  • FIG. 30 is a sequence diagram showing communication between the motion recognition device 302 and each wearable sensor 301 in the processing of FIG. 27 and FIG.
  • the transmission request signal (REQ) is sequentially transmitted from the motion recognition device 302 to each wearable sensor 301
  • the communication packet (ACK) is sequentially transmitted from each wearable sensor 301. Therefore, the detection timing of the motion detection data of each wearable sensor 301 used for the motion recognition process can be matched without using a synchronization signal, a time stamp or the like. Therefore, the accuracy of the motion recognition process can be improved. Further, in the motion recognition device 302, processing for buffering and waiting for communication packets becomes unnecessary until communication packets from each wearable sensor 301 are complete.
  • the motion recognition device 302 After receiving the communication packet from each wearable sensor 301, the motion recognition device 302 generates sample data and executes motion recognition processing. For example, when the motion recognition process is performed 128 times per second, the above process is performed in a cycle of 7.8 milliseconds.
  • a communication packet may be generated and the generated communication packet may be transmitted.
  • motion recognition processing is performed using motion detection data detected at each detection point at the same timing as much as possible by a method different from the second embodiment.
  • FIG. 31 shows a configuration example of a motion recognition system 400 according to a third embodiment of the motion recognition system to which the present technology is applied.
  • the motion recognition system 400 includes wearable sensors 401-1 through wearable sensors 401-6 and a motion recognition device 402.
  • the wearable sensor 401-1 to the wearable sensor 401-6 are simply referred to as a wearable sensor 401 when it is not necessary to individually distinguish them.
  • Each wearable sensor 401 is attached to different detection points of the user similarly to each wearable sensor 101 in FIG. 1, detects the movement of each detection point, and transmits a communication packet including the detection result to the motion recognition device 402 .
  • the motion recognition device 402 recognizes the motion of the user based on motion detection data of each detection point included in the communication packet received from each wearable sensor 401.
  • the motion recognition device 402 transmits motion control data based on the recognition result of the motion of the user to the subsequent device.
  • FIG. 32 shows a configuration example of the wearable sensor 401 of FIG.
  • parts corresponding to the wearable sensor 101 in FIG. 3 are given the same reference numerals, and the description thereof will be omitted as appropriate.
  • the wearable sensor 401 is different from the wearable sensor 101 in that a packet generation unit 433 is provided instead of the packet generation unit 144, and a clock generation unit 431 and a required time estimation unit 432 are added.
  • the clock generation unit 431 generates a clock signal of a predetermined frequency and supplies the clock signal to each unit of the wearable sensor 401 such as the required time estimation unit 432.
  • the clock generation unit 431 is provided also in the wearable sensor 101 in FIG. 3 and the wearable sensor 301 in FIG. 25, illustration is omitted because it is not necessary to explain the processing in particular.
  • the required time estimation unit 432 reads out from the buffer 143 posture data, acceleration data, angular velocity data, distortion data, and barometric pressure data to be transmitted to the motion recognition device 402, and supplies this to the packet generation unit 433. Further, the required time estimation unit 432 estimates the time required to transmit the data (hereinafter, referred to as required transmission time) based on the clock signal, and supplies information indicating the estimation result to the packet generation unit 433.
  • the packet generation unit 433 generates a communication packet for transmitting the data supplied from the required time estimation unit 432, and supplies the communication packet to the transmission control unit 145.
  • FIG. 33 shows an example of the configuration of the motion recognition device 402 shown in FIG.
  • parts corresponding to those of the motion recognition apparatus 102 in FIG. 5 are given the same reference numerals, and the description thereof will be omitted as appropriate.
  • the motion recognition device 402 differs from the motion recognition device 102 in that a time information acquisition unit 461 and a detection time calculation unit 462 are added.
  • the time information acquisition unit 461 is formed of, for example, a clock, acquires time information indicating the current time, and supplies the time information to the detection time calculation unit 462.
  • the detection time calculation unit 462 acquires, from the packet recovery unit 162, the motion detection data and the required transmission time included in the communication packet received from each wearable sensor 401. Then, the detection time calculation unit 462 calculates the time at which the movement of the detection point corresponding to the movement detection data is detected (hereinafter referred to as the movement detection time) based on the current time and the required transmission time. The detection time calculation unit 462 associates the motion detection data with the motion detection time, and supplies this to the buffer 163.
  • steps S301 to S304 the same processes as steps S1 to S4 in FIG. 6 are performed.
  • step S305 the required time estimation unit 432 determines whether it is time to transmit a communication packet. This determination process is repeatedly executed until it is determined that it is the timing to transmit the communication packet, and when it is determined that it is the timing to transmit the communication packet, the process proceeds to step S306.
  • step S306 the required time estimation unit 432 estimates the required transmission time. Specifically, the required time estimation unit 432 reads the latest posture data, acceleration data, angular velocity data, distortion data, and barometric pressure data from the buffer 143 as data to be transmitted to the motion recognition device 402. Then, the required time estimation unit 432 estimates the required transmission time required for transmitting motion detection data including those data.
  • the transmission required time is, for example, a required time from when a motion of the detection point is detected to when a communication packet including motion detection data corresponding to the detected motion arrives at the motion recognition device 402.
  • the time when the movement of the detection point is detected is, for example, the time when the detection of the movement of the detection point is started. More specifically, for example, the motion detection time is taken as the acquisition time of the sensor data acquired first by the sensor data acquisition unit 139 among the sensor data used for the movement detection data. For example, as the motion detection data, HDR acceleration data, LDR acceleration data, HDR angular velocity data, LDR angular velocity data, geomagnetic data, distortion data, and sensor data of barometric pressure data are used. Then, among the acquisition times of each sensor data used for the motion detection data to be transmitted to the motion recognition device 402, the earliest time is taken as the motion detection time.
  • the required time estimation unit 432 calculates a required time from when a motion of a detection point is detected to when a communication packet including motion detection data corresponding to the detected motion is generated (hereinafter referred to as packet generation time).
  • packet generation time is, for example, the time when the detection of the movement of the detection point is started (motion detection time) and the time when the generation of a communication packet including motion detection data corresponding to the detected movement is completed (hereinafter, packet generation This time is referred to as time).
  • the required time estimation unit 432 calculates the packet generation time using a predetermined calculation formula based on the size of each sensor data or the like.
  • the calculation formula of the packet generation time is, for example, the timing at which the sensor data acquisition unit 139 acquires sensor data, the processing content from acquisition of the sensor data to generation of the communication packet, and the processing capability of the wearable sensor 401 Based on the pre-created.
  • the required time estimation unit 432 estimates a required time (hereinafter, referred to as a packet transmission time) from the generation of the communication packet to the arrival at the motion recognition device 402.
  • the packet transmission time is, for example, a time between a packet generation time and a time when a communication packet arrives at the motion recognition device 402 (hereinafter referred to as a packet arrival time).
  • the required time estimation unit 432 calculates the packet transmission time using a predetermined calculation formula based on the size of the communication packet, the communication status between the wearable sensor 401 and the motion recognition device 402, and the like.
  • the formula for calculating the packet transmission time is prepared in advance based on, for example, the communication method and communication path between the wearable sensor 401 and the motion recognition device 402, and the processing capabilities of the wearable sensor 401 and the motion recognition device 402. Ru.
  • the packet transmission time may be calculated based on an actual measurement time when transmitting and receiving a communication packet between the wearable sensor 401 and the motion recognition device 402 in advance.
  • the required time estimation unit 432 calculates the required transmission time by adding the packet generation time and the packet transmission time.
  • the time required for the retransmission is also added to the required transmission time. For example, the time required for detecting a communication error, the waiting time until retransmission, the time required for retransmission processing, etc. are added to the required transmission time.
  • the required time estimation unit 432 supplies the packet generation unit 433 with the posture data, the acceleration data, the angular velocity data, the distortion data, the barometric pressure data, and the required transmission time estimation result read out from the buffer 143. Also, the packet generation unit 144 deletes, from the buffer 143, each data to be transmitted by the communication packet and data older than that.
  • step S307 the packet generation unit 433 generates a communication packet.
  • FIG. 35 shows an example of the format of a communication packet generated by the packet generation unit 433.
  • This communication packet differs from the communication packet of FIG. 7 in that it includes the required transmission time instead of the time stamp. That is, the required transmission time estimated by the required time estimation unit 432 is included in the communication packet.
  • the packet generation unit 433 supplies the communication packet to the transmission control unit 145.
  • step S ⁇ b> 308 the transmission unit 146 transmits a communication packet to the motion recognition device 402 under the control of the transmission control unit 145.
  • step S305 Thereafter, the process returns to step S305, and the processes after step S305 are performed.
  • This process starts, for example, when the power of the motion recognition device 402 is turned on, and ends when the motion recognition device 402 is turned off.
  • step S331 the reception unit 161 starts reception of the communication packet. That is, the reception unit 161 receives the communication packet transmitted from each wearable sensor 401, and starts the process of supplying the received communication packet to the packet recovery unit 162.
  • step S332 the packet recovery unit 162 starts recovery of the communication packet. For example, after decoding the motion detection data included in the communication packet received from each wearable sensor 101, the packet recovery unit 162 starts processing for supplying the communication packet after recovery to the detection time calculation unit 462.
  • step S333 the detection time calculation unit 462 starts calculation of the time when the movement of the detection point is detected. Specifically, the detection time calculation unit 462 starts calculation of the time (motion detection time) at which the motion of the detection point corresponding to the motion detection data included in the communication packet supplied from the packet recovery unit 162 is detected. . In addition, the detection time calculation unit 462 associates the motion detection data with the motion detection time, supplies the motion detection data to the buffer 163, and starts processing for accumulation.
  • the detection time calculation unit 462 starts calculation of the time when the movement of the detection point is detected. Specifically, the detection time calculation unit 462 starts calculation of the time (motion detection time) at which the motion of the detection point corresponding to the motion detection data included in the communication packet supplied from the packet recovery unit 162 is detected. . In addition, the detection time calculation unit 462 associates the motion detection data with the motion detection time, supplies the motion detection data to the buffer 163, and starts processing for accumulation.
  • the detection time calculation unit 462 After the communication packet is received by the reception unit 161 (after the communication packet arrives at the motion recognition device 402), the required time until the packet restoration unit 162 is restored (hereinafter referred to as Estimate the packet recovery time).
  • the detection time calculation unit 462 calculates the packet restoration time using a predetermined calculation formula based on the size of the communication packet and the like.
  • the formula for calculating the packet recovery time is created in advance based on, for example, the contents of the recovery process of the communication packet, the processing capability of the motion recognition apparatus 402, and the like.
  • the detection time calculation unit 462 acquires time information indicating the current time from the time information acquisition unit 461, and moves the required time for transmission included in the communication packet and the estimated packet recovery time from the current time. Calculate the detection time.
  • step S334 as in the process of step S3 of FIG. 9, it is determined whether it is time to perform the motion recognition process. This determination process is repeatedly performed at a predetermined timing, and when it is determined that it is a timing to perform the motion recognition process, the process proceeds to step S335.
  • step S335 the sample data generation unit 164 extracts motion detection data whose detection time is near. That is, the sample data generation unit 164 extracts motion detection data by using the motion detection time instead of the time stamp, in the same manner as the process of step S34 in FIG. As a result, motion detection data close in motion detection time is extracted one by one for each detection point. That is, motion detection data corresponding to the motion detected at substantially the same timing at each detection point is extracted.
  • steps S336 to S3308 processing similar to that of steps S35 to S37 in FIG. 9 is performed.
  • the motion recognition device 402 can detect the motion detection time easily and accurately. Then, motion recognition processing is performed using motion detection data detected at each detection point at the same timing as possible, and as a result, the motion recognition accuracy is improved.
  • communication can be started immediately without measuring the required time or synchronizing the time. Furthermore, for example, even if the communication route becomes unstable and transmission of the communication packet is temporarily stopped, communication is immediately performed without measuring the required time or synchronizing the time at the timing when the communication route is restored. It can be resumed.
  • the fourth embodiment is an embodiment in which the wearable sensor 401 and the motion recognition device 402 communicate with each other via a relay.
  • FIG. 37 shows a configuration example of a motion recognition system 500 which is a fourth embodiment of a motion recognition system to which the present technology is applied.
  • the motion recognition system 500 differs from the motion recognition system 400 in that a repeater 501-1 and a repeater 501-2 are added.
  • the relay unit 501-1 relays communication packets between the wearable sensor 401-1 to the wearable sensor 401-3 and the motion recognition device 402. That is, the relay unit 501-1 receives communication packets from the wearable sensor 401-1 to the wearable sensor 401-3, and transfers the communication packet to the motion recognition device 402.
  • the relay unit 501-2 relays communication packets between the wearable sensor 401-4 to the wearable sensor 401-6 and the motion recognition device 402. That is, the relay unit 501-2 receives communication packets from the wearable sensor 401-4 to the wearable sensor 401-6, and transfers the communication packet to the motion recognition device 402.
  • relays 501-1 and 501-2 will be simply referred to as relays 501 when it is not necessary to distinguish them individually.
  • FIG. 38 shows a configuration example of the repeater 501.
  • the relay unit 501 includes a reception unit 531, a buffer 532, a clock generation unit 533, a required time estimation unit 534, a packet update unit 535, a transmission control unit 536, and a transmission unit 537.
  • the reception unit 531 receives a communication packet from each wearable sensor 401 by wireless communication of a method corresponding to the transmission unit 146 of each wearable sensor 401, and supplies the communication packet to the buffer 532.
  • the buffer 532 temporarily accumulates communication packets.
  • the clock generation unit 533 generates a clock signal of a predetermined frequency and supplies the clock signal to each unit of the repeater 501 such as the required time estimation unit 534.
  • the required time estimation unit 534 reads the communication packet to be transferred to the motion recognition device 402 from the buffer 532, and supplies the communication packet to the packet update unit 535. Further, the required time estimation unit 432 estimates the time required for relaying the communication packet (hereinafter referred to as relay required time) based on the clock signal, and supplies information indicating the estimation result to the packet update unit 535.
  • the packet updating unit 535 updates the communication packet by adding the required relay time estimated by the required time estimation unit 534 to the communication packet.
  • the packet updating unit 535 supplies the updated communication packet to the transmission control unit 536.
  • the transmission control unit 536 controls the transmission of the communication packet by the transmission unit 537.
  • the transmission unit 537 transmits a communication packet to the motion recognition device 402 by wireless communication of a method corresponding to the reception unit 161 of the motion recognition device 402.
  • This process is started, for example, when the power of the relay unit 501 is turned on, and ends when the power is turned off.
  • step S401 the receiving unit 531 determines whether a communication packet has been received. This determination process is repeatedly performed until it is determined that the communication packet is received. When the receiving unit 531 determines that the communication packet transmitted from the wearable sensor 401 has been received, the process proceeds to step S402. The receiving unit 531 stores the received communication packet in the buffer 532.
  • step S402 the required time estimation unit 534 estimates the required relay time. Specifically, the required time estimation unit 534 reads the communication packet from the buffer 532. The required time estimation unit 534 estimates the required relay time required to relay the communication packet.
  • the required relay time is, for example, the required time for the communication packet to arrive at the motion recognition device 402 after the reception unit 531 receives the communication packet (after the communication packet arrives at the repeater 501). .
  • the required time estimation unit 534 calculates the required relay time using a predetermined calculation formula based on the size of the communication packet, the communication status between the relay unit 501 and the motion recognition device 402, and the like.
  • the formula for calculating the required relay time is created in advance based on, for example, the communication method and communication path between the relay 501 and the motion recognition device 402, and the processing capabilities of the relay 501 and the motion recognition device 402. Ru.
  • the required relay time may be calculated based on an actual measurement time when transmitting and receiving a communication packet between the intermediate device 501 and the motion recognition device 402 in advance.
  • the time required for the retransmission is added to the required relay time.
  • the communication packet is temporarily stored in the relay unit 501, the stored time is added to the relay required time.
  • the required time estimation unit 534 supplies the communication packet read from the buffer 532 and the estimation result of the required relay time to the packet updating unit 535. Further, the required time estimation unit 534 deletes the read communication packet from the buffer 532.
  • step S403 the packet updating unit 535 adds a required relay time to the communication packet.
  • FIG. 40 shows an example of the format of the communication packet after adding the required relay time.
  • the communication packet shown in FIG. 40 differs from the communication packet shown in FIG. 35 in that a required relay time is added between the header and the required transmission time.
  • the transmission required time between the wearable sensor 401 and the motion recognition device 402 is set as the transmission required time of the communication packet in FIG.
  • the information including the required transmission time and the required relay time becomes the entire required time information. That is, after the movement of the detection point is detected by the wearable sensor 401, the communication packet including the movement detection data corresponding to the detected movement arrives at the motion recognition device 402 after the time obtained by adding the transmission required time and the relay required time. It will be the total time required to
  • the packet updating unit 535 supplies the communication control unit 536 with the communication packet updated by adding the required relay time.
  • step S404 the transmission unit 537 transmits the communication packet to the motion recognition device 402 under the control of the transmission control unit 536.
  • step S401 Thereafter, the process returns to step S401, and the processes after step S401 are performed.
  • the detection time calculation unit 462 of the motion recognition device 402 subtracts the relaying required time included in the communication packet from the current time, in addition to the transmission required time and the packet restoration time in step S333 of FIG. 36 described above. Calculate motion detection time.
  • the motion detection time can be detected easily and accurately in the motion recognition device 402.
  • the communication path (relay 501) between the wearable sensor 401 and the motion recognition device 402 is dynamically changed, and the communication speed and communication status Is assumed to change. For example, it is the case of selecting the communication path with the best communication state, avoiding the path in which the communication error occurs, or selecting the relay 501 closest to the wearable sensor 401.
  • the technology of the fourth embodiment it is difficult to know in advance the communication route to be used, such as when the communication route is changed or when there are a plurality of communication routes in a mesh.
  • communication can be started immediately between the wearable sensor 401 on the communication path, the repeater 501, and the motion recognition device 402 without measuring the required time or synchronizing the time.
  • the motion recognition device 402 can detect the motion detection time of each wearable sensor 401 easily and accurately.
  • motion recognition processing is performed using motion detection data detected at each detection point at the same timing as possible, and as a result, the motion recognition accuracy is improved.
  • each relay unit 501 it is also possible to provide two or more relays 501 between the wearable sensor 401 and the motion recognition device 402. In this case, for example, in each relay unit 501, the required relay time is added to the communication packet.
  • FIG. 41 illustrates a configuration example of a rendering system 600 to which the present technology is applied.
  • the rendering system 600 is a system that performs performance rendering by controlling video, sound, lighting, and the like in accordance with the movement of each performer.
  • the rendering system 600 includes motion recognition systems 601-1 through 601-n, a receiver 602, a camera 603, a pad controller 604, a rendering control device 605, a synthesizer 606, an audio mixer 607, a power amplifier 608, an audio device 609, An imaging device 610, a DMX controller 611, and a lighting device 612 are provided.
  • the motion recognition system 601-1 to the motion recognition system 601-n will be referred to as a motion recognition system 601 when it is not necessary to distinguish them individually.
  • Each motion recognition system 601 is configured by, for example, any of the above-described motion recognition system 100, motion recognition system 300, motion recognition system 400, or motion recognition system 500.
  • the motion recognition system 601 is provided by the number of performers who are to be recognized for motion, and performs recognition processing of each performer individually. Each motion recognition system 601 transmits to the receiver 602 motion control data based on the recognition result of the motion of each performer.
  • only one motion recognition system 601 may be used.
  • the receiver 602 receives motion control data from each motion recognition system 601 and supplies it to the effect control device 605.
  • each motion recognition system 601 and the receiver 602 for example, any type of wireless communication or wired communication is adopted. Further, for communication between the receiver 602 and the effect control device 605, for example, wireless communication or wired communication of any type is adopted.
  • the camera 603 shoots, for example, each performer and stage, and supplies video data obtained as a result of shooting to the effect control device 605.
  • the pad controller 604 is, for example, an input device used to input performance data such as a keyboard and a percussion instrument, and supplies the input performance data to the effect control device 605.
  • the performance data output from the pad controller 604 is, for example, data according to the MIDI (Musical Instrument Digital Interface) standard.
  • the effect control device 605 is configured of, for example, a personal computer, a tablet, a smartphone or the like.
  • the case where the effect control device 605 is configured by the information processing device 220 of FIG. 14 will be described as an example.
  • control data indicating video data, audio data, video, audio, or an effect pattern of illumination, etc. are input to the performance control device 605, for example.
  • the presentation control device 605 executes various processing related to performance presentation by executing software for VJ (Video Jockey), for example.
  • VJ Video Jockey
  • the effect control device 605 performs video remix, video and audio effect processing, audio analysis, BPM (Beats Per Minute) detection, and the like.
  • the effect control device 605 performs processing, output, and the like of MIDI data, OSC (Open Sound Control) data, and DMX (Digital Multiplexing) data.
  • the effect control device 605 supplies sound control data for generating sound for effect to the synthesizer 606, and supplies sound data for outputting sound for effect to the audio mixer 607. Further, the effect control device 605 supplies the video device 610 with video data for outputting a video for effect. Furthermore, the effect control device 605 supplies the lighting device 612 with DMX data for controlling the lighting for effect.
  • the synthesizer 606 generates various sounds for effect based on the sound control data from the effect control device 605, and supplies sound data for outputting the generated sound to the audio mixer 607.
  • the audio mixer 607 mixes the sound data from the effect control device 605 and the sound data from the synthesizer 606, and supplies the mixed sound data to the power amplifier 608. Also, the audio mixer 607 supplies sound data input via a microphone (not shown) to the effect control device 605.
  • the power amplifier 608 amplifies the acoustic data and supplies the amplified acoustic data to the acoustic device 609.
  • the sound device 609 is constituted by, for example, a speaker and outputs a sound based on sound data.
  • the video device 610 is configured by, for example, a projector, a monitor or the like, and projects or displays a video based on the video data on a stage or the like.
  • the DMX controller 611 is a device for controlling the lighting device 612.
  • the DMX controller 611 generates DMX data for controlling the lighting device 612 according to a user input or the like, and supplies the DMX data to the lighting device 612.
  • the lighting device 612 is configured of, for example, various lights, light sources, and the like.
  • the lighting device 612 performs various lighting effects based on the DMX data from the effect control device 605 and the DMX controller 611.
  • FIG. 42 shows a configuration example of the effect control unit 631 realized by the CPU 221 of the information processing device 220 executing a predetermined control program when the effect control device 605 is configured by the information processing device 220 of FIG. It shows.
  • the effect control unit 631 controls the performance effect based on the music and the movements of the performers. For example, when a plurality of performers dance to the music, the effect control unit 631 controls the performance effect based on the music and the dance of each performer.
  • the effect control unit 631 includes a music input unit 641, a music analysis unit 642, a motion input unit 643, an interrupt control unit 644, a scenario generation unit 645, an acoustic control unit 646, an image control unit 647, and an illumination control unit 648.
  • the music input unit 641 acquires music data input from the outside and supplies the music data to the music analysis unit 642.
  • the music analysis unit 642 analyzes music data.
  • the music analysis unit 642 supplies the music data and the analysis result to the scenario generation unit 645.
  • the motion input unit 643 acquires motion control data transmitted from each motion recognition system 601 from the receiver 602, and supplies the motion control data to the interrupt control unit 644.
  • the interrupt control unit 644 performs interrupt control based on motion control data from each motion recognition system 601. For example, when it is detected that each performer has performed a predetermined motion, the interrupt control unit 644 notifies the scenario generation unit 645 that the motion has been detected, and generates an effect scenario based on the analysis result of the music data. , Add effects corresponding to the motion of each performer.
  • the scenario generation unit 645 generates a presentation scenario for performance presentation based on control data supplied from the outside, an analysis result of music data, and a recognition result of motion of each performer.
  • the scenario generation unit 645 supplies the generated presentation scenario to the sound control unit 646, the video control unit 647, and the illumination control unit 648. Also, the scenario generation unit 645 supplies the music data to the sound control unit 646.
  • the sound control unit 646 processes the music data supplied from the scenario generation unit 645 and the sound data supplied from the outside based on the presentation scenario to generate presentation sound data, and the audio mixer 607 Supply. Further, the sound control unit 646 generates sound control data based on the rendering scenario, and supplies the sound control data to the synthesizer 606.
  • the video control unit 647 processes video data supplied from the camera 603 and video data supplied from the outside based on the rendering scenario to generate video data for presentation.
  • the video control unit 647 supplies video data to the video device 610.
  • the lighting control unit 648 generates DMX data for presentation based on the presentation scenario, and supplies the DMX data to the lighting device 612.
  • an effect using the motion recognition system 601 using an existing effect device installed on a stage such as a hall or a live house. System can be built. Also, for example, it is possible to simulate a production stage environment using a personal computer, a tablet or the like.
  • This process is started, for example, when an instruction to execute a performance effect is input via the input unit 226 of the information processing device 220 (effect control device 605).
  • step S501 the effect control unit 631 starts analysis of music.
  • the music input unit 641 acquires music data input from the outside, and starts processing for supplying the music data to the music analysis unit 642.
  • the music analysis unit 642 analyzes the chord progression of the music based on the music data, the tempo, the beat, the structure, the included instrument sound and the like, and starts the processing of supplying the analysis result to the scenario generation unit 645.
  • step S502 the scenario generation unit 645 starts generation of a rendering scenario. Specifically, the scenario generation unit 645 controls sound, video, and lighting in accordance with the music based on the control data supplied from the outside and the analysis result of the music data to perform performance presentation.
  • the rendering scenario is generated, and processing to be supplied to the sound control unit 646, the image control unit 647, and the illumination control unit 648 is started. Also, the scenario generation unit 645 starts processing for supplying music data to the sound control unit 646.
  • step S503 the effect control unit 631 starts control of sound, video, and illumination.
  • the sound control unit 646 processes the music data supplied from the scenario generation unit 645 and the sound data supplied from the outside based on the rendering scenario to generate sound data for presentation. , And the process of supplying to the audio mixer 607 is started. Further, the sound control unit 646 generates sound control data based on the rendering scenario, and starts processing for supplying the synthesizer 606.
  • the synthesizer 606 generates various types of sound for presentation based on the sound control data, and starts processing for supplying sound data for outputting the generated sound to the audio mixer 607.
  • the audio mixer 607 mixes the sound data from the effect control device 605 and the sound data from the synthesizer 606, and starts processing for supplying the sound data after mixing to the power amplifier 608.
  • the power amplifier 608 amplifies the sound data and starts processing for supplying the sound data after amplification to the sound device 609.
  • the sound device 609 starts a process of outputting a sound based on sound data.
  • the video control unit 647 processes video data supplied from the camera 603 and video data supplied from the outside based on the rendering scenario, generates video data for rendering, and supplies the video data to the video device 610 To start.
  • the video device 610 starts processing for projecting or displaying a video based on video data on a stage or the like.
  • the lighting control unit 648 generates the DMX data for presentation based on the presentation scenario, and starts the process of supplying the DMX data to the lighting device 612.
  • the DMX controller 611 starts processing for generating DMX data and supplying it to the lighting device 612 according to user input and the like.
  • the lighting device 612 starts processing for performing various lighting effects based on the DMX data from the lighting control unit 648 and the DMX controller 611.
  • each motion recognition system 601 starts recognition processing of each performer's motion. Then, each motion recognition system 601 starts transmitting motion control data to the receiver 602 based on the recognition result of the motion of each performer.
  • the receiver 602 receives the motion control data from each of the motion recognition systems 601 and starts the process of transmitting the motion control data to the communication unit 229 (FIG. 14) of the information processing device 220 (effect control device 605).
  • the communication unit 229 starts processing for supplying motion control data of each motion recognition system 601 to the motion input unit 643.
  • the motion input unit 643 starts processing of supplying motion control data of each motion recognition system 601 to the interrupt control unit 644.
  • step S505 the interrupt control unit 644 determines, based on the motion control data of each motion recognition system 601, whether or not a predetermined motion is detected. If it is determined that the predetermined motion has been detected, the process proceeds to step S506.
  • step S506 the effect control unit 631 performs an interrupt process.
  • the interrupt control unit 644 notifies the scenario generation unit 645 that a predetermined motion has been detected.
  • the scenario generation unit 645 adds an effect corresponding to the detected motion to the effect scenario generated based on the control data supplied from the outside and the analysis result of the music data.
  • the image and the illumination are controlled in accordance with the performer's dance step.
  • the color and brightness of the illumination are controlled according to the rhythm and movement of the performer's whole body, the degree of movement of the hands and feet, and the like.
  • a CG character performing the same dance technique as the performer is displayed, or the illumination blinks in accordance with the performer's dance step.
  • step S505 when it is determined in step S505 that the predetermined motion is not detected, the process of step S506 is skipped, and the process proceeds to step S507.
  • step S507 the scenario generation unit 645 determines whether to end the effect. If it is determined that the effect is not ended, the process returns to step S505.
  • steps S505 to S507 is repeatedly executed until it is determined in step S507 that the effect is to be ended.
  • step S507 the scenario generation unit 645 determines that the effect is to be ended when an instruction to end the performance effect is input through the input unit 226 of the information processing device 220 (effect control device 605). The control process ends.
  • FIG. 44 is a transition diagram showing the relationship between motion (the skill of karate) to be recognized and the sound effect to be output.
  • a posture, a right hand thrust, a left hand thrust, a right kick, and a left kick are motions to be recognized.
  • a sound effect is selected and output. That is, based on the combination of the motion before transition and the motion after transition, presentation contents (sound effects) are selected and output.
  • the sound effect A is output.
  • the sound effect E is output.
  • the sound effect B When the player makes a right hand strike and then returns to the stance, the sound effect B is outputted, and when the player makes a left hand strike after making a right hand thrust, a sound effect C is outputted.
  • the sound effect B When the player makes a left hand thrust and returns to the stance, the sound effect B is output, and when the player makes a left hand thrust and then the right hand thrust, the sound effect D is output.
  • the sound effect F When the player returns to the stance after performing the right kick, the sound effect F is output, and when the player performs the left kick after performing the right kick, the sound effect G is output.
  • the sound effect F When the player returns to the stance after performing a left kick, the sound effect F is output, and when the player performs a right kick after performing the left kick, a sound effect H is output.
  • the sound effects can be dynamically changed based on the movement transition in the player's series of movements.
  • more effective rendition can be performed. For example, a finer granular effect is realized, and it is possible to realize a more realistic effect or a more realistic effect according to the movement of the player.
  • FIG. 45 shows an example of the timing at which a sound effect is output.
  • the upper diagram of FIG. 45 illustrates an example of the time-series transition of the sound effects, the motion recognition, and the sensor data waveform.
  • a sound effect is output.
  • the player makes a right-hand strike, the right-hand strike is completed, and the recognition thereof is completed, a sound effect of "dunk” is output.
  • the player returns to the stance from the state where the player has made a right-hand thrust, and when the stance is completed and the recognition thereof is completed, a sound effect of “shutter” is output.
  • right kicking is performed from the player's holding state, and when the right kicking is completed and the recognition thereof is completed, a sound effect of "do-done" is output.
  • effects such as sound effects may be controlled for each type of motion.
  • the player outputs the sound effect A when the player performs a right hand thrust, outputs the sound effect B when performing the left hand thrust, outputs the sound effect C when performing the right kick, and performs the left foot kick.
  • the sound effect D may be output in the case of
  • FIG. 46 shows a configuration example of an analysis system 700 to which the present technology is applied.
  • symbol is attached
  • the analysis system 700 is a system that analyzes the behavior of one or more users.
  • the analysis system 700 includes motion recognition systems 601-1 to 601-n, a receiver 602, a camera 603, and an analysis processing device 701.
  • the motion recognition system 601 is provided by the number of users to be analyzed. When there is only one user to be analyzed, only one motion recognition system 601 may be used.
  • the analysis processing device 701 includes, for example, a personal computer, a tablet, a smartphone, and the like.
  • the case where the analysis processing device 701 is configured by the information processing device 220 of FIG. 14 will be described as an example.
  • the analysis processing device 701 analyzes the behavior of each user based on the motion control data of each motion recognition system 601 supplied from the receiver 602 and the video data supplied from the camera 603.
  • FIG. 47 shows a configuration example of the analysis processing unit 731 realized by the CPU 221 of the information processing device 220 executing a predetermined control program when the analysis processing device 701 is configured by the information processing device 220 of FIG. It shows.
  • the analysis processing unit 731 includes an analysis unit 741 and a UI (User Interface) control unit 742.
  • UI User Interface
  • the analysis unit 741 analyzes the behavior of each user based on the motion control data of each motion recognition system 601 supplied from the receiver 602 and the video data supplied from the camera 603.
  • the UI control unit 742 controls the output unit 227 based on a user input or the like input via the input unit 226 of the information processing device 220 and provides a user interface for presenting an analysis result of each user's action. Take control.
  • This process is started, for example, when an instruction to execute an analysis process is input via the input unit 226 of the information processing device 220 (analysis processing device 701).
  • each motion recognition system 601 performs recognition processing of each user's motion. Then, each motion recognition system 601 transmits, to the receiver 602, motion control data based on the recognition result of the motion of each user.
  • the receiver 602 receives motion control data from each motion recognition system 601, and transmits the motion control data to the communication unit 229 (FIG. 14) of the information processing device 220.
  • the communication unit 229 stores the received motion control data of each user in the storage unit 228.
  • the camera 603 captures an image of each user acting, and stores the obtained video data in the storage unit 228.
  • step S602 the analysis unit 741 analyzes the behavior of each user. Specifically, the analysis unit 741 analyzes the behavior of each user based on the motion control data of each user stored in the storage unit 228 and the video data captured by the camera 603. The analysis unit 741 causes the storage unit 228 to store analysis data indicating the analysis result.
  • this analysis process may be performed in parallel with the recognition process of the motion of each user, or may be performed after the action of each user ends and the recognition process of the motion of each user ends. Good.
  • step S603 the output unit 227 presents an analysis result under the control of the UI control unit 742 based on the analysis data stored in the storage unit 228.
  • FIGS. 49 to 52 an example of a method of presenting an analysis result will be described with reference to FIGS. 49 to 52. Specifically, an example in the case of presenting an analysis result of each player's behavior of a rugby game will be described.
  • rugby-specific movements of each player such as stay, walk, run, pass, kick, catch, tackle, scrum, turn, and try are recognized as motion.
  • an analysis screen as shown in FIG. 49 is displayed.
  • the analysis screen is roughly divided into an image display unit 871, an operation unit 872, a time display unit 873, a position analysis unit 874, and an action analysis unit 875.
  • the video display unit 871 displays a video of a rugby game taken by the camera 603.
  • the operation unit 872 displays buttons and the like for performing operations such as playback, stop, fast forward, and rewind on the video displayed on the video display unit 871.
  • the time display unit 873 displays information on the time of the video displayed on the video display unit 871.
  • the position analysis unit 874 displays the analysis result of the position of each player at the time of the video displayed on the video display unit 871.
  • the position (position information) of each player is detected using, for example, video data captured by the camera 603, a GNSS receiver, or the like.
  • the behavior analysis unit 875 displays an analysis result of each player's behavior.
  • FIG. 50 is an enlarged view of the display content of the behavior analysis unit 875. As shown in FIG.
  • recognition results of motions of a plurality of players are displayed side by side in the vertical direction.
  • the recognition results of the motions of the players A to D are displayed side by side in the vertical direction.
  • the player displayed can be changed by vertically scrolling the display in the behavior analysis unit 875.
  • transition of motion (movement) for each player is displayed side by side in time series in the horizontal direction. For example, it is shown that the motion of player A transitions in the order of scrum, catch, run, pass, run, tackle, and run.
  • motions related to the movement of the ball such as a pass, a catch, and a try and a score are displayed in different colors or the like so that they can be distinguished from other motions.
  • the position of the ball is tracked, and the result is displayed by the tracking line 881.
  • a timeline 882 corresponding to the time of the video displayed on the video display unit 871 is displayed. By sliding this timeline 882 to the left and right, the time of the video displayed on the video display unit 871 can be adjusted. This makes it possible to easily search for videos when each player performs each motion.
  • the analysis screens of FIGS. 49 and 50 make it possible to grasp and analyze in detail the movements of individual players, combinations between the players, etc.
  • FIG. 51 shows an example showing the result of analyzing the execution position of each player's motion based on the recognition result of each player's motion and the position information. Specifically, the analysis screen of FIG. 51 displays the number of times the player A has kicked, and also displays the position at which the kick was performed in the form of a heat map. For example, the area where the number of times the player A has kicked is high is highlighted.
  • the analysis screen of FIG. 51 for example, it is possible to switch a player to be analyzed or to switch a motion to be analyzed. Also, for example, it is possible to set a plurality of players as an analysis target at one time or to set a plurality of motions as an analysis target at one time.
  • FIG. 52 shows an example showing the result of analyzing the time required to reload each player (for example, the time from the fall of the player to the return to play) based on the recognition result of the motion of each player. .
  • a list of the time at which the player A reloaded and the time required for the reloading are displayed.
  • a line graph indicating change in time required for reloading is displayed.
  • the horizontal axis of the graph indicates the number of reloads, that is, the number of reloads, and the vertical axis indicates the time taken for each reload.
  • the heat map shown in FIG. 51 can be applied to a position at which a soccer ball is kicked, a position at which a basketball shoot is hit, a position at which a handball is passed, and the like.
  • VR Virtual Reality
  • AR Augmented Reality
  • the motion recognition process of the present technology for recognizing the player's skill. Then, for example, when the recognized technique hits the opponent player, the vibration may be fed back to the system of the attacking player.
  • a point at which the ball hits may be calculated according to the speed or direction, and an item at the point may be acquired.
  • a drone or the like may be operated by the recognized motion of the user.
  • the motion recognition accuracy may be changed according to the class level. For example, in the advanced class, the recognition accuracy is tightened so that individual motions are correctly recognized, and in the beginners class, multiple motion candidates are recognized for one motion of the user, with the recognition accuracy softened. You may
  • plug-in software using the recognition result of motion can be created for software for development environment of the game and applied to development of a game using the motion of the player's body.
  • a program and video indicating the correct rehabilitation movement procedure are prepared in advance, and the patient performs rehabilitation while watching the video. Then, the degree of achievement of rehabilitation may be detected by recognizing the motion of the patient who is performing the rehabilitation and comparing the motion of the program with the motion of the patient. Then, for example, when the patient can carry out the rehabilitation according to the procedure of the program, it may be automatically advanced to the next stage. This enables each patient to perform accurate rehabilitation according to the program alone. Moreover, the execution record of rehabilitation of each patient can be automatically generated and accumulated, and it becomes possible for the hospital side to automatically manage the progress of rehabilitation of each patient.
  • the color or brightness of the penlight or the wristband may be controlled in accordance with the motion of the spectator who carries or wears the penlight or the wristband having a variable color, brightness or the like. This makes it possible to perform effects in cooperation with the stage and the audience.
  • ⁇ Distribution of motion data and presentation data> a professional performer or a choreographer distributes an image obtained by capturing an example movement (such as choreography or dance) and motion data including motion control data corresponding to the movement over the Internet or the like. May be Motion control data is acquired using the motion recognition system of the present technology.
  • the creator may distribute effect data for performing effects in accordance with the movement of the video through the Internet or the like.
  • the effect data includes, for example, video or audio to be flowed in accordance with the motion of the video, and control data used to control video, audio, or lighting.
  • the director can obtain motion data and video data, and use the acquired data to produce stage effects off-line.
  • other performers and users can obtain presentation data and use them to produce their own performances.
  • ⁇ Motion recognition target> In the above description, an example in which the present technology is applied to recognizing human motion is described, but the present technology can also be applied to recognizing motion of an object other than human.
  • the object to be recognized may be either an organism such as an animal or an inanimate object such as a robot.
  • the recognition target When the recognition target is an inanimate object, it may be an inanimate object which moves autonomously or by user operation such as a robot, or an inanimate object which is moved by an external force such as waves of the floating of the sea or the wind. .
  • the number of wearable sensors and the mounting position (detection point) of the wearable sensor can be changed according to the motion to be recognized or the required recognition accuracy.
  • a wearable sensor may be attached to the back using a band or the like instead of the head and the waist.
  • wearable sensors are worn at three locations, the head and the two wrists. Instead of wearing the wearable sensor on the head, the AR eyewear may be built in the sensor. In addition, wearable sensors are attached to both wrists using, for example, a lightweight band.
  • wearable sensors are attached to four places of both wrists and ankles using lightweight bands.
  • the number and position of wearable wearable sensors are set in accordance with the action and the region of the body to be subjected to rehabilitation.
  • wearable sensors are attached to the upper arm and the wrist at two places using a winding belt.
  • wearable sensors are attached to four places of both thighs and both ankles using a winding type belt.
  • communication can be started or resumed immediately without measuring the required time between the transmitter, the repeater, and the receiver or synchronizing the time. Also, the receiver can accurately detect the time when a predetermined event is detected.
  • the event used as the object which detects detection time is not specifically limited.
  • an acceleration detected by each of the wearable sensors, an angular velocity, and the like are also a type of event.
  • communication can be performed immediately without measuring the required time between the transmitter, the repeater, and the receiver, or synchronizing the time. Can be started. Also, the receiver can accurately detect the time when a predetermined event is detected.
  • the receiver can accurately detect the time when a predetermined event is detected. it can.
  • the cost for measuring the required time and synchronizing the time becomes greater than the cost for transmitting actual data.
  • the cost is, for example, the cost for securing a communication band of the communication network, maintenance of the watch, power consumption, and the like.
  • use of the present technology can reduce such cost waste.
  • the transmitter to the receiver or relay may be communicable.
  • the transmitter adds the required transmission time to each piece of detection data and transmits it, but the required transmission time includes the time during which each piece of detection data is accumulated. Therefore, the required transmission time to be added to each detection data becomes different according to the time when the detection data is detected.
  • a swimmer practices with a transmitter equipped with various sensors at a plurality of sites.
  • the sensor stores internally acquired sensor data.
  • the transmitter becomes communicable with the receiver, the transmitter transmits each stored sensor data together with the transmission required time information including the accumulation time for each sensor data.
  • the occurrence time of each event of the player is detected based on the sensor data and the transmission required time. Further, based on the detection result, it is possible to display a graph in which each event of the player is arranged in time series, or to animate the form of the player by CG.
  • a plurality of dancers perform in a state in which transmitters provided with various sensors at a plurality of parts are attached.
  • Each transmitter internally accumulates sensor data acquired periodically during performance, and each sensor data accumulated after completion of performance is transmitted to a receiver together with transmission required time information including an accumulation time for each sensor data. Send. Then, for example, the occurrence time of each event of each dancer is detected based on the sensor data and the transmission required time. Based on the detection result, it is possible to confirm the movement timing and accuracy of each dancer. In addition, for example, it is possible to synchronize and display the timeline of the video of the performance of each dancer and the occurrence time of each event.
  • a sensor provided in the vehicle periodically detects the traveling state of each component of the vehicle, and the detected sensor data is accumulated in the vehicle.
  • the transmitter stores each sensor data stored in the vehicle.
  • the transmission required time information including the accumulation time for each sensor data.
  • the occurrence time of the event of each part of the vehicle is detected based on the sensor data and the transmission required time. Further, for example, based on the detection result of the event of each part of the vehicle, a defect of the component of the vehicle, a time of occurrence of the defect, a cause of the occurrence and the like are detected.
  • a sensor device is attached to each load, and each sensor device periodically detects the temperature, humidity, impact, and the like of each load being transported, and internally stores the detected sensor data. Then, when each load arrives at the destination, the sensor device attached to the load sends each sensor data stored therein to the receiver of the destination together with the transmission required time information including the storage time for each sensor data. Send. Then, based on the sensor data and the transmission required time, an event that occurred in the load during transportation and a time of occurrence are detected.
  • a sensor device is attached to a patient, and the sensor device periodically detects a patient's vital sign and internally stores the detected sensor data.
  • the sensor device when brought close to the receiver, transmits each stored sensor data to the receiver together with transmission required time information including an accumulation time for each sensor data. Then, based on the sensor data and the transmission required time, each event and occurrence time of the patient are detected.
  • the motion recognition device may be worn by the user.
  • the motion recognition device and the wearable sensor may be integrated.
  • the series of processes described above can be performed by hardware or software.
  • a program that configures the software is installed in a computer (for example, the information processing device 220).
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • the program executed by the computer may be a program that performs processing in chronological order according to the order described in this specification, in parallel, or when necessary, such as when a call is made. It may be a program to be processed.
  • a system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same case. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. .
  • the present technology can have a cloud computing configuration in which one function is shared and processed by a plurality of devices via a network.
  • each step described in the above-described flowchart can be executed by one device or in a shared manner by a plurality of devices.
  • the plurality of processes included in one step can be executed by being shared by a plurality of devices in addition to being executed by one device.
  • the present technology can also be configured as follows.
  • a motion recognition unit that recognizes a motion of the object based on a plurality of detection data indicating a motion of each of the detection positions detected at a plurality of detection positions of the object by a plurality of sensor devices;
  • An output control unit configured to control an output of control data used to control a process corresponding to a motion of the object.
  • the information processing apparatus further including an effect control unit configured to control an effect of performance by a person based on the control data.
  • the information processing apparatus according to any one of (2) to (5), further including an analysis unit that analyzes human behavior based on the control data.
  • the information processing apparatus further including: a user interface control unit that controls presentation of an analysis result of human behavior.
  • the information processing apparatus according to any one of (1) to (7), wherein the motion recognition unit recognizes the motion of the object based on a relationship of movement between the detected positions.
  • the information processing apparatus according to any one of (1) to (8), further comprising: a receiving unit that performs near field communication with each of the sensor devices and receives the detection data.
  • the information processing apparatus further including: a communication control unit that requests transmission of the detection data to each of the sensor devices in order.
  • the control data includes at least one of a recognition result of a motion of the object and control information of a process corresponding to the motion of the object. .
  • the information processing apparatus uses a recognition model for recognizing a motion of the object.
  • the recognition model is learned using learning data in which the detection data of each of the detection positions is partially lost.
  • the learning unit performs learning of the recognition model by weighting the detected positions.
  • the information processing apparatus according to any one of (1) to (16), which is attached to the object.
  • One of the plurality of sensor devices The information processing apparatus according to (17), wherein the information processing apparatus is attached to one of the plurality of detection positions.
  • the information processing apparatus The motion of the object is recognized based on a plurality of detection data indicating the movement of each of the detection positions detected at a plurality of detection positions of the object by a plurality of sensor devices, An information processing method for controlling output of control data used to control processing corresponding to the motion of the object.
  • Reference Signs List 100 motion recognition system, 101 wearable sensor, 102 motion recognition device, 139 sensor data acquisition unit, 144 packet generation unit, 145 transmission control unit, 161 reception unit, 165 motion recognition unit, 166 transmission control unit, 167 transmission unit, 200 learning System, 201 learning processing device, 220 information processing device, 221 CPU, 229 communication unit, 265 learning data generation unit, 266 learning unit, 267 UI control unit, 300 motion recognition system, 301 wearable sensor, 302 motion recognition device, 331 packet Generation unit, 334 transmission control unit, 361 communication control unit, 400 motion recognition system, 401 wearable sensor, 40 2 motion recognition device, 432 required time estimation unit, 433 packet generation unit, 462 detection time calculation unit, 501 repeater, 531 reception unit, 534 required time estimation unit, 535 packet update unit, 536 transmission control unit, 537 transmission unit, 600 presentation system, 601 motion recognition system, 605 presentation control apparatus, 631 presentation control section, 645 scenario generation section, 646 sound control section, 647 image control section, 648 illumination

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Biomedical Technology (AREA)
  • Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Surgery (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Veterinary Medicine (AREA)
  • Animal Behavior & Ethology (AREA)
  • Molecular Biology (AREA)
  • Physiology (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Dentistry (AREA)
  • Artificial Intelligence (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Fuzzy Systems (AREA)
  • Signal Processing (AREA)
  • Psychiatry (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本技術は、オブジェクトのモーションを容易かつ正確に認識することができるようにする情報処理装置、情報処理方法、及び、プログラムに関する。 情報処理装置は、複数のセンサ装置によりオブジェクトの複数の検出位置においてそれぞれ検出された各前記検出位置の動きを示す複数の検出データに基づいて、前記オブジェクトのモーションを認識するモーション認識部と、前記オブジェクトのモーションに対応する処理の制御に用いる制御データの出力を制御する出力制御部とを備える。本技術は、例えば、パフォーマンスの演出を行う演出システムに適用できる。

Description

情報処理装置、情報処理方法、及び、プログラム
 本技術は、情報処理装置、情報処理方法、及び、プログラムに関し、特に、オブジェクトのモーションを認識する場合に用いて好適な情報処理装置、情報処理方法、及び、プログラムに関する。
 従来、動作関連演算装置が、複数のユーザにそれぞれ装着したセンサからの運動情報に基づいて、各ユーザの運動リズムを推定し、各ユーザの運動リズムと基本となる運動リズムとの間の相違度や、ユーザ間の運動リズムの相違度を計算し、その結果をユーザにフィードバックするシステムが提案されている(例えば、特許文献1参照)。
特開2011-87794号公報
 しかしながら、特許文献1に記載の発明では、例えばダンスの技等の各ユーザの具体的なモーションの認識を行うことは検討されていない。
 本技術は、このような状況に鑑みてなされたものであり、人等のオブジェクトのモーションを容易かつ正確に認識できるようにするものである。
 本技術の一側面の情報処理装置は、通信データが後段の装置に到着するまでに要する第1の所要時間を推定する所要時間推定部と、前記通信データ、及び、前記第1の所要時間を含む所要時間情報を前記後段の装置へ送信する送信部とを備える。
 本技術の一側面の情報処理方法は、情報処理装置が、複数のセンサ装置によりオブジェクトの複数の検出位置においてそれぞれ検出された各前記検出位置の動きを示す複数の検出データに基づいて、前記オブジェクトのモーションを認識し、前記オブジェクトのモーションに対応する処理の制御に用いる制御データの出力を制御する。
 本技術の一側面のプログラムは、複数のセンサ装置によりオブジェクトの複数の検出位置においてそれぞれ検出された各前記検出位置の動きを示す複数の検出データに基づいて、前記オブジェクトのモーションを認識するモーション認識ステップと、前記オブジェクトのモーションに対応する処理の制御に用いる制御データの出力を制御する出力制御ステップとを含む処理をコンピュータに実行させる。
 本技術の一側面においては、複数のセンサ装置によりオブジェクトの複数の検出位置においてそれぞれ検出された各前記検出位置の動きを示す複数の検出データに基づいて、前記オブジェクトのモーションが認識され、前記オブジェクトのモーションに対応する処理の制御に用いる制御データの出力が制御される。
 本技術の一側面によれば、人等のオブジェクトのモーションを容易かつ正確に認識することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載された何れかの効果であってもよい。
本技術を適用したモーション認識システムの第1の実施の形態を示すブロック図である。 ウエアラブルセンサの装着位置の例を示す図である。 ウエアラブルセンサの第1の実施の形態を示すブロック図である。 ウエアラブルセンサが備えるセンサの仕様例を示す表である。 モーション認識装置の第1の実施の形態を示すブロック図である。 ウエアラブルセンサの処理の第1の実施の形態を説明するためのフローチャートである。 通信パケットのフォーマットの第1の実施の形態を示す図である。 動き検出データの構成例を示す表である。 モーション認識装置の処理の第1の実施の形態を説明するためのフローチャートである。 フィギュアスケートにおいてモーションの認識を行う場合の例を示す図である。 ダンスの技の例を示す図である。 ダンスの技の例を示す図である。 本技術を適用した学習システムの構成例を示すブロック図である。 情報処理装置の構成例を示すブロック図である。 学習処理部の構成例を示すブロック図である。 モーション登録処理を説明するためのフローチャートである。 モーション登録処理のユーザインタフェースの例を示す図である。 ダンスのジャンルの階層構造を示す図である。 ダンスの技の階層構造を示す図である。 学習データの例を示す図である。 データ欠損率とモーションの認識精度の関係を示すグラフである。 通信パケットの再送回数、データ欠損率、最大遅延時間、及び、モーションの認識精度の関係を示す表である。 モーション認識のリアルタイム性に寄与する要素を説明するための図である。 本技術を適用したモーション認識システムの第2の実施の形態を示すブロック図である。 ウエアラブルセンサの第2の実施の形態を示すブロック図である。 モーション認識装置の第2の実施の形態を示すブロック図である。 モーション認識装置の処理の第2の実施の形態を説明するためのフローチャートである。 ウエアラブルセンサの処理の第2の実施の形態を説明するためのフローチャートである。 通信パケットのフォーマットの第2の実施の形態を示す図である。 モーション認識装置と各ウエアラブルセンサとの間の通信を示すシーケンス図である。 本技術を適用したモーション認識システムの第3の実施の形態を示すブロック図である。 ウエアラブルセンサの第3の実施の形態を示すブロック図である。 モーション認識装置の第3の実施の形態を示すブロック図である。 ウエアラブルセンサの処理の第3の実施の形態を説明するためのフローチャートである。 通信パケットのフォーマットの第3の実施の形態を示す図である。 モーション認識装置の処理の第3の実施の形態を説明するためのフローチャートである。 本技術を適用したモーション認識システムの第4の実施の形態を示すブロック図である。 中継器の構成例を示すブロック図である。 中継器の処理を説明するためのフローチャートである。 通信パケットのフォーマットの第4の実施の形態を示す図である。 本技術を適用した演出システムの構成例を示すブロック図である。 演出制御部の構成例を示すブロック図である。 演出制御処理を説明するためのフローチャートである。 モーションの遷移と効果音の関係を示す遷移図である。 効果音が出力されるタイミングの例を示す図である。 本技術を適用した解析システムの構成例を示すブロック図である。 解析処理部の構成例を示すブロック図である。 解析処理を説明するためのフローチャートである。 解析処理の提示方法の第1の例を示す図である。 行動解析部の表示内容を拡大した図である。 解析処理の提示方法の第2の例を示す図である。 解析処理の提示方法の第3の例を示す図である。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.第1の実施の形態(モーション認識システム及び学習システム)
 2.第2の実施の形態(モーション認識システム)
 3.第3の実施の形態(モーション認識システム)
 4.第4の実施の形態(モーション認識システム)
 5.第5の実施の形態(演出システム)
 6.第6の実施の形態(解析システム)
 7.適用例
 8.変形例
 9.その他
 <<1.第1の実施の形態>>
 まず、図1乃至図23を参照して、本技術の第1の実施の形態について説明する。
 <モーション認識システムの第1の実施の形態>
 図1は、本技術を適用したモーション認識システムの第1の実施の形態であるモーション認識システム100の構成例を示している。
 モーション認識システム100は、ユーザのモーションの認識処理を行うシステムである。
 ここで、モーションとは、例えば、所定の分類に基づく、ユーザ(人)の行動を構成する動きの単位のことである。従って、モーションは、行動よりも短時間のユーザの動きとなる。また、モーションは、ユーザの全身の動きであってもよいし、ユーザの体の一部の動きであってもよい。
 一方、行動とは、所定の分類に基づく、一連のモーションの集合体であり、複数のモーションの組み合わせからなる。例えば、所定の目的を達成するための一連のモーションの集合体が行動となる。
 なお、本技術において、行動及びモーションの分類は、任意に設定したり変更したりすることが可能である。例えば、ダンス、アイススケート、ラグビー、トライアスロン、水泳、登山等のスポーツの種目に基づいて、モーションを認識する対象となる行動が分類される。この場合、例えば、体操総合のように複数の種目を組み合わせたスポーツを、1つの行動とみなすことも可能である。
 また、例えば、通勤、運転、仕事、勉強、育児、睡眠、料理、食べる、TVを観る、歌う、演奏する、撮影する等の日常生活の行動に基づいて、モーションを認識する対象となる行動が分類される。
 一方、例えば、ダンスという行動に対して、スライド、ジャーク、ビズマーキー等のダンスの技に基づいて、認識対象となるモーションが分類される。或いは、ダンスという行動に対して、回転、跳躍、ステップ、横揺れ、縦揺れ等のダンスの動きに基づいて、認識対象となるモーションが分類される。なお、ダンスの技及び動きの両方に基づいて、認識対象となるモーションが分類されてもよい。
 例えば、フィギュアスケートという行動に対して、アクセル、ルッツ、サルコウ等のフィギュアスケートの技に基づいて、認識対象となるモーションが分類される。或いは、フィギュアスケートという行動に対して、滑る、回転する、跳ぶ、ステップする等のフィギュアスケートの動きに基づいて、認識対象となるモーションが分類される。なお、フィギュアスケートの技及び動きの両方に基づいて、認識対象となるモーションが分類されてもよい。
 例えば、ラグビーという行動に対して、スクラム、トライ、ラン、パス、タックル等のラグビー特有の動きに基づいて、認識対象となるモーションが分類される。或いは、例えば、ラグビーという行動に対して、走る、跳ぶ、投げる、捕る、ぶつかる等の一般的な動きに基づいて、認識対象となるモーションが分類される。なお、ラグビー特有の動き及び一般的な動きの両方に基づいて、認識対象となるモーションが分類されてもよい。
 例えば、水泳という行動に対して、クロール、平泳ぎ、バタフライ、背泳ぎ等の水泳の泳法に基づいて、認識対象となるモーションが分類される。或いは、例えば、水泳という行動に対して、飛び込み、ターン、息継ぎ、キック等の水泳の動きに基づいて、認識対象となるモーションが分類される。なお、水泳の泳法及び動きの両方に基づいて、認識対象となるモーションが分類されてもよい。
 例えば、トライアスロンという行動に対して、スイミング、サイクリング、ランニングのトライアスロンの種目に基づいて、認識対象となるモーションが分類される。
 例えば、体操総合という行動に対して、あん馬、床、吊り輪等の体操の種目に基づいて、認識対象となるモーションが分類される。
 例えば、通勤という行動に対して、歩く、休む、電車に乗る、階段を登る等の通勤時の動きに基づいて、認識対象となるモーションが分類される。
 例えば、運転という行動に対して、アクセル、ブレーキ、ギア変更、後方確認等の運転時の動きに基づいて、認識対象となるモーションが分類される。
 例えば、仕事という行動に対して、話す、聞く、書く、電話、PCを使う、打合せ等の仕事時の動きに基づいて、認識対象となるモーションが分類される。
 なお、同じユーザの動きが、分類の違いにより、行動にもモーションにもなり得る。例えば、トライアスロンの各種目(スイミング、サイクリング、ランニング)は、それぞれ単独でモーションを認識する対象となる行動にもなり得る。すなわち、スイミング、サイクリング、又は、ランニングが行動に分類され、各行動に対してモーションの認識処理が行われる場合がある。
 モーション認識システム100は、ウエアラブルセンサ101-1乃至ウエアラブルセンサ101-6、及び、モーション認識装置102を備える。
 なお、以下、ウエアラブルセンサ101-1乃至ウエアラブルセンサ101-6を個々に区別する必要がない場合、単にウエアラブルセンサ101と称する。
 各ウエアラブルセンサ101は、モーションを認識する対象となるユーザの互いに異なる位置(以下、検出ポイント又は検出位置と称する)に装着され、各検出ポイントの動きを検出するセンサ装置である。各ウエアラブルセンサ101は、各検出ポイントの動きの検出結果を示す動き検出データを含む通信パケットをモーション認識装置102に送信する。
 モーション認識装置102は、例えば、ユーザから離れた位置に設置される。そして、モーション認識装置102は、各ウエアラブルセンサ101により検出されたユーザの各検出ポイントの動きに基づいて、ユーザのモーションの認識処理を行う。モーション認識装置102は、ユーザのモーションに対応する処理の制御に用いる制御データ(以下、モーション制御データと称する)を後段の装置に送信する。
 なお、各ウエアラブルセンサ101とモーション認識装置102との間の通信には、例えば、任意の方式の低遅延の近距離無線通信が採用される。近距離無線通信を採用することにより、ウエアラブルセンサ101の消費電力を削減するとともに、ウエアラブルセンサ101を小型化することが可能になる。
 また、モーション認識装置102と後段の装置との間の通信には、例えば、任意の方式の無線通信又は有線通信が採用される。
 <各ウエアラブルセンサ101の装着位置の例>
 図2は、各ウエアラブルセンサ101の装着位置(検出ポイント)の例を模式的に示している。なお、図中、各ウエアラブルセンサ101の装着位置を円で示している。
 例えば、ウエアラブルセンサ101-1は、ユーザの頭部に装着され、頭部の動きを検出する。ウエアラブルセンサ101-2は、ユーザの腰に装着され、腰の動きを検出する。すなわち、ウエアラブルセンサ101-1及びウエアラブルセンサ101-2により、ユーザの体幹の動き、重心、姿勢等が検出される。
 ウエアラブルセンサ101-3は、ユーザの左手首に装着され、左手首の動きを検出する。ウエアラブルセンサ101-4は、ユーザの右手首に装着され、右手首の動きを検出する。すなわち、ウエアラブルセンサ101-3及びウエアラブルセンサ101-4により、ユーザの両手の動きや手首のスナップ等が検出される。
 ウエアラブルセンサ101-5は、ユーザの左足首に装着され、左足首の動きを検出する。ウエアラブルセンサ101-6は、ユーザの右足首に装着され、右足首の動きを検出する。すなわち、ウエアラブルセンサ101-5及びウエアラブルセンサ101-6により、ユーザの両足の動きやステップ等が検出される。
 そして、ユーザの体幹、両手、及び、両足の相互の動きの連動性に基づいて、ユーザのモーションが認識される。
 なお、図1及び図2のウエアラブルセンサ101の装着数及び装着位置は、その一例であり、認識対象となるモーションの種類等により適宜変更される。例えば、ウエアラブルセンサ101は、ユーザの頭部、胴体、左手、右手、左足、及び、右足のうちの2カ所以上に装着される。
 なお、一般的に、ウエアラブルセンサ101の装着数が多くなるほど、モーションの認識精度が向上する一方、ユーザに与える負荷が大きくなる。一方、ウエアラブルセンサ101の装着数が少なくなるほど、ユーザに与える負荷が小さくなる一方、モーションの認識精度が低下する。
 また、ウエアラブルセンサ101の装着方法は、特に限定されない。例えば、バンド、ベルト、サポータ、テープ、クリップ等が用いられる。なお、各検出ポイントの動きを高精度に検出できるように、ユーザの動きを阻害したり、ユーザに不快感を与えたりしない程度に、できる限り各ウエアラブルセンサ101の装着位置が動かないようにすることが望ましい。
 <ウエアラブルセンサ101の構成例>
 図3は、図1のウエアラブルセンサ101の構成例を示している。また、図4は、ウエアラブルセンサ101の各センサの仕様の例を示している。
 ウエアラブルセンサ101は、HDR(High Dynamic Range)加速度センサ131、LDR(Low Dynamic Range)加速度センサ132、HDR(High Dynamic Range)ジャイロセンサ133、LDR(Low Dynamic Range)ジャイロセンサ134、地磁気センサ135、歪みセンサ136、気圧センサ137、時刻情報取得部138、センサデータ取得部139、マージ処理部140、姿勢検出部141、補正部142、バッファ143、パケット生成部144、送信制御部145、及び、送信部146を備える。
 HDR加速度センサ131は、ウエアラブルセンサ101が装着されている位置(検出ポイント)のピッチ軸(x軸)、ロール軸(y軸)、及び、ヨー軸(z軸)の3軸方向の加速度の検出を行う。例えば、HDR加速度センサ131は、1024Hzのサンプリング周波数で検出ポイントの加速度をサンプリングし、16ビット×3軸のセンサデータ(以下、HDR加速度データと称する)を出力する。
 LDR加速度センサ132は、検出ポイントのピッチ軸、ロール軸、及び、ヨー軸の3軸方向の加速度の検出を行う。例えば、LDR加速度センサ132は、1024Hzのサンプリング周波数で検出ポイントの加速度をサンプリングし、16ビット×3軸のセンサデータ(以下、LDR加速度データと称する)を出力する。
 なお、HDR加速度センサ131の方がLDR加速度センサ132より検出可能な加速度のダイナミックレンジが広い。例えば、HDR加速度センサ131は±32G、LDR加速度センサ132は±16Gでセンサデータを出力する。
 HDRジャイロセンサ133は、検出ポイントのピッチ軸回り、ロール軸回り、及び、ヨー軸回りの3軸回りの角速度の検出を行う。例えば、HDRジャイロセンサ133は、1024Hzのサンプリング周波数で検出ポイントの角速度をサンプリングし、16ビット×3軸のセンサデータ(以下、HDR角速度データと称する)を出力する。
 LDRジャイロセンサ134は、検出ポイントのピッチ軸回り、ロール軸回り、及び、ヨー軸回りの3軸回りの角速度の検出を行う。例えば、LDRジャイロセンサ134は、1024Hzのサンプリング周波数で検出ポイントの角速度をサンプリングし、16ビット×3軸のセンサデータ(以下、LDR角速度データと称する)を出力する。
 なお、HDRジャイロセンサ133の方がLDRジャイロセンサ134より検出可能な角速度のダイナミックレンジが広い。例えば、HDRジャイロセンサ133は±4000dps、LDRジャイロセンサ134は±2000dpsでセンサデータを出力する。
 地磁気センサ135は、検出ポイント周辺のピッチ軸、ロール軸、及び、ヨー軸の3軸方向の地磁気の検出を行う。例えば、地磁気センサ135は、128Hzのサンプリング周波数で検出ポイント周辺の地磁気をサンプリングし、16ビット×3軸のセンサデータ(以下、地磁気データと称する)を出力する。
 歪みセンサ136は、検出ポイントのピッチ軸及びロール軸の2軸方向の歪み(例えば、検出ポイントの伸縮等)を検出する。例えば、歪みセンサ136は、256Hzのサンプリング周波数で検出ポイントの歪みをサンプリングし、16ビット×2軸のセンサデータ(以下、歪みデータと称する)を出力する。
 気圧センサ137は、検出ポイント周辺の気圧を検出する。例えば、検出ポイント周辺の気圧に基づいて、検出ポイントの高さ方向の位置が検出される。例えば、気圧センサ137は、128Hzのサンプリング周波数で検出ポイント周辺の気圧をサンプリングし、24ビットのセンサデータ(以下、気圧データと称する)を出力する。
 時刻情報取得部138は、例えば時計等により構成され、現在時刻を示す時刻情報を取得し、センサデータ取得部139に供給する。
 センサデータ取得部139は、HDR加速度センサ131、LDR加速度センサ132、HDRジャイロセンサ133、及び、LDRジャイロセンサ134からそれぞれHDR加速度データ、LDR加速度データ、HDR角速度データ、及び、LDR角速度データを取得し、取得したデータに取得した時刻を付加してマージ処理部140に供給する。また、センサデータ取得部139は、地磁気センサ135から地磁気データを取得し、取得したデータに取得した時刻を付加して姿勢検出部141に供給する。さらに、センサデータ取得部139は、歪みセンサ136及び気圧センサ137からそれぞれ歪みデータ及び気圧データを取得し、取得したデータに取得した時刻を付加して補正部142に供給する。
 マージ処理部140は、HDR加速度データとLDR加速度データのマージ処理、及び、HDR角速度データとLDR角速度データのマージ処理を行う。マージ処理部140は、マージ後の加速度データ及び角速度データを姿勢検出部141及びバッファ143に供給する。
 姿勢検出部141は、加速度データ、角速度データ、及び、地磁気データに基づいて、検出ポイントの姿勢の検出を行う。検出ポイントの姿勢は、例えば、オイラー角により表される。姿勢検出部141は、計算結果を示すデータ(以下、姿勢データと称する)をバッファ143に供給する。
 補正部142は、歪みデータ及び気圧データの補正を行い、補正後の歪みデータ及び気圧データをバッファ143に供給する。
 バッファ143は、姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データを一時的に蓄積する。
 パケット生成部144は、バッファ143に蓄積されている姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データを含むデータ(以下、動き検出データと称する)を送信するための通信パケットを生成し、送信制御部145に供給する。
 送信制御部145は、送信部146による通信パケットの送信を制御する。
 送信部146は、所定の方式の無線通信により通信パケットをモーション認識装置102に送信する。
 なお、図示を省略しているが、ウエアラブルセンサ101の各部は、例えば、バッテリにより駆動される。
 <モーション認識装置102の構成例>
 図5は、モーション認識装置102の構成例を示している。
 モーション認識装置102は、受信部161、パケット復元部162、バッファ163、サンプルデータ生成部164、モーション認識部165、送信制御部166、及び、送信部167を備える。
 受信部161は、各ウエアラブルセンサ101の送信部146と対応する方式の無線通信により、各ウエアラブルセンサ101から通信パケットを受信し、パケット復元部162に供給する。
 パケット復元部162は、各ウエアラブルセンサ101の通信パケットの復元を行い、通信パケットに含まれる動き検出データとタイムスタンプを関連付けて、バッファ163に供給する。
 バッファ163は、各ウエアラブルセンサ101の通信パケットから抽出された動き検出データ及びタイムスタンプを一時的に蓄積する。
 サンプルデータ生成部164は、バッファ163に蓄積されている動き検出データを用いて、モーション認識処理に用いるサンプルデータを生成し、モーション認識部165に供給する。
 モーション認識部165は、ユーザのモーションの認識に用いるモデルであるモーション認識モデルを用いて、サンプルデータに基づいて、ユーザのモーションの認識処理を行う。モーション認識部165はユーザのモーションの認識結果を送信制御部166に供給する。
 送信制御部166は、ユーザのモーションの認識結果に基づいて、モーション制御データを生成し、送信部167によるモーション制御データの送信を制御する。すなわち、送信制御部166は、モーション認識装置102からのモーション制御データの出力を制御する。
 送信部167は、所定の方式の無線通信又は有線通信により、モーション制御データを後段の装置に送信する。
 <ウエアラブルセンサ101の処理>
 次に、図6のフローチャートを参照して、ウエアラブルセンサ101の処理について説明する。この処理は、例えば、ウエアラブルセンサ101の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS1において、センサデータ取得部139は、センサデータの取得を開始する。
 具体的には、センサデータ取得部139は、HDR加速度センサ131、LDR加速度センサ132、HDRジャイロセンサ133、及び、LDRジャイロセンサ134からそれぞれHDR加速度データ、LDR加速度データ、HDR角速度データ、及び、LDR角速度データを取得し、取得したデータに取得した時刻を付加してマージ処理部140に供給する処理を開始する。また、センサデータ取得部139は、地磁気センサ135から地磁気データを取得し、取得したデータに取得した時刻を付加して姿勢検出部141に供給する処理を開始する。さらに、センサデータ取得部139は、歪みセンサ136及び気圧センサ137からそれぞれ歪みデータ及び気圧データを取得し、取得したデータに取得した時刻を付加して補正部142に供給する処理を開始する。
 ステップS2において、マージ処理部140は、加速度データ及び角速度データのマージ処理を開始する。
 具体的には、マージ処理部140は、HDR加速度データとLDR加速度データをマージし(合成し)、マージ後の加速度データをバッファ143に供給し、蓄積させる処理を開始する。
 なお、マージ後の加速度データのうち、LDR加速度データのダイナミックレンジの範囲内のデータには、LDR加速度データに基づくデータが使用され、それ以外の範囲のデータには、HDR加速度データに基づくデータが使用される。これにより、マージ後の加速度データにおいて、LDR加速度データのダイナミックレンジの範囲内の加速度の検出精度が向上する。
 また、マージ処理部140は、HDR角速度データとLDR角速度データをマージし(合成し)、マージ後の角速度データをバッファ143に供給し、蓄積させる処理を開始する。
 なお、マージ後の角速度データのうち、LDR角速度データのダイナミックレンジの範囲内のデータには、LDR角速度データに基づくデータが使用され、それ以外の範囲のデータには、HDR角速度データに基づくデータが使用される。これにより、マージ後の角速度データにおいて、LDR角速度データのダイナミックレンジの範囲内の角速度の検出精度が向上する。
 ステップS3において、姿勢検出部141は、姿勢の検出を開始する。具体的には、姿勢検出部141は、加速度データ、角速度データ、及び、地磁気データに基づいて、検出ポイントの姿勢を示すピッチ軸回り、ロール軸回り、及び、ヨー軸回りの3軸回りのオイラー角を検出する処理を開始する。また、姿勢検出部141は、検出結果を示す姿勢データをバッファ143に供給し、蓄積させる処理を開始する。
 ステップS4において、補正部142は、歪みデータ及び気圧データの補正を開始する。例えば、補正部142は、歪みデータ及び気圧データのノイズ除去、データサイズの変換等の処理を開始する。また、補正部142は、補正後の歪みデータ及び気圧データをバッファ143に供給し、蓄積させる処理を開始する。
 ステップS5において、パケット生成部144は、通信パケットを送信するタイミングであるか否かを判定する。この判定処理は、通信パケットを送信するタイミングであると判定されるまで繰り返し実行され、通信パケットを送信するタイミングであると判定された場合、処理はステップS6に進む。
 なお、例えば、通信パケットは、所定の間隔で送信される。例えば、通信パケットは、128Hzの送信頻度で(すなわち、1秒間に128回)送信される。この場合、通信パケットに含まれる動き検出データのサンプリング周波数は128Hzとなる。
 ステップS6において、パケット生成部144は、通信パケットを生成する。例えば、パケット生成部144は、最新の姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データをバッファ143から読み出す。また、パケット生成部144は、現在時刻を示す時刻情報を時刻情報取得部138から取得する。そして、パケット生成部144は、バッファ143から読み出した姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データを含む通信パケットを生成する。
 図7は、パケット生成部144により生成される通信パケットのフォーマットの例を示している。通信パケットは、ヘッダ、タイムスタンプ、及び、動き検出データを含む。
 タイムスタンプには、例えば、センサデータを取得した時刻が設定される。なお、センサデータを取得した時刻には、例えば、通信パケット内の動き検出データに用いられた各センサデータの取得時刻のうち、最も早い時刻が設定される。また、例えば、動き検出データに含まれる各データの取得タイミングが異なる場合、データ毎にタイムスタンプ(センサデータを取得した時刻)を通信パケットに格納するようにしてもよい。この場合、通信パケットのフォーマットは、例えば、ヘッダ、タイムスタンプ1、動き検出データに含まれるデータ1(例えば、姿勢データ)、タイムスタンプ2、動き検出データに含まれるデータ2(例えば、加速度データ)、・・・のようになる。
 動き検出データには、バッファ143から読み出された姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データが含まれる。なお、動き検出データは、例えば、所定の方式により暗号化される。
 図8は、動き検出データに含まれる各データの仕様例を示している。
 姿勢データのサイズは、例えば、16ビット×3軸とされる。通信パケットの送信頻度が128Hzの場合、姿勢データのサンプリング周波数は128Hzとなり、ビットレートは6,144bps(bit per second)となる。
 加速度データのサイズは、例えば、20ビット×3軸とされる。通信パケットの送信頻度が128Hzの場合、加速度データのサンプリング周波数は128Hzとなり、ビットレートは7,680bpsとなる。
 角速度データのサイズは、例えば、20ビット×3軸とされる。通信パケットの送信頻度が128Hzの場合、角速度データのサンプリング周波数は128Hzとなり、ビットレートは7,680bpsとなる。
 歪みデータのサイズは、例えば、16ビット×2軸とされる。通信パケットの送信頻度が128Hzの場合、歪みデータのサンプリング周波数は128Hzとなり、ビットレートは4,096bpsとなる。
 気圧データのサイズは、例えば、24ビットとされる。通信パケットの送信頻度が128Hzの場合、気圧データのサンプリング周波数は128Hzとなり、ビットレートは2,048bpsとなる。
 パケット生成部144は、通信パケットを送信制御部145に供給する。また、パケット生成部144は、通信パケットにより送信する各データ、及び、それより古いデータをバッファ143から削除する。
 ステップS7において、送信部146は、送信制御部145の制御の下に、通信パケットをモーション認識装置102に送信する。
 その後、処理はステップS5に戻り、ステップS5以降の処理が実行される。
 <モーション認識装置102の処理>
 次に、図9のフローチャートを参照して、図6の各ウエアラブルセンサ101の処理に対応してモーション認識装置102により実行される処理について説明する。この処理は、例えば、モーション認識装置102の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS31において、受信部161は、通信パケットの受信を開始する。すなわち、受信部161は、各ウエアラブルセンサ101から送信されてくる通信パケットを受信し、受信した通信パケットをパケット復元部162に供給する処理を開始する。
 ステップS32において、パケット復元部162は、通信パケットの復元を開始する。例えば、パケット復元部162は、各ウエアラブルセンサ101から受信した通信パケットに含まれる動き検出データの復号等を行った後、動き検出データと通信パケットに含まれるタイムスタンプとを関連付けて、バッファ163に供給し、蓄積させる処理を開始する。
 ステップS33において、サンプルデータ生成部164は、モーション認識処理を行うタイミングであるか否かを判定する。この判定処理は、モーション認識処理を行うタイミングであると判定されるまで繰り返し実行され、モーション認識処理を行うタイミングであると判定された場合、処理はステップS34に進む。
 なお、例えば、モーション認識処理は、所定の間隔で実行される。例えば、モーション認識処理は、通信パケットの送信頻度と同じ頻度で(例えば、1秒間に128回)実行される。
 ステップS34において、サンプルデータ生成部164は、タイムスタンプが近い動き検出データを抽出する。
 例えば、サンプルデータ生成部164は、バッファ163に蓄積されている各動き検出データのタイムスタンプに基づいて、現在の時刻から過去の方向に遡りながら、全ての検出ポイントの動き検出データのタイムスタンプが所定の時間(例えば、数ミリ秒)の範囲内に収まる時間帯を検出する。そして、サンプルデータ生成部164は、タイムスタンプがその時間帯に含まれる動き検出データを抽出する。これにより、タイムスタンプが近い動き検出データが検出ポイント毎に1つずつ抽出される。すなわち、各検出ポイントにおいてほぼ同じタイミングで検出された動きに対応する動き検出データが抽出される。
 なお、全ての検出ポイントの動き検出データのタイムスタンプが所定の時間の範囲内に収まる時間帯が検出されなかった場合、例えば、検出データの数が最大になる時間帯を検出し、その時間帯の動き検出データを抽出するようにしてもよい。この場合、一部の検出ポイントの動き検出データが欠落した状態になる。或いは、全ての検出ポイントの動き検出データが抽出されるように、動き検出データを抽出する時間帯の幅を広げるようにしてもよい。
 ステップS35において、サンプルデータ生成部164は、抽出した動き検出データを用いてサンプルデータを生成する。具体的には、サンプルデータ生成部164は、ステップS34の処理で抽出した各検出ポイントの動き検出データを含むサンプルデータを生成し、モーション認識部165に供給する。また、サンプルデータ生成部164は、抽出した動き検出データ、及び、抽出した動き検出データよりタイムスタンプが古い動き検出データをバッファ163から削除する。
 ステップS36において、モーション認識部165は、サンプルデータに基づいて、モーション認識処理を行う。例えば、モーション認識部165は、モーション認識モデルを用いて、ユーザの各検出ポイントの姿勢、加速度、角速度、歪み(伸縮)、及び、気圧(高さ)に基づいて、ユーザのモーションを認識する。
 なお、モーション認識モデルは、例えば、ユーザの各検出ポイント間の動きの関係(例えば、各検出ポイントの連動性等)に基づいて、ユーザのモーションの認識を行うモデルである。モーション認識モデルは、例えば、事前の学習処理により生成される。モーション認識モデルの学習方法には、再帰型ニューラルネットワーク(RNN)等の任意の方法を採用することが可能である。
 モーション認識部165は、ユーザのモーションの認識結果を送信制御部166に供給する。
 ステップS37において、モーション認識装置102は、認識結果を送信する。具体的には、送信制御部166は、ユーザのモーションの認識結果に基づいて、モーション制御データを生成し、送信部167に供給する。
 なお、モーション制御データは、例えば、ユーザのモーションの認識結果、及び、認識されたモーションに対応する処理の制御情報のうち少なくとも1つを含む。
 また、モーション制御データに、モーション認識に用いられた各検出ポイントの動き検出データを含ませるようにしてもよい。これにより、後段の装置において、動き検出データに基づいて、認識されたモーションの詳細を検出することが可能になる。
 そして、送信部167は、モーション制御データを後段の装置、例えば、スマートフォン、パーソナルコンピュータ、各種のシステム等に送信する。
 なお、モーション制御データの送信を、間欠送信により行うようにしてもよい。例えば、モーションの認識結果が変化したタイミングで、モーション制御データを送信するようにしてもよい。これにより、モーション認識装置102の消費電力を削減することができる。
 また、モーション制御データの送信プロトコルには、例えば、HID(Human Interface Device)やMIDI(Music Instrument Digital Interface)等の汎用のプロトコルを用いてもよい。これにより、後段の装置において、既存のソフトウエア等を使用することが可能になる。
 その後、処理はステップS33に戻り、ステップS33以降の処理が実行される。
 以上のようにして、ユーザのモーションを容易かつ正確に認識することができる。
 例えば、図10に示されるように、ユーザがフィギュアスケートを行っている場合に、トリプルアクセル等の個々の技を認識するとともに、その技を行っている期間を検出することができる。
 或いは、例えば、ユーザの行動を構成する「立つ」、「かがむ」、「座る」、「起き上がる」、「寝ころぶ」、「歩く」、「走る」、「止まる」、「跳ねる」、「這う」、「くぐる」、「振る」、「投げる」、「蹴る」等の個々の動きを容易かつ正確に認識することができる。
 なお、モーション認識システム100は、ユーザのモーションの種類(例えば、モーションの意味情報)までを認識し、各モーションの詳細な動きの認識は行わない。
 例えば、ユーザがダンスを行っている場合、図11及び図12に示されるように、ポップコーン、スライド、ラコステ、バートシンプソン、フォーシング、ブルックリン、ジャーク、ビズマーキー、ワーム、フロントグルーブ、ジャンプ等のダンスの個々の技の種類が認識される。一方、個々の技における動きの違いまでは認識されない。すなわち、ユーザが同じダンスの技を手足の動きやリズムを変えて行っても、同じダンスの技として認識され、それ以上の違いは認識されない。
 なお、このように、所定の分類に基づくユーザのモーションの種類までの認識に限定することにより、ウエアラブルセンサ101の装着数を少なくすることができる。その結果、CG(Computer Graphics)等で用いられる従来のモーションキャプチャシステムと比較して、ユーザの負担を軽減することができる。例えば、ユーザは、ウエアラブルセンサ101を装着しても、動きがほとんど制約されずに、ほぼ普段通りの動きをすることが可能になる。
 また、従来のモーションキャプチャシステムでは、ユーザの全身の位置や姿勢の情報が出力される。そして、例えば、アプリケーションプログラムの開発者は、その情報に基づいてユーザのモーションを認識するためのアルゴリズムを独自に開発して、アプリケーションプログラムに組み込む必要がある。
 一方、モーション認識システム100では、モーションの種類まで認識され出力されるため、アプリケーションプログラムの開発者の負荷が軽減される。
 また、例えば、カメラを設置して撮影された映像に基づいて、ユーザのモーションを認識する方法と比較して、モーション認識を行う場所や環境等の制約が少なくなる。
 例えば、カメラの設置位置、撮影範囲、撮影条件等を気にせずに、モーション認識を行うことが可能になる。例えば、カメラの撮影範囲やオクルージョンを気にせずに、ユーザが自由に行動しながら、モーション認識を行うことが可能になる。例えば、暗所、海上(例えば、ウインドサーフィン等)等におけるユーザのモーションを認識することができる。また、例えば、認識対象となるユーザは、ステージのセットや背景等との関係を気にせずに、所望の色やデザインの服装やコスチュームを身に付けることができる。また、例えば、ステージの構造や演出等によりカメラの設置位置が制限され、その結果、ユーザのモーションの認識可能な範囲が制限されることもない。
 また、ユーザ毎にモーション認識システム100を設けることにより、他のユーザの影響を受けることなく、各ユーザのモーションを個別に認識することができる。例えば、集団でのダンスパフォーマンスにおいて、個々のパフォーマのモーションを認識したり、特定のパフォーマのモーションを認識したりすることができる。
 また、ウエアラブルセンサ101の各センサのサンプリング周波数が、一般的なカメラのフレームレートより高速であるため、より高速なユーザのモーションを認識することが可能である。例えば、ダンスのターンやステップ等の高速な動きを正確に認識することができる。
 なお、モーション認識システム100にカメラを設けて、カメラで撮影した映像に基づいて、ユーザの位置を検出するようにしてもよい。或いは、ウエアラブルセンサ101の少なくとも1つに、GNSS(Global Navigation Satellite System)受信機等のユーザの位置情報を検出可能なデバイスを設け、ユーザの位置を検出するようにしてもよい。これにより、モーションの認識結果と位置情報の検出結果に基づいて、ユーザの動きをより詳細に検出することが可能になる。
 <学習システムの構成例>
 図13は、本技術を適用した学習システムの一実施の形態である学習システム200の構成例を示している。なお、図中、図1のモーション認識システム100と対応する部分には同じ符号を付してあり、その説明は適宜省略する。
 学習システム200は、モーション認識装置102のモーション認識部165に適用するモーション認識モデルの学習処理を行うシステムである。
 学習システム200は、ウエアラブルセンサ101-1乃至ウエアラブルセンサ101-6及び学習処理装置201を備える。
 学習処理装置201は、各ウエアラブルセンサ101から送信されてくる通信パケットに含まれる動き検出データに基づいて、モーション認識モデルの学習処理を行う。
 <情報処理装置の構成例>
 図14は、図13の学習処理装置201に適用可能な情報処理装置220の構成例を示している。
 情報処理装置220は、例えば、パーソナルコンピュータ、スマートフォン、タブレット等により構成される。情報処理装置220は、CPU(Central Processing Unit)221、ROM(Read Only Memory)222、RAM(Random Access Memory)223、バス224、入出力インタフェース225、入力部226、出力部227、記憶部228、通信部229、ドライブ230、及び、リムーバブルメディア231を備える。
 CPU221、ROM222、及び、RAM223は、バス224により相互に接続されている。バス224には、さらに、入出力インタフェース225が接続されている。入出力インタフェース225には、入力部226、出力部227、記憶部228、通信部229、及び、ドライブ230が接続されている。
 入力部226は、例えば、キーボード、マウス、マイクロフォン等を備える。
 出力部227は、例えば、ディスプレイ、スピーカ等を備える。
 記憶部228は、例えば、ハードディスクや不揮発性のメモリ等を備える。
 通信部229は、例えば、無線又は有線の通信装置、ネットワークインタフェース等を備える。
 ドライブ230は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア231を駆動する。
 情報処理装置220では、CPU221が、例えば、記憶部228に記憶されているプログラムを、入出力インタフェース225及びバス224を介して、RAM243にロードして実行することにより、各種の処理が行われる。
 情報処理装置220(CPU221)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア231に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 情報処理装置220では、プログラムは、リムーバブルメディア231をドライブ230に装着することにより、入出力インタフェース225を介して、記憶部228にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部229で受信し、記憶部228にインストールすることができる。その他、プログラムは、ROM202や記憶部228に、あらかじめインストールしておくことができる。
 なお、以下、バス224及び入出力インタフェース225の記載を適宜省略する。例えば、CPU221と通信部229が、バス224及び入出力インタフェース225を介してデータの送受信を行う場合、単に、CPU221と通信部229がデータの送受信を行うと記載する。
 <学習処理部の構成例>
 図15は、情報処理装置220のCPU221が所定の制御プログラムを実行することにより実現される学習処理部251の構成例を示している。
 学習処理部251は、パケット復元部261、バッファ262、サンプルデータ生成部263、バッファ264、学習データ生成部265、学習部266、及び、UI(ユーザインタフェース)制御部267を備える。
 パケット復元部261は、図5のパケット復元部162と同様に、各ウエアラブルセンサ101の通信パケットの復元を行い、通信パケットに含まれる動き検出データとタイムスタンプを関連付けて、バッファ262に供給する。
 バッファ262は、各ウエアラブルセンサ101の通信パケットから抽出された動き検出データを一時的に蓄積する。
 サンプルデータ生成部263は、図5のサンプルデータ生成部164と同様に、バッファ262に蓄積されている動き検出データを用いて、サンプルデータを生成し、バッファ264に供給する。
 バッファ264は、サンプルデータを一時的に蓄積する。
 学習データ生成部265は、バッファ264に蓄積されているサンプルデータにラベルを付加することにより学習データを生成し、学習部266に供給する。ラベルは、例えば、サンプルデータに含まれる動き検出データが検出されたときのユーザのモーションの種類を示す。
 学習部266は、学習データに基づいて、モーション認識モデルの学習処理を行う。なお、モーション認識モデルの学習処理には、任意の学習方法を採用することが可能である。
 UI制御部267は、入力部226を介して入力されるユーザ入力等に基づいて、出力部227を制御して、モーション認識モデルの学習処理を行う際のユーザインタフェースの制御を行う。
 <モーション登録処理>
 次に、図16のフローチャートを参照して、学習システム200により実行される学習処理の一例として、モーション登録処理ついて説明する。モーション登録処理とは、モーション認識モデルに新たに認識させるモーションを登録する処理である。以下では、新たなダンスの技を認識対象として登録する場合を例に挙げて説明する。
 ステップS101において、学習処理部251は、着目ポイントの選択を受け付ける。
 例えば、出力部227は、UI制御部267の制御の下に、図17のウインドウW1を表示する。ウインドウW1には、ユーザがウエアラブルセンサ101を装着している部位(検出ポイント)が円で示されている。そして、ユーザは、入力部226を介して、検出ポイントの中から着目ポイントを選択する。
 ここで、着目ポイントとは、登録するモーションにおいて特に着目する検出ポイント(部位)のことである。例えば、登録するモーションの特徴を特に顕著に表す部位における検出ポイントが、着目ポイントに選択される。そして、例えば、学習処理において、着目ポイントの動きが、他の検出ポイントの動きより重視される。
 例えば、両手を大きく振るダンスの技を新しいモーションとして登録する場合、両手の動きが重要であり、それ以外の部位の動きはあまり重要ではない。従って、この場合、例えば、図17のウインドウW1に示されるように、両手首が着目ポイントに選択される。
 UI制御部267は、入力部226から着目ポイントの選択結果を取得し、学習部266に供給する。
 なお、必ずしも着目ポイントを選択する必要はない。
 ステップS102において、学習処理部251は、テンポの設定を受け付ける。
 例えば、出力部227は、UI制御部267の制御の下に、図17のウインドウW2を表示する。ウインドウW2には、モーションを登録する際のクリック音のテンポを設定するためのスライダ281が表示されている。例えば、ユーザは、入力部226を介して、スライダ281を左右に動かすことにより、モーションを登録する際のテンポを設定する。この例では、テンポが120bpm(beats per minute)に設定されている。
 UI制御部267は、入力部226からテンポの設定結果を取得する。
 ステップS103において、学習処理部251は、モーションを登録するタイミングの設定を受け付ける。
 例えば、出力部227は、UI制御部267の制御の下に、図17のウインドウW3を表示する。ウインドウW3には、4拍子のクリック音を示す1から4の丸数字が表示されている。なお、ウインドウW3、並びに、後述するウインドウW5及びウインドウW6において、丸数字の上の”ピッ”等の文字は、各拍子において出力されるクリック音を示しており、実際には表示されない。
 例えば、ユーザは、入力部226を介して、モーションを登録するタイミングを設定する。この例では、1拍目と2拍目のクリック音の間にモーションを登録するように設定した例が示されている。すなわち、1拍目のクリック音が出力されてから2拍目のクリック音が出力されるまでの期間が、モーションの登録期間に設定されている。この場合、例えば、1拍目と2拍目のクリック音の音量が大きくなり、3拍目と4拍目のクリック音の音量が小さくなる。
 UI制御部267は、入力部226からテンポの設定結果を取得する。
 ステップS104において、モーション認識システム100は、モーションの登録を受け付ける。
 例えば、出力部227は、UI制御部267の制御の下に、図17のウインドウW4を表示し、モーションの登録を開始するタイミングを提示する。そして、出力部227は、UI制御部267の制御の下に、モーションの登録を開始するタイミングになった時点で、図17のウインドウW5を表示するとともに、設定されたテンポでクリック音の出力を開始する。上述したように、クリック音は、1拍目と2拍目で音量が大きくなり、3拍目と4拍目で音量が小さくなる。
 なお、例えば、一部のウエアラブルセンサ101にスピーカを内蔵して、そのスピーカからクリック音を出力するようにしてもよい。
 例えば、ユーザは、ウエアラブルセンサ101を装着した状態で、1拍目と2拍目のクリック音の間のモーション登録期間中に登録対象となるモーションを行う。例えば、ユーザは、1拍目のクリック音が出力されたとき、モーションを開始し、2拍目のクリック音が出力されたとき、モーションを終了する。これにより、ユーザは、学習システム200に対して、確実にモーションを入力することができる。また、ユーザは、ゲーム感覚で楽しみながら、モーションの登録を行うことができる。なお、ユーザがより楽しみながらモーションを登録できるように、ユーザの所望の楽曲に合わせてクリック音が出力されるようにしてもよい。
 各ウエアラブルセンサ101は、図6を参照して上述した処理により、各検出ポイントの動きを示す動き検出データを含む通信パケットを所定の周期で送信する処理を開始する。
 情報処理装置220(学習処理装置201)の通信部229は、各ウエアラブルセンサ101から通信パケットを受信し、パケット復元部261に供給する処理を開始する。
 パケット復元部261は、図9のステップS32と同様の処理により、各ウエアラブルセンサ101の通信パケットを復元し、通信パケットに含まれる動き検出データをタイムスタンプと関連付けて、バッファ262に供給し、蓄積させる処理を開始する。
 サンプルデータ生成部263は、図9のステップS34及びステップS35と同様の処理により、バッファ262に蓄積されている動き検出データを用いて、サンプルデータを生成し、バッファ264に供給し、蓄積させる処理を開始する。なお、このとき、例えば、1拍目と2拍目のクリック音の間に検出された動き検出データのみ用いて、サンプルデータが生成される。
 ステップS105において、学習処理部251は、モーションの学習を行う。具体的には、学習データ生成部265は、バッファ264に蓄積されているサンプルデータに新たに登録するモーションの種類を示すラベルを付加することにより学習データを生成し、学習部206に供給する処理を開始する。
 学習部206は、取得した学習データに基づいて、モーション認識モデルに新たなモーションを登録するための学習処理を開始する。このとき、着目ポイントが選択されている場合、例えば、学習部206は、着目ポイントの動き検出データに対する重みを、他の検出ポイントの動き検出データに対する重みより大きくして学習処理を行う。すなわち、学習部206は、検出ポイント間で重みをつけて学習処理を行う。
 そして、新たなモーションの登録が完了したとき、出力部227は、UI制御部267の制御の下に、図17のウインドウW6を表示し、モーションの登録の完了を通知するとともに、登録時のクリック音と異なる”ピピッ”というクリック音を出力する。
 ステップS106において、情報処理装置220(学習処理装置201)は、信頼度を提示する。具体的には、学習部206は、所定の方法により、今回登録したモーションの信頼度を算出する。モーションの信頼度は、例えば、モーションの登録に用いられた学習データの量や、学習データに含まれるサンプルデータの分散、他のモーションに誤判定する確率等に基づいて算出される。そして、モーションの信頼度が高いほど、そのモーションの認識精度が高くなり、モーションの信頼度が高いほど、そのモーションの認識精度が低くなる。
 また、出力部227は、UI制御部267の制御の下に、図17のウインドウW7を表示し、今回登録したモーションの信頼度を提示する。また、モーションの信頼度が十分でない場合には、例えば、もう少し学習データが必要な旨のメッセージが表示される。これにより、例えば、ユーザは、これ以上学習させる必要があるか否か、或いは、他のモーションとの差異を明確にするためにモーションを変更すべきか否か等の判断を行うことができる。
 その後、モーション登録処理は終了する。
 このように、ユーザは、分かりやすいユーザインタフェースに従って、簡単に楽しみながら新しいモーションを登録することができる。また、着目ポイントを設定することにより、モーションの登録が効率化され、例えば、新しいモーションを、より少ない学習データで高い認識精度で登録することが可能になる。
 <モーション認識モデルの認識精度を向上させる方法>
 次に、モーション認識モデルの認識精度を向上させる方法の一例について説明する。具体的には、ダンスの個々の技をモーションとして認識するモーション認識モデルの認識精度を向上させる場合の例について説明する。
 図18は、ダンスのジャンルを整理した例を示す図である。この図に示されるように、ダンスのジャンルは、階層構造により表される。すなわち、図内の下のジャンルほど発生時期が古く、上のジャンルほど発生時期が新しい。そして、古いジャンルをベースにして新しいジャンルが生み出される。
 例えば、古いジャンルの技を組み合わせたり、改良したりすることにより、新しいジャンルの技の一部が生み出される。そのため、新しいジャンルの技の一部に、古いジャンルのダンスの技の特徴が含まれるようになる。従って、古いジャンルほど他のジャンルに対する影響力が大きくなり、新しいジャンルほど他のジャンルに対する影響力は小さくなる。
 例えば、ジャズ、ロック、ポップ、ブレイクは、それぞれソウルをベースにして生みだされたジャンルである。ミドルスクールは、ジャズ、ロック、ポップ、ブレイクをベースにして生みだされたジャンルである。ガールズ、ハウスは、それぞれミドルスクールをベースにして生みだされたジャンルである。ニュースクールは、ガールズ、ハウスをベースにして生みだされたジャンルである。
 また、古いジャンルのダンスの技に基づいて新しいジャンルのダンスの技が生み出されるため、図19に示されるように、ダンスの技も階層構造により表すことができる。なお、図19では、ダンスの技の間の関係を矢印で示している。すなわち、矢印で結ばれている技のうち、矢印の元の技は、矢印の先の技の影響を受けている。例えば、ジャークは、スライドとワームの影響を受けている。より具体的には、スライドとワームを組み合わせた技がジャークである。
 このように、ダンスの技を階層化し、主従関係を整理することにより、各ダンスの技の特徴の関係を明確にし、各技の間の特徴の違いを明確にすることができる。そして、この整理した結果を用いて、ダンスの技を認識するモーション認識モデルの学習を行うことにより、ダンスの技の認識精度を向上させることができる。
 <モーション認識のリアルタイム性を向上させる方法>
 次に、図20及び図23を参照して、モーション認識システム100において、モーション認識のリアルタイム性を向上させる方法について説明する。
 例えば、モーションの認識結果を利用するケースによっては、モーション認識のリアルタイム性が求められる場合がある。すなわち、ユーザがあるモーションを行ってから、そのモーションが認識されるまでの所要時間(以下、遅延時間と称する)をできる限り短くすることが求められる場合がある。例えば、パフォーマの動きに追従して舞台演出を行う場合、スポーツのトレーニング等で選手の動きの認識結果を即座にフィードバックする場合、リアルタイム性が重視されるゲームにおいてプレイヤーの動きによりコマンドを入力する場合等である。
 一方、従来の無線通信では、一般的に確実にデータの送受信を行うことが重視され、通信エラーが発生した場合、データの再送を行う仕様が組み込まれている。しかし、例えば、ウエアラブルセンサ101とモーション認識装置102との間で通信エラーが発生し、通信パケットの再送が繰り返されると、その分遅延時間が長くなってしまう。そして、例えば、全ての検出ポイントの通信パケットが揃ってからモーション認識処理を行おうとすると、ユーザがモーションを行ってから認識されるまでの時間(遅延時間)が長くなり、リアルタイム性が担保されなくなる。
 これに対して、例えば、リアルタイム性を重視するために、通信パケットの再送回数を制限してしまうと、一部のウエアラブルセンサ101からの通信パケット(動き検出データ)が欠損した状態が発生する確率が高くなる。すなわち、一部の検出ポイントの動きがモーション認識装置102に通知されない確率が高くなる。
 しかし、モーション認識装置102のモーション認識部165は、ユーザの複数の検出ポイントの動きに基づいて、ユーザのモーションの認識を行う。従って、いくつかの検出ポイントの通信パケットが欠損し、それらの検出ポイントの動きが通知されなくても、他の検出ポイントの動きに基づいて、ユーザのモーションを正確に認識できる場合も少なくない。
 そこで、認識精度を下げずに、モーション認識のリアルタイム性を確保するために、例えば、学習システム200において、通信パケット(動き検出データ)の欠損を前提にして、モーション認識モデルの学習を行うとともに、モーション認識システム100において、通信パケットの再送回数を制限することが考えられる。
 具体的には、例えば、学習システム200の学習部266において、ドロップアウト等の手法に従って、各検出ポイントの動き検出データが部分的に欠損した学習データを用いてモーション認識モデルの学習処理を行うことが考えられる。
 例えば、図20は、そのような学習データの例の一部を示している。具体的には、図20は、学習データに含まれる各検出ポイントの動き検出データのうち、角速度データ及び加速度データの波形の例を示している。各グラフの横軸は時間を示し、縦軸は角速度又は加速度を示している。また、この図では、各検出ポイントの角速度データの波形及び加速度データの波形がほぼ同じになっているが、実際には各検出ポイント間で異なる波形となる。
 なお、図内の各グラフの斜線で消された部分は、動き検出データが欠損している部分を示す。このように、各検出ポイントの動き検出データが部分的に欠損した学習データを用いて学習処理を行うことにより、動き検出データの欠損に対してロバストなモーション認識モデルが構築される。
 なお、例えば、各ウエアラブルセンサ101とモーション認識装置102との間の通信状況を実測し、通信エラーの発生傾向を分析した結果に基づいて、より実際の状況に近くなるように動き検出データを欠損させた学習データを用いるようにすることが望ましい。
 そして、モーション認識システム100において、動き検出データの欠損に対してロバストなモーション認識モデルを用いた上で、各ウエアラブルセンサ101とモーション認識装置102との間の通信パケットの再送回数が制限される。
 例えば、通信パケットの送信頻度が128Hzである場合、通信パケットの送信間隔は約7.8ミリ秒となる。この場合、例えば、約7.8ミリ秒の間に、通信パケットの送信が完了するように再送回数を制限することが考えられる。
 ただし、通信パケットの再送回数と動き検出データの欠損率とはトレードオフの関係にある。また、動き検出データの欠損率とモーションの認識精度ともトレードオフの関係にある。
 具体的には、図21は、動き検出データの欠損率とモーションの認識精度(F値)との関係を示すグラフである。横軸はデータ欠損率(単位は%)を示し、縦軸は認識精度を示している。
 このグラフに示されるように、動き検出データの欠損率が低くなるほど、モーションの認識精度が高くなり、動き検出データの欠損率が高くなるほど、モーションの認識精度が低くなる。
 また、図22は、通信パケットの再送回数の上限値と、動き検出データの欠損率、通信パケットの最大遅延時間、及び、モーションの認識精度(F値)との関係の例を示している。
 例えば、通信パケットの再送回数を3回に制限した場合、動き検出データの欠損率は2.5%となり、最大遅延時間は11.7ミリ秒となり、モーションの認識精度は0.90となる。
 一方、通信パケットの再送回数を2回に制限した場合、動きデータの欠損率は5.0%に上昇し、モーションの認識精度は0.85に低下する。一方、最大遅延時間は7.8ミリ秒に短縮される。
 さらに通信パケットの再送回数を1回に制限した場合、動きデータの欠損率は8.0%に上昇し、モーションの認識精度は0.80に低下する。一方、最大遅延時間は3.9ミリ秒に短縮される。
 そこで、例えば、モーションの認識結果を利用するケースに応じて、各ウエアラブルセンサ101の通信パケットの再送回数を変更できるようにすることが望ましい。
 例えば、モーション認識のリアルタイム性が重視される場合には、通信パケットの再送回数が1回に制限される。これにより、モーションの認識精度が多少低下するが、ユーザのモーションに迅速に追従するアプリケーションを実現することができる。
 一方、例えば、モーション認識のリアルタイム性があまり重視されない場合には、モーションの再送回数が3回に増やされる。これにより、ユーザのモーションの認識精度が向上し、ユーザのモーションにより適切に追従するアプリケーションを実現することができる。
 なお、再送回数の他に、モーション認識のリアルタイム性に寄与する要素として、例えば、図23に示されるように、ウエアラブルセンサ101の装着数、動き検出データのサイズ、及び、動き検出データのサンプリング周波数(通信パケットの送信頻度)がある。
 例えば、ウエアラブルセンサ101の装着数を減らすと、時分割収容数が減少するため、通信パケットの再送回数を変えずに、動き検出データのサンプリング周波数(通信パケットの送信頻度)を上げることができる。その結果、モーション認識処理の周期が短くなり、遅延時間が減少するため、モーション認識のリアルタイム性が向上する。一方、ウエアラブルセンサ101の装着数を減らすと、検出ポイントが減少するため、モーションの認識精度が低下する。逆に、ウエアラブルセンサ101の装着数を増やすと、モーション認識のリアルタイム性は低下するが、モーションの認識精度は向上する。
 また、例えば、動き検出データのサイズを小さくすると、通信パケットのペイロードサイズが減少するため、通信パケットの再送回数を変えずに、動き検出データのサンプリング周波数(通信パケットの送信頻度)を上げることができる。その結果、モーション認識処理の周期が短くなり、遅延時間が減少するため、モーション認識のリアルタイム性が向上する。一方、動き検出データのサイズを小さくすると、動き検出データに含まれる各データのサイズが小さくなり、加速度、角速度等の分解能が低下する。その結果、モーションの認識精度が低下する。逆に、動き検出データのサイズを大きくすると、モーション認識のリアルタイム性は低下するが、モーションの認識精度は向上する。
 さらに、動き検出データのサンプリング周波数(通信パケットの送信頻度)を上げると、モーション認識処理の周期が短くなり、遅延時間が減少するため、モーション認識のリアルタイム性が向上する。一方、通信パケットの送信周期が短くなるため、遅延時間を通信パケットの送信周期内に収めようとした場合、通信パケットの再送回数を減らす必要が生じる。その結果、データ欠損率が大きくなり、モーションの認識精度が低下する。逆に、動き検出データのサンプリング周波数を下げると、モーション認識のリアルタイム性は低下するが、モーションの認識精度は向上する。
 従って、モーション認識のリアルタイム性、及び、モーションの認識精度のどちらを重視するかに基づいて、通信パケット再送回数、ウエアラブルセンサ101の装着数、動き検出データのサイズ、及び、動き検出データのサンプリング周波数のうち1つ以上を調整できるようにすることが望ましい。これにより、モーション認識システム100が、リアルタイム性が要求されるアプリケーション、及び、認識精度が要求されるアプリケーションのいずれにも適切に対応することが可能になる。
 <<2.第2の実施の形態>>
 次に、図24乃至図30を参照して、本技術の第2の実施の形態について説明する。
 上述したように、モーション認識システム100では、ユーザの検出ポイント間の動きの関係に基づいて、モーションの認識が行われる。従って、モーションの認識精度を向上させるためには、各検出ポイントの動きを検出するタイミングをできる限り同期させることが重要になる。或いは、できる限り同じタイミングで各検出ポイントにおいて検出された動き検出データを用いて、モーション認識処理を行うことが重要になる。
 これに対して、モーション認識システム100では、各通信パケットのタイムスタンプに基づいて、できる限り同じタイミングで各検出ポイントにおいて検出された動き検出データを用いて、モーション認識処理が行われる。
 しかし、この場合、各ウエアラブルセンサ101の時刻情報取得部138の時刻にズレが生じると、各検出ポイント間の動き検出データの検出タイミングの差が大きくなる。その結果、モーションの認識精度が低下する。
 従って、何らかの方法により、各ウエアラブルセンサ101の時刻情報取得部138間の時刻の同期処理が必要になる。しかし、この時刻の同期処理は、例えば、各ウエアラブルセンサ101の電源がオンされる度に行う必要があり、処理の負荷が高くなる。また、モーション認識システム100の使用中の時刻のズレに対応するには、より複雑な処理が必要になる。
 一方、モーション認識処理に用いる各検出ポイントの動き検出データの検出タイミングは、必ずしも厳密に同時である必要はなく、ある程度のズレ(例えば、数ミリ秒単位、或いは、1サンプル以内)が許容される場合も多い。
 そこで、この第2の実施の形態では、モーション認識装置側で、各ウエアラブルセンサが動き検出データを検出するタイミングを制御することにより、各検出ポイントにおいて、できる限り同じタイミングで検出された動き検出データを用いて、モーション認識処理を行うようにするものである。
 <モーション認識システムの第2の実施の形態>
 図24は、本技術を適用したモーション認識システムの第2の実施の形態であるモーション認識システム300の構成例を示している。
 モーション認識システム300は、ウエアラブルセンサ301-1乃至ウエアラブルセンサ301-6、及び、モーション認識装置302を備える。
 なお、以下、ウエアラブルセンサ301-1乃至ウエアラブルセンサ301-6を個々に区別する必要がない場合、単にウエアラブルセンサ301と称する。
 各ウエアラブルセンサ301は、図1の各ウエアラブルセンサ101と同様に、ユーザの互いに異なる検出ポイントに装着される。各ウエアラブルセンサ301は、モーション認識装置302の制御の下に、各検出ポイントの動きを検出し、検出結果を含む通信パケットをモーション認識装置302に送信する。
 モーション認識装置302は、各ウエアラブルセンサ301から受信した通信パケットに含まれる各検出ポイントの動き検出データに基づいて、ユーザのモーションの認識処理を行う。モーション認識装置302は、ユーザのモーションの認識結果に基づくモーション制御データを後段の装置に送信する。
 <ウエアラブルセンサ301の構成例>
 図25は、図24のウエアラブルセンサ301の構成例を示している。なお、図中、図3のウエアラブルセンサ101と対応する部分には、同じ符号を付してあり、その説明は適宜省略する。
 ウエアラブルセンサ301は、ウエアラブルセンサ101と比較して、パケット生成部144及び送信制御部145の代わりに、パケット生成部331及び送信制御部334が設けられ、バッファ332及び受信部333が追加され、時刻情報取得部138が削除されている点が異なる。
 パケット生成部331は、バッファ143に蓄積されている姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データを含む動き検出データを送信するための通信パケットを生成し、バッファ332に供給する。
 バッファ332は、通信パケットを一時的に蓄積する。
 受信部333は、送信部146と同じ方式の無線通信により、通信パケットの送信を要求する送信要求信号をモーション認識装置302から受信し、送信制御部334に供給する。
 送信制御部334は、送信部146による通信パケットの送信を制御する。
 <モーション認識装置302の構成例>
 図26は、図24のモーション認識装置302の構成例を示している。なお、図中、図5のモーション認識装置102と対応する部分には、同じ符号を付してあり、その説明は適宜省略する。
 モーション認識装置302は、モーション認識装置102と比較して、通信制御部361及び送信部362が追加され、バッファ163が削除されている点が異なる。
 通信制御部361は、各ウエアラブルセンサ301に通信パケットの送信を要求する送信要求信号を生成し、送信部362に供給する。また、通信制御部361は、受信部161から供給される各ウエアラブルセンサ301からの通信パケットをパケット復元部162に供給する。
 送信部362は、各ウエアラブルセンサ301の受信部333と対応する方式の無線通信により、送信要求信号を各ウエアラブルセンサ301に送信する。
 <モーション認識装置302の処理>
 次に、図27のフローチャートを参照して、モーション認識装置302の処理について説明する。
 この処理は、例えば、モーション認識装置302の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS201において、通信制御部361は、変数iの値を1に設定する。
 ステップS202において、モーション認識装置302は、i番目のウエアラブルセンサ(ウエアラブルセンサ301-i)に通信パケットの送信を要求する。具体的には、通信制御部361は、ウエアラブルセンサ301-iに通信パケットの送信を要求するための送信要求信号を生成し、送信部362に供給する。送信部362は、ウエアラブルセンサ301-iに送信要求信号を送信する。
 これに対して、ウエアラブルセンサ301-iは、後述する図28のステップS236において、送信要求信号を受信し、ステップS237において、通信パケットを送信する。
 ステップS203において、受信部161は、i番目のウエアラブルセンサ(ウエアラブルセンサ301-i)から通信パケットを受信する。受信部161は、受信した通信パケットを通信制御部361に供給する。通信制御部361は、通信パケットをパケット復元部162に供給する。
 ステップS204において、パケット復元部162は、通信パケットの復元を行う。例えば、パケット復元部162は、取得した通信パケットに含まれる動き検出データの復号等を行った後、動き検出データをサンプルデータ生成部164に供給する。
 ステップS205において、通信制御部361は、変数iの値を1つインクリメントする。
 ステップS206において、通信制御部361は、変数iの値が定数M以下であるか否かを判定する。ここで、定数Mはウエアラブルセンサ301の台数を示し、現在の例では、M=6となる。変数iの値が定数M以下であると判定された場合、すなわち、まだ通信パケットの送信を要求していないウエアラブルセンサ301がある場合、処理はステップS202に戻る。
 その後、ステップS206において、変数iの値が定数Mを超えたと判定されるまで、ステップS202乃至ステップS206の処理が繰り返し実行される。これにより、全てのウエアラブルセンサ301に対して順番に通信パケットの送信が要求され、各ウエアラブルセンサ301から順番に通信パケットが受信される。
 なお、例えば、ステップS204において通信パケットの復元を行うのと並行して、次のウエアラブルセンサ301に通信パケットの送信を要求するようにしてもよい。
 一方、ステップS206において、変数iの値が定数Mを超えたと判定された場合、処理はステップS207に進む。
 ステップS207において、サンプルデータ生成部164は、サンプルデータを生成する。すなわち、サンプルデータ生成部164は、パケット復元部162から供給された各ウエアラブルセンサ301からの動き検出データを含むサンプルデータを生成する。サンプルデータ生成部164は、生成したサンプルデータをモーション認識部165に供給する。
 そして、ステップS208及びステップS209において、図9のステップS36及びステップS37と同様の処理が実行される。その後、処理はステップS201に戻り、ステップS201以降の処理が実行される。
 <ウエアラブルセンサ301の処理>
 次に、図28のフローチャートを参照して、図27のモーション認識装置302の処理に対応してウエアラブルセンサ301により実行される処理について説明する。
 この処理は、例えば、ウエアラブルセンサ301の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS231乃至ステップS234において、図6のステップS1乃至ステップS4と同様の処理が実行される。
 ステップS235において、パケット生成部331は、通信パケットの生成を開始する。具体的には、パケット生成部331は、最新の姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データをバッファ143から読み出し、読み出したデータを含む通信パケットを生成し、バッファ332に蓄積する処理を開始する。
 図29は、パケット生成部331により生成される通信パケットのフォーマットの例を示している。
 この通信パケットは、図7の通信パケットと比較して、タイムスタンプが削除されている点が異なる。すなわち、モーション認識装置302が、各ウエアラブルセンサ301が通信パケットを送信するタイミングを制御するため、タイムスタンプが不要になる。
 ステップS236において、送信制御部334は、通信パケットの送信が要求されたか否かを判定する。この判定処理は、通信パケットの送信が要求されたと判定されるまで、所定のタイミングで繰り返し実行される。
 そして、送信制御部334は、受信部333を介して、モーション認識装置302から送信要求信号を受信した場合、通信パケットの送信が要求されたと判定し、処理はステップS237に進む。
 ステップS237において、ウエアラブルセンサ301は、通信パケットを送信する。具体的には、送信制御部145は、通信パケットをバッファ332から読み出し、送信部146に供給する。送信制御部145は、読み出した通信パケットをバッファ332から削除する。送信部146は、通信パケットをモーション認識装置302に送信する。
 その後、処理はステップS236に戻り、ステップS236以降の処理が実行される。
 図30は、図27及び図28の処理における、モーション認識装置302と各ウエアラブルセンサ301との間の通信を示すシーケンス図である。
 このように、モーション認識装置302から各ウエアラブルセンサ301に順番に送信要求信号(REQ)が送信され、各ウエアラブルセンサ301から順番に通信パケット(ACK)が送信される。従って、同期信号やタイムスタンプ等を使用せずに、モーション認識処理に用いる各ウエアラブルセンサ301の動き検出データの検出タイミングを合わせることができる。従って、モーション認識処理の精度を向上させることができる。また、モーション認識装置302において、各ウエアラブルセンサ301からの通信パケットが揃うまで、通信パケットをバッファリングして待ち合わせる処理が不要となる。
 また、図29を参照して上述したように、通信パケットにタイムスタンプを付加する必要がなくなり、通信パケットのデータ量が削減される。これにより、通信パケットの通信時間が短縮され、消費電力が削減される。また、通信エラー時の通信パケットの再送回数を増やすことができ、通信の安定性が向上する。
 そして、モーション認識装置302は、各ウエアラブルセンサ301から通信パケットを受信した後、サンプルデータを生成し、モーション認識処理を実行する。例えば、モーション認識処理が1秒間に128回行われる場合、以上の処理が、7.8ミリ秒の周期で実行される。
 なお、例えば、ウエアラブルセンサ301が、モーション認識装置302から送信要求情報を受信したとき、通信パケットを生成し、生成した通信パケットを送信するようにしてもよい。
 <<3.第3の実施の形態>>
 次に、図31乃至図36を参照して、本技術の第3の実施の形態について説明する。
 第3の実施の形態は、第2の実施の形態と異なる方法により、できる限り同じタイミングで各検出ポイントにおいて検出された動き検出データを用いて、モーション認識処理を行うようにするものである。
 <モーション認識システムの第3の実施の形態>
 図31は、本技術を適用したモーション認識システムの第3の実施の形態であるモーション認識システム400の構成例を示している。
 モーション認識システム400は、ウエアラブルセンサ401-1乃至ウエアラブルセンサ401-6、及び、モーション認識装置402を備える。
 なお、以下、ウエアラブルセンサ401-1乃至ウエアラブルセンサ401-6を個々に区別する必要がない場合、単にウエアラブルセンサ401と称する。
 各ウエアラブルセンサ401は、図1の各ウエアラブルセンサ101と同様に、ユーザの互いに異なる検出ポイントに装着され、各検出ポイントの動きを検出し、検出結果を含む通信パケットをモーション認識装置402に送信する。
 モーション認識装置402は、各ウエアラブルセンサ401から受信した通信パケットに含まれる各検出ポイントの動き検出データに基づいて、ユーザのモーションの認識処理を行う。モーション認識装置402は、ユーザのモーションの認識結果に基づくモーション制御データを後段の装置に送信する。
 <ウエアラブルセンサ401の構成例>
 図32は、図31のウエアラブルセンサ401の構成例を示している。なお、図中、図3のウエアラブルセンサ101と対応する部分には、同じ符号を付してあり、その説明は適宜省略する。
 ウエアラブルセンサ401は、ウエアラブルセンサ101と比較して、パケット生成部144の代わりにパケット生成部433が設けられ、クロック生成部431及び所要時間推定部432が追加されている点が異なる。
 クロック生成部431は、所定の周波数のクロック信号を生成し、所要時間推定部432等のウエアラブルセンサ401の各部に供給する。なお、図3のウエアラブルセンサ101及び図25のウエアラブルセンサ301においてもクロック生成部431は設けられるが、特に処理の説明に必要がないため、図示を省略している。
 所要時間推定部432は、モーション認識装置402に送信する姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データをバッファ143から読み出し、パケット生成部433に供給する。また、所要時間推定部432は、クロック信号に基づいて、それらのデータの送信に要する時間(以下、送信所要時間と称する)を推定し、推定結果を示す情報をパケット生成部433に供給する。
 パケット生成部433は、所要時間推定部432から供給されるデータを送信するための通信パケットを生成し、送信制御部145に供給する。
 <モーション認識装置402の構成例>
 図33は、図31のモーション認識装置402の構成例を示している。なお、図中、図5のモーション認識装置102と対応する部分には、同じ符号を付してあり、その説明は適宜省略する。
 モーション認識装置402は、モーション認識装置102と比較して、時刻情報取得部461及び検出時刻算出部462が追加されている点が異なる。
 時刻情報取得部461は、例えば、時計等により構成され、現在時刻を示す時刻情報を取得し、検出時刻算出部462に供給する。
 検出時刻算出部462は、各ウエアラブルセンサ401から受信した通信パケットに含まれる動き検出データ及び送信所要時間をパケット復元部162から取得する。そして、検出時刻算出部462は、現在時刻及び送信所要時間に基づいて、動き検出データに対応する検出ポイントの動きが検出された時刻(以下、動き検出時刻と称する)を算出する。検出時刻算出部462は、動き検出データと動き検出時刻を関連付けて、バッファ163に供給する。
 <ウエアラブルセンサ401の処理>
 次に、図34のフローチャートを参照して、ウエアラブルセンサ401の処理について説明する。この処理は、例えば、ウエアラブルセンサ401の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS301乃至ステップS304において、図6のステップS1乃至ステップS4と同様の処理が実行される。
 ステップS305において、所要時間推定部432は、通信パケットを送信するタイミングであるか否かを判定する。この判定処理は、通信パケットを送信するタイミングであると判定されるまで繰り返し実行され、通信パケットを送信するタイミングであると判定された場合、処理はステップS306に進む。
 ステップS306において、所要時間推定部432は、送信所要時間を推定する。具体的には、所要時間推定部432は、最新の姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データを、モーション認識装置402に送信するデータとしてバッファ143から読み出す。そして、所要時間推定部432は、それらのデータを含む動き検出データの送信に要する送信所要時間を推定する。
 送信所要時間は、例えば、検出ポイントの動きが検出されてから、検出された動きに対応する動き検出データを含む通信パケットがモーション認識装置402に到着するまでの所要時間とされる。
 また、検出ポイントの動きが検出された時刻(動き検出時刻)は、例えば、検出ポイントの動きの検出が開始された時刻とされる。より具体的には、例えば、動き検出時刻は、動き検出データに用いられるセンサデータのうち、センサデータ取得部139により最初に取得されたセンサデータの取得時刻とされる。例えば、動き検出データには、HDR加速度データ、LDR加速度データ、HDR角速度データ、LDR角速度データ、地磁気データ、歪みデータ、及び、気圧データのセンサデータが用いられる。そして、モーション認識装置402に送信する動き検出データに用いられる各センサデータの取得時刻のうち、最も早い時刻が動き検出時刻とされる。
 例えば、所要時間推定部432は、検出ポイントの動きが検出されてから、検出された動きに対応する動き検出データを含む通信パケットが生成されるまでの所要時間(以下、パケット生成時間と称する)を推定する。パケット生成時間は、例えば、検出ポイントの動きの検出が開始された時刻(動き検出時刻)と、検出された動きに対応する動き検出データを含む通信パケットの生成が完了する時刻(以下、パケット生成時刻と称する)との間の時間とされる。
 例えば、所要時間推定部432は、各センサデータのサイズ等に基づいて、所定の計算式を用いて、パケット生成時間を算出する。パケット生成時間の計算式は、例えば、センサデータ取得部139がセンサデータを取得するタイミング、センサデータを取得してから通信パケットを生成するまでの処理内容、及び、ウエアラブルセンサ401の処理能力等に基づいて、事前に作成される。
 また、例えば、所要時間推定部432は、通信パケットが生成されてからモーション認識装置402に到着するまでの所要時間(以下、パケット送信時間と称する)を推定する。パケット送信時間は、例えば、パケット生成時刻と、モーション認識装置402に通信パケットが到着する時刻(以下、パケット到着時刻と称する)との間の時間とされる。
 例えば、所要時間推定部432は、通信パケットのサイズ、及び、ウエアラブルセンサ401とモーション認識装置402との間の通信状況等に基づいて、所定の計算式を用いて、パケット送信時間を算出する。パケット送信時間の計算式は、例えば、ウエアラブルセンサ401とモーション認識装置402との間の通信方式及び通信経路、並びに、ウエアラブルセンサ401及びモーション認識装置402の処理能力等に基づいて、事前に作成される。
 なお、例えば、事前にウエアラブルセンサ401とモーション認識装置402との間で通信パケットを送受信した場合の実測時間に基づいて、パケット送信時間を算出するようにしてもよい。
 そして、所要時間推定部432は、パケット生成時間とパケット送信時間を加算することにより、送信所要時間を算出する。
 なお、通信エラー等により、通信パケットが再送される場合には、その再送に要する時間も送信所要時間に加算される。例えば、通信エラーの検出に要する時間、再送を行うまでの待ち時間、再送処理に要する時間等が送信所要時間に加算される。
 所要時間推定部432は、バッファ143から読み出した姿勢データ、加速度データ、角速度データ、歪みデータ、及び、気圧データ、並びに、送信所要時間の推定結果をパケット生成部433に供給する。また、パケット生成部144は、通信パケットにより送信する各データ、及び、それより古いデータをバッファ143から削除する。
 ステップS307において、パケット生成部433は、通信パケットを生成する。
 図35は、パケット生成部433により生成される通信パケットのフォーマットの例を示している。この通信パケットは、図7の通信パケットと比較して、タイムスタンプの代わりに送信所要時間を含む点が異なる。すなわち、所要時間推定部432により推定された送信所要時間が通信パケットに含まれる。
 そして、パケット生成部433は、通信パケットを送信制御部145に供給する。
 ステップS308において、送信部146は、送信制御部145の制御の下に、通信パケットをモーション認識装置402に送信する。
 その後、処理はステップS305に戻り、ステップS305以降の処理が実行される。
 <モーション認識装置402の処理>
 次に、図36のフローチャートを参照して、図34の各ウエアラブルセンサ401の処理に対応してモーション認識装置402により実行される処理について説明する。
 この処理は、例えば、モーション認識装置402の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS331において、受信部161は、通信パケットの受信を開始する。すなわち、受信部161は、各ウエアラブルセンサ401から送信されてくる通信パケットを受信し、受信した通信パケットをパケット復元部162に供給する処理を開始する。
 ステップS332において、パケット復元部162は、通信パケットの復元を開始する。例えば、パケット復元部162は、各ウエアラブルセンサ101から受信した通信パケットに含まれる動き検出データの復号等を行った後、復元後の通信パケットを検出時刻算出部462に供給する処理を開始する。
 ステップS333において、検出時刻算出部462は、検出ポイントの動きが検出された時刻の算出を開始する。具体的には、検出時刻算出部462は、パケット復元部162から供給される通信パケットに含まれる動き検出データに対応する検出ポイントの動きが検出された時刻(動き検出時刻)の算出を開始する。また、検出時刻算出部462は、動き検出データと動き検出時刻を関連付けてバッファ163に供給し、蓄積させる処理を開始する。
 ここで、動き検出時刻の算出方法の例について説明する。
 例えば、検出時刻算出部462は、通信パケットが受信部161により受信されてから(通信パケットがモーション認識装置402に到着してから)、パケット復元部162により復元されるまでの所要時間(以下、パケット復元時間と称する)を推定する。
 例えば、検出時刻算出部462は、通信パケットのサイズ等に基づいて、所定の計算式を用いて、パケット復元時間を算出する。パケット復元時間の計算式は、例えば、通信パケットの復元処理の内容、及び、モーション認識装置402の処理能力等に基づいて、事前に作成される。
 そして、検出時刻算出部462は、時刻情報取得部461から現在時刻を示す時刻情報を取得し、通信パケットに含まれる送信所要時間、及び、推定したパケット復元時間を現在時刻から引くことにより、動き検出時刻を算出する。
 ステップS334において、図9のステップS3の処理と同様に、モーション認識処理を行うタイミングであるか否かが判定される。この判定処理は、所定のタイミングで繰り返し実行され、モーション認識処理を行うタイミングであると判定された場合、処理はステップS335に進む。
 ステップS335において、サンプルデータ生成部164は、検出時刻が近い動き検出データを抽出する。すなわち、サンプルデータ生成部164は、タイムスタンプの代わりに動き検出時刻を用いて、図9のステップS34の処理と同様の方法により、動き検出データを抽出する。これにより、動き検出時刻が近い動き検出データが検出ポイント毎に1つずつ抽出される。すなわち、各検出ポイントにおいてほぼ同じタイミングで検出された動きに対応する動き検出データが抽出される。
 そして、ステップS336乃至ステップS338において、図9のステップS35乃至ステップS37と同様の処理が実行される。
 その後、処理はステップS334に戻り、ステップS334以降の処理が実行される。
 以上のようにして、モーション認識装置402において、容易かつ正確に動き検出時刻を検出することができる。そして、できる限り同じタイミングで各検出ポイントにおいて検出された動き検出データを用いて、モーション認識処理が行われ、その結果、モーションの認識精度が向上する。
 また、各ウエアラブルセンサ401及びモーション認識装置402の電源投入後に、所要時間の測定や時刻の同期を行うことなく、すぐに通信を開始することができる。さらに、例えば、通信経路が不安定になり、一時的に通信パケットの送信を中止しても、通信経路が復旧したタイミングで、所要時間の測定や時刻の同期を行うことなく、すぐに通信を再開することができる。
 <<4.第4の実施の形態>>
 次に、図37乃至図40を参照して、本技術の第4の実施の形態について説明する。
 第4の実施の形態は、ウエアラブルセンサ401とモーション認識装置402とが中継器を介して通信を行う場合の実施の形態である。
 <モーション認識システムの第4の実施の形態>
 図37は、本技術を適用したモーション認識システムの第4の実施の形態であるモーション認識システム500の構成例を示している。
 なお、図中、図31のモーション認識システム400と対応する部分には、同じ符号を付してあり、その説明は適宜省略する。
 モーション認識システム500は、モーション認識システム400と比較して、中継器501-1及び中継器501-2が追加されている点が異なる。
 中継器501-1は、ウエアラブルセンサ401-1乃至ウエアラブルセンサ401-3とモーション認識装置402との間において通信パケットの中継を行う。すなわち、中継器501-1は、ウエアラブルセンサ401-1乃至ウエアラブルセンサ401-3から通信パケットを受信し、モーション認識装置402に転送する。
 中継器501-2は、ウエアラブルセンサ401-4乃至ウエアラブルセンサ401-6とモーション認識装置402との間において通信パケットの中継を行う。すなわち、中継器501-2は、ウエアラブルセンサ401-4乃至ウエアラブルセンサ401-6から通信パケットを受信し、モーション認識装置402に転送する。
 なお、以下、中継器501-1及び中継器501-2を個々に区別する必要がない場合、単に中継器501と称する。
 <中継器501の構成例>
 図38は、中継器501の構成例を示している。
 中継器501は、受信部531、バッファ532、クロック生成部533、所要時間推定部534、パケット更新部535、送信制御部536、及び、送信部537を備える。
 受信部531は、各ウエアラブルセンサ401の送信部146に対応する方式の無線通信により、各ウエアラブルセンサ401から通信パケットを受信し、バッファ532に供給する。
 バッファ532は、通信パケットを一時的に蓄積する。
 クロック生成部533は、所定の周波数のクロック信号を生成し、所要時間推定部534等の中継器501の各部に供給する。
 所要時間推定部534は、モーション認識装置402に転送する通信パケットをバッファ532から読み出し、パケット更新部535に供給する。また、所要時間推定部432は、クロック信号に基づいて、通信パケットの中継に要する時間(以下、中継所要時間と称する)を推定し、推定結果を示す情報をパケット更新部535に供給する。
 パケット更新部535は、所要時間推定部534により推定された中継所要時間を通信パケットに付加することにより、通信パケットを更新する。パケット更新部535は、更新後の通信パケットを送信制御部536に供給する。
 送信制御部536は、送信部537による通信パケットの送信を制御する。
 送信部537は、モーション認識装置402の受信部161と対応する方式の無線通信により、通信パケットをモーション認識装置402に送信する。
 <中継器501の処理>
 次に、図39のフローチャートを参照して、中継器501の処理について説明する。
 この処理は、例えば、中継器501の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS401において、受信部531は、通信パケットを受信したか否かを判定する。この判定処理は、通信パケットを受信したと判定されるまで繰り返し実行される。そして、受信部531が、ウエアラブルセンサ401から送信された通信パケットを受信したと判定した場合、処理はステップS402に進む。受信部531は、受信した通信パケットをバッファ532に蓄積する。
 ステップS402において、所要時間推定部534は、中継所要時間を推定する。具体的には、所要時間推定部534は、通信パケットをバッファ532から読み出す。そして、所要時間推定部534は、通信パケットの中継に要する中継所要時間を推定する。
 中継所要時間は、例えば、受信部531が通信パケットを受信してから(通信パケットが中継器501に到着してから)、その通信パケットがモーション認識装置402に到着するまでの所要時間とされる。
 例えば、所要時間推定部534は、通信パケットのサイズ、及び、中継器501とモーション認識装置402との間の通信状況等に基づいて、所定の計算式を用いて、中継所要時間を算出する。中継所要時間の計算式は、例えば、中継器501とモーション認識装置402との間の通信方式及び通信経路、並びに、中継器501及びモーション認識装置402の処理能力等に基づいて、事前に作成される。
 なお、例えば、事前に中機器501とモーション認識装置402との間で通信パケットを送受信した場合の実測時間に基づいて、中継所要時間を算出するようにしてもよい。
 また、例えば、中継器501において通信エラー等により通信パケットが再送される場合、その再送に要する時間が中継所要時間に加算される。さらに、中継器501において通信パケットが一時保管される場合、その保管される時間が中継所要時間に加算される。
 所要時間推定部534は、バッファ532から読み出した通信パケット、及び、中継所要時間の推定結果をパケット更新部535に供給する。さらに、所要時間推定部534は、読み出した通信パケットをバッファ532から削除する。
 ステップS403において、パケット更新部535は、通信パケットに中継所要時間を付加する。
 図40は、中継所要時間を付加した後の通信パケットのフォーマットの例を示している。
 図40の通信パケットは、図35の通信パケットと比較して、ヘッダと送信所要時間の間に中継所要時間が追加されている点が異なる。
 なお、図50の通信パケットの送信所要時間には、ウエアラブルセンサ401とモーション認識装置402の間の送信所要時間ではなく、ウエアラブルセンサ401と中継器501の間の送信所要時間が設定される。
 そして、送信所要時間及び中継所要時間を含む情報が、全体の所要時間情報となる。すなわち、送信所要時間と中継所要時間と加算した時間が、ウエアラブルセンサ401で検出ポイントの動きが検出されてから、検出された動きに対応する動き検出データを含む通信パケットがモーション認識装置402に到着するまでのトータルの所要時間となる。
 そして、パケット更新部535は、中継所要時間を付加することにより更新した通信パケットを送信制御部536に供給する。
 ステップS404において、送信部537は、送信制御部536の制御の下に、通信パケットをモーション認識装置402に送信する。
 その後、処理はステップS401に戻り、ステップS401以降の処理が実行される。
 なお、モーション認識装置402の検出時刻算出部462は、上述した図36のステップS333において、送信所要時間及びパケット復元時間に加えて、通信パケットに含まれる中継所要時間を現在時刻から引くことにより、動き検出時刻を算出する。
 このように、ウエアラブルセンサ401とモーション認識装置402の間に中継器501を設けても、モーション認識装置402において、容易かつ正確に動き検出時刻を検出することができる。
 例えば、ウエアラブルセンサ401を装着したユーザが空間内を自由に移動する場合、ウエアラブルセンサ401とモーション認識装置402との間の通信経路(中継器501)が動的に変更され、通信速度や通信状況が変化する場合が想定される。例えば、最も通信状態がよい通信経路を選択したり、通信エラーが発生している経路を回避したり、ウエアラブルセンサ401に最も近い中継器501を選択する場合等である。
 これに対して、この第4の実施の形態の技術を用いれば、通信経路が変更されたり、又は、通信経路がメッシュ状に複数存在する場合など、使用する通信経路を予め知ることが困難な場合でも、通信経路上のウエアラブルセンサ401、中継器501、及び、モーション認識装置402の間で、所要時間の測定や時刻の同期を行うことなく、すぐに通信を開始することができる。また、モーション認識装置402において、各ウエアラブルセンサ401の動き検出時刻を容易かつ正確に検出することができる。
 そして、できる限り同じタイミングで各検出ポイントにおいて検出された動き検出データを用いて、モーション認識処理が行われ、その結果、モーションの認識精度が向上する。
 なお、ウエアラブルセンサ401とモーション認識装置402の間に中継器501を2段以上設けることも可能である。この場合、例えば、各中継器501において、中継所要時間が通信パケットに付加される。
 <<5.第5の実施の形態>>
 次に、図41乃至図45を参照して、本技術の第5の実施の形態について説明する。
 この第5の実施の形態では、上述したモーション認識システムを、コンサート、ダンス、演劇等の各種のパフォーマンスの演出に用いる場合の例を示している。
 <演出システム600の構成例>
 図41は、本技術を適用した演出システム600の構成例を示している。
 演出システム600は、各パフォーマの動きに合わせて映像、音、照明等を制御することにより、パフォーマンス演出を行うシステムである。
 演出システム600は、モーション認識システム601-1乃至モーション認識システム601-n、受信機602、カメラ603、パッドコントローラ604、演出制御装置605、シンセサイザ606、オーディオミキサ607、パワーアンプ608、音響装置609、映像装置610、DMXコントローラ611、及び、照明装置612を備える。
 なお、以下、モーション認識システム601-1乃至モーション認識システム601-nを個々に区別する必要がない場合、モーション認識システム601と称する。
 各モーション認識システム601は、例えば、上述したモーション認識システム100、モーション認識システム300、モーション認識システム400、又は、モーション認識システム500のいずれかにより構成される。
 また、モーション認識システム601は、モーションを認識する対象となるパフォーマの数だけ設けられ、それぞれ個別に各パフォーマのモーションの認識処理を行う。各モーション認識システム601は、各パフォーマのモーションの認識結果に基づくモーション制御データを受信機602に送信する。
 なお、例えば、パフォーマが1人だけの場合、モーション認識システム601は1つのみでも構わない。
 受信機602は、各モーション認識システム601からモーション制御データを受信し、演出制御装置605に供給する。
 なお、各モーション認識システム601と受信機602との間の通信には、例えば、任意の方式の無線通信又は有線通信が採用される。また、受信機602と演出制御装置605との間の通信には、例えば、任意の方式の無線通信又は有線通信が採用される。
 カメラ603は、例えば、各パフォーマやステージ等の撮影を行い、撮影の結果得られた映像データを演出制御装置605に供給する。
 パッドコントローラ604は、例えば、鍵盤や打楽器等の演奏データの入力に用いられる入力装置であり、入力された演奏データを演出制御装置605に供給する。パッドコントローラ604から出力される演奏データは、例えば、MIDI(Musical Instrument Digital Interface)の規格に従ったデータとされる。
 演出制御装置605は、例えば、パーソナルコンピュータ、タブレット、スマートフォン等により構成される。なお、以下、演出制御装置605が、図14の情報処理装置220により構成される場合を例に挙げて説明する。
 演出制御装置605には、上述したデータ以外に、例えば、パフォーマンス演出に用いる映像データ、音響データ、並びに、映像、音声、又は、照明のエフェクトパターン等を示す制御データ等が入力される。
 演出制御装置605は、例えば、VJ(Video Jockey)用のソフトウエアを実行することにより、パフォーマンス演出に関わる各種の処理を実行する。例えば、演出制御装置605は、映像のリミックス、映像や音声のエフェクト処理、オーディオ解析、BPM(Beats Per Minute)検知等を行う。また、例えば、演出制御装置605は、MIDIデータ、OSC(Open Sound Control)データ、及び、DMX(Digital Multiplexing)データの処理や出力等を行う。
 そして、演出制御装置605は、演出用の音声を生成するための音響制御データをシンセサイザ606に供給し、演出用の音声を出力するための音響データをオーディオミキサ607に供給する。また、演出制御装置605は、演出用の映像を出力するための映像データを映像装置610に供給する。さらに、演出制御装置605は、演出用の照明を制御するためのDMXデータを照明装置612に供給する。
 シンセサイザ606は、演出制御装置605からの音響制御データに基づいて、演出用の各種の音声を生成し、生成した音声を出力するための音響データをオーディオミキサ607に供給する。
 オーディオミキサ607は、演出制御装置605からの音響データとシンセサイザ606からの音響データのミキシングを行い、ミキシング後の音響データをパワーアンプ608に供給する。また、オーディオミキサ607は、図示せぬマイクロフォンを介して入力された音声データを演出制御装置605に供給する。
 パワーアンプ608は、音響データの増幅を行い、増幅後の音響データを音響装置609に供給する。
 音響装置609は、例えばスピーカ等により構成され、音響データに基づく音声を出力する。
 映像装置610は、例えば、プロジェクタやモニタ等により構成され、映像データに基づく映像をステージ等に投影したり、表示したりする。
 DMXコントローラ611は、照明装置612を制御するための装置である。DMXコントローラ611は、ユーザ入力等に従って、照明装置612を制御するためのDMXデータを生成し、照明装置612に供給する。
 照明装置612は、例えば、各種のライトや光源等により構成される。照明装置612は、演出制御装置605及びDMXコントローラ611からのDMXデータに基づいて、各種の照明演出を行う。
 <演出制御部631の構成例>
 図42は、演出制御装置605が図14の情報処理装置220により構成される場合に、情報処理装置220のCPU221が所定の制御プログラムを実行することにより実現される演出制御部631の構成例を示している。
 演出制御部631は、楽曲及び各パフォーマの動きに基づいて、パフォーマンス演出の制御を行う。例えば、演出制御部631は、複数のパフォーマが楽曲に合わせてダンスをする場合に、楽曲及び各パフォーマのダンスに基づいて、パフォーマンス演出の制御を行う。
 演出制御部631は、楽曲入力部641、楽曲解析部642、モーション入力部643、割り込み制御部644、シナリオ生成部645、音響制御部646、映像制御部647、及び、照明制御部648を備える。
 楽曲入力部641は、外部から入力される楽曲データを取得し、楽曲解析部642に供給する。
 楽曲解析部642は、楽曲データの解析処理を行う。楽曲解析部642は、楽曲データ及び解析結果をシナリオ生成部645に供給する。
 モーション入力部643は、各モーション認識システム601から送信されるモーション制御データを受信機602から取得し、割り込み制御部644に供給する。
 割り込み制御部644は、各モーション認識システム601からのモーション制御データに基づいて、割り込み制御を行う。例えば、割り込み制御部644は、各パフォーマが所定のモーションを行ったことが検出された場合、そのモーションが検出されたことをシナリオ生成部645に通知し、楽曲データの解析結果に基づく演出シナリオに、各パフォーマのモーションに対応する演出を追加させる。
 シナリオ生成部645は、外部から供給される制御データ、楽曲データの解析結果、及び、各パフォーマのモーションの認識結果に基づいて、パフォーマンス演出用の演出シナリオを生成する。シナリオ生成部645は、生成した演出シナリオを音響制御部646、映像制御部647、及び、照明制御部648に供給する。また、シナリオ生成部645は、楽曲データを音響制御部646に供給する。
 音響制御部646は、シナリオ生成部645から供給される楽曲データ、及び、外部から供給される音響データを、演出シナリオに基づいて加工して、演出用の音響データを生成し、オーディオミキサ607に供給する。また、音響制御部646は、演出シナリオに基づいて音響制御データを生成し、シンセサイザ606に供給する。
 映像制御部647は、カメラ603から供給される映像データ、及び、外部から供給される映像データを演出シナリオに基づいて加工して、演出用の映像データを生成する。映像制御部647は、映像データを映像装置610に供給する。
 照明制御部648は、演出シナリオに基づいて、演出用のDMXデータを生成し、照明装置612に供給する。
 なお、例えば、図42の演出制御部631をプラグインソフトウエアにより実現することにより、ホールやライブハウス等のステージに設置されている既存の演出装置を用いて、モーション認識システム601を用いた演出システムを構築することができる。また、例えば、パーソナルコンピュータやタブレット等を用いて、本番のステージ環境をシミュレートすることが可能になる。
 <演出制御処理>
 次に、図43のフローチャートを参照して、演出システム600により実行される演出制御処理について説明する。
 この処理は、例えば、情報処理装置220(演出制御装置605)の入力部226を介して、パフォーマンス演出の実行の指令が入力されたとき開始される。
 ステップS501において、演出制御部631は、楽曲の解析を開始する。
 具体的には、楽曲入力部641は、外部から入力される楽曲データを取得し、楽曲解析部642に供給する処理を開始する。
 楽曲解析部642は、楽曲データに基づく楽曲のコード進行、テンポ、ビート、構造、含まれる楽器音等を解析し、解析結果をシナリオ生成部645に供給する処理を開始する。
 ステップS502において、シナリオ生成部645は、演出シナリオの生成を開始する。具体的には、シナリオ生成部645は、外部から供給される制御データ、及び、楽曲データの解析結果に基づいて、楽曲に合わせて音響、映像、及び、照明を制御し、パフォーマンス演出を行うための演出シナリオを生成し、音響制御部646、映像制御部647、及び、照明制御部648に供給する処理を開始する。また、シナリオ生成部645は、楽曲データを音響制御部646に供給する処理を開始する。
 ステップS503において、演出制御部631は、音響、映像、照明の制御を開始する。
 具体的には、音響制御部646は、シナリオ生成部645から供給される楽曲データ、及び、外部から供給される音響データを、演出シナリオに基づいて加工して、演出用の音響データを生成し、オーディオミキサ607に供給する処理を開始する。また、音響制御部646は、演出シナリオに基づいて音響制御データを生成し、シンセサイザ606に供給する処理を開始する。
 シンセサイザ606は、音響制御データに基づいて、演出用の各種の音声を生成し、生成した音声を出力するための音響データをオーディオミキサ607に供給する処理を開始する。
 オーディオミキサ607は、演出制御装置605からの音響データとシンセサイザ606からの音響データのミキシングを行い、ミキシング後の音響データをパワーアンプ608に供給する処理を開始する。
 パワーアンプ608は、音響データの増幅を行い、増幅後の音響データを音響装置609に供給する処理を開始する。
 音響装置609は、音響データに基づく音声を出力する処理を開始する。
 映像制御部647は、カメラ603から供給される映像データ、及び、外部から供給される映像データを演出シナリオに基づいて加工して、演出用の映像データを生成し、映像装置610に供給する処理を開始する。
 映像装置610は、映像データに基づく映像をステージ等に投影したり、表示したりする処理を開始する。
 照明制御部648は、演出シナリオに基づいて、演出用のDMXデータを生成し、照明装置612に供給する処理を開始する。
 DMXコントローラ611は、ユーザ入力等に従って、DMXデータを生成し、照明装置612に供給する処理を開始する。
 照明装置612は、照明制御部648及びDMXコントローラ611からのDMXデータに基づいて、各種の照明演出を行う処理を開始する。
 ステップS504において、各モーション認識システム601は、各パフォーマのモーションの認識処理を開始する。そして、各モーション認識システム601は、各パフォーマのモーションの認識結果に基づくモーション制御データの受信機602への送信を開始する。
 受信機602は、各モーション認識システム601からモーション制御データを受信し、情報処理装置220(演出制御装置605)の通信部229(図14)に送信する処理を開始する。
 通信部229は、各モーション認識システム601のモーション制御データをモーション入力部643に供給する処理を開始する。
 モーション入力部643は、各モーション認識システム601のモーション制御データを割り込み制御部644に供給する処理を開始する。
 ステップS505において、割り込み制御部644は、各モーション認識システム601のモーション制御データに基づいて、所定のモーションが検出されたか否かを判定する。所定のモーションが検出されたと判定された場合、処理はステップS506に進む。
 ステップS506において、演出制御部631は、割り込み処理を行う。
 例えば、割り込み制御部644は、所定のモーションが検出されたことをシナリオ生成部645に通知する。
 シナリオ生成部645は、外部から供給される制御データ、及び、楽曲データの解析結果に基づいて生成している演出シナリオに、検出されたモーションに対応した演出を追加する。
 これにより、例えば、パフォーマのダンスのステップに合わせて映像や照明が制御されるようになる。例えば、パフォーマの全身のリズムや動きの激しさ、手足の緩急等に応じて、照明の色や明るさが制御される。例えば、パフォーマと同じダンスの技を行うCGキャラクタが表示されたり、パフォーマのダンスのステップに合わせて照明が点滅したりする。
 その後、処理はステップS507に進む。
 一方、ステップS505において、所定のモーションが検出されていないと判定された場合、ステップS506の処理はスキップされ、処理はステップS507に進む。
 ステップS507において、シナリオ生成部645は、演出を終了するか否かを判定する。演出を終了しないと判定された場合、処理はステップS505に戻る。
 その後、ステップS507において、演出を終了すると判定されるまで、ステップS505乃至ステップS507の処理が繰り返し実行される。
 一方、ステップS507において、シナリオ生成部645は、情報処理装置220(演出制御装置605)の入力部226を介して、パフォーマンス演出の終了の指令が入力された場合、演出を終了すると判定し、演出制御処理は終了する。
 以上のようにして、楽曲データの解析結果や外部からの制御データに基づく演出を行いつつ、パフォーマのモーションに合わせた演出を行うことができる。
 <パフォーマンス演出の具体例>
 ここで、図44及び図45を参照して、演出システム600によるパフォーマンス演出の具体例について説明する。具体的には、空手の選手(パフォーマ)による空手の型に合わせて効果音を出力する場合の例について説明する。
 図44は、認識対象となるモーション(空手の技)と出力される効果音の関係を示す遷移図である。
 例えば、構え、右手突き、左手突き、右足蹴り、左足蹴りが認識対象となるモーションとされる。
 そして、モーションの遷移に基づいて、効果音が選択され出力される。すなわち、遷移前のモーションと遷移後のモーションの組み合わせに基づいて、演出内容(効果音)が選択され、出力される。
 例えば、選手が構えた状態から右手突き又は左手突きを行った場合、効果音Aが出力され、選手が構えた状態から右手蹴り又は左手蹴りを行った場合、効果音Eが出力される。
 選手が右手突きを行った後に構えに戻った場合、効果音Bが出力され、選手が右手突きを行った後に左手突きを行った場合、効果音Cが出力される。選手が左手突きを行った後に構えに戻った場合、効果音Bが出力され、選手が左手突きを行った後に右手突きを行った場合、効果音Dが出力される。
 選手が右足蹴りを行った後に構えに戻った場合、効果音Fが出力され、選手が右足蹴りを行った後に左足蹴りを行った場合、効果音Gが出力される。選手が左足蹴りを行った後に構えに戻った場合、効果音Fが出力され、選手が左足蹴りを行った後に右足蹴りを行った場合、効果音Hが出力される。
 これにより、選手の一連の動きの中で、動きの遷移に基づいて効果音を動的に変化させることができる。その結果、より効果的な演出を行うことができる。例えば、より粒度の細かい演出が実現され、より選手の動きにあった演出や、より臨場感の高い演出を実現することが可能になる。
 図45は、効果音が出力されるタイミングの例を示している。
 図45の上の図は、効果音、モーション認識、及び、センサデータの波形の時系列の推移の例を示している。
 この例では、選手のモーションが完了し、その認識が完了した時点で効果音が出力される。例えば、選手が右手突きを行い、右手突きが完了し、その認識が完了した時点で、「ダンッ」という効果音が出力される。次に、選手が右手突きを行った状態から構えに戻り、構えが完了し、その認識が完了した時点で、「シャッ」という効果音が出力される。次に、選手が構えた状態から右足蹴りを行い、右足蹴りが完了し、その認識が完了した時点で、「ドドーンッ」という効果音が出力される。
 一方、モーションの完了前、すなわち、モーションの途中で効果音を出力させたい場合も想定される。これに対して、例えば、図45の下の図に示されるように、モーション認識システム601のモーション認識部165においてモーション認識の予測を行い、その結果に基づいて、エフェクトタイミング(すなわち、効果音の出力タイミング)を早めるようにしてもよい。
 例えば、選手が右手突きを行っている最中に、右手突きの認識の予測が完了した時点で、「ダンッ」という効果音が出力される。次に、選手が右手突きを行った状態から構えに戻っている最中に、構えの認識の予測が完了した時点で、「シャッ」という効果音が出力される。次に、選手が構えた状態から右足蹴りを行っている最中に、右足蹴りの予測が完了した時点で、「ドドーンッ」という効果音が出力される。
 このように、モーション認識の予測を用いることにより、モーションが完了する前の途中の段階で、実行中のモーションに対する演出を行うことが可能になる。
 なお、ユーザのモーションの遷移に基づいて、効果音以外の演出内容の制御を行うことも可能である。
 また、例えば、モーションの遷移ではなく、モーションの種類毎に効果音等の演出内容を制御するようにしてもよい。例えば、選手が右手突きを行った場合に効果音Aを出力し、左手突きを行った場合に効果音Bを出力し、右足蹴りを行った場合に効果音Cを出力し、左足蹴りを行った場合に効果音Dを出力するようにしてもよい。
 <<6.第6の実施の形態>>
 次に、図46乃至図52を参照して、本技術の第6の実施の形態につい説明する。
 この第6の実施の形態では、上述したモーション認識システムを、人の行動の解析処理に用いた場合の例を示している。
 <解析システム700の構成例>
 図46は、本技術を適用した解析システム700の構成例を示している。なお、図中、図41の演出システム600と対応する部分には、同じ符号を付してあり、その説明は適宜省略する。
 解析システム700は、1人以上のユーザの行動の解析を行うシステムである。
 解析システム700は、モーション認識システム601-1乃至モーション認識システム601-n、受信機602、カメラ603、及び、解析処理装置701を備える。
 モーション認識システム601は、行動の解析対象となるユーザの数だけ設けられる。なお、解析対象となるユーザが1人のみの場合、モーション認識システム601は1つのみでも構わない。
 解析処理装置701は、例えば、パーソナルコンピュータ、タブレット、スマートフォン等により構成される。なお、以下、解析処理装置701が、図14の情報処理装置220により構成される場合を例に挙げて説明する。
 解析処理装置701は、受信機602から供給される各モーション認識システム601のモーション制御データ、及び、カメラ603から供給される映像データに基づいて、各ユーザの行動の解析処理を行う。
 <解析処理部731の構成例>
 図47は、解析処理装置701が図14の情報処理装置220により構成される場合に、情報処理装置220のCPU221が所定の制御プログラムを実行することにより実現される解析処理部731の構成例を示している。
 解析処理部731は、解析部741及びUI(User Interface)制御部742を備える。
 解析部741は、受信機602から供給される各モーション認識システム601のモーション制御データ、及び、カメラ603から供給される映像データに基づいて、各ユーザの行動の解析を行う。
 UI制御部742は、情報処理装置220の入力部226を介して入力されるユーザ入力等に基づいて、出力部227を制御して、各ユーザの行動の解析結果を提示する際のユーザインタフェースの制御を行う。
 <解析処理>
 次に、図48のフローチャートを参照して、解析システム700により実行される解析処理について説明する。
 この処理は、例えば、情報処理装置220(解析処理装置701)の入力部226を介して、解析処理の実行の指令が入力されたとき開始される。
 ステップS601において、各モーション認識システム601は、各ユーザのモーションの認識処理を行う。そして、各モーション認識システム601は、各ユーザのモーションの認識結果に基づくモーション制御データを受信機602に送信する。
 受信機602は、各モーション認識システム601からモーション制御データを受信し、情報処理装置220の通信部229(図14)に送信する。
 通信部229は、受信した各ユーザのモーション制御データを記憶部228に記憶させる。
 また、カメラ603は、各ユーザが行動する様子を撮影し、その結果得られた映像データを記憶部228に記憶させる。
 ステップS602において、解析部741は、各ユーザの行動の解析を行う。具体的には、解析部741は、記憶部228に記憶されている各ユーザのモーション制御データ、及び、カメラ603により撮影された映像データに基づいて、各ユーザの行動の解析を行う。解析部741は、解析結果を示す解析データを記憶部228に記憶させる。
 なお、この解析処理は、各ユーザのモーションの認識処理と並行して行うようにしてもよいし、各ユーザの行動が終了し、各ユーザのモーションの認識処理が終了した後に行うようにしてもよい。
 ステップS603において、出力部227は、UI制御部742の制御の下に、記憶部228に記憶されている解析データに基づいて、解析結果を提示する。
 その後、解析処理は終了する。
 ここで、図49乃至図52を参照して、解析結果の提示方法の例について説明する。具体的には、ラグビーの試合の各選手の行動の解析結果を提示する場合の例について説明する。
 この場合、例えば、ステイ、ウォーク、ラン、パス、キック、キャッチ、タックル、スクラム、ターン、トライ等の各選手のラグビー特有の動きがモーションとして認識される。
 そして、例えば、出力部227において、図49に示されるような解析画面が表示される。この解析画面は、映像表示部871、操作部872、時間表示部873、ポジション解析部874、及び、行動解析部875に大きく分かれる。
 映像表示部871には、カメラ603により撮影されたラグビーの試合の映像が表示される。
 操作部872には、映像表示部871に表示される映像に対して、再生、停止、早送り、巻き戻し等の操作を行うためのボタン等が表示される。
 時間表示部873には、映像表示部871に表示されている映像の時間に関する情報が表示される。
 ポジション解析部874には、映像表示部871に表示されている映像の時刻における各選手のポジジョンの解析結果が表示される。
 なお、各選手のポジション(位置情報)は、例えば、カメラ603により撮影される映像データや、GNSS受信機等を用いて検出される。
 行動解析部875には、各選手の行動の解析結果が表示される。図50は、行動解析部875の表示内容を拡大した図である。
 具体的には、行動解析部875には、複数の選手のモーションの認識結果が縦方向に並べて表示される。例えば、図50の例では、選手A乃至選手Dのモーションの認識結果が縦方向に並べて表示されている。例えば、行動解析部875内の表示を縦方向にスクロールすることにより、表示する選手を変更することができる。
 また、選手毎のモーション(動き)の遷移が横方向に時系列に並べて表示されている。例えば、選手Aのモーションが、スクラム、キャッチ、ラン、パス、ラン、タックル、ランの順に遷移していることが示されている。
 また、各選手のモーションのうち、パス、キャッチ、トライ等のボールの移動や得点に関わるモーションが、他のモーションと区別できるように、異なる色等で表示されている。
 さらに、各選手の行動の解析結果に基づいて、ボールの位置がトラッキングされ、その結果が、トラッキングライン881により表示されている。
 また、映像表示部871に表示されている映像の時刻に対応するタイムライン882が表示されている。このタイムライン882を左右にスライドさせることにより、映像表示部871に表示される映像の時刻を調整することができる。これにより、各選手が各モーションを行ったときの映像を容易に検索することができる。
 このように、図49及び図50の解析画面により、映像だけでは分からない個々の選手の動きや選手間のコンビネーション等を把握し、詳細に分析することが可能になる。
 図51は、各選手のモーションの認識結果及び位置情報に基づいて、各選手のモーションの実行位置を解析した結果を提示した例を示している。具体的には、図51の解析画面には、選手Aがキックを行った回数が表示されるとともに、キックを行った位置がヒートマップの形式で表示されている。例えば、選手Aがキックを行った回数が多い領域が強調して表示されている。
 図51の解析画面は、例えば、解析対象とする選手を切り替えたり、解析対象とするモーションを切り替えたりすることが可能である。また、例えば、複数の選手を一度に解析対象に設定したり、複数のモーションを一度に解析対象にしたりすることも可能である。
 これにより、各選手のモーションとその実行位置の関係を詳細に把握することができる。
 図52は、各選手のモーションの認識結果に基づいて、各選手のリロードに要する時間(例えば、選手が倒れてからプレイに復帰するまでの時間)を解析した結果を提示した例を示している。
 具体的には、図52のウインドウ891には、選手Aがリロードを行った時刻、及び、リロードに要した時間の一覧が表示されている。
 また、ウインドウ892には、リロードに要した時間の変化を示す折れ線グラフが表示されている。グラフの横軸はリロードの回数、すなわち何回目のリロードかを示し、縦軸は各回のリロードに要した時間を示している。
 なお、以上の例では、ラグビーの試合の解析結果を提示する例を示したが、もちろん他のスポーツに適用することも可能である。例えば、図51のヒートマップを、サッカーのボールを蹴った位置、バスケットボールのシュートを打った位置、ハンドボールのパスを行った位置等に適用することが可能である。
 <<7.適用例>>
 次に、上述した例以外の本技術の適用例について説明する。
 <モーション認識処理の適用例>
 例えば、本技術のモーション認識処理により認識されたモーションにより、各種の装置の操作やコマンドの入力等を行うことが可能である。
 具体的には、例えば、各種の装置や、VR(Virtual Reality)又はAR(Augmented Reality)を用いたシステムの操作を行うことが可能である。
 例えば、バーチャル格闘ゲームにおいて、プレイヤーの技の認識に本技術のモーション認識処理を用いることが可能である。そして、例えば、認識した技が相手のプレイヤーにヒットした場合、攻撃したプレイヤーのシステムに振動をフィードバックするようにしてもよい。
 例えば、ARを用いたゲームにおいて、ユーザがボールを投げるモーションが認識された場合、その速度や方向に応じてボールがヒットする地点が計算され、その地点のアイテムが取得されるようにしてもよい。
 例えば、ARを用いたシステムにおいて、ドアを開けるモーションが認識された場合、表示されているドアが開いたり、箱を開けるモーションが認識された場合、表示されている箱が開いたりするようにしてもよい。
 例えば、認識されたユーザのモーションによりドローン等を操作するようにしてもよい。
 また、例えば、スポーツ等の動きの評価に本技術のモーション認識処理を適用することが可能である。
 具体的には、例えば、ダンス教室やヨガ教室において、先生と生徒のモーションの認識結果を比較して、その比較結果を音声や振動等でリアルタイムに生徒にフィードバックすることが可能である。これにより、例えば、生徒は、先生が見えない位置にいても、自分の動きやポーズが正しいか否かを即座に認識することができる。なお、この場合、クラスのレベルに応じて、モーションの認識精度を変えるようにしてもよい。例えば、上級クラスでは、個々のモーションが正確に認識されるように認識精度を厳しくし、初級クラスでは、認識精度を甘くして、ユーザの1つの動きに対して複数のモーションの候補が認識されるようにしてもよい。
 さらに、例えば、パフォーマのモーションの認識結果に基づいて、ダンスを撮影した映像の特定の技を行った部分を切り取って繋げることにより、自動的にプロモーションビデオを生成することが可能である。また、ダンスの技の種類に応じて、カットチェンジやクロスフェード等の効果を自動的に入れることが可能である。
 また、例えば、ゲームの開発環境用ソフトウエアに対して、モーションの認識結果を利用するプラグインソフトウエアを作成し、プレイヤーの体の動きを用いたゲームの開発に適用することができる。
 また、例えば、病院等でのリハビリテーションを行う場合に、本技術のモーション認識処理を適用することが可能である。
 具体的には、例えば、正しいリハビリテーションの動きの手順を示すプログラム及び映像を事前に準備し、患者は映像を見ながらリハビリテーションを行う。そして、リハビリテーションを実行中の患者のモーションを認識し、プログラムの動きと患者の動きを比較することにより、リハビリテーションの達成度を検出するようにしてもよい。そして、例えば、患者がプログラムの手順通りにリハビリテーションを実行できた場合、次のステージに自動的に進めるようにしてもよい。これにより、各患者が、1人でプログラムに従って正確なリハビリテーションを実行することが可能になる。また、各患者のリハビリテーションの実行記録を自動的に生成し、蓄積することができ、病院側で各患者のリハビリテーションの進捗状況を自動的に管理することが可能になる。
 また、例えば、色、明るさ等が可変のペンライト又はリストバンドを携帯又は装着した観客のモーションに合わせて、ペンライトやリストバンドの色や明るさを制御するようにしてもよい。これにより、ステージと観客席で連携した演出等が可能になる。
 <モーションデータ及び演出データの流通>
 また、例えば、プロのパフォーマや振付師が、手本となる動き(振付やダンス等)を撮影した映像、及び、その動きに対応するモーション制御データを含むモーションデータをインターネット等で流通させるようにしてもよい。なお、モーション制御データは、本技術のモーション認識システムを用いて取得される。
 そして、例えば、クリエータが、その映像の動きに合わせた演出を行うための演出データをインターネット等で流通させるようにしてもよい。演出データは、例えば、映像の動きに合わせて流す映像又は音声、並びに、映像、音声又は照明の制御に用いる制御データ等を含む。
 これに対して、例えば、演出家は、モーションデータと映像データを入手し、入手したデータを用いて、オフラインでステージの演出を制作することができる。また、他のパフォーマやユーザは、演出データを入手して、各自が行うパフォーマンスの演出に用いることができる。
 <モーションの認識対象>
 なお、以上の説明では、人のモーションを認識する場合に本技術を適用する例を示したが、人以外のオブジェクトのモーションを認識する場合にも本技術を適用することが可能である。認識対象となるオブジェクトは、動物等の生物、又は、ロボット等の無生物のいずれであってもよい。また、認識対象が無生物である場合、ロボット等のように自律的或いはユーザ操作により動く無生物、又は、海の浮き等の波や風等の外部からの力により動く無生物のいずれであってもよい。
 <<8.変形例>>
 以下、上述した本開示に係る技術の実施の形態の変形例について説明する。
 <ウエアラブルセンサの装着数、装着位置に関する変形例>
 上述したように、ウエアラブルセンサの装着数や装着位置(検出ポイント)は、認識対象となるモーションや、要求される認識精度等により変更することが可能である。
 例えば、上述したダンスの技を認識する例において、頭部及び腰の代わりに、バンド等を用いて、背中にウエアラブルセンサを装着するようにしてもよい。
 例えば、ユーザがARアイウエアを装着して、体を使ったインタラクションを行う際に本技術を適用する場合、例えば、ウエアラブルセンサは、頭部及び両手首の3か所に装着される。なお、頭部にウエアラブルセンサを装着する代わりに、ARアイウエアにセンサを内蔵させてもよい。また、両手首には、例えば、軽量なバンドを用いてウエアラブルセンサが装着される。
 例えば、全身を使ったコマンド入力に本技術を適用する場合、軽量なバンドを用いて両手首及び両足首の4か所にウエアラブルセンサが装着される。
 例えば、上述したリハビリテーションにモーション認識システムを適用する場合、リハビリテーションの対象となる行動や体の部位に応じて、ウエアラブルセンサの装着数及び装着位置が設定される。例えば、腕のリハビリテーションを行う場合、巻き付け型のベルトを用いて、上腕及び手首の2か所にウエアラブルセンサが装着される。例えば、歩行動作のリハビリテーションを行う場合、巻き付け型のベルトを用いて、両太もも及び両足首の4か所にウエアラブルセンサが装着される。
 <第3の実施の形態及び第4の実施の形態の変形例>
 また、上述した第3の実施の形態及び第4の実施の形態の技術は、ウエアラブルセンサとモーション認識装置との間の通信だけでなく、一般的な送信機と受信機の間の通信に適用することが可能である。
 これにより、送信機、中継器、及び、受信機の間の所要時間の測定や時刻の同期を行うことなく、すぐに通信を開始したり、再開したりすることができる。また、受信機において、所定の事象が検出された時刻を正確に検出することができる。
 なお、検出時刻を検出する対象となる事象は、特に限定されない。例えば、ウエアラブルセンサの各センサにより検出される加速度、角速度等も、事象の一種である。
 また、送信機と受信機の間の通信経路が動的に変更されても、送信機、中継器、及び、受信機の間の所要時間の測定や時刻の同期を行うことなく、すぐに通信を開始することができる。また、受信機において、所定の事象が検出された時刻を正確に検出することができる。
 さらに、例えば、送信機が、省電力等の目的によりデータの送信を遅らせたり、データの送信を間引いたりしても、受信機において、所定の事象が検出された時刻を正確に検出することができる。
 なお、例えば、送信機と受信機の間の通信頻度が低い場合(例えば、1日1回等)に、送信機、中継器、及び、受信機の間の所要時間の測定や時刻の同期を行った場合、実データの送信にかかるコストに比較して、所要時間の測定や時刻の同期にかかるコストが大きくなる。ここで、コストとは、例えば、通信ネットワークの通信帯域の確保や時計のメインテナンスにかかるコスト、消費電力等である。一方、本技術を用いれば、そのようなコストの無駄を削減することができる。
 また、例えば、送信機、又は、送信機を備える装置に検出データを蓄積し、送信機と受信機又は中継器とが通信可能な状態になったときに、送信機から受信機又は中継器に検出データを送信する場合にも、本技術を適用することができる。この場合、送信機は、各検出データに送信所要時間を付加して送信するが、この送信所要時間には、各検出データが蓄積されていた時間が含まれる。従って、検出データが検出された時刻に応じて、各検出データに付加する送信所要時間が異なるようになる。
 以下、この適用例の具体例について説明する。
 例えば、水泳の選手が、複数の部位に各種のセンサを備える送信機を装着した状態で練習を行う。送信機は、水中にある場合など中継器又は受信機と通信できない場合、定期的に取得されるセンサデータを内部に蓄積する。そして、送信機は、受信機と通信可能になったとき、蓄積している各センサデータを、センサデータ毎の蓄積時間を含む送信所要時間情報とともに送信する。そして、例えば、センサデータ、並びに、送信所要時間に基づいて、選手の各事象の発生時刻が検出される。また、検出結果に基づいて、選手の各事象を時系列に並べたグラフを表示したり、選手のフォームをCGによりアニメーション化したりすることができる。
 例えば、複数のダンサーが、それぞれ複数の部位に各種のセンサを備える送信機を装着した状態で演技を行う。各送信機は、演技中に定期的に取得されるセンサデータを内部に蓄積し、演技終了後に蓄積している各センサデータを、センサデータ毎の蓄積時間を含む送信所要時間情報とともに受信機に送信する。そして、例えば、センサデータ及び送信所要時間に基づいて、各ダンサーの各事象の発生時刻が検出される。この検出結果に基づいて、各ダンサーの動きのタイミングや正確さ等の確認を行うことができる。また、例えば、各ダンサーの演技を撮影した映像のタイムラインと各事象の発生時刻を同期させて、表示させることができる。
 例えば、車両に設けられたセンサが、車両の各部品の走行中の状態を定期的に検出し、検出したセンサデータが車両に蓄積される。そして、車両が車庫に駐車され、車両に設けられている送信機と車庫に設けられている受信機とが通信可能な状態になったとき、送信機は、車両に蓄積されている各センサデータを、センサデータ毎の蓄積時間を含む送信所要時間情報とともに受信機に送信する。そして、センサデータ及び送信所要時間に基づいて、車両の各部品の事象の発生時刻が検出される。また、例えば、車両の各部品の事象の検出結果に基づいて、車両の部品の不具合、不具合の発生時刻、発生原因等が検出される。
 例えば、各積み荷にそれぞれセンサデバイスが装着され、各センサデバイスは、輸送中の各積み荷の温度、湿度、衝撃等を定期的に検出し、検出したセンサデータを内部に蓄積する。そして、各積み荷がそれぞれ送り先に到着したとき、積み荷に装着されているセンサデバイスは、蓄積している各センサデータを、センサデータ毎の蓄積時間を含む送信所要時間情報とともに、送り先の受信機に送信する。そして、センサデータ及び送信所要時間に基づいて、輸送中に積み荷に発生した事象及び発生時刻が検出される。
 例えば、患者にセンサデバイスが装着され、センサデバイスは、患者のバイタルサインを定期的に検出し、検出したセンサデータを内部に蓄積する。センサデバイスは、受信機に近づけられたとき、蓄積している各センサデータを、センサデータ毎の蓄積時間を含む送信所要時間情報とともに、受信機に送信する。そして、センサデータ及び送信所要時間に基づいて、患者の各事象及び発生時刻が検出される。
 <その他の変形例>
 上述した各装置やシステムの機能の分担はその一例であり、適宜変更することが可能である。例えば、図15の学習処理部251、図42の演出制御部631、又は、図47の解析処理部731の機能の一部又は全部をモーション認識装置に設けるようにしてもよい。
 また、例えば、モーション認識装置をユーザが装着するようにしてもよい。この場合、モーション認識装置とウエアラブルセンサを一体化してもよい。
 <<9.その他>>
 上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータ(例えば、情報処理装置220)にインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 <構成の組み合わせ例>
 本技術は、以下のような構成をとることもできる。
(1)
 複数のセンサ装置によりオブジェクトの複数の検出位置においてそれぞれ検出された各前記検出位置の動きを示す複数の検出データに基づいて、前記オブジェクトのモーションを認識するモーション認識部と、
 前記オブジェクトのモーションに対応する処理の制御に用いる制御データの出力を制御する出力制御部と
 を備える情報処理装置。
(2)
 前記オブジェクトは人であり、
 前記モーションは、人の行動を構成する動きの単位である
 前記(1)に記載の情報処理装置。
(3)
 前記検出位置は、人の頭部、胴体、左手、右手、左足、及び、右足のうちの2カ所以上を含む
 前記(2)に記載の情報処理装置。
(4)
 前記制御データに基づいて、人によるパフォーマンスの演出を制御する演出制御部を
 さらに備える前記(2)又は(3)に記載の情報処理装置。
(5)
 前記演出制御部は、遷移前のモーションと遷移後のモーションの組み合わせに基づいて演出内容を選択する
 前記(4)に記載の情報処理装置。
(6)
 前記制御データに基づいて、人の行動の解析を行う解析部を
 さらに備える前記(2)乃至(5)のいずれかに記載の情報処理装置。
(7)
 人の行動の解析結果の提示を制御するユーザインタフェース制御部を
 さらに備える前記(6)に記載の情報処理装置。
(8)
 前記モーション認識部は、各前記検出位置間の動きの関係に基づいて、前記オブジェクトのモーションを認識する
 前記(1)乃至(7)のいずれかに記載の情報処理装置。
(9)
 各前記センサ装置と近距離無線通信を行い、前記検出データを受信する受信部を
 さらに備える前記(1)乃至(8)のいずれかに記載の情報処理装置。
(10)
 各前記センサ装置に対して順番に前記検出データの送信を要求する通信制御部を
 さらに備える前記(9)に記載の情報処理装置。
(11)
 各前記センサ装置と前記情報処理装置の間の前記検出データの再送回数が可変である
 前記(9)又は(10)に記載の情報処理装置。
(12)
 前記制御データは、前記オブジェクトのモーションの認識結果、及び、前記オブジェクトのモーションに対応する処理の制御情報のうち少なくとも1つを含む
 前記(1)乃至(11)のいずれかに記載の情報処理装置。
(13)
 前記モーション認識部は、前記オブジェクトのモーションを認識するための認識モデルを用いる
 前記(1)乃至(12)のいずれかに記載の情報処理装置。
(14)
 前記認識モデルは、各前記検出位置の前記検出データが部分的に欠損した学習データを用いて学習される
 前記(13)に記載の情報処理装置。
(15)
 前記認識モデルの学習を行う学習部を
 さらに備える前記(13)又は(14)に記載の情報処理装置。
(16)
 前記学習部は、前記検出位置間で重みをつけて前記認識モデルの学習を行う
 前記(15)に記載の情報処理装置。
(17)
 前記オブジェクトに装着される
 前記(1)乃至(16)のいずれかに記載の情報処理装置。
(18)
 前記複数のセンサ装置のうちの1つを備え、
 前記複数の検出位置のうちの1つに装着される
 前記(17)に記載の情報処理装置。
(19)
 情報処理装置が、
 複数のセンサ装置によりオブジェクトの複数の検出位置においてそれぞれ検出された各前記検出位置の動きを示す複数の検出データに基づいて、前記オブジェクトのモーションを認識し、
 前記オブジェクトのモーションに対応する処理の制御に用いる制御データの出力を制御する
 情報処理方法。
(20)
 複数のセンサ装置によりオブジェクトの複数の検出位置においてそれぞれ検出された各前記検出位置の動きを示す複数の検出データに基づいて、前記オブジェクトのモーションを認識するモーション認識ステップと、
 前記オブジェクトのモーションに対応する処理の制御に用いる制御データの出力を制御する出力制御ステップと
 を含む処理をコンピュータに実行させるためのプログラム。
 100 モーション認識システム, 101 ウエアラブルセンサ, 102 モーション認識装置, 139 センサデータ取得部, 144 パケット生成部, 145 送信制御部, 161 受信部, 165 モーション認識部, 166 送信制御部, 167 送信部, 200 学習システム, 201 学習処理装置, 220 情報処理装置, 221 CPU, 229 通信部, 265 学習データ生成部, 266 学習部, 267 UI制御部, 300 モーション認識システム, 301 ウエアラブルセンサ, 302 モーション認識装置, 331 パケット生成部, 334 送信制御部, 361 通信制御部, 400 モーション認識システム, 401 ウエアラブルセンサ, 402 モーション認識装置, 432 所要時間推定部, 433 パケット生成部, 462 検出時刻算出部, 501 中継器, 531 受信部, 534 所要時間推定部, 535 パケット更新部, 536 送信制御部, 537 送信部, 600 演出システム, 601 モーション認識システム, 605 演出制御装置, 631 演出制御部, 645 シナリオ生成部, 646 音響制御部, 647 映像制御部, 648 照明制御部, 700 解析システム, 701 解析処理装置, 731 解析処理部, 741 解析部, 742 UI制御部

Claims (20)

  1.  複数のセンサ装置によりオブジェクトの複数の検出位置においてそれぞれ検出された各前記検出位置の動きを示す複数の検出データに基づいて、前記オブジェクトのモーションを認識するモーション認識部と、
     前記オブジェクトのモーションに対応する処理の制御に用いる制御データの出力を制御する出力制御部と
     を備える情報処理装置。
  2.  前記オブジェクトは人であり、
     前記モーションは、人の行動を構成する動きの単位である
     請求項1に記載の情報処理装置。
  3.  前記検出位置は、人の頭部、胴体、左手、右手、左足、及び、右足のうちの2カ所以上を含む
     請求項2に記載の情報処理装置。
  4.  前記制御データに基づいて、人によるパフォーマンスの演出を制御する演出制御部を
     さらに備える請求項2に記載の情報処理装置。
  5.  前記演出制御部は、遷移前のモーションと遷移後のモーションの組み合わせに基づいて演出内容を選択する
     請求項4に記載の情報処理装置。
  6.  前記制御データに基づいて、人の行動の解析を行う解析部を
     さらに備える請求項2に記載の情報処理装置。
  7.  人の行動の解析結果の提示を制御するユーザインタフェース制御部を
     さらに備える請求項6に記載の情報処理装置。
  8.  前記モーション認識部は、各前記検出位置間の動きの関係に基づいて、前記オブジェクトのモーションを認識する
     請求項1に記載の情報処理装置。
  9.  各前記センサ装置と近距離無線通信を行い、前記検出データを受信する受信部を
     さらに備える請求項1に記載の情報処理装置。
  10.  各前記センサ装置に対して順番に前記検出データの送信を要求する通信制御部を
     さらに備える請求項9に記載の情報処理装置。
  11.  各前記センサ装置と前記情報処理装置の間の前記検出データの再送回数が可変である
     請求項9に記載の情報処理装置。
  12.  前記制御データは、前記オブジェクトのモーションの認識結果、及び、前記オブジェクトのモーションに対応する処理の制御情報のうち少なくとも1つを含む
     請求項1に記載の情報処理装置。
  13.  前記モーション認識部は、前記オブジェクトのモーションを認識するための認識モデルを用いる
     請求項1に記載の情報処理装置。
  14.  前記認識モデルは、各前記検出位置の前記検出データが部分的に欠損した学習データを用いて学習される
     請求項13に記載の情報処理装置。
  15.  前記認識モデルの学習を行う学習部を
     さらに備える請求項13に記載の情報処理装置。
  16.  前記学習部は、前記検出位置間で重みをつけて前記認識モデルの学習を行う
     請求項15に記載の情報処理装置。
  17.  前記オブジェクトに装着される
     請求項1に記載の情報処理装置。
  18.  前記複数のセンサ装置のうちの1つを備え、
     前記複数の検出位置のうちの1つに装着される
     請求項17に記載の情報処理装置。
  19.  情報処理装置が、
     複数のセンサ装置によりオブジェクトの複数の検出位置においてそれぞれ検出された各前記検出位置の動きを示す複数の検出データに基づいて、前記オブジェクトのモーションを認識し、
     前記オブジェクトのモーションに対応する処理の制御に用いる制御データの出力を制御する
     情報処理方法。
  20.  複数のセンサ装置によりオブジェクトの複数の検出位置においてそれぞれ検出された各前記検出位置の動きを示す複数の検出データに基づいて、前記オブジェクトのモーションを認識するモーション認識ステップと、
     前記オブジェクトのモーションに対応する処理の制御に用いる制御データの出力を制御する出力制御ステップと
     を含む処理をコンピュータに実行させるためのプログラム。
PCT/JP2018/028554 2017-08-14 2018-07-31 情報処理装置、情報処理方法、及び、プログラム WO2019035350A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP18847028.0A EP3669958A4 (en) 2017-08-14 2018-07-31 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING PROCESS AND PROGRAM
US16/637,549 US20200237264A1 (en) 2017-08-14 2018-07-31 Information processor, information processing method, and program
CN201880051727.9A CN110997093B (zh) 2017-08-14 2018-07-31 信息处理装置、信息处理方法和程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-156551 2017-08-14
JP2017156551A JP2019033869A (ja) 2017-08-14 2017-08-14 情報処理装置、情報処理方法、及び、プログラム

Publications (1)

Publication Number Publication Date
WO2019035350A1 true WO2019035350A1 (ja) 2019-02-21

Family

ID=65362215

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/028554 WO2019035350A1 (ja) 2017-08-14 2018-07-31 情報処理装置、情報処理方法、及び、プログラム

Country Status (5)

Country Link
US (1) US20200237264A1 (ja)
EP (1) EP3669958A4 (ja)
JP (1) JP2019033869A (ja)
CN (1) CN110997093B (ja)
WO (1) WO2019035350A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019008771A1 (ja) * 2017-07-07 2019-01-10 りか 高木 治療及び/又は運動の指導プロセス管理システム、治療及び/又は運動の指導プロセス管理のためのプログラム、コンピュータ装置、並びに方法
JP7178931B2 (ja) * 2019-03-11 2022-11-28 本田技研工業株式会社 センサ配置態様の取得装置
JP2021029484A (ja) * 2019-08-21 2021-03-01 日本電気株式会社 判定検証システム、判定検証方法およびコンピュータプログラム
JP6691258B1 (ja) 2019-08-28 2020-04-28 任天堂株式会社 情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法
KR102264547B1 (ko) * 2019-09-27 2021-06-11 전대훈 종목 별 조도 제어기능을 포함하는 승강 조명장치
JP7349143B2 (ja) * 2020-01-08 2023-09-22 株式会社カイロス 光演出装置
CN115136590A (zh) * 2020-02-27 2022-09-30 富士通株式会社 信息处理程序、装置以及方法
KR20220128433A (ko) * 2020-03-18 2022-09-20 후지쯔 가부시끼가이샤 정보 처리 프로그램, 장치, 및 방법
KR102472953B1 (ko) * 2021-01-04 2022-12-05 국민대학교 산학협력단 태권도 동작 감지를 위한 전자 호구용 관성 센서 모듈
CN112967781A (zh) * 2021-02-01 2021-06-15 苏州工业职业技术学院 一种基于nfc的运动社交***及方法
US11650102B2 (en) * 2021-07-22 2023-05-16 Ecolink Intelligent Technology, Inc. Adjustable dwell time for motion detector based on activity
KR20230114397A (ko) * 2022-01-25 2023-08-01 국민대학교산학협력단 관성센서를 이용한 태권도 스마트 전자판정시스템
WO2024150526A1 (ja) * 2023-01-10 2024-07-18 ソニーグループ株式会社 データ送信装置、データ受信装置、およびデータ処理方法、並びにプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4968877A (en) * 1988-09-14 1990-11-06 Sensor Frame Corporation VideoHarp
JPH07219703A (ja) * 1994-02-03 1995-08-18 Canon Inc ジェスチャー入力方法及びその装置
JP2011087794A (ja) 2009-10-23 2011-05-06 Sony Corp 動作関連演算装置、動作関連演算方法、プログラム、動作関連再生システム
US20140111432A1 (en) * 2012-10-22 2014-04-24 SK Digital Gesture, Inc. Interactive music playback system
US20140298975A1 (en) * 2013-04-04 2014-10-09 Kevin Clark Puppetmaster Hands-Free Controlled Music System
JP2016197350A (ja) * 2015-04-03 2016-11-24 シャープ株式会社 情報伝送装置、行動体感システム、情報伝送方法および行動体感方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950016811A (ko) * 1993-12-27 1995-07-20 가나이 쯔또무 신호기록장치 및 그것을 사용한 트레이닝 틀
US5807114A (en) * 1996-03-27 1998-09-15 Emory University And Georgia Tech Research Corporation System for treating patients with anxiety disorders
US9723381B2 (en) * 2013-12-23 2017-08-01 Nike, Inc. Athletic monitoring system having automatic pausing of media content
US10390755B2 (en) * 2014-07-17 2019-08-27 Elwha Llc Monitoring body movement or condition according to motion regimen with conformal electronics

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4968877A (en) * 1988-09-14 1990-11-06 Sensor Frame Corporation VideoHarp
JPH07219703A (ja) * 1994-02-03 1995-08-18 Canon Inc ジェスチャー入力方法及びその装置
JP2011087794A (ja) 2009-10-23 2011-05-06 Sony Corp 動作関連演算装置、動作関連演算方法、プログラム、動作関連再生システム
US20140111432A1 (en) * 2012-10-22 2014-04-24 SK Digital Gesture, Inc. Interactive music playback system
US20140298975A1 (en) * 2013-04-04 2014-10-09 Kevin Clark Puppetmaster Hands-Free Controlled Music System
JP2016197350A (ja) * 2015-04-03 2016-11-24 シャープ株式会社 情報伝送装置、行動体感システム、情報伝送方法および行動体感方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3669958A4

Also Published As

Publication number Publication date
JP2019033869A (ja) 2019-03-07
CN110997093B (zh) 2022-04-22
CN110997093A (zh) 2020-04-10
US20200237264A1 (en) 2020-07-30
EP3669958A4 (en) 2020-08-05
EP3669958A1 (en) 2020-06-24

Similar Documents

Publication Publication Date Title
CN110997093B (zh) 信息处理装置、信息处理方法和程序
JP7424456B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
US11682157B2 (en) Motion-based online interactive platform
US11557269B2 (en) Information processing method
US10652449B2 (en) Information processing apparatus, information processing method, and program
KR20170129716A (ko) 성능 센서 데이터에 기초한 적응 훈련 프로그램의 공급을 포함하는 쌍방향 기능 훈련내용을 제공할 수 있도록 하는 구조, 장치 및 방법
JP2019136493A (ja) 運動の採点方法、システム及びプログラム
KR20080003738A (ko) 쌍방향 비디오·오디오 플레이 시스템 및 그 방법
US20160179206A1 (en) Wearable interactive display system
EP4306192A1 (en) Information processing device, information processing terminal, information processing method, and program
JP2010125253A (ja) 運動支援システム、方法、装置及び指導情報生成装置
WO2019035349A1 (ja) 通信装置及び通信方法
JP2005034195A (ja) 講習支援システム及び講習支援方法
JP2010136864A (ja) 運動支援装置
JP7184661B2 (ja) プログラムおよび電子機器
US10511398B2 (en) Electronic device for improving cooperation among a plurality of members
Paradiso Footnotes: personal reflections on the development of instrumented dance shoes and their musical applications
KR20190038748A (ko) 성능 모니터링 하드웨어를 통한 사용자 성능 모니터링에 기초하여 기능 훈련 데이터의 실시간 적응 공급을 가능하게 하는 구조 및 방법
JP2019103728A (ja) プログラム及びゲームシステム
US20240135617A1 (en) Online interactive platform with motion detection
US11167206B2 (en) Portable music playing game device
JP6977857B2 (ja) 報知システム、報知方法及びプログラム
JP2019103729A (ja) プログラム及びゲームシステム
US20240033633A1 (en) Virtual space provision system, virtual space provision method, and virtual space provision program
US20240042323A1 (en) Information processing system, method for processing information, and non-transitory computer-readable information storage medium

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018847028

Country of ref document: EP

Effective date: 20200316