The present disclosure is directed to technical solutions with respect to vision-based motion capture system (VMCS) for rehabilitation training.
A physiotherapist may offer physical rehabilitation, such as for patients, including the elderly, suffering from motor dysfunction-related diseases and/or injuries. However, such rehabilitation training requires direct supervision by a professional physiotherapist, and when patients are performing rehabilitation exercises there is also a need for continuation guidance by a rehabilitation specialist. As such, the training and exercising requires arduous monitoring and attention of such patients by those professionals and specialists which requires substantial time and effort in assisting the rehabilitation efforts. Additionally, even without the professionals and specialists, it is expected that patients training themselves, such as at home rather than in a clinic, will lack the specialized rehabilitation experience and guidance offered by the physiotherapist which will therefore lead to poor rehabilitation performance and even cause further physical injuries.
Attempting to automate assessment systems, such as by sensor-based approaches (e.g., wearable, infrared cameras), is complicated to use, expensive, and inadequately scalable. For example, such sensor-based motion capture system (SMCS) is technically inadequate, in at least requiring specific hardware, specialized programing to obtain an process data, complicated requirements to capture human body motion, high costs therewith such software and hardware, thereby limiting practical application with respect to rehabilitation training.
There is included a method and apparatus comprising memory configured to store computer program code and a processor or processors configured to access the computer program code and operate as instructed by the computer program code. The computer program code includes obtaining code configured to cause the at least one processor to obtain video data including at least one body part of a person, selecting code configured to cause the at least one processor to select keypoints of the at least one body part based on a predetermined rehabilitation category, extracting code configured to cause the at least one processor to extract a motion feature of the at least one body part from the video data, scoring code configured to cause the at least one processor to score the motion feature based on the predetermined rehabilitation category, and generating code configured to cause the at least one processor to generate a display illustrating the motion feature and said scoring of the motion feature.
According to exemplary embodiments, said scoring the motion feature of the at least one body part from the video data comprises determining at least one of a keypoint distance and an angle, the keypoint distance comprises a Euclidean distance between a plurality of keypoints of the at least one body part of the person, and the angle comprises an angle between portions of the at least one body part of the person.
According to exemplary embodiments, the computer code further includes scaling code configured to cause the at least one processor to scale the at least one body part of the person to a predetermined size based on a height of the person, and said scoring of the motion feature based on the predetermined rehabilitation category comprises said scoring after said scaling of the at least one body part of the person.
According to exemplary embodiments, the computer code further includes application code configured to cause the at least one processor to apply one or more Gaussian filters to the motion feature.
According to exemplary embodiments, said generating the display illustrating the motion feature and said scoring of the motion feature comprises plotting the motion feature in the video.
According to exemplary embodiments, wherein said selecting the keypoints of the at least one body part based on the predetermined rehabilitation category comprises predicting the predetermined rehabilitation category by a deep neural network (DNN) configured to predict N possible regions representing possible locations of the keypoints with respect to the at least one body part, and N is an integer.
According to exemplary embodiments, said predicting the predetermined rehabilitation category by the DNN comprises comparing the video data including at least one body part of a person to a plurality of anchor poses, and the plurality of anchor poses each comprise poses of ones of predetermined rehabilitation categories, including the predetermined rehabilitation category.
According to exemplary embodiments, said predicting the predetermined rehabilitation category by the DNN comprises ranking N*K pose regions, and K is an integer indicating a number of predetermined keypoints of a human body.
According to exemplary embodiments, said generating the display illustrating the motion feature and said scoring of the motion feature comprises generating the display such that at least one of the anchor poses is illustrated as overlayed on the at least one body part of the person
According to exemplary embodiments, wherein the video data of the at least one body part of the person comprises an red-green-blue (RGB) image of the at least one body part of the person obtained by a monocular camera.
Further features, nature, and various advantages of the disclosed subject matter will be more apparent from the following detailed description and the accompanying drawings in which:
The proposed features discussed below may be used separately or combined in any order. Further, the embodiments may be implemented by processing circuitry (e.g., one or more processors or one or more integrated circuits). In one example, the one or more processors execute a program that is stored in a non-transitory computer-readable medium.
In
A streaming system may include a capture subsystem 203, that can include a video source 201, for example a digital camera, creating, for example, an uncompressed video sample stream 213. That sample stream 213 may be emphasized as a high data volume when compared to encoded video bitstreams and can be processed by an encoder 202 coupled to the camera 201. The encoder 202 can include hardware, software, or a combination thereof to enable or implement aspects of the disclosed subject matter as described in more detail below. The encoded video bitstream 204, which may be emphasized as a lower data volume when compared to the sample stream, can be stored on a streaming server 205 for future use. One or more streaming clients 212 and 207 can access the streaming server 205 to retrieve copies 208 and 206 of the encoded video bitstream 204. A client 212 can include a video decoder 211 which decodes the incoming copy of the encoded video bitstream 208 and creates an outgoing video sample stream 210 that can be rendered on a display 209 or other rendering device (not depicted). In some streaming systems, the video bitstreams 204, 206 and 208 can be encoded according to certain video coding/compression standards. Examples of those standards are noted above and described further herein.
For example, in such motion curve generation pipeline, there is analysis of input of a series of 3D body keypoints and visualization thereof as follows. For example, at S402, there is 3D human body keypoint estimation such that a human body keypoint detection module of such cloud server aims to capture a 3D position of body joint from an input RGB image, such as the image 301 and/or the image 501 in the example diagram 500 of
Such 3D human pose can be estimated with a deep neural network such as but not limited to the exemplary network architecture 600 shown in
For example, at S403, there may be motion feature extraction whereby there is implemented extraction of one or more motion features based on a rehabilitation motion category. Embodiments provide two motion feature extractors including a keypoint distance extractor and a keypoint angle extractor. For the keypoint distance extractor, there is calculation of a Euclidean distance between the two specific keypoints. For the angle extractor, there is calculation of an angle between two limbs such as between upper and lower portions of an arm separated with an elbow therebetween. Such calculations occur with respect to the neural network and the input image, such as from a smartphone.
At S404 it may be determined whether motion feature normalization is preset to be implemented, and such determination may also include determining whether there are different shooting conditions of the video from a preset condition(s) such that a motion feature normalization is needed for motion feature analysis. If so, then at S405, normalization may occur such that the patient's scale and position are normalized such that the patient body is scaled to a fixed size based on the patient's height.
At S406, it may be determined whether any of feature smoothing and denoising is preset to be implemented, for example, due to possible false pose estimation, some estimated 3D keypoints in the video might be inaccurate, which would cause the estimated motion feature not smooth. As such, if such smoothing and denoising is to be implemented, then at S407, the feature smoothing and denoising process may employ Gaussian filters to the smooth the motion feature.
At S407, there is motion curve visualization whereby the patient's analyzed motion may be visualized by a plot of all motion features in the input video, and at S408, there is a performance score estimation, such as provision of a performance score estimator as a deep neural network (DNN) classifier, and such performance score estimator may be trained at S411, if so determined at S410, with the estimated motion curves. Exemplary embodiments include a score range for performance score estimators of {0, 1, 2, 3, 4}.
As such, there are technical improvements to technical problems with respect to physiotherapy such that impractical constraints on physiotherapy guidance may be avoided by embodiments herein. For example, a goal of the described motion curve generation process may be to visualize the motion trajectory of the patient in an input video, and estimated motion curves improve practicability of any of a physiotherapist in monitoring a patients' recovery status. Also, said motion curves can be used to train a performance score estimator, and given a patient's motion video, embodiments herein can advantageously estimate a 3D human pose (3D body keypoints) from each frame of input video, and a pipeline including motion curve generation process is shown illustrated with respect to
According to exemplary embodiments,
Viewing
Viewing the network architecture 600 in
Accordingly, an RGB image may be used to determine estimates of a 3D human body keypoint with estimated 3d human body joints. Core functions of exemplary embodiments in VMCS includes such three main modules, human body keypoint estimation, motion curve generation, and performance score estimation. Accordingly, exemplary embodiments advantageously leverage a single camera of a mobile device to capture 3D human body motion, and by VMCS application to various rehabilitation actions greatly alleviates inconveniences of existing SMCS, lower the equipment cost, and improve practicality of physiotherapy by health care experts. For example, a goal of said motion curve generation process is to visualize the motion trajectory of a patient in the input video, and the estimated motion curves can help the physiotherapist to monitor the patients' recovery status. Further, besides, the motion curves can be used to train a performance score estimator such that given a patient's motion video exemplary embodiments advantageously estimate 3D human pose (3D body keypoints) from each frame of the input video such as described with respect to
Additionally, with respect to the module 640, those features 800, 900, and 1000 may be analyzed to produce data such as the charts 631, 632, and 633 of module 630. For example, classification chart 631 indicates that, with respect to features 800, pose 803 is most accurate to the pose of person 511 from
Embodiments represent significant technological improvements as to a vision-based motion capture system for rehabilitation training such that the system can rely only on a single camera in any mobile device, which has greatly improved the usability comparing to the traditional sensor-based motion capture system, and as such, the patients who are with motor dysfunction diseases can be diagnosed and rehabilitated with more practicability.
As such, according to exemplary embodiments, there is a vision-based motion capture system for rehabilitation training relying on only a single camera in any mobile device, which has greatly improved the usability comparing to the traditional sensor-based motion capture system, and as such, with embodiments herein, the patients who are with motor dysfunction diseases can be diagnosed and rehabilitated more practically by such VMCS with a monocular camera for rehabilitation training.
As described herein, there may be one or more hardware processor and computer components, such as buffers, arithmetic logic units, memory instructions, configured to determine or store predetermined delta values (differences) between ones of the values described herein according to exemplary embodiments.
The techniques described above, can be implemented as computer software using computer-readable instructions and physically stored in one or more computer-readable media or by a specifically configured one or more hardware processors. For example,
The computer software can be coded using any suitable machine code or computer language, that may be subject to assembly, compilation, linking, or like mechanisms to create code comprising instructions that can be executed directly, or through interpretation, micro-code execution, and the like, by computer central processing units (CPUs), Graphics Processing Units (GPUs), and the like.
The instructions can be executed on various types of computers or components thereof, including, for example, personal computers, tablet computers, servers, smartphones, gaming devices, internet of things devices, and the like.
The components shown in
Computer system 1100 may include certain human interface input devices. Such a human interface input device may be responsive to input by one or more human users through, for example, tactile input (such as: keystrokes, swipes, data glove movements), audio input (such as: voice, clapping), visual input (such as: gestures), olfactory input (not depicted). The human interface devices can also be used to capture certain media not necessarily directly related to conscious input by a human, such as audio (such as: speech, music, ambient sound), images (such as: scanned images, photographic images obtain from a still image camera), video (such as two-dimensional video, three-dimensional video including stereoscopic video).
Input human interface devices may include one or more of (only one of each depicted): keyboard 1101, mouse 1102, trackpad 1103, touch screen 1110, joystick 1105, microphone 1106, scanner 1108, camera 1107.
Computer system 1100 may also include certain human interface output devices. Such human interface output devices may be stimulating the senses of one or more human users through, for example, tactile output, sound, light, and smell/taste. Such human interface output devices may include tactile output devices (for example tactile feedback by the touch-screen 1110, or joystick 1105, but there can also be tactile feedback devices that do not serve as input devices), audio output devices (such as: speakers 1109, headphones (not depicted)), visual output devices (such as screens 1110 to include CRT screens, LCD screens, plasma screens, OLED screens, each with or without touch-screen input capability, each with or without tactile feedback capability—some of which may be capable to output two dimensional visual output or more than three dimensional output through means such as stereographic output; virtual-reality glasses (not depicted), holographic displays and smoke tanks (not depicted)), and printers (not depicted).
Computer system 1100 can also include human accessible storage devices and their associated media such as optical media including CD/DVD ROM/RW 1120 with CD/DVD 1111 or the like media, thumb-drive 1122, removable hard drive or solid state drive 1123, legacy magnetic media such as tape and floppy disc (not depicted), specialized ROM/ASIC/PLD based devices such as security dongles (not depicted), and the like.
Those skilled in the art should also understand that term “computer readable media” as used in connection with the presently disclosed subject matter does not encompass transmission media, carrier waves, or other transitory signals.
Computer system 1100 can also include interface 1199 to one or more communication networks 1198. Networks 1198 can for example be wireless, wireline, optical. Networks 1198 can further be local, wide-area, metropolitan, vehicular and industrial, real-time, delay-tolerant, and so on. Examples of networks 1198 include local area networks such as Ethernet, wireless LANs, cellular networks to include GSM, 3G, 4G, 5G, LTE and the like, TV wireline or wireless wide area digital networks to include cable TV, satellite TV, and terrestrial broadcast TV, vehicular and industrial to include CANBus, and so forth. Certain networks 1198 commonly require external network interface adapters that attached to certain general-purpose data ports or peripheral buses (1150 and 1151) (such as, for example USB ports of the computer system 1100; others are commonly integrated into the core of the computer system 1100 by attachment to a system bus as described below (for example Ethernet interface into a PC computer system or cellular network interface into a smartphone computer system). Using any of these networks 1198, computer system 1100 can communicate with other entities. Such communication can be uni-directional, receive only (for example, broadcast TV), uni-directional send-only (for example CANbusto certain CANbus devices), or bi-directional, for example to other computer systems using local or wide area digital networks. Certain protocols and protocol stacks can be used on each of those networks and network interfaces as described above.
Aforementioned human interface devices, human-accessible storage devices, and network interfaces can be attached to a core 1140 of the computer system 1100.
The core 1140 can include one or more Central Processing Units (CPU) 1141, Graphics Processing Units (GPU) 1142, a graphics adapter 1117, specialized programmable processing units in the form of Field Programmable Gate Areas (FPGA) 1143, hardware accelerators for certain tasks 1144, and so forth. These devices, along with Read-only memory (ROM) 1145, Random-access memory 1146, internal mass storage such as internal non-user accessible hard drives, SSDs, and the like 1147, may be connected through a system bus 1148. In some computer systems, the system bus 1148 can be accessible in the form of one or more physical plugs to enable extensions by additional CPUs, GPU, and the like. The peripheral devices can be attached either directly to the core's system bus 1148, or through a peripheral bus 1151. Architectures for a peripheral bus include PCI, USB, and the like.
CPUs 1141, GPUs 1142, FPGAs 1143, and accelerators 1144 can execute certain instructions that, in combination, can make up the aforementioned computer code. That computer code can be stored in ROM 1145 or RAM 1146. Transitional data can be also be stored in RAM 1146, whereas permanent data can be stored for example, in the internal mass storage 1147. Fast storage and retrieval to any of the memory devices can be enabled through the use of cache memory, that can be closely associated with one or more CPU 1141, GPU 1142, mass storage 1147, ROM 1145, RAM 1146, and the like.
The computer readable media can have computer code thereon for performing various computer-implemented operations. The media and computer code can be those specially designed and constructed for the purposes of the present disclosure, or they can be of the kind well known and available to those having skill in the computer software arts.
As an example and not by way of limitation, the computer system having architecture 1100, and specifically the core 1140 can provide functionality as a result of processor(s) (including CPUs, GPUs, FPGA, accelerators, and the like) executing software embodied in one or more tangible, computer-readable media. Such computer-readable media can be media associated with user-accessible mass storage as introduced above, as well as certain storage of the core 1140 that are of non-transitory nature, such as core-internal mass storage 1147 or ROM 1145. The software implementing various embodiments of the present disclosure can be stored in such devices and executed by core 1140. A computer-readable medium can include one or more memory devices or chips, according to particular needs. The software can cause the core 1140 and specifically the processors therein (including CPU, GPU, FPGA, and the like) to execute particular processes or particular parts of particular processes described herein, including defining data structures stored in RAM 1146 and modifying such data structures according to the processes defined by the software. In addition or as an alternative, the computer system can provide functionality as a result of logic hardwired or otherwise embodied in a circuit (for example: accelerator 1144), which can operate in place of or together with software to execute particular processes or particular parts of particular processes described herein. Reference to software can encompass logic, and vice versa, where appropriate. Reference to a computer-readable media can encompass a circuit (such as an integrated circuit (IC)) storing software for execution, a circuit embodying logic for execution, or both, where appropriate. The present disclosure encompasses any suitable combination of hardware and software.
While this disclosure has described several exemplary embodiments, there are alterations, permutations, and various substitute equivalents, which fall within the scope of the disclosure. It will thus be appreciated that those skilled in the art will be able to devise numerous systems and methods which, although not explicitly shown or described herein, embody the principles of the disclosure and are thus within the spirit and scope thereof
Number | Name | Date | Kind |
---|---|---|---|
20110054870 | Dariush | Mar 2011 | A1 |
20120327194 | Shiratori | Dec 2012 | A1 |
20140228985 | Elliott et al. | Aug 2014 | A1 |
20150003687 | Utsunomiya | Jan 2015 | A1 |
20180107893 | Andreopoulos et al. | Apr 2018 | A1 |
20190171871 | Zhang | Jun 2019 | A1 |
20190295436 | Rubinstein | Sep 2019 | A1 |
20190303720 | Karam et al. | Oct 2019 | A1 |
20190362139 | Mehl | Nov 2019 | A1 |
20190362506 | Leroyer | Nov 2019 | A1 |
20200005670 | Iwao | Jan 2020 | A1 |
20200085348 | Lillie et al. | Mar 2020 | A1 |
20210008413 | Asikainen | Jan 2021 | A1 |
20210346761 | Sterling | Nov 2021 | A1 |
20220036052 | Prince | Feb 2022 | A1 |
20220262010 | Shpuza | Aug 2022 | A1 |
Number | Date | Country |
---|---|---|
109934111 | Jun 2019 | CN |
102019120655 | Feb 2021 | DE |
3786971 | Mar 2021 | EP |
102049096 | Nov 2019 | KR |
Entry |
---|
Liao, Yalin, Aleksandar Vakanski, and Min Xian. “A deep learning framework for assessing physical rehabilitation exercises.” IEEE Transactions on Neural Systems and Rehabilitation Engineering 28, No. 2 (2020): 468-477. (Year: 2020). |
Ren, Shaoqing, Kaiming He, Ross Girshick, and Jian Sun. “Faster r-cnn: Towards real-time object detection with region proposal networks.” Advances in neural information processing systems 28 (2015). (Year: 2015). |
Lifshitz, Ita, Ethan Fetaya, and Shimon Ullman. “Human pose estimation using deep consensus voting.” In Computer Vision—ECCV 2016: 14th European Conference, Amsterdam, The Netherlands, Oct. 11-14, 2016, Proceedings, Part II 14, pp. 246-260. Springer International Publishing, 2016. (Year: 2016). |
KR 102049096 Translation (Year: 2019). |
Fang, Hao-Shu, Jinkun Cao, Yu-Wing Tai, and Cewu Lu. “Pairwise body-part attention for recognizing human-object interactions.” In Proceedings of the European conference on computer vision (ECCV), pp. 51-67. 2018. (Year: 2018). |
Li, Yang, Kan Li, and Xinxin Wang. “Recognizing actions in images by fusing multiple body structure cues.” Pattern Recognition 104 (2020): 107341. (Year: 2020). |
International Search Report issued Mar. 3, 2022 in International Application No. PCT/US2021/063789. |
Written Opinion of the International Searching Authority issued Mar. 3, 2022 in International Application No. PCT/US2021/063789. |
Number | Date | Country | |
---|---|---|---|
20220358309 A1 | Nov 2022 | US |