Replaced cv::mats with nested std::vectors to improve speed.
This commit is contained in:
320
media/RESULTS.md
320
media/RESULTS.md
@ -294,47 +294,47 @@ Results of the model in various experiments on different datasets. \
|
||||
|
||||
```json
|
||||
{
|
||||
"img_loading": 0.0420667,
|
||||
"demosaicing": 0.000741598,
|
||||
"avg_time_2d": 0.0148536,
|
||||
"avg_time_3d": 0.000350915,
|
||||
"fps": 62.7112
|
||||
"img_loading": 0.0422137,
|
||||
"demosaicing": 0.000738378,
|
||||
"avg_time_2d": 0.0148837,
|
||||
"avg_time_3d": 0.000220359,
|
||||
"fps": 63.1215
|
||||
}
|
||||
{
|
||||
"triangulator_calls": 301,
|
||||
"init_time": 9.29104e-06,
|
||||
"undistort_time": 2.87243e-05,
|
||||
"project_time": 3.63974e-05,
|
||||
"match_time": 2.42599e-05,
|
||||
"pairs_time": 3.40423e-05,
|
||||
"pair_scoring_time": 7.63089e-05,
|
||||
"grouping_time": 1.0948e-05,
|
||||
"full_time": 6.34768e-05,
|
||||
"merge_time": 9.62578e-06,
|
||||
"post_time": 1.23629e-05,
|
||||
"convert_time": 5.63644e-07,
|
||||
"total_time": 0.000306359
|
||||
"init_time": 7.04818e-06,
|
||||
"undistort_time": 3.18955e-05,
|
||||
"project_time": 3.92248e-06,
|
||||
"match_time": 1.17322e-05,
|
||||
"pairs_time": 6.12719e-06,
|
||||
"pair_scoring_time": 4.9701e-05,
|
||||
"grouping_time": 8.03308e-06,
|
||||
"full_time": 5.63869e-05,
|
||||
"merge_time": 1.32789e-05,
|
||||
"post_time": 9.21993e-06,
|
||||
"convert_time": 2.10834e-07,
|
||||
"total_time": 0.000197817
|
||||
}
|
||||
{
|
||||
"person_nums": {
|
||||
"total_frames": 301,
|
||||
"total_labels": 477,
|
||||
"total_preds": 835,
|
||||
"total_preds": 828,
|
||||
"considered_empty": 0,
|
||||
"valid_preds": 477,
|
||||
"invalid_preds": 358,
|
||||
"invalid_preds": 351,
|
||||
"missing": 0,
|
||||
"invalid_fraction": 0.42874,
|
||||
"precision": 0.57126,
|
||||
"invalid_fraction": 0.42391,
|
||||
"precision": 0.57609,
|
||||
"recall": 1.0,
|
||||
"f1": 0.72713,
|
||||
"non_empty": 835
|
||||
"f1": 0.73103,
|
||||
"non_empty": 828
|
||||
},
|
||||
"mpjpe": {
|
||||
"count": 477,
|
||||
"mean": 0.047948,
|
||||
"mean": 0.047957,
|
||||
"median": 0.042546,
|
||||
"std": 0.014903,
|
||||
"std": 0.014906,
|
||||
"sem": 0.000683,
|
||||
"min": 0.03014,
|
||||
"max": 0.12344,
|
||||
@ -346,22 +346,22 @@ Results of the model in various experiments on different datasets. \
|
||||
"recall-0.5": 1.0,
|
||||
"num_labels": 477,
|
||||
"ap-0.025": 0.0,
|
||||
"ap-0.05": 0.386198,
|
||||
"ap-0.1": 0.725994,
|
||||
"ap-0.15": 0.741431,
|
||||
"ap-0.25": 0.741431,
|
||||
"ap-0.5": 0.741431
|
||||
"ap-0.05": 0.387635,
|
||||
"ap-0.1": 0.728518,
|
||||
"ap-0.15": 0.744056,
|
||||
"ap-0.25": 0.744056,
|
||||
"ap-0.5": 0.744056
|
||||
},
|
||||
"head": {
|
||||
"count": 477,
|
||||
"mean": 0.054142,
|
||||
"median": 0.050182,
|
||||
"std": 0.024877,
|
||||
"sem": 0.00114,
|
||||
"mean": 0.054194,
|
||||
"median": 0.050192,
|
||||
"std": 0.024884,
|
||||
"sem": 0.001141,
|
||||
"min": 0.005604,
|
||||
"max": 0.180414,
|
||||
"recall-0.025": 0.083857,
|
||||
"recall-0.05": 0.498952,
|
||||
"recall-0.05": 0.496855,
|
||||
"recall-0.1": 0.937107,
|
||||
"recall-0.15": 0.995807,
|
||||
"recall-0.25": 1.0,
|
||||
@ -402,14 +402,14 @@ Results of the model in various experiments on different datasets. \
|
||||
},
|
||||
"elbow_left": {
|
||||
"count": 477,
|
||||
"mean": 0.040702,
|
||||
"mean": 0.040748,
|
||||
"median": 0.032111,
|
||||
"std": 0.029146,
|
||||
"sem": 0.001336,
|
||||
"std": 0.02924,
|
||||
"sem": 0.00134,
|
||||
"min": 0.003362,
|
||||
"max": 0.326353,
|
||||
"recall-0.025": 0.312369,
|
||||
"recall-0.05": 0.75891,
|
||||
"recall-0.025": 0.314465,
|
||||
"recall-0.05": 0.756813,
|
||||
"recall-0.1": 0.953878,
|
||||
"recall-0.15": 0.997904,
|
||||
"recall-0.25": 0.997904,
|
||||
@ -434,7 +434,7 @@ Results of the model in various experiments on different datasets. \
|
||||
},
|
||||
"wrist_left": {
|
||||
"count": 477,
|
||||
"mean": 0.060087,
|
||||
"mean": 0.060086,
|
||||
"median": 0.053969,
|
||||
"std": 0.038695,
|
||||
"sem": 0.001774,
|
||||
@ -450,13 +450,13 @@ Results of the model in various experiments on different datasets. \
|
||||
},
|
||||
"wrist_right": {
|
||||
"count": 477,
|
||||
"mean": 0.059116,
|
||||
"median": 0.054488,
|
||||
"std": 0.033516,
|
||||
"mean": 0.059129,
|
||||
"median": 0.054282,
|
||||
"std": 0.033512,
|
||||
"sem": 0.001536,
|
||||
"min": 0.009831,
|
||||
"max": 0.371597,
|
||||
"recall-0.025": 0.111111,
|
||||
"recall-0.025": 0.109015,
|
||||
"recall-0.05": 0.419287,
|
||||
"recall-0.1": 0.899371,
|
||||
"recall-0.15": 0.981132,
|
||||
@ -563,7 +563,7 @@ Results of the model in various experiments on different datasets. \
|
||||
"joint_recalls": {
|
||||
"num_labels": 6201,
|
||||
"recall-0.025": 0.20997,
|
||||
"recall-0.05": 0.61635,
|
||||
"recall-0.05": 0.61571,
|
||||
"recall-0.1": 0.94243,
|
||||
"recall-0.15": 0.98645,
|
||||
"recall-0.25": 0.99839,
|
||||
@ -1091,26 +1091,26 @@ Results of the model in various experiments on different datasets. \
|
||||
|
||||
```json
|
||||
{
|
||||
"img_loading": 0.0479787,
|
||||
"demosaicing": 0.00105853,
|
||||
"avg_time_2d": 0.0168711,
|
||||
"avg_time_3d": 0.000490739,
|
||||
"fps": 54.2878
|
||||
"img_loading": 0.0460374,
|
||||
"demosaicing": 0.00103523,
|
||||
"avg_time_2d": 0.0168158,
|
||||
"avg_time_3d": 0.00023421,
|
||||
"fps": 55.2936
|
||||
}
|
||||
{
|
||||
"triangulator_calls": 420,
|
||||
"init_time": 1.06278e-05,
|
||||
"undistort_time": 2.61993e-05,
|
||||
"project_time": 5.91157e-05,
|
||||
"match_time": 7.7537e-05,
|
||||
"pairs_time": 4.91138e-05,
|
||||
"pair_scoring_time": 9.39502e-05,
|
||||
"grouping_time": 1.86132e-05,
|
||||
"full_time": 8.07886e-05,
|
||||
"merge_time": 9.90888e-06,
|
||||
"post_time": 1.35556e-05,
|
||||
"convert_time": 7.28681e-07,
|
||||
"total_time": 0.000440487
|
||||
"init_time": 6.60958e-06,
|
||||
"undistort_time": 3.08934e-05,
|
||||
"project_time": 5.10071e-06,
|
||||
"match_time": 1.76305e-05,
|
||||
"pairs_time": 1.31107e-05,
|
||||
"pair_scoring_time": 5.49491e-05,
|
||||
"grouping_time": 1.05505e-05,
|
||||
"full_time": 4.52758e-05,
|
||||
"merge_time": 1.57141e-05,
|
||||
"post_time": 1.02826e-05,
|
||||
"convert_time": 2.49755e-07,
|
||||
"total_time": 0.000210623
|
||||
}
|
||||
{
|
||||
"person_nums": {
|
||||
@ -1129,35 +1129,35 @@ Results of the model in various experiments on different datasets. \
|
||||
},
|
||||
"mpjpe": {
|
||||
"count": 1462,
|
||||
"mean": 0.032346,
|
||||
"median": 0.029628,
|
||||
"std": 0.014512,
|
||||
"sem": 0.00038,
|
||||
"mean": 0.032408,
|
||||
"median": 0.029662,
|
||||
"std": 0.014572,
|
||||
"sem": 0.000381,
|
||||
"min": 0.010671,
|
||||
"max": 0.136736,
|
||||
"recall-0.025": 0.339018,
|
||||
"recall-0.05": 0.900409,
|
||||
"max": 0.135869,
|
||||
"recall-0.025": 0.337653,
|
||||
"recall-0.05": 0.899045,
|
||||
"recall-0.1": 0.99045,
|
||||
"recall-0.15": 0.997271,
|
||||
"recall-0.25": 0.997271,
|
||||
"recall-0.5": 0.997271,
|
||||
"num_labels": 1466,
|
||||
"ap-0.025": 0.181063,
|
||||
"ap-0.05": 0.865292,
|
||||
"ap-0.1": 0.979068,
|
||||
"ap-0.15": 0.989802,
|
||||
"ap-0.25": 0.989802,
|
||||
"ap-0.5": 0.989802
|
||||
"ap-0.025": 0.17872,
|
||||
"ap-0.05": 0.863429,
|
||||
"ap-0.1": 0.979024,
|
||||
"ap-0.15": 0.989805,
|
||||
"ap-0.25": 0.989805,
|
||||
"ap-0.5": 0.989805
|
||||
},
|
||||
"nose": {
|
||||
"count": 1461,
|
||||
"mean": 0.01573,
|
||||
"median": 0.011646,
|
||||
"std": 0.018004,
|
||||
"sem": 0.000471,
|
||||
"mean": 0.015719,
|
||||
"median": 0.011701,
|
||||
"std": 0.017968,
|
||||
"sem": 0.00047,
|
||||
"min": 0.001311,
|
||||
"max": 0.276143,
|
||||
"recall-0.025": 0.899522,
|
||||
"recall-0.025": 0.898838,
|
||||
"recall-0.05": 0.963773,
|
||||
"recall-0.1": 0.992481,
|
||||
"recall-0.15": 0.995899,
|
||||
@ -1167,14 +1167,14 @@ Results of the model in various experiments on different datasets. \
|
||||
},
|
||||
"shoulder_left": {
|
||||
"count": 1462,
|
||||
"mean": 0.016823,
|
||||
"median": 0.014758,
|
||||
"std": 0.010996,
|
||||
"sem": 0.000288,
|
||||
"mean": 0.016838,
|
||||
"median": 0.014756,
|
||||
"std": 0.011066,
|
||||
"sem": 0.00029,
|
||||
"min": 0.000954,
|
||||
"max": 0.103637,
|
||||
"recall-0.025": 0.8397,
|
||||
"recall-0.05": 0.982947,
|
||||
"recall-0.025": 0.839018,
|
||||
"recall-0.05": 0.982265,
|
||||
"recall-0.1": 0.996589,
|
||||
"recall-0.15": 0.997271,
|
||||
"recall-0.25": 0.997271,
|
||||
@ -1183,13 +1183,13 @@ Results of the model in various experiments on different datasets. \
|
||||
},
|
||||
"shoulder_right": {
|
||||
"count": 1461,
|
||||
"mean": 0.016777,
|
||||
"median": 0.014699,
|
||||
"std": 0.011399,
|
||||
"sem": 0.000298,
|
||||
"mean": 0.016814,
|
||||
"median": 0.014713,
|
||||
"std": 0.011424,
|
||||
"sem": 0.000299,
|
||||
"min": 0.001164,
|
||||
"max": 0.156188,
|
||||
"recall-0.025": 0.833447,
|
||||
"recall-0.025": 0.83413,
|
||||
"recall-0.05": 0.983618,
|
||||
"recall-0.1": 0.996587,
|
||||
"recall-0.15": 0.996587,
|
||||
@ -1199,30 +1199,30 @@ Results of the model in various experiments on different datasets. \
|
||||
},
|
||||
"elbow_left": {
|
||||
"count": 1461,
|
||||
"mean": 0.022172,
|
||||
"median": 0.016399,
|
||||
"std": 0.019077,
|
||||
"sem": 0.000499,
|
||||
"mean": 0.022249,
|
||||
"median": 0.016379,
|
||||
"std": 0.019622,
|
||||
"sem": 0.000514,
|
||||
"min": 0.000543,
|
||||
"max": 0.210066,
|
||||
"recall-0.025": 0.735154,
|
||||
"recall-0.05": 0.916724,
|
||||
"recall-0.1": 0.990444,
|
||||
"recall-0.15": 0.996587,
|
||||
"max": 0.210065,
|
||||
"recall-0.025": 0.736519,
|
||||
"recall-0.05": 0.916041,
|
||||
"recall-0.1": 0.989761,
|
||||
"recall-0.15": 0.995904,
|
||||
"recall-0.25": 0.99727,
|
||||
"recall-0.5": 0.99727,
|
||||
"num_labels": 1465
|
||||
},
|
||||
"elbow_right": {
|
||||
"count": 1461,
|
||||
"mean": 0.021149,
|
||||
"mean": 0.021067,
|
||||
"median": 0.015999,
|
||||
"std": 0.016746,
|
||||
"sem": 0.000438,
|
||||
"std": 0.016565,
|
||||
"sem": 0.000434,
|
||||
"min": 0.001472,
|
||||
"max": 0.162788,
|
||||
"recall-0.025": 0.780588,
|
||||
"recall-0.05": 0.926863,
|
||||
"recall-0.05": 0.928913,
|
||||
"recall-0.1": 0.995899,
|
||||
"recall-0.15": 0.997949,
|
||||
"recall-0.25": 0.998633,
|
||||
@ -1231,14 +1231,14 @@ Results of the model in various experiments on different datasets. \
|
||||
},
|
||||
"wrist_left": {
|
||||
"count": 1432,
|
||||
"mean": 0.035971,
|
||||
"median": 0.016823,
|
||||
"std": 0.055313,
|
||||
"sem": 0.001462,
|
||||
"mean": 0.036145,
|
||||
"median": 0.016837,
|
||||
"std": 0.055856,
|
||||
"sem": 0.001477,
|
||||
"min": 0.000898,
|
||||
"max": 0.450938,
|
||||
"recall-0.025": 0.67364,
|
||||
"recall-0.05": 0.843794,
|
||||
"recall-0.025": 0.672245,
|
||||
"recall-0.05": 0.842399,
|
||||
"recall-0.1": 0.904463,
|
||||
"recall-0.15": 0.953975,
|
||||
"recall-0.25": 0.974895,
|
||||
@ -1247,29 +1247,29 @@ Results of the model in various experiments on different datasets. \
|
||||
},
|
||||
"wrist_right": {
|
||||
"count": 1455,
|
||||
"mean": 0.026926,
|
||||
"median": 0.016801,
|
||||
"std": 0.033427,
|
||||
"sem": 0.000877,
|
||||
"mean": 0.026992,
|
||||
"median": 0.016745,
|
||||
"std": 0.033905,
|
||||
"sem": 0.000889,
|
||||
"min": 0.001361,
|
||||
"max": 0.280646,
|
||||
"recall-0.025": 0.690934,
|
||||
"recall-0.05": 0.888736,
|
||||
"recall-0.025": 0.692995,
|
||||
"recall-0.05": 0.888049,
|
||||
"recall-0.1": 0.964973,
|
||||
"recall-0.15": 0.980769,
|
||||
"recall-0.25": 0.997253,
|
||||
"recall-0.15": 0.980082,
|
||||
"recall-0.25": 0.996566,
|
||||
"recall-0.5": 0.999313,
|
||||
"num_labels": 1456
|
||||
},
|
||||
"hip_left": {
|
||||
"count": 1461,
|
||||
"mean": 0.034771,
|
||||
"median": 0.031898,
|
||||
"std": 0.019216,
|
||||
"mean": 0.034766,
|
||||
"median": 0.031916,
|
||||
"std": 0.019208,
|
||||
"sem": 0.000503,
|
||||
"min": 0.00101,
|
||||
"max": 0.181992,
|
||||
"recall-0.025": 0.32628,
|
||||
"recall-0.025": 0.324915,
|
||||
"recall-0.05": 0.845051,
|
||||
"recall-0.1": 0.989761,
|
||||
"recall-0.15": 0.995904,
|
||||
@ -1279,13 +1279,13 @@ Results of the model in various experiments on different datasets. \
|
||||
},
|
||||
"hip_right": {
|
||||
"count": 1462,
|
||||
"mean": 0.037383,
|
||||
"median": 0.032592,
|
||||
"std": 0.024222,
|
||||
"sem": 0.000634,
|
||||
"mean": 0.037408,
|
||||
"median": 0.032634,
|
||||
"std": 0.024199,
|
||||
"sem": 0.000633,
|
||||
"min": 0.002509,
|
||||
"max": 0.281736,
|
||||
"recall-0.025": 0.318554,
|
||||
"recall-0.025": 0.316508,
|
||||
"recall-0.05": 0.802183,
|
||||
"recall-0.1": 0.976126,
|
||||
"recall-0.15": 0.993861,
|
||||
@ -1295,15 +1295,15 @@ Results of the model in various experiments on different datasets. \
|
||||
},
|
||||
"knee_left": {
|
||||
"count": 1461,
|
||||
"mean": 0.038795,
|
||||
"median": 0.032848,
|
||||
"std": 0.034462,
|
||||
"sem": 0.000902,
|
||||
"mean": 0.038815,
|
||||
"median": 0.032849,
|
||||
"std": 0.034505,
|
||||
"sem": 0.000903,
|
||||
"min": 0.003309,
|
||||
"max": 0.473605,
|
||||
"recall-0.025": 0.287372,
|
||||
"recall-0.05": 0.799317,
|
||||
"recall-0.1": 0.978157,
|
||||
"recall-0.1": 0.976792,
|
||||
"recall-0.15": 0.9843,
|
||||
"recall-0.25": 0.990444,
|
||||
"recall-0.5": 0.99727,
|
||||
@ -1311,13 +1311,13 @@ Results of the model in various experiments on different datasets. \
|
||||
},
|
||||
"knee_right": {
|
||||
"count": 1455,
|
||||
"mean": 0.038488,
|
||||
"median": 0.031543,
|
||||
"std": 0.026577,
|
||||
"mean": 0.038477,
|
||||
"median": 0.031533,
|
||||
"std": 0.026575,
|
||||
"sem": 0.000697,
|
||||
"min": 0.003512,
|
||||
"max": 0.275123,
|
||||
"recall-0.025": 0.349554,
|
||||
"recall-0.025": 0.35024,
|
||||
"recall-0.05": 0.749829,
|
||||
"recall-0.1": 0.964359,
|
||||
"recall-0.15": 0.993146,
|
||||
@ -1327,50 +1327,50 @@ Results of the model in various experiments on different datasets. \
|
||||
},
|
||||
"ankle_left": {
|
||||
"count": 1458,
|
||||
"mean": 0.056122,
|
||||
"median": 0.034021,
|
||||
"std": 0.062141,
|
||||
"sem": 0.001628,
|
||||
"mean": 0.056359,
|
||||
"median": 0.034166,
|
||||
"std": 0.062188,
|
||||
"sem": 0.001629,
|
||||
"min": 0.003035,
|
||||
"max": 0.432301,
|
||||
"recall-0.025": 0.347915,
|
||||
"recall-0.05": 0.666439,
|
||||
"recall-0.1": 0.855776,
|
||||
"recall-0.15": 0.917977,
|
||||
"recall-0.05": 0.663021,
|
||||
"recall-0.1": 0.853725,
|
||||
"recall-0.15": 0.91661,
|
||||
"recall-0.25": 0.971292,
|
||||
"recall-0.5": 0.996582,
|
||||
"num_labels": 1463
|
||||
},
|
||||
"ankle_right": {
|
||||
"count": 1445,
|
||||
"mean": 0.053755,
|
||||
"median": 0.030905,
|
||||
"std": 0.067212,
|
||||
"sem": 0.001769,
|
||||
"mean": 0.054031,
|
||||
"median": 0.030928,
|
||||
"std": 0.067536,
|
||||
"sem": 0.001777,
|
||||
"min": 0.001698,
|
||||
"max": 0.489965,
|
||||
"recall-0.025": 0.378082,
|
||||
"recall-0.05": 0.736301,
|
||||
"recall-0.1": 0.856849,
|
||||
"recall-0.15": 0.903425,
|
||||
"recall-0.25": 0.962329,
|
||||
"recall-0.025": 0.376027,
|
||||
"recall-0.05": 0.734247,
|
||||
"recall-0.1": 0.856164,
|
||||
"recall-0.15": 0.90274,
|
||||
"recall-0.25": 0.961644,
|
||||
"recall-0.5": 0.989726,
|
||||
"num_labels": 1460
|
||||
},
|
||||
"joint_recalls": {
|
||||
"num_labels": 18990,
|
||||
"recall-0.025": 0.57341,
|
||||
"recall-0.05": 0.85408,
|
||||
"recall-0.1": 0.9584,
|
||||
"recall-0.15": 0.9772,
|
||||
"recall-0.25": 0.99005,
|
||||
"recall-0.025": 0.57325,
|
||||
"recall-0.05": 0.8535,
|
||||
"recall-0.1": 0.95793,
|
||||
"recall-0.15": 0.97694,
|
||||
"recall-0.25": 0.98994,
|
||||
"recall-0.5": 0.99674
|
||||
}
|
||||
}
|
||||
{
|
||||
"total_parts": 20444,
|
||||
"correct_parts": 20204,
|
||||
"pcp": 0.988261
|
||||
"correct_parts": 20203,
|
||||
"pcp": 0.988212
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
1185
rpt/triangulator.cpp
1185
rpt/triangulator.cpp
File diff suppressed because it is too large
Load Diff
@ -70,64 +70,76 @@ private:
|
||||
{"shoulder_left", "elbow_left"},
|
||||
{"shoulder_right", "elbow_right"},
|
||||
};
|
||||
std::vector<cv::Mat> last_poses_3d;
|
||||
std::vector<std::vector<std::array<float, 4>>> last_poses_3d;
|
||||
|
||||
void undistort_poses(std::vector<cv::Mat> &poses, CameraInternal &icam);
|
||||
void undistort_poses(
|
||||
std::vector<std::vector<std::array<float, 3>>> &poses_2d, CameraInternal &icam);
|
||||
|
||||
std::tuple<std::vector<cv::Mat>, std::vector<cv::Mat>> project_poses(
|
||||
const std::vector<cv::Mat> &bodies3D, const CameraInternal &icam, bool calc_dists);
|
||||
std::tuple<std::vector<std::vector<std::array<float, 3>>>, std::vector<std::vector<float>>>
|
||||
project_poses(
|
||||
const std::vector<std::vector<std::array<float, 4>>> &poses_3d,
|
||||
const CameraInternal &icam,
|
||||
bool calc_dists);
|
||||
|
||||
float calc_pose_score(
|
||||
const cv::Mat &pose1,
|
||||
const cv::Mat &pose2,
|
||||
const cv::Mat &dist1,
|
||||
const std::vector<std::array<float, 3>> &pose1,
|
||||
const std::vector<std::array<float, 3>> &pose2,
|
||||
const std::vector<float> &dist1,
|
||||
const CameraInternal &icam);
|
||||
|
||||
cv::Mat score_projection(
|
||||
const cv::Mat &pose1,
|
||||
const cv::Mat &repro1,
|
||||
const cv::Mat &dists1,
|
||||
const cv::Mat &mask,
|
||||
std::vector<float> score_projection(
|
||||
const std::vector<std::array<float, 3>> &pose,
|
||||
const std::vector<std::array<float, 3>> &repro,
|
||||
const std::vector<float> &dists,
|
||||
const std::vector<bool> &mask,
|
||||
float iscale);
|
||||
|
||||
std::pair<cv::Mat, float> triangulate_and_score(
|
||||
const cv::Mat &pose1,
|
||||
const cv::Mat &pose2,
|
||||
std::pair<std::vector<std::array<float, 4>>, float> triangulate_and_score(
|
||||
const std::vector<std::array<float, 3>> &pose1,
|
||||
const std::vector<std::array<float, 3>> &pose2,
|
||||
const CameraInternal &cam1,
|
||||
const CameraInternal &cam2,
|
||||
const std::array<std::array<float, 3>, 2> &roomparams,
|
||||
const std::vector<std::array<size_t, 2>> &core_limbs_idx);
|
||||
|
||||
std::vector<std::tuple<cv::Point3f, cv::Mat, std::vector<int>>> calc_grouping(
|
||||
const std::vector<std::pair<std::tuple<int, int, int, int>, std::pair<int, int>>> &all_pairs,
|
||||
const std::vector<std::pair<cv::Mat, float>> &all_scored_poses,
|
||||
std::vector<std::tuple<
|
||||
std::array<float, 3>, std::vector<std::array<float, 4>>, std::vector<int>>>
|
||||
calc_grouping(
|
||||
const std::vector<std::pair<
|
||||
std::tuple<int, int, int, int>, std::pair<int, int>>> &all_pairs,
|
||||
const std::vector<std::pair<std::vector<std::array<float, 4>>, float>> &all_scored_poses,
|
||||
float min_score);
|
||||
|
||||
cv::Mat merge_group(const std::vector<cv::Mat> &poses_3d, float min_score);
|
||||
std::vector<std::array<float, 4>> merge_group(
|
||||
const std::vector<std::vector<std::array<float, 4>>> &poses_3d,
|
||||
float min_score);
|
||||
|
||||
void add_extra_joints(std::vector<cv::Mat> &poses, const std::vector<std::string> &joint_names);
|
||||
void add_extra_joints(
|
||||
std::vector<std::vector<std::array<float, 4>>> &poses,
|
||||
const std::vector<std::string> &joint_names);
|
||||
|
||||
void filter_poses(
|
||||
std::vector<cv::Mat> &poses,
|
||||
std::vector<std::vector<std::array<float, 4>>> &poses,
|
||||
const std::array<std::array<float, 3>, 2> &roomparams,
|
||||
const std::vector<size_t> &core_joint_idx,
|
||||
const std::vector<std::array<size_t, 2>> &core_limbs_idx);
|
||||
|
||||
void add_missing_joints(
|
||||
std::vector<cv::Mat> &poses, const std::vector<std::string> &joint_names);
|
||||
std::vector<std::vector<std::array<float, 4>>> &poses,
|
||||
const std::vector<std::string> &joint_names);
|
||||
|
||||
// Statistics
|
||||
float num_calls = 0;
|
||||
float total_time = 0;
|
||||
float init_time = 0;
|
||||
float undistort_time = 0;
|
||||
float project_time = 0;
|
||||
float match_time = 0;
|
||||
float pairs_time = 0;
|
||||
float pair_scoring_time = 0;
|
||||
float grouping_time = 0;
|
||||
float full_time = 0;
|
||||
float merge_time = 0;
|
||||
float post_time = 0;
|
||||
float convert_time = 0;
|
||||
double num_calls = 0;
|
||||
double total_time = 0;
|
||||
double init_time = 0;
|
||||
double undistort_time = 0;
|
||||
double project_time = 0;
|
||||
double match_time = 0;
|
||||
double pairs_time = 0;
|
||||
double pair_scoring_time = 0;
|
||||
double grouping_time = 0;
|
||||
double full_time = 0;
|
||||
double merge_time = 0;
|
||||
double post_time = 0;
|
||||
double convert_time = 0;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user