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

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

Info

Publication number
WO2023027046A1
WO2023027046A1 PCT/JP2022/031632 JP2022031632W WO2023027046A1 WO 2023027046 A1 WO2023027046 A1 WO 2023027046A1 JP 2022031632 W JP2022031632 W JP 2022031632W WO 2023027046 A1 WO2023027046 A1 WO 2023027046A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
data
rotations
legs
program according
Prior art date
Application number
PCT/JP2022/031632
Other languages
English (en)
French (fr)
Inventor
一裕 寺嶋
Original Assignee
株式会社CaTe
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 株式会社CaTe filed Critical 株式会社CaTe
Priority to JP2023509558A priority Critical patent/JP7411945B2/ja
Publication of WO2023027046A1 publication Critical patent/WO2023027046A1/ja
Priority to JP2023212332A priority patent/JP2024025826A/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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/22Ergometry; Measuring muscular strength or the force of a muscular blow
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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

Definitions

  • the present disclosure relates to a program, an information processing device, and an information processing method.
  • Aerobic exercise plays a central role in, for example, diet and exercise therapy in cardiac rehabilitation.
  • Fitness biking, jogging, walking, swimming, aerobics dancing, and the like are known as exercise events corresponding to aerobic exercise.
  • fitness bikes have advantages such as being able to be installed even in a limited space in the home and less burden on the knees.
  • Fitness bike users can perform exercise similar to cycling by pedaling with their legs. The number of rotations of the user's legs is one of the evaluation indexes of the exercise load amount of the user of the fitness bike.
  • Patent Document 1 describes changing the content of an image displayed on an HMD (Head Mounted Display) based on information based on the operator's rotation operation of the pedal section.
  • a magnetic detection element in a pedal device detects rotation of a pedal portion per unit time and outputs the detection result to an information processing device.
  • Patent Document 1 The technology of Patent Document 1 is premised on application to a pedal device that includes means for detecting rotation, such as a magnetic detection element, and means for outputting the detection result of rotation to an information processing device. In other words, Patent Literature 1 does not consider how to obtain information on the number of revolutions of the user's legs for a normal fitness bike that does not have such means.
  • the purpose of the present disclosure is to estimate the number of rotations of human legs under various circumstances.
  • a program causes a computer to function as means for acquiring a user moving image showing a user during exercise and means for estimating the number of rotations of the user's legs based on the user moving image.
  • FIG. 1 is a block diagram showing the configuration of an information processing system according to an embodiment
  • FIG. It is a block diagram showing the configuration of the client device of the present embodiment. It is a block diagram which shows the structure of the server of this embodiment.
  • FIG. 1 is an explanatory diagram of the outline of this embodiment; It is a figure which shows the data structure of the teacher data set of this embodiment. 4 is a flowchart of information processing according to the embodiment; It is a figure which shows the example of a screen displayed in the information processing of this embodiment.
  • FIG. 10 is a diagram showing the data structure of a teacher data set of modification 1;
  • FIG. 1 is a block diagram showing the configuration of the information processing system of this embodiment.
  • the information processing system 1 includes a client device 10 and a server 30 .
  • the client device 10 and server 30 are connected via a network (for example, the Internet or an intranet) NW.
  • NW a network
  • the client device 10 is an example of an information processing device that transmits requests to the server 30 .
  • the client device 10 is, for example, a smart phone, a tablet terminal, or a personal computer.
  • the server 30 is an example of an information processing device that provides the client device 10 with a response in response to a request sent from the client device 10 .
  • the server 30 is, for example, a web server.
  • FIG. 2 is a block diagram showing the configuration of the client device of this embodiment.
  • the client device 10 includes a storage device 11, a processor 12, an input/output interface 13, and a communication interface .
  • Client device 10 is connected to display 15 , camera 16 and depth sensor 17 .
  • the storage device 11 is configured to store programs and data.
  • the storage device 11 is, for example, a combination of ROM (Read Only Memory), RAM (Random Access Memory), and storage (eg, flash memory or hard disk).
  • Programs include, for example, the following programs. ⁇ Program of OS (Operating System) ⁇ Program of application that executes information processing (for example, web browser, rehabilitation application, or fitness application)
  • the data includes, for example, the following data. ⁇ Databases referenced in information processing ⁇ Data obtained by executing information processing (that is, execution results of information processing)
  • the processor 12 is a computer that implements the functions of the client device 10 by activating programs stored in the storage device 11 .
  • Processor 12 is, for example, at least one of the following: ⁇ CPU (Central Processing Unit) ⁇ GPU (Graphic Processing Unit) ⁇ ASIC (Application Specific Integrated Circuit) ⁇ FPGA (Field Programmable Gate Array)
  • the input/output interface 13 acquires information (e.g., user instructions, images, sounds) from input devices connected to the client device 10, and outputs information (e.g., images, sounds) to output devices connected to the client device 10. command).
  • the input device is, for example, camera 16, depth sensor 17, microphone, keyboard, pointing device, touch panel, sensor, or a combination thereof.
  • Output devices are, for example, display 15, speakers, or a combination thereof.
  • Communication interface 14 is configured to control communication between client device 10 and an external device (eg, server 30).
  • communication interface 14 may include a module for communication with server 30 (eg, a WiFi module, a mobile communication module, or a combination thereof).
  • the display 15 is configured to display images (still images or moving images).
  • the display 15 is, for example, a liquid crystal display or an organic EL display.
  • the camera 16 is configured to take pictures and generate image signals.
  • the depth sensor 17 is, for example, LIDAR (Light Detection And Ranging).
  • the depth sensor 17 is configured to measure the distance (depth) from the depth sensor 17 to surrounding objects (eg, a user).
  • FIG. 3 is a block diagram showing the configuration of the server of this embodiment.
  • the server 30 includes a storage device 31, a processor 32, an input/output interface 33, and a communication interface .
  • the storage device 31 is configured to store programs and data.
  • Storage device 31 is, for example, a combination of ROM, RAM, and storage.
  • Programs include, for example, the following programs. ⁇ OS program ⁇ Application program that executes information processing
  • the data includes, for example, the following data. ⁇ Databases referenced in information processing ⁇ Execution results of information processing
  • the processor 32 is a computer that implements the functions of the server 30 by activating programs stored in the storage device 31 .
  • Processor 32 is, for example, at least one of the following: ⁇ CPU ⁇ GPU ⁇ ASICs ⁇ FPGA
  • the input/output interface 33 is configured to obtain information (eg, user instructions) from input devices connected to the server 30 and output information to output devices connected to the server 30 .
  • Input devices are, for example, keyboards, pointing devices, touch panels, or combinations thereof.
  • An output device is, for example, a display.
  • the communication interface 34 is configured to control communication between the server 30 and an external device (eg, client device 10).
  • an external device eg, client device 10
  • FIG. 4 is an explanatory diagram of the outline of this embodiment.
  • the camera 16 of the client device 10 captures the appearance (for example, the whole body) of the user US1 during exercise.
  • the example of FIG. 4 shows an example in which the user US1 performs a pedaling exercise (e.g., fitness bike, ergometer, bicycle), the user US1 performs any exercise that involves leg rotation (i.e., periodic movement). exercise (aerobic exercise or anaerobic exercise).
  • the camera 16 captures the appearance of the user US1 from the front or obliquely in front.
  • the depth sensor 17 measures the distance (depth) from the depth sensor 17 to each part of the user US1. Note that it is also possible to generate three-dimensional video data by combining, for example, moving image data (two-dimensional) generated by the camera 16 and depth data generated by, for example, the depth sensor 17 .
  • the client device 10 at least refers to the video data acquired from the camera 16 and analyzes the user's skeleton during exercise.
  • the client device 10 may further refer to depth data acquired from the depth sensor 17 in order to better analyze the user's skeleton during exercise.
  • the client device 10 transmits to the server 30 data related to the skeleton of the user US1 during exercise (hereinafter referred to as “user skeleton data”) based on the analysis results of the moving image data (or moving image data and depth data).
  • the server 30 estimates the number of leg rotations of the user US1 by applying the learned model LM1 (an example of an "estimation model") to the acquired user skeleton data.
  • the server 30 transmits an estimation result (for example, a numerical value indicating the number of leg rotations of the user US1 per unit time) to the client device 10 .
  • the information processing system 1 estimates the number of rotations of the legs of the user US1 based on the moving image (or moving image and depth) of the user US1 during exercise. Therefore, according to the information processing system 1, even if the user US1 exercises using training equipment that does not include means for detecting the number of rotations of the leg or means for outputting the detection result, the The number of rotations of the user's legs can be estimated. In other words, it is possible to make an estimation about the number of rotations of a human leg under various conditions.
  • FIG. 5 is a diagram showing the data structure of the teacher data set of this embodiment.
  • the teacher data set includes multiple teacher data.
  • Teacher data is used to train or evaluate a target model.
  • Teacher data includes a sample ID, input data, and correct answer data.
  • a sample ID is information that identifies teacher data.
  • Input data is the data that is input to the target model during training or evaluation.
  • the input data correspond to the examples used when training or evaluating the target model.
  • the input data includes skeletal data of the subject.
  • the skeletal data of the subject is data (for example, feature values) relating to the skeletal structure of the subject during exercise.
  • the subject may be the same person as the user whose leg rotation speed is estimated during operation of the information processing system 1, or may be a different person.
  • the target model may learn the user's individuality and the estimation accuracy may be improved.
  • allowing the subject to be a different person from the user has the advantage of facilitating enrichment of the teacher data set.
  • the subjects may be composed of multiple people including the user or multiple people not including the user.
  • Skeletal data includes, for example, data on velocity or acceleration of each part of the subject (may include data on changes in muscle parts used by the subject or data on blurring of the subject's bodily sensation).
  • At least part of the skeletal data can be obtained by analyzing the skeletal structure of the exercising subject with reference to the subject video data (or subject video data and subject depth data).
  • the iOS ® 14 SDK, Vision, or other skeleton detection algorithms are available for skeleton analysis.
  • skeletal data for the teacher data set can be obtained, for example, by having the subject perform exercise while wearing motion sensors on each part of the subject.
  • Subject video data is data related to subject videos showing subjects in motion.
  • a subject moving image is typically a moving image of the subject captured so that at least the subject's lower half of the body (specifically, the subject's legs) is included in the capturing range.
  • Subject video data can be acquired by, for example, capturing the appearance (e.g., the whole body) of the subject during exercise from the front or obliquely in front (e.g., 45 degrees in front) with a camera (for example, a camera mounted on a smartphone). be.
  • Subject depth data is data on the distance (depth) from the depth sensor to each part (typically legs) of the subject during exercise.
  • the subject depth data can be obtained by operating the depth sensor when capturing the subject moving image.
  • the correct data is data corresponding to the correct answer for the corresponding input data (example).
  • the target model is trained (supervised learning) to produce an output that is closer to the correct data for the input data.
  • the correct answer data includes at least one of an evaluation index for the number of rotations of the legs and an index that serves as material for determining the evaluation index.
  • the leg rotation rate metric may include at least one of the following: ⁇ Cumulative number of rotations ⁇ Number of rotations per unit time (that is, rotation speed) ⁇ Time differentiation of rotation speed (that is, rotation acceleration)
  • the leg rotation number index may be any index for quantitatively grasping the leg rotation (that is, periodic movement), and is not limited to the indices exemplified here.
  • the leg rotation index may include an index that can be calculated based on the above index, such as distance traveled (the product of accumulated rotation speed (cadence) and distance traveled per pedal rotation) and exercise load.
  • the exercise load is an index for quantitatively evaluating the exercise load.
  • Exercise load can be expressed numerically using at least one of the following: ⁇ Energy (calorie) consumption ⁇ Oxygen consumption ⁇ Heart rate
  • Correct data can be obtained, for example, by actually measuring the number of rotations of the subject's legs when recording the subject's video using an appropriate sensor (for example, a cadence sensor).
  • the correct data is obtained by exercising the subject with a motion sensor (e.g., acceleration sensor) attached to the leg, and estimating the number of rotations of the subject's leg using a predetermined algorithm or a learned model based on the sensing results of the motion sensor. It can also be obtained by doing Alternatively, correct data may be provided by a person who has viewed the subject moving image by measuring the number of rotations of the subject's leg.
  • a motion sensor e.g., acceleration sensor
  • the estimation model used by the server 30 corresponds to a trained model created by supervised learning using the teacher data set (FIG. 5), or a derived model or distilled model of the trained model.
  • FIG. 6 is a flow chart of information processing in this embodiment.
  • FIG. 7 is a diagram showing an example of a screen displayed during information processing according to this embodiment.
  • Information processing is started, for example, when one of the following start conditions is established. ⁇ The information processing was called by another process. - The user performed an operation to call up information processing. - The client device 10 has entered a predetermined state (for example, a predetermined application has been activated). ⁇ The specified date and time has arrived. - A predetermined time has passed since a predetermined event.
  • the client device 10 performs sensing (S110). Specifically, the client device 10 enables the operation of the camera 16 to start shooting a video of the user exercising (hereinafter referred to as “user video”).
  • a user moving image is typically a moving image of the user such that at least the user's lower half of the body (more specifically, the user's legs) is included in the shooting range.
  • the client device 10 starts measuring the distance from the depth sensor 17 to each part of the user during exercise (hereinafter referred to as "user depth").
  • the client device 10 executes data acquisition (S111). Specifically, the client device 10 acquires sensing results generated by various sensors enabled in step S110. For example, the client device 10 acquires user video data from the camera 16 and acquires user depth data from the depth sensor 17 .
  • the client device 10 executes the request (S112). Specifically, the client device 10 refers to the data acquired in step S111 and generates a request. The client device 10 transmits the generated request to the server 30 .
  • the request can include, for example, at least one of the following. - Data acquired in step S111 (for example, user video data or user depth data) ⁇ Data obtained by processing the data obtained in step S111 ⁇ User skeleton data obtained by analyzing the user moving image data (or user moving image data and user depth data) obtained in step S111
  • the server 30 performs an estimation (S130) on the number of leg rotations. Specifically, the server 30 acquires the input data of the estimation model based on the request acquired from the client device 10 . Input data includes user skeleton data as well as teacher data. The server 30 estimates the number of rotations of the user's legs by applying the estimation model to the input data. As an example, the server 30 estimates at least one evaluation index relating to the number of rotations of the user's legs.
  • the server 30 executes a response (S131). Specifically, the server 30 generates a response based on the estimation result in step S130.
  • the server 30 transmits the generated response to the client device 10 .
  • the response can include at least one of the following. ⁇ Data corresponding to the result of estimation regarding the number of rotations of the leg ⁇ Data obtained by processing the result of estimation regarding the number of rotations of the leg (for example, screen data to be displayed on the display 15 of the client device 10, or generating the screen) data referenced for
  • the client device 10 executes information presentation (S113) after step S131. Specifically, the client device 10 causes the display 15 to display information based on the response acquired from the server 30 (that is, the estimated result of the number of rotations of the user's legs). However, the information may be presented to the user's mentor (eg, medical personnel or trainer) on the terminal used by the trainer instead of, or in addition to, the user. Alternatively, the information may present content that enhances the user's exercise experience (eg, scenery or video game footage that is controlled depending on the results of the estimation of the number of leg rotations). Such content may be presented via a display of an external device such as an HMD or other output device instead of the display 15 .
  • an external device such as an HMD or other output device instead of the display 15 .
  • the client device 10 causes the display 15 to display a screen P10 (FIG. 7).
  • Screen P10 includes a display object A10 and an operation object B10.
  • the operation object B10 receives an operation of designating an evaluation index relating to the number of revolutions of the leg to be displayed on the display object A10.
  • the operation object B10 corresponds to a check box.
  • the display object A10 displays changes over time in the results of estimating the evaluation index.
  • the display object A10 displays a graph showing changes over time in the result of estimating the rotation speed (rpm), which is the evaluation index specified in the operation object B10, every five seconds.
  • rpm rotation speed
  • the display object A10 may display a graph showing temporal changes in the results of estimating the plurality of evaluation indices in a superimposed manner. Graphs may be displayed separately.
  • the client device 10 After step S113, the client device 10 ends the information processing (FIG. 6). However, when estimating the number of rotations of the user's legs in real time while the user is exercising, the client device 10 may return to data acquisition (S111) after step S113.
  • the information processing system 1 of the embodiment estimates the number of rotations of the user's legs based on the moving image of the user during exercise.
  • the number of rotations of the user's legs can be estimated. be able to. In other words, it is possible to make an estimation about the number of rotations of a human leg under various conditions.
  • the information processing system 1 may estimate the number of rotations of the user's legs by applying an estimation model to the input data based on the moving image of the user during exercise. This enables a statistical estimation of the number of rotations of the user's legs to be made in a short period of time.
  • the estimated model may correspond to a learned model created by supervised learning using the aforementioned teacher data set (FIG. 5), or a derived or distilled model of the learned model. Thereby, an estimation model can be constructed efficiently.
  • the input data to which the estimation model is applied may include data regarding the user's anatomy in motion. This makes it possible to improve the accuracy of the estimation model.
  • the input data to which the estimation model is applied may include data (that is, user depth data) regarding the depth from the reference point (that is, depth sensor 17) to each part of the user when the user moving image was captured. This makes it possible to improve the accuracy of the estimation model.
  • the information processing system 1 may estimate at least one of the accumulated number of rotations of the user's legs, the rotational speed, the rotational acceleration, or the running distance converted from the accumulated number of rotations of the legs. This allows the user's leg rotation rate (which may include real-time rotation rate) to be properly evaluated.
  • the user video may be a video of the user captured so that at least the user's lower half of the body (preferably the user's legs) is included in the capturing range. This makes it possible to improve the accuracy of the estimation model.
  • the user video may be a video of the user pedaling. This makes it possible to improve the accuracy of the estimation model.
  • the information processing system 1 may present information based on the result of estimation regarding the number of rotations of the user's legs. This allows the user, or their instructor, to be informed about the number of rotations of the user's legs, or to control content (e.g., scenery or video game footage) to enhance the user's exercise experience. can.
  • the information processing system 1 may present an evaluation index of the number of rotations of the user's legs. This allows the receiver of the information to appropriately grasp the number of rotations of the user's legs.
  • the information processing system 1 may present information regarding changes over time in the evaluation index of the number of rotations of the user's legs. This allows the recipient of the information to grasp the temporal change in the number of rotations of the user's legs.
  • Modification 1 will be described. Modification 1 is an example of modifying the input data for the estimation model.
  • Modification 1 is an example of estimating the number of rotations of the user's legs by applying an estimation model to input data based on both the user's moving image and the user's health condition.
  • Health conditions include at least one of the following: ⁇ Age, gender, height, weight, body fat percentage, muscle mass, bone density, history of current illness, medical history, oral medication history, surgery history, lifestyle history (e.g., smoking history, drinking history, activities of daily living (ADL), frailty) score, etc.) ⁇ Family history ⁇ Respiratory function test results ⁇ Test results other than respiratory function tests (e.g., blood test, urine test, electrocardiogram (including Holter electrocardiogram), echocardiography, X-ray, CT scan (cardiac morphology) including CT and coronary artery CT), MRI examination, nuclear medicine examination, PET examination, etc.) ⁇ Data acquired during cardiac rehabilitation (including Borg index)
  • FIG. 8 is a diagram showing the data structure of the teacher data set of Modification 1. As shown in FIG.
  • the teacher data set of Modification 1 includes a plurality of teacher data.
  • Teacher data is used to train or evaluate a target model.
  • Teacher data includes a sample ID, input data, and correct answer data.
  • the sample ID and correct answer data are as described in this embodiment.
  • Input data is the data that is input to the target model during training or evaluation.
  • the input data correspond to the examples used when training or evaluating the target model.
  • the input data is subject skeletal data (ie, relatively dynamic data) and subject health data (ie, relatively static data).
  • subject skeletal data of the subject is as described in this embodiment.
  • Data on the health status of subjects can be obtained in various ways.
  • the data regarding the subject's health condition may be obtained during the subject's exercise, or at any timing before or after exercise (including at rest).
  • Data on the subject's health condition may be obtained based on a report from the subject or the attending physician, or may be obtained by extracting information linked to the subject in the medical information system. , may be obtained via the subject's app (eg, health care app).
  • the estimation model used by the server 30 is a trained model created by supervised learning using a teacher data set (FIG. 8), or a derived model of the trained model. Or it corresponds to the distillation model.
  • the client device 10 performs sensing (S110) in the same manner as in FIG.
  • the client device 10 executes data acquisition (S111). Specifically, the client device 10 acquires sensing results generated by various sensors enabled in step S110. For example, the client device 10 acquires user video data from the camera 16 and acquires user depth data from the depth sensor 17 .
  • the client device 10 acquires data regarding the user's health condition (hereinafter referred to as "user health condition data").
  • user health condition data data regarding the user's health condition
  • the client device 10 may acquire user health condition data based on an operation (report) by the user or the doctor in charge, or extract information linked to the user in the medical information system.
  • User health data may be acquired, or user health data may be acquired via a user's app (for example, a healthcare app).
  • the client device 10 may acquire user health condition data at a timing different from step S111 (for example, before step S110, at the same timing as step S110, or after step S111).
  • the client device 10 executes the request (S112). Specifically, the client device 10 refers to the data acquired in step S111 and generates a request. The client device 10 transmits the generated request to the server 30 .
  • the request can include, for example, at least one of the following. - Data acquired in step S111 (for example, user video data, user depth data, or user health data) ⁇ Data obtained by processing the data obtained in step S111 ⁇ User skeleton data obtained by analyzing the user moving image data (or user moving image data and user depth data) obtained in step S111
  • the server 30 performs an estimation (S130) on the number of leg rotations. Specifically, the server 30 acquires the input data of the estimation model based on the request acquired from the client device 10 .
  • the input data includes user skeleton data and user health data as well as teacher data.
  • the server 30 estimates the rotation speed of the leg by applying the estimation model to the input data. As an example, the server 30 estimates at least one evaluation index relating to the number of rotations of the user's legs.
  • step S130 the server 30 executes a response (S131) as in FIG.
  • step S131 the client device 10 executes information presentation (S113) as in FIG.
  • the information processing system 1 of Modification 1 applies an estimation model to the input data based on both the user's moving image and the user's health condition, so that the user's leg Make an assumption about the number of revolutions. This makes it possible to perform highly accurate estimation by further considering the health condition of the user. For example, even if there is a difference between the user's health condition and the subject's health condition from which the training data is based, a reasonable estimation can be made.
  • the storage device 11 may be connected to the client device 10 via the network NW.
  • the display 15 may be built into the client device 10 .
  • Storage device 31 may be connected to server 30 via network NW.
  • the information processing system of the embodiment and modification 1 can also be implemented by a stand-alone computer.
  • the client device 10 alone may estimate the number of rotations of the leg using the estimation model.
  • Each step of the above information processing can be executed by either the client device 10 or the server 30.
  • the server 30 may acquire the user skeleton data by analyzing the user moving image (or the user moving image and the user depth).
  • an example of shooting a user video using the camera 16 of the client device 10 has been shown.
  • the user moving image may be shot using a camera other than camera 16 .
  • An example of measuring the user depth using the depth sensor 17 of the client device 10 has been shown.
  • the user depth may be measured using a depth sensor other than depth sensor 17 .
  • the information processing system 1 of the present embodiment and modification 1 can also be applied to a video game in which the progress of the game is controlled according to the player's bodily movements (for example, the number of leg rotations).
  • the information processing system 1 may estimate the number of rotations of the user's legs during game play, and determine any one of the following according to the result of the estimation.
  • Quality e.g., difficulty
  • quantity of video game-related tasks e.g., stages, missions, quests
  • Video game-related benefits e.g., in-game currency, items, bonuses
  • quality e.g. kind
  • a microphone mounted on the client device 10 or a microphone connected to the client device 10 may receive sound waves emitted by the user when capturing a user moving image (that is, while the user is exercising) and generate sound data. . Sound data, together with user skeleton data, may constitute input data for the estimation model.
  • the sound uttered by the user is, for example, at least one of the following. sound waves emitted by the rotation of the user's legs (e.g., sounds produced by pedals or drives connected to pedals) ⁇ Sounds caused by the user's breathing or vocalization
  • acceleration data can be used as part of the input data for the estimation model.
  • the user's skeleton may be analyzed with reference to acceleration data.
  • Acceleration data can be obtained, for example, by having the user carry or wear the client device 10 or wearable device equipped with an acceleration sensor when capturing a user moving image (that is, while the user is exercising).
  • leg rotation is not limited to circular motion such as pedaling, and may include general periodic motion such as stepping.
  • the number of rotations of the leg can be appropriately read as the stepping number or the number of steps.
  • Modified Example 1 an example of applying an estimation model to input data based on health conditions was shown. However, it is also possible to build multiple estimation models based on (at least in part) the subject's health status. In this case, (at least part of) the user's health may be referenced to select the estimation model. In this further variation, the input data for the estimation model may be data not based on the user's health, or data based on the user's health and user videos.
  • information processing system 10 client device 11: storage device 12: processor 13: input/output interface 14: communication interface 15: display 16: camera 17: depth sensor 30: server 31: storage device 32: processor 33: input/output interface 34: communication interface

