Evaluation of egohumans dataset.
This commit is contained in:
1885
media/RESULTS.md
1885
media/RESULTS.md
File diff suppressed because it is too large
Load Diff
@ -25,6 +25,7 @@ dataset_use = "human36m"
|
|||||||
# dataset_use = "ikeaasm"
|
# dataset_use = "ikeaasm"
|
||||||
# dataset_use = "tsinghua"
|
# dataset_use = "tsinghua"
|
||||||
# dataset_use = "human36m_wb"
|
# dataset_use = "human36m_wb"
|
||||||
|
# dataset_use = "egohumans"
|
||||||
datasets = {
|
datasets = {
|
||||||
"panoptic": {
|
"panoptic": {
|
||||||
"path": "/datasets/panoptic/skelda/test.json",
|
"path": "/datasets/panoptic/skelda/test.json",
|
||||||
@ -63,6 +64,17 @@ datasets = {
|
|||||||
"path": "/datasets/human36m/skelda/wb/test.json",
|
"path": "/datasets/human36m/skelda/wb/test.json",
|
||||||
"take_interval": 100,
|
"take_interval": 100,
|
||||||
},
|
},
|
||||||
|
"egohumans": {
|
||||||
|
"path": "/datasets/egohumans/skelda/all.json",
|
||||||
|
"take_interval": 2,
|
||||||
|
# "subset": "tagging",
|
||||||
|
"subset": "legoassemble",
|
||||||
|
# "subset": "fencing",
|
||||||
|
# "subset": "basketball",
|
||||||
|
# "subset": "volleyball",
|
||||||
|
# "subset": "badminton",
|
||||||
|
# "subset": "tennis",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
joint_names_2d = test_triangulate.joint_names_2d
|
joint_names_2d = test_triangulate.joint_names_2d
|
||||||
@ -169,6 +181,13 @@ def load_labels(dataset: dict):
|
|||||||
elif "human36m_wb" in dataset:
|
elif "human36m_wb" in dataset:
|
||||||
labels = load_json(dataset["human36m_wb"]["path"])
|
labels = load_json(dataset["human36m_wb"]["path"])
|
||||||
|
|
||||||
|
elif "egohumans" in dataset:
|
||||||
|
labels = load_json(dataset["egohumans"]["path"])
|
||||||
|
labels = [lb for lb in labels if "test" in lb["splits"]]
|
||||||
|
labels = [lb for lb in labels if dataset["egohumans"]["subset"] in lb["seq"]]
|
||||||
|
if dataset["egohumans"]["subset"] in ["volleyball", "tennis"]:
|
||||||
|
labels = [lb for i, lb in enumerate(labels) if i % 150 < 60]
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise ValueError("Dataset not available")
|
raise ValueError("Dataset not available")
|
||||||
|
|
||||||
@ -215,8 +234,8 @@ def main():
|
|||||||
print(labels[0])
|
print(labels[0])
|
||||||
|
|
||||||
minscores = {
|
minscores = {
|
||||||
# Choose this depending on the fraction of invalid/missing persons
|
# Describes how good two 2D poses need to match each other to create a valid triangulation
|
||||||
# A higher value reduces the number of proposals
|
# If the quality of the 2D detections is poor, use a lower value
|
||||||
"panoptic": 0.94,
|
"panoptic": 0.94,
|
||||||
"human36m": 0.94,
|
"human36m": 0.94,
|
||||||
"mvor": 0.86,
|
"mvor": 0.86,
|
||||||
@ -224,19 +243,32 @@ def main():
|
|||||||
"shelf": 0.96,
|
"shelf": 0.96,
|
||||||
"ikeaasm": 0.89,
|
"ikeaasm": 0.89,
|
||||||
"tsinghua": 0.96,
|
"tsinghua": 0.96,
|
||||||
|
"egohumans": 0.95,
|
||||||
"human36m_wb": 0.94,
|
"human36m_wb": 0.94,
|
||||||
"koarob": 0.91,
|
"koarob": 0.91,
|
||||||
}
|
}
|
||||||
minscore = minscores.get(dataset_use, 0.95)
|
minscore = minscores.get(dataset_use, 0.95)
|
||||||
min_group_sizes = {
|
min_group_sizes = {
|
||||||
|
# Describes the minimum number of camera pairs that need to detect the same person
|
||||||
# If the number of cameras is high, and the views are not occluded, use a higher value
|
# If the number of cameras is high, and the views are not occluded, use a higher value
|
||||||
"panoptic": 1,
|
"panoptic": 1,
|
||||||
"shelf": 2,
|
"shelf": 2,
|
||||||
"tsinghua": 2,
|
"tsinghua": 2,
|
||||||
|
"egohumans": 4,
|
||||||
}
|
}
|
||||||
min_group_size = min_group_sizes.get(dataset_use, 1)
|
min_group_size = min_group_sizes.get(dataset_use, 1)
|
||||||
if dataset_use == "panoptic" and len(datasets["panoptic"]["cams"]) == 10:
|
if dataset_use == "panoptic" and len(datasets["panoptic"]["cams"]) == 10:
|
||||||
min_group_size = 4
|
min_group_size = 4
|
||||||
|
if dataset_use == "egohumans" and (
|
||||||
|
"lego" in labels[0]["seq"] or "tagging" in labels[0]["seq"]
|
||||||
|
):
|
||||||
|
min_group_size = 2
|
||||||
|
if dataset_use == "egohumans" and (
|
||||||
|
"volleyball" in labels[0]["seq"] or "badminton" in labels[0]["seq"]
|
||||||
|
):
|
||||||
|
min_group_size = 7
|
||||||
|
if dataset_use == "egohumans" and "tennis" in labels[0]["seq"]:
|
||||||
|
min_group_size = 11
|
||||||
|
|
||||||
print("\nRunning predictions ...")
|
print("\nRunning predictions ...")
|
||||||
all_poses = []
|
all_poses = []
|
||||||
|
|||||||
2
skelda
2
skelda
Submodule skelda updated: acae51f7ba...87caa796fd
Reference in New Issue
Block a user