About this vinette

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

Prepare package

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)

Data input

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

Reshaping objects

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)

Normalization

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)

  1. Division of Physical and Occupational Therapy, Department of Integrated Health Science, Graduate School of Medicine, Nagoya University, Japan

  2. Biomedical and Health Informatics Unit, Department of Integrated Health Science, Graduate School of Medicine Nagoya University, Japan

  3. Biomedical and Health Informatics Unit, Department of Integrated Health Science, Graduate School of Medicine / Institute for Glyco-core Research (iGCORE), Nagoya University, Japan