Determination method, determination program, and information processing device
By calculating moving direction and speed from multiple consecutive position points and applying specific conditions, the method improves the accuracy of determining linear running motions, addressing the inaccuracies in conventional technologies and enhancing recognition in sports and object tracking.
Patent Information
- Application Number
- PCT/JP2023/024354
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-30
- Publication Date
- 2025-01-02
AI Technical Summary
Conventional skeletal recognition technologies face inaccuracies in determining driving motion due to estimation errors in position information, leading to incorrect identification of linear movements.
The method involves calculating the moving direction and speed based on three or more consecutive position information points using the least squares method and determining the moving state by satisfying specific conditions related to direction and speed thresholds, thereby improving the accuracy of determining linear running motions.
This approach enhances the accuracy of determining linear running motions and can be applied to various fields, including sports and object tracking, by reducing estimation errors and improving technique recognition.
Smart Images

Figure JP2023024354_02012025_PF_FP_ABST
Abstract
Description
Determination method, determination program, and information processing device
[0001] The present invention relates to a determination method and the like.
[0002] Skeletal recognition is performed on athletes (determining the position of each of their joints) and a 3D model obtained from the position of each joint over time is displayed to support scoring of competitions and training.
[0003] One conventional skeletal recognition technology is to use a 3D sensor to measure the three-dimensional positions of multiple points on the athlete's surface and perform fitting to identify the athlete's joint positions. In the following explanation, data indicating the relationship between multiple points on the athlete's surface and their three-dimensional positions will be referred to as "point cloud data."
[0004] 13 is a diagram illustrating fitting using the conventional technology. In the conventional technology, the human body model 15 is fitted to the point cloud data 10 by optimizing an objective function that represents the degree of compatibility between the point cloud data 10 and the human body model 15, and the joint positions of the human body model 15 resulting from the fitting are identified as the joint positions of the person. For example, in the conventional technology, the human body model 15 is fitted to the point cloud data 10 by minimizing the distance between the positions of each point included in the point cloud data 10 and each part of the human body model 15.
[0005] In conventional technology, when fitting, multiple human body models are prepared with constraints set for each part of the body for each technique, and the motion that signals the transition between techniques is determined, and then the human body model for determining the next technique is selected. This allows for accurate fitting in accordance with the motion of each technique performed by the athlete during the performance when using human body models.
[0006] In other words, accurately determining the actions that are precursors to skill transitions directly leads to improved recognition accuracy of skills and the overall performance.
[0007] For example, in conventional technology, when determining whether a gymnast is running during a floor routine, the characteristic that the gymnast runs linearly during the routine is utilized. The conventional technology calculates the predicted position of the gymnast in the next frame using linear extrapolation obtained from the gymnast's position information in the most recent two frames, and then uses the predicted position to calculate the athlete's movement direction and speed, thereby determining whether the gymnast is running. In the conventional technology, if the athlete's movement direction is linear and the speed is equal to or greater than a threshold, the athlete's movement is determined to be running.
[0008] US Patent Application Publication No. 2019 / 0130602
[0009] However, the above-mentioned conventional technology has a problem in that it is not possible to accurately determine the running behavior.
[0010] For example, conventional technology uses the position information of the athlete in the two most recent frames, but the position information in the two most recent frames contains estimation errors, and these estimation errors also cause errors in the predicted position in the next frame. This reduces the accuracy of the predicted movement direction, and can result in an erroneous determination that the athlete is not moving in a straight line, even when he or she is actually moving in a straight line.
[0011] Note that the running motions of people other than the athletes mentioned above and moving objects such as vehicles are also judged, and accurate judgment of the running motions of people or moving objects is required in various fields other than gymnastics as well.
[0012] In one aspect, the present invention aims to provide a determination method, a determination program, and an information processing device that can improve the accuracy of determination regarding running behavior.
[0013] In the first proposal, a computer executes the following process: the computer acquires time-series position information of a moving object; the computer identifies a difference between a first moving direction of the moving object calculated based on three or more consecutive pieces of position information and a second moving direction of the moving object calculated based on two or more consecutive pieces of position information; the computer determines the moving direction and moving state of the moving object based on the speed of the moving object calculated based on the three or more consecutive pieces of position information and the difference.
[0014] The accuracy of determination regarding running behavior can be improved.
[0015] FIG. 1 is a diagram illustrating an example of a system according to this embodiment. FIG. 2 is a diagram illustrating an example of a skeletal model of a human body. FIG. 3 is a diagram illustrating an example of joint names. FIG. 4 is a diagram (1) illustrating the processing of an information processing device according to this embodiment. FIG. 5 is a diagram (2) illustrating the processing of an information processing device according to this embodiment. FIG. 6 is a diagram (3) illustrating the processing of an information processing device according to this embodiment. FIG. 7 is a functional block diagram illustrating the configuration of an information processing device according to this embodiment. FIG. 8 is a diagram illustrating an example of the data structure of human body model data. FIG. 9 is a diagram illustrating the correspondence between a cylinder and part identification information. FIG. 10 is a flowchart illustrating the processing procedure of the information processing device according to this embodiment. FIG. 11 is a diagram illustrating another application example of the information processing device. FIG. 12 is a diagram illustrating an example of the hardware configuration of a computer that realizes similar functions to those of the information processing device according to this embodiment. FIG. 13 is a diagram illustrating fitting using conventional technology.
[0016] Hereinafter, embodiments of the determination method, determination program, and information processing device disclosed in the present application will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to these embodiments.
[0017] An example of a system according to the present embodiment will be described. Fig. 1 is a diagram showing an example of a system according to the present embodiment. As shown in Fig. 1, the system according to the present embodiment includes a 3D sensor 20 and an information processing device 100. The 3D sensor 20 and the information processing device 100 are connected to each other wirelessly or via a wire.
[0018] The 3D sensor 20 measures the distance to the athlete 5 at a predetermined frame rate to generate time-series depth images. The 3D sensor 20 outputs time-series depth image information to the information processing device 100. The depth image of the 3D sensor 20a is information indicating the distance between each point on the athlete 5 and the 3D sensor 20a. Although only the 3D sensor 20 is shown in FIG. 1 , depth images may be generated using other 3D sensors.
[0019] The information processing device 100 calculates time-series point cloud data of the athlete 5 based on time-series depth images acquired from the 3D sensor 20. The information processing device 100 generates time-series skeletal data by fitting a human body model to each of the time-series point cloud data. The skeletal data is information in which three-dimensional coordinates are set for multiple joints defined in the skeletal model of the human body. Figure 2 is a diagram showing an example of a skeletal model of the human body. For example, as shown in Figure 2, the skeletal model of the human body is defined by 21 joints ar0 to ar20.
[0020] The relationship between the joints ar0 to ar20 shown in FIG. 2 and the joint names is as shown in FIG. 3. FIG. 3 is a diagram showing an example of joint names. For example, the joint name of joint ar0 is "SPINE_BASE". The joint names of joints ar1 to ar20 are as shown in FIG. 3, and their explanations will be omitted. In the following explanation, skeletal data will be referred to as "frames" where appropriate, and each frame will be assigned a frame number in ascending order. Furthermore, the Nth frame from the beginning will be referred to as frame N.
[0021] The information processing device 100 determines whether the athlete 5 is running in a straight line based on frames N to N+m, where m is a natural number equal to or greater than 2. For example, the information processing device 100 performs processing to calculate the direction of movement, the speed, the height of the hands and arms from the floor, and the orientation of the body, and then determines whether the athlete 5 is running in a straight line.
[0022] 4 is a diagram (1) for explaining the processing of the information processing device according to this embodiment. Here, the explanation will be given using frames N, N+1, N+2, N+3, N+4, and N+5. Frames N to N+4 are past frames, and frame N+5 is the next frame.
[0023] The information processing device 100 performs the following processing using the waist positions in frames N to N+4. The waist positions are the coordinates of the joint ar0 (SPINE_BASE) shown in FIG. 2. The relationship between the waist positions in frames N to N+4 is shown in graph G1 in FIG. 4. The horizontal axis of graph G1 is the x-coordinate axis, and the vertical axis of graph G1 is the y-coordinate axis.
[0024] For example, in Figure 4, the waist position in frame N is pN, the waist position in frame N+1 is pN+1, and the waist position in frame N+2 is pN+2. Also, the waist position in frame N+3 is pN+3, and the waist position in frame N+4 is pN+4. The waist position in frame N+5 is pN+5. For example, pN+5 is predicted based on pN to pN+4.
[0025] 4, the process of calculating the movement direction by the information processing device 100 will be described. The information processing device 100 calculates an approximate line l1 from pN to pN+4 using the least squares method. The information processing device 100 specifies the longitudinal direction of the approximate line l1 as the movement direction d1.
[0026] Furthermore, the information processing device 100 identifies the orientation of the two most recent frames. For example, if the two most recent frames are frames N+3 and N+4, the orientation of the two most recent frames is the movement direction d2 from pN+3 to pN+4.
[0027] The process of calculating speed by the information processing device 100 will be described. The information processing device 100 calculates the speed v1 when the athlete moves from pN to pN+1 based on the distance from pN to pN+1 and a preset frame rate. Similarly, the information processing device 100 calculates the speed v2 when the athlete moves from pN+1 to pN+2, the speed v3 when the athlete moves from pN+2 to pN+3, and the speed v4 when the athlete moves from pN+3 to pN+4. The information processing device 100 calculates the average speed of the athlete 5 from frame N to frame N+4 by calculating the average of the speeds v1 to v4. The information processing device 100 can predict the position of pN+5 based on the movement direction d1, the average speed of the athlete 5, and the frame rate.
[0028] The process by which the information processing device 100 calculates the height of the hand and arm from the floor will be described. FIG. 5 is a diagram (2) for explaining the process of the information processing device according to this embodiment. For example, the information processing device 100 calculates the height of the athlete's hand and arm based on frame N+4. For example, the information processing device calculates the average value of the z coordinate values of joints ar5, ar8, ar19, and ar20 as the height of the hand and arm.
[0029] The process of calculating the body orientation by the information processing device 100 will be described. FIG. 6 is a diagram (3) for explaining the process of the information processing device according to this embodiment. The information processing device 100 calculates a vector (a) indicating the body direction and a vector (b) connecting both knees based on frame N+4. Vector (a) is a vector directed from joint ar0 to joint ar1. Vector (b) is a vector directed from joint ar11 to joint ar15. The information processing device 100 calculates a cross product vector (c) of vectors (a) and (b).
[0030] Furthermore, the information processing device 100 calculates a vector (d) pointing from the joint ar0 in frame N+3 to the joint ar0 in frame N+4.
[0031] Next, a process will be described in which the information processing device 100 determines whether the athlete 5 is running in a straight line. For example, the information processing device 100 determines that the athlete 5 is running in a straight line when all of the following conditions (1) to (4) are met:
[0032] Condition (1): The angle between the movement direction d1 described using FIG. 4 and the movement direction d2 of the most recent two frames is less than a preset angle threshold Th1. Condition (2): The average speed of the athlete 5 described using FIG. 4 is equal to or greater than a preset speed threshold Th2. Condition (3): The height of the athlete's hand and arm described using FIG. 5 is equal to or greater than a preset height threshold Th3. Condition (4): The angle between the vector (c) and the vector (d) described using FIG. 6 is less than a preset angle threshold Th4.
[0033] The administrator of the information processing device 100 may adjust the conditions of the information processing device 100 so that the athlete 5 is determined to be running in a straight line even if all of conditions (1) to (4) are not satisfied. For example, the administrator may set the information processing device 100 to determine that the athlete 5 is running in a straight line if at least conditions (1) and (2) are satisfied. The information processing device 100 may also determine that the athlete 5 is running in a straight line if three or more of conditions (1) to (4) are satisfied. The angle between the movement direction d1 and the movement direction d2 corresponds to the "amount of difference."
[0034] As described above, the information processing device 100 according to this embodiment identifies the angle between the movement direction d1 of the athlete 5 calculated based on three or more consecutive pieces of position information and the movement direction d2 of the athlete 5 calculated based on two or more consecutive pieces of position information. The information processing device 100 also calculates the speed (average speed) of the athlete 5 based on three or more consecutive pieces of position information. The information processing device 100 determines the movement state of the athlete based on the angle between the movement direction d1 and the movement direction d2 and the speed of the athlete 5. This makes it possible to accurately determine the movement state of the athlete.
[0035] Next, an example of the configuration of an information processing device 100 that executes the above-described processing will be described. Fig. 7 is a functional block diagram showing the configuration of an information processing device according to this embodiment. As shown in Fig. 7, the information processing device 100 has a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.
[0036] The communication unit 110 executes data communication with the 3D sensor 20, an external device, etc. via a network. The communication unit 110 is a network interface card (NIC) or the like. For example, the communication unit 110 receives information on time-series depth images from the 3D sensor 20.
[0037] The input unit 120 is an input device that inputs various types of information to the control unit 150 of the information processing device 100. For example, the input unit 120 corresponds to a keyboard, a mouse, a touch panel, or the like.
[0038] The display unit 130 is a display device that displays information output from the control unit 150 .
[0039] The storage unit 140 includes human body model data 141 and a joint coordinate table 142. The storage unit 140 is a storage device such as a memory.
[0040] The human body model data 141 is data of a model in which parts of a subject are represented by cylinders, and is used for fitting. FIG. 8 is a diagram showing an example of the data structure of the human body model data. As shown in FIG. 8, the human body model data 141 associates part identification information with parameters. The part identification information is information that identifies each cylinder included in the cylinder model. The parameters indicate parameters of the cylinder identified by the part identification information. The cylinder parameters include the length and radius of the cylinder, etc.
[0041] Fig. 9 is a diagram showing the correspondence relationship between cylinders and part identification information. As shown in Fig. 9, each piece of part identification information Md1 to Md14 is associated with a respective part of the human body model data 141. The part identification information Md1 to Md14 shown in Fig. 8 corresponds to the part identification information Md1 to Md14 shown in Fig. 9. For example, each part is associated with the joints ar0 to ar20 shown in Fig. 2, and once the parameters and position of each part are determined by fitting, the three-dimensional coordinates of the joints ar0 to ar20 are also determined.
[0042] The human body model data 141 is preset with constraints for when the athlete 5 is running in a straight line. Under these constraints, the range of motion of each body part during fitting is limited to match the running motion of the human body. On the other hand, under default constraints, there are no restrictions on the range of motion of each body part during fitting.
[0043] The joint coordinate table 142 is a table that holds information that associates the frame number of a frame (skeleton data) with the three-dimensional coordinates of each joint of the athlete.
[0044] The control unit 150 includes an acquisition unit 151, a conversion unit 152, a fitting unit 153, a running action determination unit 154, and a technique determination unit 155. The control unit 150 is a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like.
[0045] The acquisition unit 151 acquires information on time-series depth images from the 3D sensor 20. The acquisition unit 151 outputs the acquired information on time-series depth images to the conversion unit 152.
[0046] The conversion unit 152 converts the time-series depth image information into time-series point cloud data and outputs the time-series point cloud data to the fitting unit 153.
[0047] For example, the conversion unit 152 may convert the depth image into point cloud data using a conversion table (not shown) that defines the relationship between the positions and distances (depths) of points in the depth image and three-dimensional coordinates.
[0048] The fitting unit 153 performs fitting of the human body model data 141 to the point cloud data by optimizing an objective function that indicates the degree of compatibility between the point cloud data and the human body model data (human body model) 141.
[0049] The fitting unit 153 identifies the position of each joint in the human body model data 141 based on the fitting result, and generates skeletal data (frames). The fitting unit 153 registers the relationship between the frame number and the coordinates of each joint in the skeletal data in the joint coordinate table 142. For example, the fitting unit 153 fits the human body model data 141 to the point cloud data by minimizing the distance between the position of each point included in the point cloud data and each part of the human body model data 141.
[0050] If the running motion determination unit 154 determines that the athlete 5 is running in a straight line, the fitting unit 153 performs fitting using the human body model data 141 in which constraint conditions according to the running motion are set. If the fitting unit 153 does not determine that the athlete 5 is running in a straight line, the fitting unit 153 performs fitting using the human body model data 141 in which default constraint conditions are set.
[0051] The fitting unit 153 repeatedly executes the above process on the time-series point cloud data. By performing fitting, the fitting unit 153 generates frames and identifies the three-dimensional coordinates of each joint ar0 to ar20 of the athlete 5. Each time fitting is performed, the fitting unit 153 associates a frame number with the three-dimensional coordinates of each joint of the athlete and registers them in the joint coordinate table 142. Note that the fitting unit 153 may perform fitting using the technology described in International Publication No. 2021 / 014587.
[0052] The running motion determination unit 154 determines whether the athlete 5 is running in a straight line, based on the information of frames in time series (three-dimensional coordinates of each joint) registered in the joint coordinate table 142. For example, the running motion determination unit 154 predicts the position information of the athlete 5 in the next frame N+m+1 based on past frames N to N+m, determines whether the athlete 5 is running in a straight line, and outputs the determination result to the fitting unit 153. The running motion determination unit 154 repeatedly executes the above process each time one frame advances.
[0053] The processing executed by the running movement determination unit 154 corresponds to the processing described above with reference to Figures 4 to 6. For example, the running movement determination unit 154 performs processing to calculate the direction of movement, the speed, the height of the hands and arms from the floor, and the orientation of the body, and then determines whether the athlete 5 is running in a straight line.
[0054] The running movement determination unit 154 determines that the athlete 5 is running in a straight line when all of the above conditions (1) to (4) are met. The running movement determination unit 154 may adjust the determination criteria according to the administrator's settings. For example, the running movement determination unit 154 may determine that the athlete 5 is running in a straight line when at least conditions (1) and (2) are met. Furthermore, the running movement determination unit 154 may determine that the athlete 5 is running in a straight line when three or more of conditions (1) to (4) are met.
[0055] The technique judging unit 155 judges the technique performed by the athlete 5 based on the time-series changes of each joint registered in the joint coordinate table 142 and a rule table that defines the characteristics of the technique. The technique judging unit 155 outputs and displays the technique judgment results on the display unit 130 or the like. Note that the technique judging unit 155 may judge the technique of the athlete 5 using a trained machine learning model.
[0056] Next, an example of a processing procedure of the information processing device 100 according to this embodiment will be described. Fig. 10 is a flowchart showing the processing procedure of the information processing device according to this embodiment. The acquisition unit 151 of the information processing device 100 acquires time-series depth image information from the 3D sensor 20 (step S101).
[0057] The conversion unit 152 of the information processing device 100 converts the time-series depth image information into time-series point cloud data (step S102). The fitting unit 153 of the information processing device 100 performs fitting of the point cloud data with a human body model to generate a frame (step S103).
[0058] The running movement determination unit 154 of the information processing device 100 calculates a predicted position for the next frame based on past frames N to N+m, and calculates the moving direction and average speed (step S104). If the running movement determination unit 154 does not satisfy condition (1) and condition (2) (No at step S105), the process proceeds to step S106.
[0059] The running motion determination unit 154 determines that the running motion is not a linear running motion (step S106). The fitting unit 153 performs fitting of the next point cloud data using the human body model for which default constraint conditions are set (step S107), and proceeds to step S104.
[0060] On the other hand, if the conditions (1) and (2) are satisfied (step S105, Yes), the running movement determination unit 154 calculates the height of the hand and arm from the floor (step S108).If the condition (3) is not satisfied (step S109, No), the running movement determination unit 154 proceeds to step S106.
[0061] On the other hand, if the condition (3) is satisfied (step S109, Yes), the running movement determination unit 154 calculates the body orientation (step S110). If the condition (4) is not satisfied (step S111, No), the running movement determination unit 154 proceeds to step S106.
[0062] On the other hand, if the condition (4) is satisfied (step S111, Yes), the running motion determination unit 154 determines that the running motion is linear (step S112). The fitting unit 153 performs fitting of the next point cloud data using a human body model in which constraint conditions according to the running motion are set (step S113), and proceeds to step S104.
[0063] Next, the effects of the information processing device 100 according to this embodiment will be described. The information processing device 100 identifies the angle between the movement direction d1 of the athlete 5, which is calculated based on three or more consecutive pieces of position information, and the movement direction d2 of the athlete 5, which is calculated based on two or more consecutive pieces of position information. The information processing device 100 also calculates the speed (average speed) of the athlete 5 based on three or more consecutive pieces of position information. The information processing device 100 determines the movement state of the athlete 5 based on the angle between the movement direction d1 and the movement direction d2 and the speed of the athlete 5. This makes it possible to accurately determine the movement state of the athlete.
[0064] When the information processing device 100 determines that the movement state of the athlete 5 is a linear running motion, it performs fitting using a human body model in which constraint conditions corresponding to the running motion are set. This makes it possible to accurately identify the skeletal data of the athlete 5. Furthermore, accurately identifying the skeletal data can also improve the accuracy of technique recognition.
[0065] When conditions (1) to (4) are satisfied, the information processing device 100 determines that the movement state of the athlete 5 is a linear running motion. This makes it possible to accurately determine whether the athlete is running linearly.
[0066] Incidentally, the information processing device 100 described above uses the 3D sensor 20 to identify the position information of the athlete 5 and determine whether the movement state of the athlete 5 is a linear running motion, but it is also possible to determine the movement state of other people and moving objects such as vehicles.
[0067] FIG. 11 is a diagram illustrating another application example of an information processing device. For example, the information processing device 100 performs data communication with a smartphone 30 carried by a person 25 to identify positions p1-1, p1-2, p1-3, p1-4, and p1-5 of the person 25 for each predetermined time period. The smartphone 30 has a GPS (Global Positioning System) function or the like, and calculates the position of the person 25 for each predetermined time period. Similar to the process described in FIG. 4 , the information processing device 100 calculates the movement direction d1 of the person 25, the movement direction of the person 25 based on the most recent two frames (e.g., the movement direction based on p1-4 and p1-5) d2, and the average speed based on the positions p1-1 to p1-5 of the person 25.
[0068] When the conditions (1) and (2) are satisfied, the information processing device 100 determines that the person 25 is running in a straight line. Note that the information processing device 100 may acquire an overhead image using a security camera or the like, and analyze the overhead image to identify the position of the person at each predetermined time.
[0069] Furthermore, the information processing device 100 identifies positions p2-1, p2-2, p2-3, and p2-4 of the moving object 26 for each predetermined time period by performing data communication with the moving object 26. The moving object 26 has a GPS function or the like, and calculates the position of the moving object 26 for each predetermined time period. Similar to the process described in FIG. 4, the information processing device 100 calculates the moving direction d1 of the moving object, the moving direction d2 of the moving object 26 based on the most recent two frames (for example, the moving direction based on p2-3 and p2-4), and the average speed based on the positions p2-1 to p2-4 of the moving object.
[0070] When the conditions (1) and (2) are satisfied, the information processing device 100 determines that the moving object 26 is moving linearly.
[0071] By executing the above processing, the information processing device 100 can be applied to determining whether a person 25 is driving in a straight line when measuring their athletic ability, determining the level of danger when browsing a smartphone, and determining whether a moving object 26 is driving automatically.
[0072] Next, a description will be given of an example of the hardware configuration of a computer that realizes the same functions as the above-described information processing device 100. Fig. 12 is a diagram showing an example of the hardware configuration of a computer that realizes the same functions as the information processing device of this embodiment.
[0073] 12, computer 300 has a CPU 301 that executes various types of arithmetic processing, an input device 302 that accepts data input from a user, and a display 303. Computer 300 also has a communication device 304 that exchanges data with external devices via a wired or wireless network, and an interface device 305. Computer 300 also has a RAM 306 that temporarily stores various types of information, and a hard disk drive 307. Each of devices 301 to 307 is connected to a bus 308.
[0074] The hard disk drive 307 stores an acquisition program 307 a, a conversion program 307 b, a fitting program 307 c, a running action determination program 307 d, and a technique determination program 307 e. The CPU 301 reads out each of the programs 307 a to 307 e and loads them into the RAM 306.
[0075] The acquisition program 307a functions as an acquisition process 306a. The conversion program 307b functions as a conversion process 306b. The fitting program 307c functions as a fitting process 306c. The running movement determination program 307d functions as a running movement determination process 306d. The technique determination program 307e functions as a technique determination process 306e.
[0076] The processing of the acquisition process 306a corresponds to the processing of the acquisition unit 151. The processing of the conversion process 306b corresponds to the processing of the conversion unit 152. The processing of the fitting process 306c corresponds to the processing of the fitting unit 153. The processing of the running movement determination process 306d corresponds to the processing of the running movement determination unit 154. The processing of the technique determination process 306e corresponds to the processing of the technique determination unit 155.
[0077] It should be noted that each of the programs 307a to 307e does not necessarily have to be stored in the hard disk drive 307 from the beginning. For example, each program may be stored in a "portable physical medium" such as a flexible disk (FD), CD-ROM, DVD, magneto-optical disk, or IC card that is inserted into the computer 300. Then, the computer 300 may read and execute each of the programs 307a to 307e.
[0078] REFERENCE SIGNS LIST 100 Information processing device 110 Communication unit 120 Input unit 130 Display unit 140 Storage unit 141 Human body model data 142 Joint coordinate table 150 Control unit 151 Acquisition unit 152 Conversion unit 153 Fitting unit 154 Running motion determination unit 155 Technique determination unit
Claims
1. A method for determining whether or not a moving object is moving based on the speed of the moving object calculated based on the three or more consecutive pieces of position information, comprising the steps of: acquiring time-series position information of a moving object; determining an amount of difference between a first moving direction of the moving object calculated based on three or more consecutive pieces of position information and a second moving direction of the moving object calculated based on two or more consecutive pieces of position information; and determining the moving direction and moving state of the moving object based on the amount of difference and the speed of the moving object calculated based on the three or more consecutive pieces of position information.
2. The method of determining the location of the moving body according to claim 1, further comprising the step of: a computer performing a process of identifying position information of the moving body by fitting point cloud data of the moving body acquired from a sensor to the human body model using a human body model having constraint conditions set according to the moving state of the moving body.
3. The method of claim 1, characterized in that the determination process determines that the moving state of the moving body is a running motion when the difference amount is less than a first threshold value and the speed of the moving body is equal to or greater than a second threshold value.
4. The method of determining whether or not the moving state of the moving object is a running motion is characterized in that the determining process identifies the height from a floor to the hand and arm parts of the moving object, and further uses the identified height to determine whether or not the moving state of the moving object is a running motion.
5. The method of claim 4, characterized in that the process of determining includes calculating a cross product vector between a vector of the body direction of the moving body and a vector connecting both knees of the moving body, calculating a vector of a moving direction based on two or more consecutive pieces of position information, and further using the angle between the cross product vector and the vector of the moving direction to determine whether or not the moving state of the moving body is a running motion.
6. A determination program that causes a computer to execute a process of acquiring time-series position information of a moving body, identifying a difference between a first moving direction of the moving body calculated based on three or more consecutive pieces of position information and a second moving direction of the moving body calculated based on two or more consecutive pieces of position information, and determining the moving direction and moving state of the moving body based on the speed of the moving body calculated based on the three or more consecutive pieces of position information and the difference.
7. The determination program according to claim 6, further comprising causing the computer to execute a process of identifying position information of the moving body by fitting point cloud data of the moving body acquired from a sensor to the human body model using a human body model having constraint conditions set according to the moving state of the moving body.
8. The judgment program described in claim 6, characterized in that the judgment process judges that the moving state of the moving body is a running motion when the difference amount is less than a first threshold value and the speed of the moving body is equal to or greater than a second threshold value.
9. The judgment program described in claim 8, characterized in that the judgment process identifies the height from a floor to the hand and arm parts of the moving object, and further uses the identified height to judge whether the moving state of the moving object is a running motion.
10. The judgment program described in claim 9, characterized in that the judgment process calculates a cross product vector between a vector of the body direction of the moving body and a vector connecting both knees of the moving body, calculates a vector of a moving direction based on two or more consecutive position information, and further uses the angle between the cross product vector and the vector of the moving direction to judge whether the moving state of the moving body is a running motion.
11. An information processing device having a control unit that executes a process of acquiring time-series position information of a moving body, identifying a difference between a first moving direction of the moving body calculated based on three or more consecutive pieces of position information and a second moving direction of the moving body calculated based on two or more consecutive pieces of position information, and determining the moving direction and moving state of the moving body based on the speed of the moving body calculated based on the three or more consecutive pieces of position information and the difference.
12. The information processing device according to claim 11, characterized in that the control unit further performs a process of identifying position information of the moving body by fitting the point cloud data of the moving body acquired from a sensor to the human body model using a human body model having constraint conditions set according to the moving state of the moving body.
13. The information processing device according to claim 11, characterized in that the determination process determines that the moving state of the moving body is a running motion when the difference amount is less than a first threshold value and the speed of the moving body is equal to or greater than a second threshold value.
14. The information processing device according to claim 13, characterized in that the determination process identifies the height from the floor to the hand and arm parts of the moving object, and further uses the identified height to determine whether the moving state of the moving object is a running motion.
15. The information processing device described in claim 14, characterized in that the determination process calculates a cross product vector between a vector of the body direction of the moving body and a vector connecting both knees of the moving body, calculates a vector of a moving direction based on two or more consecutive position information, and further uses the angle between the cross product vector and the vector of the moving direction to determine whether the moving state of the moving body is a running motion.
Citation Information
Patent Citations
Movement direction determination device, movement direction determination system, movement direction determination program, and movement direction determination method
JP2017162184A
Image processing device and program
JP2018136895A
Information processing device, information processing method, and program
WO2017056382A1