Abstract

本開示の一態様のプログラムは、コンピュータを、運動中のユーザの写ったユーザ動画を取得する手段、ユーザ動画に基づいて、ユーザの脚の回転数に関する推定を行う手段として機能させる。

Description

プログラム、情報処理装置、および情報処理方法
 本開示は、プログラム、情報処理装置、および情報処理方法に関する。
 有酸素運動は、例えば、ダイエット、心臓リハビリテーションにおける運動療法、などにおいて中心的な役割を果たしている。有酸素運動に該当する運動種目として、フィットネスバイク、ジョギング、ウォーキング、水泳、エアロビクスダンス、などが知られている。特に、フィットネスバイクは、家庭内の限られたスペースであっても設置できる、膝への負担が小さい、などの利点がある。フィットネスバイクのユーザは、脚でペダルを漕ぐことでサイクリングと同様の運動を行うことができる。ユーザの脚の回転数は、フィットネスバイクのユーザの運動負荷量の評価指標の1つである。
 特許文献1には、操作者によるペダル部の回転操作に基づく情報に基づいて、HMD(Head Mounted Display)に表示する画像の内容を変化させることが記載されている。特許文献1では、ペダル装置内の磁気検出素子が、ペダル部の単位時間あたりの回転を検知し、検知結果を情報処理装置へ出力する。
