The data used in this vignette is a simulated pose estimate from OpenPose, and it handles gait data for one gait cycle taken from the side. This section describes the anomaly detection and correction framework.
For more information about openpose, please see https://arxiv.org/abs/1812.08008
First, install from the github page with R package devtools
.
library(devtools)
devtools::install_git("https://github.com/matsui-lab/PoseFixeR")
Load the library.
library(PoseFixeR)
OpenPose outputs json files. The simulation data used in this vinette are stored in the data
folder of the package, and are named in order from the first frame as “openpose_data 1.json”. These files contain about 0.92 seconds of data, assuming that the images were taken with a 25Hz camera.
datadir = system.file("data",package = "PoseFixeR")
myfiles = list.files(datadir,full.names = TRUE)
The following data are the coordinates of the 18 parts after pose estimation in one frame: x-coordinate, y-coordinate, and confidence score in that order.
scan(myfiles[1],what="character")
## [1] "[753.5325,400.5121,0.7425,769.1849,432.1568,0.7736,766.526,432.3461,0.7552,761.7948,474.3338,0.2069,-0.2998,-0.0201,0,772.2093,437.0868,0.8499,767.3489,489.0246,0.9102,745.9063,518.8765,0.7911,761.3056,513.6379,0.7467,748.5265,570.8756,0.8278,753.5742,620.388,0.8531,761.2244,515.5249,0.8517,756.6143,570.853,0.7848,797.928,604.804,0.8073,761.6001,387.803,0.1108,761.7681,390.4327,0.8156,-0.3449,-0.4073,0,777.5839,403.4025,0.7841]"
Format the json file so that it is easy to handle. First, use the fromJSON
function of the rjson
package to read data in json format.
output = rjson::fromJSON(file = myfiles[1])
The fromJSON
function reads json files in vector, so we converts them to matrix format. To format them so that the rows are part names and the columns are X, Y, and confidence, do the following.
output_mat = matrix(output,nrow=18,ncol=3,byrow=T)
rownames(output_mat) = c("nose","neck","Rshoulder","Relbow","Rwrist","Lshoulder",
"Lelbow","Lwrist","Rhip","Rknee","Rankle","Lhip",
"Lknee","Lankle","Reye","Leye","Rear","Lear")
colnames(output_mat)=c("X","Y","P")
output_mat
## X Y P
## nose 753.5325 400.5121 0.7425
## neck 769.1849 432.1568 0.7736
## Rshoulder 766.5260 432.3461 0.7552
## Relbow 761.7948 474.3338 0.2069
## Rwrist -0.2998 -0.0201 0.0000
## Lshoulder 772.2093 437.0868 0.8499
## Lelbow 767.3489 489.0246 0.9102
## Lwrist 745.9063 518.8765 0.7911
## Rhip 761.3056 513.6379 0.7467
## Rknee 748.5265 570.8756 0.8278
## Rankle 753.5742 620.3880 0.8531
## Lhip 761.2244 515.5249 0.8517
## Lknee 756.6143 570.8530 0.7848
## Lankle 797.9280 604.8040 0.8073
## Reye 761.6001 387.8030 0.1108
## Leye 761.7681 390.4327 0.8156
## Rear -0.3449 -0.4073 0.0000
## Lear 777.5839 403.4025 0.7841
Now, we can format one frame from the json file. In the following, the same process is applied to all 25 frames, and all files are read as a list format where each element corresponds to one frame. We prepared the import_json()
function as a function to read in a batch.
myfiles = list.files(datadir,full.names = TRUE)
myfiles = myfiles[order(as.numeric(unlist(stringr::str_extract_all(basename(myfiles), "[0-9]+"))))] # this is only for assuring order of files
f_df = import_json(myfiles)
For example, the first frame of openpose_data1.json
is stored in the first element of f_df
.
f_df[[1]]
## X Y P
## nose 753.5325 400.5121 0.7425
## neck 769.1849 432.1568 0.7736
## Rshoulder 766.5260 432.3461 0.7552
## Relbow 761.7948 474.3338 0.2069
## Rwrist -0.2998 -0.0201 0.0000
## Lshoulder 772.2093 437.0868 0.8499
## Lelbow 767.3489 489.0246 0.9102
## Lwrist 745.9063 518.8765 0.7911
## Rhip 761.3056 513.6379 0.7467
## Rknee 748.5265 570.8756 0.8278
## Rankle 753.5742 620.3880 0.8531
## Lhip 761.2244 515.5249 0.8517
## Lknee 756.6143 570.8530 0.7848
## Lankle 797.9280 604.8040 0.8073
## Reye 761.6001 387.8030 0.1108
## Leye 761.7681 390.4327 0.8156
## Rear -0.3449 -0.4073 0.0000
## Lear 777.5839 403.4025 0.7841
Re-formatting to facilitate comparison between frames. Transform the list where each element corresponds to a frame into a frame where each element corresponds to X, Y, P. We have prepared a function aggregate
for this purpose.
obj = reshaping(f_df)
str(obj)
## List of 3
## $ x: num [1:25, 1:18] 754 741 730 723 709 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : chr [1:18] "nose" "neck" "Rshoulder" "Relbow" ...
## $ y: num [1:25, 1:18] 401 400 395 401 401 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : chr [1:18] "nose" "neck" "Rshoulder" "Relbow" ...
## $ p: num [1:25, 1:18] 0.743 0.801 0.731 0.83 0.746 ...
## ..- attr(*, "dimnames")=List of 2
## .. ..$ : NULL
## .. ..$ : chr [1:18] "nose" "neck" "Rshoulder" "Relbow" ...
The x-coordinates, y-coordinates, and confidence levels for 25 frames can be retrieved as obj$x
,obj$y
,obj$p
. Display the first few frames.
head(obj$x)
## nose neck Rshoulder Relbow Rwrist Lshoulder Lelbow Lwrist
## [1,] 753.5325 769.1849 766.5260 761.7948 -0.2998 772.2093 767.3489 745.9063
## [2,] 740.6381 761.9174 762.0025 750.7109 0.1852 762.1146 758.8967 743.0868
## [3,] 730.3429 748.6783 748.4729 743.0207 722.8679 748.3634 748.2057 741.0827
## [4,] 722.6922 742.9191 740.6067 724.8344 706.4644 743.1331 742.8817 743.3599
## [5,] 709.0377 730.7108 730.3701 719.9946 690.6037 730.5195 735.2287 737.8935
## [6,] 699.2944 722.8235 0.1044 -0.2396 0.2011 720.3181 727.9800 730.4519
## Rhip Rknee Rankle Lhip Lknee Lankle Reye Leye
## [1,] 761.3056 748.5265 753.5742 761.2244 756.6143 797.9280 761.6001 761.7681
## [2,] 753.2562 724.9098 758.4745 759.2988 743.1161 761.7348 742.9070 743.1651
## [3,] 743.1131 711.8759 740.6186 749.0516 745.8316 759.3812 738.5315 740.5631
## [4,] 737.7427 699.1321 714.0050 743.0634 742.8574 748.6485 722.5159 724.7204
## [5,] 732.7677 740.3361 753.3297 724.7383 738.4431 756.8481 719.5861 720.0615
## [6,] 724.6731 737.8464 751.6278 719.2149 679.9369 659.5055 701.9209 701.3582
## Rear Lear
## [1,] -0.3449 777.5839
## [2,] 0.4684 761.8592
## [3,] -0.0317 754.2238
## [4,] 0.2768 740.3866
## [5,] -0.0921 734.9886
## [6,] 0.0388 719.8750
head(obj$y)
## nose neck Rshoulder Relbow Rwrist Lshoulder Lelbow Lwrist
## [1,] 400.5121 432.1568 432.3461 474.3338 -0.0201 437.0868 489.0246 518.8765
## [2,] 400.1164 431.6672 429.6067 471.2960 -0.0626 434.5312 487.0950 512.6927
## [3,] 395.3594 431.9631 432.4321 474.2297 492.6700 435.0624 484.3785 513.2049
## [4,] 401.0817 432.5706 432.0754 474.0137 489.3269 434.4734 487.4240 523.6776
## [5,] 400.5343 434.3144 432.4017 473.9958 489.9550 437.2533 489.3122 523.9364
## [6,] 405.7811 436.7794 -0.1208 0.0671 -0.0553 439.9378 489.6820 528.4941
## Rhip Rknee Rankle Lhip Lknee Lankle Reye Leye
## [1,] 513.6379 570.8756 620.3880 515.5249 570.8530 604.8040 387.8030 390.4327
## [2,] 513.0641 563.2053 609.7801 513.2838 562.4197 612.4618 387.4200 390.6954
## [3,] 513.0299 559.9216 614.6292 515.4126 565.3704 620.3593 387.1784 390.6550
## [4,] 513.5235 555.4178 617.3531 513.1474 560.0300 618.0062 390.5978 393.0608
## [5,] 513.6237 562.7539 617.7571 515.9218 570.8255 617.1915 387.7554 392.7778
## [6,] 520.6566 565.5356 617.8379 518.1859 562.8161 618.1913 395.4566 395.0391
## Rear Lear
## [1,] -0.4073 403.4025
## [2,] 0.0745 400.6738
## [3,] 0.0755 400.5543
## [4,] 0.4442 400.4101
## [5,] -0.2810 403.0214
## [6,] -0.0220 403.6772
head(obj$p)
## nose neck Rshoulder Relbow Rwrist Lshoulder Lelbow Lwrist Rhip
## [1,] 0.7425 0.7736 0.7552 0.2069 0.0000 0.8499 0.9102 0.7911 0.7467
## [2,] 0.8009 0.8034 0.6986 0.1440 0.0000 0.9381 0.8066 0.8778 0.7567
## [3,] 0.7308 0.7871 0.7596 0.3373 0.4430 0.8585 0.8512 0.7372 0.7564
## [4,] 0.8298 0.8368 0.7609 0.3816 0.5286 0.9281 0.8744 0.8429 0.7778
## [5,] 0.7460 0.7731 0.7679 0.5750 0.8535 0.8247 0.7701 0.5665 0.7343
## [6,] 0.8601 0.8338 0.0000 0.0000 0.0000 0.8729 0.8192 0.7038 0.7359
## Rknee Rankle Lhip Lknee Lankle Reye Leye Rear Lear
## [1,] 0.8278 0.8531 0.8517 0.7848 0.8073 0.1108 0.8156 0 0.7841
## [2,] 0.8325 0.7910 0.8326 0.7138 0.7987 0.0764 0.8377 0 0.8546
## [3,] 0.8285 0.9051 0.7685 0.7410 0.8669 0.0918 0.8293 0 0.7931
## [4,] 0.8788 0.9003 0.8202 0.8184 0.8656 0.0938 0.8193 0 0.8506
## [5,] 0.7547 0.7671 0.8160 0.2511 0.2122 0.1052 0.8063 0 0.7991
## [6,] 0.7202 0.8191 0.7828 0.8716 0.9049 0.0907 0.7932 0 0.8295
To visualize it, use diplay_frames()
. Note that it still contains anomalies at this stage.
p = par(mar = c(2,1,2,1))
diplay_frames(obj,layout=c(5,5))
par(p)
The next step is normalization. Normalization refers to the operation of converting the position coordinates of the NECK to (0,0) and all skeletal lengths to relative ratios with the trunk length as 1. This allows for feature comparison by removing technical noise such as individual differences in height and other factors and differences in measurement conditions.
We have prepared a function normalize()
for normalization.
norm_obj = normalize(obj)
The normalized coordinate values can be visualized using diplay_frames()
as well as before. However, the range of x- and y-coordinates should be specified custom. Note that at this stage, it still contains anomalies.
p = par(mar = c(2,1,2,1))
diplay_frames(norm_obj,layout=c(5,5),xlim = c(-2,2),ylim = c(3,-1))
par(p)
##Anomaly detection and correction
Parameter settings
The detection of anomalies of “anatomical constraints” is based on a standard anatomical skeletal model. We have prepared a parameter `race’ that allows the user to select one of two types, Asian or American/European. Select 1 for Asians and 2 for American/Europeans
race = 1 #1:Asia 2:America and Europe
The fps argument means frames per second and is set with reference to the camera settings at the time of video recording.
fps = 25
In addition, confidence intervals based on empirical distributions are used for anomaly detection in “physical constraints”, “biological constraints”, and “Estimation accuracy”.
Finally, the function opengait()
is executed to apply the anomaly detection and correction algorithm.
result = posefixer(norm_obj,race = race,fps = fps)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
head(result,n = 3)
## $x
## nose neck Rshoulder Relbow Rwrist Lshoulder Lelbow
## [1,] -0.2040284 0 -0.0301555325 NA NA 0.035154356 -0.026358355
## [2,] -0.2468845 0 -0.0048566093 NA NA 0.006472589 -0.030393342
## [3,] -0.2436747 0 -0.0003939832 NA NA -0.002365445 -0.013828558
## [4,] -0.2520524 0 -0.0028988699 NA NA 0.000120264 0.008700922
## [5,] -0.2723735 0 -0.0038683112 NA NA -0.007091218 0.046897397
## [6,] -0.2887849 0 -0.0022991323 NA NA -0.023494526 0.079589662
## [7,] -0.2905588 0 -0.0003323768 NA NA -0.026844186 0.109148840
## [8,] -0.2946962 0 0.0008194895 NA NA -0.030919423 0.096905980
## [9,] -0.2968008 0 0.0015050806 NA NA -0.035159821 0.095722077
## [10,] -0.2921583 0 -0.0019601328 NA NA -0.036786514 0.064992173
## [11,] -0.2719471 0 -0.0147848364 NA NA -0.023757667 0.069844628
## [12,] -0.2623040 0 -0.0232303031 NA NA -0.001556582 0.056173538
## [13,] -0.2683093 0 -0.0128858846 NA NA -0.007846296 0.027225226
## [14,] -0.2862107 0 -0.0027620667 NA NA -0.025443840 -0.063571147
## [15,] -0.2938288 0 0.0021983387 NA NA -0.033036202 -0.116294952
## [16,] -0.2897060 0 0.0106382419 NA NA -0.031976427 -0.159474879
## [17,] -0.2680276 0 -0.0486481186 NA NA -0.010311891 -0.177204868
## [18,] -0.2706348 0 -0.0340765971 NA NA 0.002460857 -0.200009719
## [19,] -0.3038879 0 -0.0355101455 NA NA 0.002737134 -0.227325639
## [20,] -0.3041812 0 -0.0204172670 NA NA 0.000927529 -0.247180511
## [21,] -0.3121662 0 -0.0117085476 NA NA -0.020166167 -0.245052917
## [22,] -0.3114731 0 0.0329531417 NA NA -0.059670589 -0.248957536
## [23,] -0.3121779 0 0.0667635286 NA NA -0.113106569 -0.225519251
## [24,] -0.2741843 0 0.1142419541 NA NA -0.081250512 -0.200986704
## [25,] -0.2310780 0 0.0509438647 NA NA -0.110948966 -0.213776857
## Lwrist Rhip Rknee Rankle Lhip
## [1,] -0.298220334 -0.102011764 -0.24475935 -0.197664546 -0.096693532
## [2,] -0.220208272 -0.101068021 -0.34963851 -0.176765444 -0.033366174
## [3,] -0.102350303 -0.079682911 -0.39907248 -0.128753904 0.001967768
## [4,] 0.006212511 -0.049030423 -0.30765757 -0.011923411 -0.010622998
## [5,] 0.076822364 0.006909179 -0.16333306 0.130421936 -0.052694360
## [6,] 0.109088087 0.048659491 -0.01857340 0.271935173 -0.056788040
## [7,] 0.164356334 0.091950386 0.12395632 0.413960797 -0.059356798
## [8,] 0.240836360 0.084721792 0.24144415 0.559785161 -0.066215005
## [9,] 0.310930512 0.109394014 0.27492915 0.680810730 -0.100480306
## [10,] 0.313809780 0.039576625 0.21622285 0.702304358 -0.150839035
## [11,] 0.270220726 -0.034029641 0.05744731 0.624695445 -0.096390808
## [12,] 0.148746114 -0.091967752 -0.10902147 0.505031440 -0.048811405
## [13,] -0.003075966 -0.048804750 -0.21183751 0.346137112 -0.033978217
## [14,] -0.180110875 -0.008316599 -0.28901197 0.173893167 -0.049803717
## [15,] -0.284345933 -0.006603057 -0.36643005 -0.008776241 0.001844558
## [16,] -0.418578954 -0.024073486 -0.44191402 -0.217962526 0.027453250
## [17,] -0.585483167 -0.100321179 -0.49793880 -0.424382932 0.049936946
## [18,] -0.661947951 -0.089034769 -0.50108110 -0.590124240 0.098651538
## [19,] -0.727311887 -0.110224253 -0.46476228 -0.703852834 0.113376792
## [20,] -0.730398610 -0.079751944 -0.40116012 -0.712913368 0.146054661
## [21,] -0.712776979 -0.083533702 -0.37426396 -0.651943484 0.086107930
## [22,] -0.688012343 -0.045818984 -0.35100919 -0.554402549 0.017750444
## [23,] -0.677866819 -0.036288551 -0.34485078 -0.458512885 -0.035764952
## [24,] -0.586728019 0.010996600 -0.23549954 -0.314361296 -0.032016872
## [25,] -0.513047427 0.039382368 -0.16937692 -0.214842572 -0.087298467
## Lknee Lankle Reye Leye Rear Lear
## [1,] -0.15400542 0.37294058 NA -0.1114013 NA 0.093514799
## [2,] -0.08963880 0.26155485 NA -0.1833999 NA 0.031360578
## [3,] -0.05976953 0.13340196 NA -0.1589983 NA 0.030339761
## [4,] -0.11760716 -0.03741414 NA -0.1812984 NA 0.007439873
## [5,] -0.20868837 -0.22538395 NA -0.1808533 NA 0.017364663
## [6,] -0.30048904 -0.41931855 NA -0.2201729 NA -0.016681722
## [7,] -0.38825909 -0.61331666 NA -0.2084455 NA -0.033432589
## [8,] -0.44924132 -0.73156476 NA -0.2220509 NA -0.037092436
## [9,] -0.46481141 -0.66494308 NA -0.1969634 NA -0.036365391
## [10,] -0.48745399 -0.55832347 NA -0.1908170 NA -0.028516466
## [11,] -0.41942016 -0.44707976 NA -0.1538379 NA -0.011424744
## [12,] -0.31271859 -0.32832719 NA -0.1797537 NA -0.014052392
## [13,] -0.22078315 -0.19671901 NA -0.1809109 NA -0.023310340
## [14,] -0.13798445 -0.06045534 NA -0.2127392 NA -0.058827651
## [15,] -0.05679384 0.06747639 NA -0.2062000 NA -0.076196070
## [16,] 0.01909495 0.17247231 NA -0.2328869 NA -0.051532367
## [17,] 0.07964147 0.26625478 NA -0.2174309 NA -0.036953680
## [18,] 0.11222709 0.36000092 NA -0.2191638 NA -0.053558646
## [19,] 0.16218021 0.47912825 NA -0.2335199 NA -0.088069585
## [20,] 0.24900392 0.61842684 NA -0.2477649 NA -0.076205784
## [21,] 0.26373574 0.67180585 NA -0.2399716 NA -0.096757859
## [22,] 0.20453135 0.69254020 NA -0.2452572 NA -0.086115024
## [23,] 0.06976226 0.62930363 NA -0.2447486 NA -0.107221143
## [24,] -0.04786944 0.53102863 NA -0.2492299 NA -0.067804197
## [25,] -0.19070076 0.40191320 NA -0.2332731 NA -0.087669711
##
## $y
## nose neck Rshoulder Relbow Rwrist Lshoulder Lelbow Lwrist
## [1,] -0.3931117 0 -0.001891524 NA NA 0.05970510 0.7125410 1.0774128
## [2,] -0.4099804 0 -0.014119461 NA NA 0.04061219 0.6879102 1.0222507
## [3,] -0.4334263 0 -0.003930637 NA NA 0.03351395 0.6691740 1.0372898
## [4,] -0.4140832 0 -0.008516671 NA NA 0.02829091 0.6815062 1.1115305
## [5,] -0.4077666 0 -0.021447826 NA NA 0.03418416 0.6860700 1.1402460
## [6,] -0.4073884 0 -0.027927919 NA NA 0.04436734 0.6624569 1.1471063
## [7,] -0.4415144 0 -0.028246939 NA NA 0.05398209 0.6159528 1.0893267
## [8,] -0.4564157 0 -0.021133633 NA NA 0.04799437 0.5690884 0.9523856
## [9,] -0.4460283 0 -0.011492773 NA NA 0.05075218 0.5661442 0.8661619
## [10,] -0.4441300 0 -0.007063134 NA NA 0.04478792 0.5668205 0.8205627
## [11,] -0.4472366 0 -0.016758447 NA NA 0.05106848 0.5742446 0.8183681
## [12,] -0.4753582 0 -0.033120571 NA NA 0.03496381 0.5609415 0.8506394
## [13,] -0.4561498 0 -0.050509875 NA NA 0.03644602 0.5797416 0.8885724
## [14,] -0.3999695 0 -0.056492517 NA NA 0.06150400 0.6379656 0.9279052
## [15,] -0.3636691 0 -0.041038653 NA NA 0.07792527 0.6519724 0.9766659
## [16,] -0.3576510 0 -0.035308331 NA NA 0.09368410 0.6375267 0.9887483
## [17,] -0.3545672 0 -0.036797974 NA NA 0.10232450 0.6508745 0.9740908
## [18,] -0.3522679 0 -0.055662344 NA NA 0.09542244 0.6544386 0.9376859
## [19,] -0.3702430 0 -0.064477245 NA NA 0.07113991 0.6259362 0.9065787
## [20,] -0.4083073 0 -0.071377991 NA NA 0.04857242 0.6007785 0.8579070
## [21,] -0.4138476 0 -0.066458945 NA NA 0.05559899 0.6066975 0.8406029
## [22,] -0.4289683 0 -0.040670916 NA NA 0.05047053 0.6068552 0.8420403
## [23,] -0.4219049 0 -0.024454923 NA NA 0.03554398 0.6048199 0.8554307
## [24,] -0.3988926 0 -0.046552115 NA NA 0.03800238 0.6197484 0.8857200
## [25,] -0.3909313 0 -0.038911149 NA NA 0.06361855 0.6263933 0.9102464
## Rhip Rknee Rankle Lhip Lknee Lankle Reye Leye
## [1,] 1.0206301 1.657851 2.349375 1.0413035 1.723269 2.174557 NA -0.5219081
## [2,] 1.0189078 1.606255 2.266189 1.0309914 1.725821 2.291690 NA -0.5155002
## [3,] 1.0149992 1.566572 2.201914 1.0320679 1.719051 2.370968 NA -0.5107738
## [4,] 1.0094087 1.557145 2.185694 1.0189360 1.688577 2.354035 NA -0.5041661
## [5,] 1.0111846 1.558863 2.187529 1.0190188 1.648870 2.300580 NA -0.5150315
## [6,] 1.0284716 1.559387 2.189317 1.0211951 1.607404 2.245352 NA -0.5207028
## [7,] 0.9951481 1.558905 2.189799 1.0142518 1.566153 2.192680 NA -0.5195314
## [8,] 0.9543272 1.567298 2.182869 0.9973623 1.548932 2.177050 NA -0.5239032
## [9,] 0.9604103 1.595428 2.156295 1.0153186 1.591530 2.250478 NA -0.5232459
## [10,] 1.0008657 1.617390 2.105368 1.0456288 1.640549 2.328151 NA -0.5081925
## [11,] 1.0048513 1.616087 1.993226 1.0462459 1.652454 2.347213 NA -0.4962876
## [12,] 0.9596574 1.602121 1.904322 1.0100039 1.650530 2.343639 NA -0.5424903
## [13,] 0.9405668 1.576657 1.941515 0.9799476 1.652498 2.341786 NA -0.5369384
## [14,] 0.9619092 1.547433 2.028052 0.9941726 1.657090 2.342406 NA -0.4703917
## [15,] 0.9611078 1.523927 2.106972 0.9822422 1.660586 2.342086 NA -0.4236396
## [16,] 0.9522893 1.515819 2.162549 0.9605422 1.661182 2.337999 NA -0.4026327
## [17,] 0.9530530 1.515469 2.196524 0.9754735 1.664328 2.331277 NA -0.3908871
## [18,] 0.9539702 1.518346 2.191110 0.9963346 1.678219 2.322234 NA -0.3888669
## [19,] 0.9496175 1.516131 2.161109 1.0202356 1.698853 2.314211 NA -0.4075910
## [20,] 0.9495216 1.517065 2.138979 1.0403438 1.711790 2.300411 NA -0.4429691
## [21,] 0.9687999 1.552373 2.188326 1.0351796 1.692301 2.252455 NA -0.4437275
## [22,] 0.9967294 1.574649 2.234961 1.0298116 1.685783 2.172175 NA -0.4551613
## [23,] 1.0259682 1.600683 2.283452 1.0492577 1.718728 2.126949 NA -0.4553158
## [24,] 0.9926959 1.595982 2.285525 1.0271959 1.705279 2.088984 NA -0.4367873
## [25,] 0.9506439 1.571301 2.263438 1.0122080 1.687830 2.048172 NA -0.4236345
## Rear Lear
## [1,] NA -0.3618992
## [2,] NA -0.3848790
## [3,] NA -0.3954091
## [4,] NA -0.3985321
## [5,] NA -0.3977216
## [6,] NA -0.4107308
## [7,] NA -0.4303627
## [8,] NA -0.4516129
## [9,] NA -0.4470593
## [10,] NA -0.4479948
## [11,] NA -0.4471406
## [12,] NA -0.4649009
## [13,] NA -0.4334125
## [14,] NA -0.3917873
## [15,] NA -0.3652028
## [16,] NA -0.3642348
## [17,] NA -0.3596390
## [18,] NA -0.3544847
## [19,] NA -0.3747525
## [20,] NA -0.4125333
## [21,] NA -0.4151155
## [22,] NA -0.4280678
## [23,] NA -0.4303247
## [24,] NA -0.4253866
## [25,] NA -0.4244604
##
## $p
## nose neck Rshoulder Relbow Rwrist Lshoulder Lelbow Lwrist Rhip
## [1,] 0.7425 0.7736 0.7552 0.2069 0.0000 0.8499 0.9102 0.7911 0.7467
## [2,] 0.8009 0.8034 0.6986 0.1440 0.0000 0.9381 0.8066 0.8778 0.7567
## [3,] 0.7308 0.7871 0.7596 0.3373 0.4430 0.8585 0.8512 0.7372 0.7564
## [4,] 0.8298 0.8368 0.7609 0.3816 0.5286 0.9281 0.8744 0.8429 0.7778
## [5,] 0.7460 0.7731 0.7679 0.5750 0.8535 0.8247 0.7701 0.5665 0.7343
## [6,] 0.8601 0.8338 0.0000 0.0000 0.0000 0.8729 0.8192 0.7038 0.7359
## [7,] 0.7385 0.7921 0.7750 0.5556 0.8392 0.8653 0.7622 0.7291 0.7554
## [8,] 0.8222 0.8169 0.7474 0.6337 0.8921 0.8780 0.7047 0.6874 0.7697
## [9,] 0.8109 0.7831 0.7567 0.5161 0.8403 0.8621 0.7254 0.7154 0.7829
## [10,] 0.7490 0.7933 0.7454 0.5717 0.8807 0.8784 0.7612 0.8046 0.7949
## [11,] 0.7294 0.7954 0.0000 0.0000 0.0000 0.8953 0.7500 0.6693 0.7238
## [12,] 0.7419 0.8051 0.7267 0.5261 0.7916 0.9357 0.8218 0.6948 0.6937
## [13,] 0.7564 0.7995 0.7398 0.3867 0.5397 0.8912 0.7638 0.7666 0.7217
## [14,] 0.7567 0.8038 0.7097 0.1545 0.0000 0.9334 0.7408 0.7593 0.7520
## [15,] 0.6372 0.7877 0.7405 0.1807 0.0000 0.8420 0.8518 0.7916 0.7609
## [16,] 0.7200 0.8277 0.7166 0.1612 0.0000 0.8838 0.7771 0.8553 0.7474
## [17,] 0.6411 0.7818 0.7396 0.2293 0.1612 0.8381 0.8982 0.8936 0.8079
## [18,] 0.6483 0.8119 0.7037 0.2599 0.2042 0.8704 0.8116 0.8883 0.8020
## [19,] 0.6009 0.7902 0.7157 0.3499 0.2242 0.8465 0.8331 0.8874 0.7977
## [20,] 0.7127 0.8165 0.6700 0.2514 0.1382 0.8775 0.8351 0.8537 0.8107
## [21,] 0.6198 0.7698 0.7048 0.2565 0.1596 0.8472 0.8888 0.8993 0.8010
## [22,] 0.6342 0.8249 0.6753 0.1861 0.1308 0.9091 0.8938 0.8651 0.7250
## [23,] 0.6225 0.8053 0.7652 0.2242 0.1244 0.8622 0.9178 0.8791 0.7375
## [24,] 0.6368 0.7992 0.6998 0.1874 0.1194 0.8893 0.8856 0.9067 0.7275
## [25,] 0.6111 0.7759 0.7521 0.2055 0.0000 0.8542 0.9612 0.8611 0.7240
## Rknee Rankle Lhip Lknee Lankle Reye Leye Rear Lear
## [1,] 0.8278 0.8531 0.8517 0.7848 0.8073 0.1108 0.8156 0 0.7841
## [2,] 0.8325 0.7910 0.8326 0.7138 0.7987 0.0764 0.8377 0 0.8546
## [3,] 0.8285 0.9051 0.7685 0.7410 0.8669 0.0918 0.8293 0 0.7931
## [4,] 0.8788 0.9003 0.8202 0.8184 0.8656 0.0938 0.8193 0 0.8506
## [5,] 0.7547 0.7671 0.8160 0.2511 0.2122 0.1052 0.8063 0 0.7991
## [6,] 0.7202 0.8191 0.7828 0.8716 0.9049 0.0907 0.7932 0 0.8295
## [7,] 0.7543 0.9080 0.8109 0.8540 0.8994 0.0949 0.7360 0 0.8037
## [8,] 0.8266 0.9183 0.7905 0.9054 0.9100 0.0663 0.7734 0 0.8349
## [9,] 0.8045 0.9732 0.8418 0.8421 0.8691 0.0813 0.7536 0 0.8251
## [10,] 0.8273 0.9260 0.8073 0.8988 0.8607 0.0629 0.7541 0 0.8388
## [11,] 0.8963 0.9208 0.8323 0.8891 0.8741 0.0000 0.7185 0 0.8243
## [12,] 0.8292 0.9007 0.8055 0.8603 0.8146 0.0000 0.7305 0 0.8291
## [13,] 0.7299 0.7727 0.8258 0.7935 0.7529 0.0870 0.7359 0 0.8243
## [14,] 0.7507 0.8059 0.7818 0.8083 0.8552 0.0805 0.7589 0 0.8240
## [15,] 0.7426 0.7151 0.8512 0.7510 0.8347 0.1048 0.6589 0 0.7709
## [16,] 0.7100 0.8705 0.8919 0.8205 0.8768 0.0853 0.6990 0 0.8551
## [17,] 0.9269 0.9117 0.8478 0.8957 0.8644 0.1400 0.6762 0 0.7780
## [18,] 0.9885 0.9767 0.7767 0.8957 0.8043 0.1372 0.6296 0 0.8173
## [19,] 0.9614 0.9605 0.8286 0.8580 0.8307 0.0000 0.6574 0 0.8019
## [20,] 0.8744 0.9425 0.8000 0.9129 0.8296 0.0000 0.6991 0 0.8338
## [21,] 0.9269 0.9248 0.8371 0.8660 0.8747 0.0000 0.6644 0 0.8206
## [22,] 0.8754 0.8986 0.8254 0.9116 0.9466 0.0000 0.6565 0 0.8247
## [23,] 0.8306 0.8869 0.7771 0.8489 0.8707 0.0000 0.6656 0 0.8108
## [24,] 0.8825 0.8451 0.8200 0.8723 0.8673 0.0579 0.6578 0 0.8702
## [25,] 0.8636 0.8408 0.7442 0.8425 0.8413 0.1260 0.6760 0 0.7592
If the lower limb coordinates are not missing values, the anomaly has been corrected without any problem.
p = par(mar = c(2,1,2,1))
diplay_frames(result,layout=c(5,5),xlim = c(-2,2),ylim = c(3,-1))
par(p)
Division of Physical and Occupational Therapy, Department of Integrated Health Science, Graduate School of Medicine, Nagoya University, Japan ↩
Biomedical and Health Informatics Unit, Department of Integrated Health Science, Graduate School of Medicine Nagoya University, Japan↩
Biomedical and Health Informatics Unit, Department of Integrated Health Science, Graduate School of Medicine / Institute for Glyco-core Research (iGCORE), Nagoya University, Japan↩