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 = "tsinghua"
|
||||
# dataset_use = "human36m_wb"
|
||||
# dataset_use = "egohumans"
|
||||
datasets = {
|
||||
"panoptic": {
|
||||
"path": "/datasets/panoptic/skelda/test.json",
|
||||
@ -63,6 +64,17 @@ datasets = {
|
||||
"path": "/datasets/human36m/skelda/wb/test.json",
|
||||
"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
|
||||
@ -169,6 +181,13 @@ def load_labels(dataset: dict):
|
||||
elif "human36m_wb" in dataset:
|
||||
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:
|
||||
raise ValueError("Dataset not available")
|
||||
|
||||
@ -215,8 +234,8 @@ def main():
|
||||
print(labels[0])
|
||||
|
||||
minscores = {
|
||||
# Choose this depending on the fraction of invalid/missing persons
|
||||
# A higher value reduces the number of proposals
|
||||
# Describes how good two 2D poses need to match each other to create a valid triangulation
|
||||
# If the quality of the 2D detections is poor, use a lower value
|
||||
"panoptic": 0.94,
|
||||
"human36m": 0.94,
|
||||
"mvor": 0.86,
|
||||
@ -224,19 +243,32 @@ def main():
|
||||
"shelf": 0.96,
|
||||
"ikeaasm": 0.89,
|
||||
"tsinghua": 0.96,
|
||||
"egohumans": 0.95,
|
||||
"human36m_wb": 0.94,
|
||||
"koarob": 0.91,
|
||||
}
|
||||
minscore = minscores.get(dataset_use, 0.95)
|
||||
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
|
||||
"panoptic": 1,
|
||||
"shelf": 2,
|
||||
"tsinghua": 2,
|
||||
"egohumans": 4,
|
||||
}
|
||||
min_group_size = min_group_sizes.get(dataset_use, 1)
|
||||
if dataset_use == "panoptic" and len(datasets["panoptic"]["cams"]) == 10:
|
||||
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 ...")
|
||||
all_poses = []
|
||||
|
||||
2
skelda
2
skelda
Submodule skelda updated: acae51f7ba...87caa796fd
Reference in New Issue
Block a user