特開2019-071963号公報
 特許文献1の技術は、例えば磁気検出素子のような回転を検知する手段と、回転の検知結果を情報処理装置へ出力する手段とを備えたペダル装置への適用が前提とされている。つまり、特許文献1では、かかる手段を備えていない通常のフィットネスバイクについて、ユーザの脚の回転数の情報をいかにして取得するかは検討されていない。
 本開示の目的は、多様な状況下で人間の脚の回転数に関する推定を行うことである。
 本開示の一態様のプログラムは、コンピュータを、運動中のユーザの写ったユーザ動画を取得する手段、ユーザ動画に基づいて、ユーザの脚の回転数に関する推定を行う手段として機能させる。
 本開示によれば、多様な状況下で人間の脚の回転数に関する推定を行うことができる。
本実施形態の情報処理システムの構成を示すブロック図である。 本実施形態のクライアント装置の構成を示すブロック図である。 本実施形態のサーバの構成を示すブロック図である。 本実施形態の概要の説明図である。 本実施形態の教師データセットのデータ構造を示す図である。 本実施形態の情報処理のフローチャートである。 本実施形態の情報処理において表示される画面例を示す図である。 変形例1の教師データセットのデータ構造を示す図である。
 以下、本発明の一実施形態について、図面に基づいて詳細に説明する。なお、実施形態を説明するための図面において、同一の構成要素には原則として同一の符号を付し、その繰り返しの説明は省略する。
(1)情報処理システムの構成
 情報処理システムの構成について説明する。図1は、本実施形態の情報処理システムの構成を示すブロック図である。
 図1に示すように、情報処理システム1は、クライアント装置10と、サーバ30とを備える。
 クライアント装置10及びサーバ30は、ネットワーク(例えば、インターネット又はイントラネット)NWを介して接続される。
 クライアント装置10は、サーバ30にリクエストを送信する情報処理装置の一例である。クライアント装置10は、例えば、スマートフォン、タブレット端末、又は、パーソナルコンピュータである。
 サーバ30は、クライアント装置10から送信されたリクエストに応じたレスポンスをクライアント装置10に提供する情報処理装置の一例である。サーバ30は、例えば、Webサーバである。
(1-1)クライアント装置の構成
 クライアント装置の構成について説明する。図2は、本実施形態のクライアント装置の構成を示すブロック図である。
 図2に示すように、クライアント装置10は、記憶装置11と、プロセッサ12と、入出力インタフェース13と、通信インタフェース14とを備える。クライアント装置10は、ディスプレイ15と、カメラ16と、深度センサ17とに接続される。
 記憶装置11は、プログラム及びデータを記憶するように構成される。記憶装置11は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、及び、ストレージ(例えば、フラッシュメモリ又はハードディスク)の組合せである。
 プログラムは、例えば、以下のプログラムを含む。
・OS(Operating System)のプログラム
・情報処理を実行するアプリケーション(例えば、ウェブブラウザ、リハビリアプリ、またはフィットネスアプリ)のプログラム
 データは、例えば、以下のデータを含む。
・情報処理において参照されるデータベース
・情報処理を実行することによって得られるデータ(つまり、情報処理の実行結果)
 プロセッサ12は、記憶装置11に記憶されたプログラムを起動することによって、クライアント装置10の機能を実現するコンピュータである。プロセッサ12は、例えば、以下の少なくとも1つである。
 ・CPU(Central Processing Unit)
 ・GPU(Graphic Processing Unit)
 ・ASIC(Application Specific Integrated Circuit)
 ・FPGA(Field Programmable Gate Array)
 入出力インタフェース13は、クライアント装置10に接続される入力デバイスから情報(例えば、ユーザの指示、画像、音)を取得し、かつ、クライアント装置10に接続される出力デバイスに情報(例えば、画像、コマンド)を出力するように構成される。
 入力デバイスは、例えば、カメラ16、深度センサ17、マイクロホン、キーボード、ポインティングデバイス、タッチパネル、センサ、又は、それらの組合せである。
 出力デバイスは、例えば、ディスプレイ15、スピーカ、又は、それらの組合せである。
 通信インタフェース14は、クライアント装置10と外部装置(例えば、サーバ30)との間の通信を制御するように構成される。
 具体的には、通信インタフェース14は、サーバ30との通信のためのモジュール(例えば、WiFiモジュール、移動通信モジュール、またはそれらの組み合わせ)を含むことができる。
 ディスプレイ15は、画像(静止画、または動画)を表示するように構成される。ディスプレイ15は、例えば、液晶ディスプレイ、または有機ELディスプレイである。
 カメラ16は、撮影を行い、画像信号を生成するように構成される。
 深度センサ17は、例えばLIDAR(Light Detection And Ranging)である。深度センサ17は、当該深度センサ17から周囲の物体(例えば、ユーザ)までの距離(深度)を測定するように構成される。
(1-2)サーバの構成
 サーバの構成について説明する。図3は、本実施形態のサーバの構成を示すブロック図である。
 図3に示すように、サーバ30は、記憶装置31と、プロセッサ32と、入出力インタフェース33と、通信インタフェース34とを備える。
 記憶装置31は、プログラム及びデータを記憶するように構成される。記憶装置31は、例えば、ROM、RAM、及び、ストレージの組合せである。
 プログラムは、例えば、以下のプログラムを含む。
・OSのプログラム
・情報処理を実行するアプリケーションのプログラム
 データは、例えば、以下のデータを含む。
・情報処理において参照されるデータベース
・情報処理の実行結果
 プロセッサ32は、記憶装置31に記憶されたプログラムを起動することによって、サーバ30の機能を実現するコンピュータである。プロセッサ32は、例えば、以下の少なくとも1つである。
 ・CPU
 ・GPU
 ・ASIC
 ・FPGA
 入出力インタフェース33は、サーバ30に接続される入力デバイスから情報(例えば、ユーザの指示)を取得し、かつ、サーバ30に接続される出力デバイスに情報を出力するように構成される。
 入力デバイスは、例えば、キーボード、ポインティングデバイス、タッチパネル、又は、それらの組合せである。
 出力デバイスは、例えば、ディスプレイである。
 通信インタフェース34は、サーバ30と外部装置(例えば、クライアント装置10)との間の通信を制御するように構成される。
(2)実施形態の概要
 本実施形態の概要について説明する。図4は、本実施形態の概要の説明図である。
 図4に示すように、クライアント装置10のカメラ16は、運動中のユーザUS1の外観(例えば全身)を撮影する。図4の例では、ユーザUS1がペダルを漕ぐ運動(例えば、フィットネスバイク、エルゴメーター、自転車)を行う例を示しているが、ユーザUS1は脚の回転(つまり、周期的な動き)を伴う任意の運動(有酸素運動、または無酸素運動)を行うことができる。
 一例として、カメラ16は、ユーザUS1の外観を、正面または斜め前から撮影する。深度センサ17は、当該深度センサ17からユーザUS1の各部位までの距離(深度)を測定する。なお、例えばカメラ16によって生成される動画データ(2次元)と、例えば深度センサ17によって生成される深度データとを組み合わせることで、3次元動画データを生成することも可能である。
 クライアント装置10は、少なくとも、カメラ16から取得した動画データを参照し、運動中のユーザの骨格を解析する。クライアント装置10は、運動中のユーザの骨格をより適切に解析するために、深度センサ17から取得した深度データをさらに参照してもよい。クライアント装置10は、動画データ(或いは、動画データおよび深度データ)の解析結果に基づく、運動中のユーザUS1の骨格に関するデータ(以下、「ユーザ骨格データ」という)をサーバ30へ送信する。
 サーバ30は、取得したユーザ骨格データに、学習済みモデルLM1(「推定モデル」の一例)を適用することで、ユーザUS1の脚の回転数に関する推定を行う。サーバ30は、推定結果(例えば、単位時間あたりのユーザUS1の脚の回転数を示す数値)をクライアント装置10へ送信する。
 このように、情報処理システム1は、運動中のユーザUS1の動画(或いは、動画および深度)に基づいて、当該ユーザUS1の脚の回転数に関する推定を行う。故に、この情報処理システム1によれば、脚の回転数を検知する手段、または検知結果を出力する手段を備えていないトレーニング機器を用いてユーザUS1が運動を行った場合であっても、当該ユーザの脚の回転数を推定することができる。つまり、多様な状況下で人間の脚の回転数に関する推定を行うことができる。
(3)教師データセット
 本実施形態の教師データセットについて説明する。図5は、本実施形態の教師データセットのデータ構造を示す図である。
 図5に示すように、教師データセットは、複数の教師データを含む。教師データは、対象モデルの訓練または評価に用いられる。教師データは、サンプルIDと、入力データと、正解データとを含む。
 サンプルIDは、教師データを識別する情報である。
 入力データは、訓練時または評価時に対象モデルに入力されるデータである。入力データは、対象モデルの訓練時または評価時に用いられる例題に相当する。一例として、入力データは、被験者の骨格データを含む。被験者の骨格データは、運動中の被験者の骨格に関するデータ(例えば特徴量)である。
 被験者は、情報処理システム1の運用時に脚の回転数に関する推定が行われるユーザと同一人物であってもよいし、異なる人物であってもよい。被験者およびユーザを同一人物とすることで、対象モデルがユーザの個性を学習し、推定精度が向上する可能性がある。他方、被験者がユーザと異なる人物であることを許容することは、教師データセットの豊富化が容易となる利点がある。また、被験者は、ユーザを含む複数人、またはユーザを含まない複数人により構成されてもよい。
 骨格データは、例えば、被験者の各部位の速度、または加速度に関するデータ(被験者が使用する筋肉の部位の変化、または被験者の体感のぶれに関するデータを含み得る)を含む。
 骨格データの少なくとも一部は、被験者動画データ(或いは、被験者動画データおよび被験者深度データ)を参照して運動中の被験者の骨格を解析することで取得可能である。一例として、iOS(登録商標) 14のSDKであるVision、または他の骨格検知アルゴリズムが骨格の解析に利用可能である。或いは、教師データセット向けの骨格データは、例えば、被験者の各部位に動きセンサを装着した状態で運動を行わせることで取得可能である。
 被験者動画データは、運動中の被験者の写った被験者動画に関するデータである。被験者動画は、典型的には、少なくとも被験者の下半身(具体的には、被験者の脚)が撮影範囲に含まれるように、当該被験者を撮影した動画である。被験者動画データは、例えば、運動中の被験者の外観(例えば全身)を正面または斜め前(例えば、45度前方)からカメラ(一例として、スマートフォンに搭載されたカメラ)で撮影することで取得可能である。
 被験者深度データは、深度センサから運動中の被験者の各部位(典型的には脚)までの距離(深度)に関するデータである。被験者深度データは、被験者動画の撮影時に、深度センサを動作させることで取得可能である。
 正解データは、対応する入力データ(例題)に対する正解に相当するデータである。対象モデルは、入力データに対して正解データにより近い出力を行うように訓練(教師あり学習)される。一例として、正解データは、脚の回転数の評価指標、または当該評価指標を決定するための材料となる指標、の少なくとも1つを含む。一例として脚の回転数の評価指標は、以下の少なくとも1つを含むことができる。
・累積回転数
・単位時間あたりの回転数(つまり回転速度)
・回転速度の時間微分(つまり回転加速度)
 ただし、脚の回転数の指標は、脚の回転(つまり、周期的な動き)を定量的に把握するための任意の指標であってよく、ここに例示した指標に限定されない。脚の回転数の指標は、走行距離(累積回転数(ケイデンス)とペダル1回転あたりの走行距離との積)、運動負荷量のように上記指標に基づいて算出可能な指標を含んでもよい。
 運動負荷量は、運動の負荷を定量的に評価するための指標である。運動負荷は、以下の少なくとも1つを用いて数値により表すことができる。
・エネルギー(カロリー)消費量
・酸素消費量
・心拍数
 正解データは、例えば、被験者動画撮影時の被験者の脚の回転数を適切なセンサ(例えばケイデンスセンサ)により実測することで取得可能である。或いは、正解データは、脚に動きセンサ(例えば加速度センサ)を装着した状態で被験者に運動させ、動きセンサによるセンシング結果に基づき所定のアルゴリズム、または学習済みモデルにより被験者の脚の回転数に関する推定を行うことによっても取得可能である。或いは、被験者動画を視聴した人間が被験者の脚の回転数を計測することで正解データを付与してもよい。
(4)推定モデル
 サーバ30によって用いられる推定モデルは、教師データセット(図5)を用いた教師あり学習により作成された学習済みモデル、または当該学習済みモデルの派生モデルもしくは蒸留モデルに相当する。
(5)情報処理
 本実施形態の情報処理について説明する。図6は、本実施形態の情報処理のフローチャートである。図7は、本実施形態の情報処理において表示される画面例を示す図である。
 情報処理は、例えば以下の開始条件のいずれかの成立に応じて開始する。
・他の処理によって情報処理が呼び出された。
・ユーザが情報処理を呼び出すための操作を行った。
・クライアント装置10が所定の状態(例えば、所定のアプリの起動)になった。
・所定の日時が到来した。
・所定のイベントから所定の時間が経過した。
 図6に示すように、クライアント装置10は、センシング(S110)を実行する。
 具体的には、クライアント装置10は、カメラ16の動作を有効にすることで、運動中のユーザの動画(以下、「ユーザ動画」という)の撮影を開始する。ユーザ動画は、典型的には、少なくともユーザの下半身(具体的には、ユーザの脚)が撮影範囲に含まれるように、当該ユーザを撮影した動画である。
 また、クライアント装置10は、深度センサ17の動作を有効にすることで、当該深度センサ17から運動中のユーザの各部位までの距離(以下、「ユーザ深度」という)の計測を開始する。
 ステップS110の後に、クライアント装置10は、データの取得(S111)を実行する。
 具体的には、クライアント装置10は、ステップS110において有効とした各種センサによって生成されたセンシング結果を取得する。例えば、クライアント装置10は、カメラ16からユーザ動画データを取得し、深度センサ17からユーザ深度データを取得する。
 ステップS111の後に、クライアント装置10は、リクエスト(S112)を実行する。
 具体的には、クライアント装置10は、ステップS111において取得したデータを参照し、リクエストを生成する。クライアント装置10は、生成したリクエストをサーバ30へ送信する。リクエストは、例えば、以下の少なくとも1つを含むことができる。
・ステップS111において取得したデータ(例えば、ユーザ動画データ、またはユーザ深度データ)
・ステップS111において取得したデータを加工したデータ
・ステップS111において取得したユーザ動画データ(或いは、ユーザ動画データおよびユーザ深度データ)を解析することで取得したユーザ骨格データ
 ステップS112の後に、サーバ30は、脚の回転数に関する推定(S130)を実行する。
 具体的には、サーバ30は、クライアント装置10から取得したリクエストに基づいて、推定モデルの入力データを取得する。入力データは、教師データと同様に、ユーザ骨格データを含む。サーバ30は、入力データに推定モデルを適用することで、ユーザの脚の回転数に関する推定を行う。一例として、サーバ30は、ユーザの脚の回転数に関する評価指標の少なくとも1つを推定する。
 ステップS130の後に、サーバ30は、レスポンス(S131)を実行する。
 具体的には、サーバ30は、ステップS130における推定の結果に基づくレスポンスを生成する。サーバ30は、生成したレスポンスをクライアント装置10へ送信する。一例として、レスポンスは以下の少なくとも1つを含むことができる。
・脚の回転数に関する推定の結果に相当するデータ
・脚の回転数に関する推定の結果を加工したデータ(例えば、クライアント装置10のディスプレイ15に表示されるべき画面のデータ、または当該画面を生成するために参照されるデータ)
 クライアント装置10は、ステップS131の後に、情報提示(S113)を実行する。
 具体的には、クライアント装置10は、サーバ30から取得したレスポンス(つまり、ユーザの脚の回転数に関する推定の結果)に基づく情報をディスプレイ15に表示させる。
 ただし、情報は、ユーザの代わりに、またはユーザに加えて、ユーザの指導者(例えば、医療関係者、またはトレーナー)向けに当該指導者の使用する端末に提示されてもよい。或いは、情報として、ユーザの運動体験を演出するコンテンツ(例えば、脚の回転数に関する推定の結果に応じて制御される風景またはビデオゲームの映像)が提示されてもよい。かかるコンテンツは、ディスプレイ15の代わりに、HMDなどの外部装置のディスプレイ、または他の出力装置を介して提示されてもよい。
 一例として、クライアント装置10は、画面P10(図7)をディスプレイ15に表示させる。画面P10は、表示オブジェクトA10、および操作オブジェクトB10を含む。
 操作オブジェクトB10は、表示オブジェクトA10に表示させる脚の回転数に関する評価指標を指定する操作を受け付ける。図7の例では、操作オブジェクトB10は、チェックボックスに相当する。
 表示オブジェクトA10は、上記評価指標を推定した結果の経時的変化を表示する。図7の例では、表示オブジェクトA10は、操作オブジェクトB10において指定されている評価指標である回転速度(rpm)を5秒毎に推定した結果の経時的変化を示すグラフを表示する。
 操作オブジェクトB10において複数の評価指標が指定されている場合に、表示オブジェクトA10には、複数の評価指標を推定した結果の経時的変化を示すグラフを重畳して表示してもよいし、これらのグラフを個別に表示してもよい。
 ステップS113の後に、クライアント装置10は、情報処理(図6)を終了する。ただし、ユーザの脚の回転数に関する推定を当該ユーザの運動中にリアルタイムに実施する場合に、クライアント装置10は、ステップS113の後にデータの取得(S111)に戻ってもよい。
(6)小括
 以上説明したように、実施形態の情報処理システム1は、運動中のユーザの動画に基づいて当該ユーザの脚の回転数に関する推定を行う。これにより、脚の回転数を検知する手段、または検知結果を出力する手段を備えていないトレーニング機器を用いてユーザが運動を行った場合であっても、当該ユーザの脚の回転数を推定することができる。つまり、多様な状況下で人間の脚の回転数に関する推定を行うことができる。
 情報処理システム1は、運動中のユーザの動画に基づく入力データに、推定モデルを適用することで、当該ユーザの脚の回転数に関する推定を行ってもよい。これにより、ユーザの脚の回転数に関する統計的な推定を短時間で行うことができる。さらに、推定モデルは、前述の教師データセット(図5)を用いた教師あり学習により作成された学習済みモデル、または当該学習済みモデルの派生モデルもしくは蒸留モデルに相当してもよい。これにより、推定モデルを効率的に構築することができる。推定モデルを適用される入力データは、運動中のユーザの骨格に関するデータを含んでもよい。これにより、推定モデルの精度を向上させることができる。推定モデルを適用される入力データは、ユーザ動画の撮影時における、基準点(つまり、深度センサ17)からユーザの各部位までの深度に関するデータ(つまり、ユーザ深度データ)を含んでもよい。これにより、推定モデルの精度を向上させることができる。
 情報処理システム1は、ユーザの脚の累積回転数、回転速度、回転加速度、または脚の累積回転数から換算した走行距離の少なくとも1つを推定してもよい。これにより、ユーザの脚の回転数(リアルタイムの回転数を含み得る)を適切に評価することができる。
 ユーザ動画は、少なくともユーザの下半身(好ましくは、ユーザの脚)が撮影範囲に含まれるように当該ユーザを撮影した動画であってもよい。これにより、推定モデルの精度を向上させることができる。
 ユーザ動画は、ペダルを漕いでいるユーザを撮影した動画であってもよい。これにより、推定モデルの精度を向上させることができる。
 情報処理システム1は、ユーザの脚の回転数に関する推定の結果に基づく情報を提示してもよい。これにより、ユーザ、またはその指導者に、ユーザの脚の回転数に関する情報を知らせたり、ユーザの運動体験を演出するためのコンテンツ(例えば、風景またはビデオゲームの映像)を制御したりすることができる。第1例として、情報処理システム1は、ユーザの脚の回転数の評価指標を提示してもよい。これにより、情報の受け手が、ユーザの脚の回転数を適切に把握することができる。第2例として、情報処理システム1は、ユーザの脚の回転数の評価指標の経時的変化に関する情報を提示してもよい。これにより、情報の受け手が、ユーザの脚の回転数の経時的変化を把握することができる。
(7)変形例1
 変形例1について説明する。変形例1は、推定モデルに対する入力データを変形する例である。
(7-1)変形例1の概要
 変形例1の概要について説明する。本実施形態では、ユーザ動画に基づく入力データに推定モデルを適用する例を示した。変形例1は、ユーザ動画およびユーザの健康状態の双方に基づく入力データに推定モデルを適用することで、当該ユーザの脚の回転数に関する推定を行う例である。
 健康状態は、以下の少なくとも1つを含む。
・年齢
・性別
・身長
・体重
・体脂肪率
・筋肉量
・骨密度
・現病歴
・既往歴
・内服歴
・手術歴
・生活歴(例えば、喫煙歴、飲酒歴、日常生活動作(ADL)、フレイルスコア、など)
・家族歴
・呼吸機能検査の結果
・呼吸機能検査以外の検査結果(例えば、血液検査、尿検査、心電図検査(ホルター心電図検査を含む)、心臓超音波検査、X線検査、CT検査(心臓形態CT・冠動脈CT含む)、MRI検査、核医学検査、PET検査、などの結果)
・心臓リハビリテーション施行中に取得されたデータ(Borg指数含む)
(7-2)教師データセット
 変形例1の教師データセットについて説明する。図8は、変形例1の教師データセットのデータ構造を示す図である。
 図8に示すように、変形例1の教師データセットは、複数の教師データを含む。教師データは、対象モデルの訓練または評価に用いられる。教師データは、サンプルIDと、入力データと、正解データとを含む。
 サンプルIDおよび正解データは、本実施形態において説明したとおりである。
 入力データは、訓練時または評価時に対象モデルに入力されるデータである。入力データは、対象モデルの訓練時または評価時に用いられる例題に相当する。一例として、入力データは、被験者の骨格データ(つまり、相対的に動的なデータ)、および被験者の健康状態に関するデータ(つまり、相対的に静的なデータ)である。被験者の骨格データは、本実施形態において説明したとおりである。
 被験者の健康状態に関するデータは、様々な方法で取得可能である。被験者の健康状態に関するデータは、被験者の運動中、または運動前もしくは運動後(安静時を含む)のいずれのタイミングで取得されてもよい。被験者の健康状態に関するデータは、被験者、またはその担当医からの申告に基づいて取得されてもよいし、医療情報システムにおいて被験者に紐づけられている情報を抽出することで取得されてもよいし、被験者のアプリ(例えばヘルスケアアプリ)経由で取得されてもよい。
(7-3)推定モデル
 変形例1において、サーバ30によって用いられる推定モデルは、教師データセット(図8)を用いた教師あり学習により作成された学習済みモデル、または当該学習済みモデルの派生モデルもしくは蒸留モデルに相当する。
(7-4)情報処理
 変形例1の情報処理について図6を用いて説明する。
 変形例1において、クライアント装置10は図6と同様に、センシング(S110)を実行する。
 ステップS110の後に、クライアント装置10は、データの取得(S111)を実行する。
 具体的には、クライアント装置10は、ステップS110において有効とした各種センサによって生成されたセンシング結果を取得する。例えば、クライアント装置10は、カメラ16からユーザ動画データを取得し、深度センサ17からユーザ深度データを取得する。
 さらに、クライアント装置10は、ユーザの健康状態に関するデータ(以下、「ユーザ健康状態データ」という)を取得する。例えば、クライアント装置10は、ユーザ、またはその担当医による操作(申告)に基づいてユーザ健康状態データを取得してもよいし、医療情報システムにおいてユーザに紐づけられている情報を抽出することでユーザ健康状態データを取得してもよいし、ユーザのアプリ(例えばヘルスケアアプリ)経由でユーザ健康状態データを取得してもよい。ただし、クライアント装置10は、ステップS111とは異なるタイミング(例えば、ステップS110よりも前、ステップS110と同じタイミング、ステップS111よりも後のタイミング)で、ユーザ健康状態データを取得してもよい。
 ステップS111の後に、クライアント装置10は、リクエスト(S112)を実行する。
 具体的には、クライアント装置10は、ステップS111において取得したデータを参照し、リクエストを生成する。クライアント装置10は、生成したリクエストをサーバ30へ送信する。リクエストは、例えば、以下の少なくとも1つを含むことができる。
・ステップS111において取得したデータ(例えば、ユーザ動画データ、ユーザ深度データ、またはユーザ健康状態データ)
・ステップS111において取得したデータを加工したデータ
・ステップS111において取得したユーザ動画データ(或いは、ユーザ動画データおよびユーザ深度データ)を解析することで取得したユーザ骨格データ
 ステップS112の後に、サーバ30は、脚の回転数に関する推定(S130)を実行する。
 具体的には、サーバ30は、クライアント装置10から取得したリクエストに基づいて、推定モデルの入力データを取得する。入力データは、教師データと同様に、ユーザ骨格データ、およびユーザ健康状態データを含む。サーバ30は、入力データに推定モデルを適用することで、脚の回転数に関する推定を行う。一例として、サーバ30は、ユーザの脚の回転数に関する評価指標の少なくとも1つを推定する。
 ステップS130の後に、サーバ30は図6と同様に、レスポンス(S131)を実行する。
 ステップS131の後に、クライアント装置10は図6と同様に、情報提示(S113)を実行する。
(7-5)小括
 以上説明したように、変形例1の情報処理システム1は、ユーザ動画およびユーザの健康状態の双方に基づく入力データに推定モデルを適用することで、当該ユーザの脚の回転数に関する推定を行う。これにより、ユーザの健康状態をさらに考慮して、高精度な推定を行うことができる。例えば、ユーザの健康状態と、教師データの元となった被験者の健康状態との間に差異がある場合であっても、妥当な推定を行うことができる。
(8)その他の変形例
 記憶装置11は、ネットワークNWを介して、クライアント装置10と接続されてもよい。ディスプレイ15は、クライアント装置10に内蔵されてもよい。記憶装置31は、ネットワークNWを介して、サーバ30と接続されてもよい。
 実施形態および変形例1の情報処理システムを、クライアント/サーバ型のシステムによって実装する例を示した。しかしながら、実施形態および変形例1の情報処理システムは、スタンドアロン型のコンピュータによって実装することもできる。一例として、クライアント装置10が単独で、推定モデルを用いて、脚の回転数に関する推定を行ってもよい。
 上記の情報処理の各ステップは、クライアント装置10及びサーバ30の何れでも実行可能である。一例として、クライアント装置10の代わりにサーバ30が、ユーザ動画(或いは、ユーザ動画およびユーザ深度)を解析することでユーザ骨格データを取得してもよい。
 上記説明では、クライアント装置10のカメラ16を用いてユーザ動画を撮影する例を示した。しかしながら、ユーザ動画は、カメラ16とは別のカメラを用いて撮影されてもよい。クライアント装置10の深度センサ17を用いてユーザ深度を計測する例を示した。しかしながら、ユーザ深度は、深度センサ17とは別の深度センサを用いて計測されてもよい。
 本実施形態および変形例1の情報処理システム1は、プレイヤーの身体の動き(例えば脚の回転数)に応じてゲーム進行が制御されるビデオゲームにも適用可能である。一例として、情報処理システム1は、ゲームプレイ中に、ユーザの脚の回転数に関する推定を行い、当該推定の結果に応じて、以下のいずれか1つを決定してもよい。これにより、ビデオゲームがユーザの健康増進に与える効果を高めることができる。
・ユーザに与えられる、ビデオゲームに関する課題(例えば、ステージ、ミッション、クエスト)の質(例えば難易度)、または量
・ユーザに与えられる、ビデオゲームに関する特典(例えば、ゲーム内通貨、アイテム、ボーナス)の質(例えば種類)、または量
 クライアント装置10に搭載されたマイクロホン、またはクライアント装置10に接続されたマイクロホンが、ユーザ動画の撮影時(つまり、ユーザの運動中)にユーザが発する音波を受信し、音データを生成してもよい。音データは、ユーザ骨格データとともに推定モデルに対する入力データを構成し得る。ユーザが発する音は、例えば以下の少なくとも1つである。
・ユーザの脚の回転により発する音波(例えば、ペダル、またはペダルに接続された駆動部から生じる音)
・ユーザの呼吸、または発声に伴って生じる音
 推定モデルに対する入力データの一部として加速度データを用いることも可能である。或いは、加速度データを参照してユーザの骨格を解析してもよい。加速度データは、例えば、ユーザ動画の撮影時(つまり、ユーザの運動中)にユーザに加速度センサを備えたクライアント装置10またはウェアラブルデバイスをユーザに携行または装着させることで取得可能である。
 上記説明では、ペダル漕ぎによる足の回転を例示した。しかしながら、脚の回転は、ペダル漕ぎのような円運動に限らず、足踏みのような周期的運動全般を含み得る。要するに、脚の回転数は、足踏み、または歩数として適宜読み替えることもできる。
 変形例1では、健康状態に基づく入力データに推定モデルを適用する例を示した。しかしながら、被験者の健康状態(の少なくとも一部)に基づいて、複数の推定モデルを構築することも可能である。この場合に、ユーザの健康状態(の少なくとも一部)が、推定モデルを選択するために参照されてもよい。このさらなる変形例において、推定モデルの入力データは、ユーザの健康状態に基づかないデータであってもよいし、ユーザの健康状態およびユーザ動画に基づくデータであってもよい。
 以上、本発明の実施形態および変形例について詳細に説明したが、本発明の範囲は上記の実施形態および変形例に限定されない。また、上記の実施形態および変形例は、本発明の主旨を逸脱しない範囲において、種々の改良や変更が可能である。また、上記の実施形態及び変形例は、組合せ可能である。
1    :情報処理システム
10   :クライアント装置
11   :記憶装置
12   :プロセッサ
13   :入出力インタフェース
14   :通信インタフェース
15   :ディスプレイ
16   :カメラ
17   :深度センサ
30   :サーバ
31   :記憶装置
32   :プロセッサ
33   :入出力インタフェース
34   :通信インタフェース

Claims (13)

  1.  コンピュータを、
     運動中のユーザの写ったユーザ動画を取得する手段、
     前記ユーザ動画に基づいて、前記ユーザの脚の回転数に関する推定を行う手段
     として機能させるプログラム。
  2.  前記脚の回転数に関する推定を行う手段は、前記ユーザ動画に基づく入力データに、推定モデルを適用することで、前記ユーザの脚の回転数に関する推定を行う、
     請求項1に記載のプログラム。
  3.  前記推定モデルは、運動中の被験者の写った被験者動画に関するデータを含む入力データと、当該入力データの各々に関連付けられた正解データとを含む教師データセットを用いた教師あり学習により作成された学習済みモデル、または当該学習済みモデルの派生モデルもしくは蒸留モデルに相当する、
     請求項2に記載のプログラム。
  4.  前記推定モデルを適用される入力データは、前記ユーザの骨格に関するデータを含む、
     請求項2または請求項3に記載のプログラム。
  5.  前記推定モデルを適用される入力データは、基準点から前記ユーザの各部位までの深度に関するデータにさらに基づく、
     請求項2乃至請求項4のいずれかに記載のプログラム。
  6.  前記脚の回転数に関する推定を行う手段は、脚の累積回転数、回転速度、回転加速度、または脚の累積回転数から換算した走行距離の少なくとも1つを推定する、
     請求項1乃至請求項5のいずれかに記載のプログラム。
  7.  前記ユーザ動画は、少なくとも前記ユーザの下半身が撮影範囲に含まれるように当該ユーザを撮影した動画である、
     請求項1乃至請求項6のいずれかに記載のプログラム。
  8.  前記ユーザ動画は、ペダルを漕いでいる前記ユーザを撮影した動画である、
     請求項1乃至請求項7のいずれかに記載のプログラム。
  9.  前記コンピュータを、前記ユーザの脚の回転数に関する推定の結果に基づく情報を提示する手段としてさらに機能させる、
     請求項1乃至請求項8のいずれかに記載のプログラム。
  10.  前記脚の回転数に関する推定を行う手段は、脚の回転数に関する評価指標を推定し、
     前記提示する手段は、前記評価指標を提示する、
     請求項9に記載のプログラム。
  11.  前記提示する手段は、前記評価指標の経時的変化を提示する、
     請求項10に記載のプログラム。
  12.  運動中のユーザの写ったユーザ動画を取得する手段と、
     前記ユーザ動画に基づいて、前記ユーザの脚の回転数に関する推定を行う手段と
     を具備する、情報処理装置。
  13.  コンピュータが、
     運動中のユーザの写ったユーザ動画を取得することと、
     前記ユーザ動画に基づいて、前記ユーザの脚の回転数に関する推定を行うことと
     を具備する、方法。
PCT/JP2022/031632 2021-08-26 2022-08-22 プログラム、情報処理装置、および情報処理方法 WO2023027046A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023509558A JP7411945B2 (ja) 2021-08-26 2022-08-22 プログラム、情報処理装置、および情報処理方法
JP2023212332A JP2024025826A (ja) 2021-08-26 2023-12-15 プログラム、情報処理装置、および情報処理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021137960 2021-08-26
JP2021-137960 2021-08-26

Publications (1)

Publication Number Publication Date
WO2023027046A1 true WO2023027046A1 (ja) 2023-03-02

Family

ID=85322763

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/031632 WO2023027046A1 (ja) 2021-08-26 2022-08-22 プログラム、情報処理装置、および情報処理方法

Country Status (2)

Country Link
JP (2) JP7411945B2 (ja)
WO (1) WO2023027046A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001017565A (ja) * 1999-07-08 2001-01-23 Erugotekku:Kk シミュレーション・システム
JP2007500547A (ja) * 2003-07-31 2007-01-18 ファースト プリンシプルズ インコーポレイテッド パフォーマンスを改善する方法および装置
CN108114405A (zh) * 2017-12-20 2018-06-05 中国科学院合肥物质科学研究院 基于3d深度摄像头和柔性力敏传感器的跑步机自适应系统
JP2019025134A (ja) * 2017-08-01 2019-02-21 株式会社大武ルート工業 動作推定装置及び動作推定プログラム
JP2019071963A (ja) * 2017-10-12 2019-05-16 大日本印刷株式会社 トレーニング装置及びプログラム
WO2020218368A1 (ja) * 2019-04-26 2020-10-29 塁 佐藤 運動用設備
WO2021132426A1 (ja) * 2019-12-26 2021-07-01 国立大学法人東京大学 スマートトレッドミル

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201520980A (zh) 2013-11-26 2015-06-01 Nat Univ Chung Cheng 可即時估算踏頻之視頻裝置
JP7057959B2 (ja) 2016-08-09 2022-04-21 住友ゴム工業株式会社 動作解析装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001017565A (ja) * 1999-07-08 2001-01-23 Erugotekku:Kk シミュレーション・システム
JP2007500547A (ja) * 2003-07-31 2007-01-18 ファースト プリンシプルズ インコーポレイテッド パフォーマンスを改善する方法および装置
JP2019025134A (ja) * 2017-08-01 2019-02-21 株式会社大武ルート工業 動作推定装置及び動作推定プログラム
JP2019071963A (ja) * 2017-10-12 2019-05-16 大日本印刷株式会社 トレーニング装置及びプログラム
CN108114405A (zh) * 2017-12-20 2018-06-05 中国科学院合肥物质科学研究院 基于3d深度摄像头和柔性力敏传感器的跑步机自适应系统
WO2020218368A1 (ja) * 2019-04-26 2020-10-29 塁 佐藤 運動用設備
WO2021132426A1 (ja) * 2019-12-26 2021-07-01 国立大学法人東京大学 スマートトレッドミル

Also Published As

Publication number Publication date
JPWO2023027046A1 (ja) 2023-03-02
JP7411945B2 (ja) 2024-01-12
JP2024025826A (ja) 2024-02-26

Similar Documents

Publication Publication Date Title
US11037369B2 (en) Virtual or augmented reality rehabilitation
KR100772497B1 (ko) 골프 클리닉 시스템 및 그것의 운용방법
US9364714B2 (en) Fuzzy logic-based evaluation and feedback of exercise performance
Schönauer et al. Full body interaction for serious games in motor rehabilitation
Bergamini et al. Wheelchair propulsion biomechanics in junior basketball players: A method for the evaluation of the efficacy of a specific training program
TWI396572B (zh) 健身系統
CN111477297A (zh) 个人计算设备
JP2005095570A (ja) 画像表示システム、画像表示装置、画像表示方法
Nunes et al. Motivating people to perform better in exergames: Competition in virtual environments
JP2018503413A (ja) 心肺適応能評価
Annaswamy et al. Using biometric technology for telehealth and telerehabilitation
KR20160138682A (ko) 복합 생체신호를 이용한 능동형 스피닝 트레이닝 시스템
Rahman et al. Modeling therapy rehabilitation sessions using non-invasive serious games
WO2014133920A2 (en) Using a true representation of effort for fitness
WO2023027046A1 (ja) プログラム、情報処理装置、および情報処理方法
JP2019024579A (ja) リハビリテーション支援システム、リハビリテーション支援方法及びプログラム
Karkar et al. KinFit: A factual aerobic sport game with stimulation support
Georgiadis et al. A remote rehabilitation training system using Virtual Reality
Eichhorn et al. Development of an Exergame for individual rehabilitation of patients with cardiovascular diseases
KR102556863B1 (ko) 사용자 맞춤형 운동 훈련 방법 및 시스템
WO2023026785A1 (ja) プログラム、情報処理装置、および情報処理方法
JP7333537B2 (ja) プログラム、情報処理装置、および情報処理方法
JP7303595B1 (ja) プログラム、情報処理装置、および情報処理方法
Chartomatsidis et al. Development and evaluation of a motion-based exercise game for balance improvement
Morando et al. Biophysical and motion features extraction for an effective home-based rehabilitation

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2023509558

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 22861334

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022861334

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022861334

Country of ref document: EP

Effective date: 20240326