orhir / PoseAnything

A Graph-Based Approach for Category-Agnostic Pose Estimation [ECCV 2024]
https://orhir.github.io/pose-anything/
Apache License 2.0
311 stars 17 forks source link

Could you please tell the GPU(brand, RAM size etc.) used for training and the duration of the training #11

Open oopsRookie opened 6 days ago

oopsRookie commented 6 days ago

1、Could you please tell the GPU(brand, RAM size etc.) used for training and the duration of the training? 2、Could you provide the directory structure under the 'data' folder? I'm a bit confused about the preparation of the dataset.

Thank you a lot!

orhir commented 5 days ago
  1. We used Nvidia RTX A500, training took less than a day.
  2. Sure, here is the tree inside data folder:
    .
    ├── annotations
    │   ├── mp100_split1_test.json
    │   ├── mp100_split1_train.json
    │   ├── mp100_split1_val.json
    │   ├── mp100_split2_test.json
    │   ├── mp100_split2_train.json
    │   ├── mp100_split2_val.json
    │   ├── mp100_split3_test.json
    │   ├── mp100_split3_train.json
    │   ├── mp100_split3_val.json
    │   ├── mp100_split4_test.json
    │   ├── mp100_split4_train.json
    │   ├── mp100_split4_val.json
    │   ├── mp100_split5_test.json
    │   ├── mp100_split5_train.json
    │   └── mp100_split5_val.json
    ├── images
    │   ├── alpaca_face
    │   ├── amur_tiger_body
    │   ├── antelope_body
    │   ├── arcticwolf_face
    │   ├── beaver_body
    │   ├── bed
    │   ├── bighornsheep_face
    │   ├── bison_body
    │   ├── blackbuck_face
    │   ├── bobcat_body
    │   ├── bonobo_face
    │   ├── bus
    │   ├── californiansealion_face
    │   ├── camel_face
    │   ├── capebuffalo_face
    │   ├── capybara_face
    │   ├── car
    │   ├── cat_body
    │   ├── chair
    │   ├── cheetah_body
    │   ├── chipmunk_face
    │   ├── commonwarthog_face
    │   ├── cow_body
    │   ├── dassie_face
    │   ├── deer_body
    │   ├── dog_body
    │   ├── elephant_body
    │   ├── fallowdeer_face
    │   ├── fennecfox_face
    │   ├── ferret_face
    │   ├── fly_body
    │   ├── fox_body
    │   ├── gentoopenguin_face
    │   ├── gerbil_face
    │   ├── germanshepherddog_face
    │   ├── gibbons_face
    │   ├── giraffe_body
    │   ├── goldenretriever_face
    │   ├── gorilla_body
    │   ├── grebe_body
    │   ├── greyseal_face
    │   ├── grizzlybear_face
    │   ├── guanaco_face
    │   ├── gull_body
    │   ├── hamster_body
    │   ├── hippo_body
    │   ├── horse_body
    │   ├── human_body
    │   ├── human_face
    │   ├── human_hand
    │   ├── kingfisher_body
    │   ├── klipspringer_face
    │   ├── leopard_body
    │   ├── lion_body
    │   ├── locust_body
    │   ├── long_sleeved_dress
    │   ├── long_sleeved_outwear
    │   ├── long_sleeved_shirt
    │   ├── macaque_body
    │   ├── olivebaboon_face
    │   ├── onager_face
    │   ├── otter_body
    │   ├── pademelon_face
    │   ├── panda_body
    │   ├── panther_body
    │   ├── pig_body
    │   ├── polar_bear_body
    │   ├── proboscismonkey_face
    │   ├── przewalskihorse_face
    │   ├── quokka_face
    │   ├── rabbit_body
    │   ├── raccoon_body
    │   ├── rat_body
    │   ├── rhino_body
    │   ├── sheep_body
    │   ├── shorts
    │   ├── short_sleeved_dress
    │   ├── short_sleeved_outwear
    │   ├── short_sleeved_shirt
    │   ├── skirt
    │   ├── skunk_body
    │   ├── sling
    │   ├── sling_dress
    │   ├── sofa
    │   ├── sparrow_body
    │   ├── spider_monkey_body
    │   ├── squirrel_body
    │   ├── suv
    │   ├── swivelchair
    │   ├── table
    │   ├── tern_body
    │   ├── trousers
    │   ├── vest
    │   ├── vest_dress
    │   ├── warbler_body
    │   ├── weasel_body
    │   ├── wolf_body
    │   ├── woodpecker_body
    │   ├── wren_body
    │   └── zebra_body
oopsRookie commented 3 days ago
  1. We used Nvidia RTX A500, training took less than a day.
  2. Sure, here is the tree inside data folder: . ├── annotations │   ├── mp100_split1_test.json │   ├── mp100_split1_train.json │   ├── mp100_split1_val.json │   ├── mp100_split2_test.json │   ├── mp100_split2_train.json │   ├── mp100_split2_val.json │   ├── mp100_split3_test.json │   ├── mp100_split3_train.json │   ├── mp100_split3_val.json │   ├── mp100_split4_test.json │   ├── mp100_split4_train.json │   ├── mp100_split4_val.json │   ├── mp100_split5_test.json │   ├── mp100_split5_train.json │   └── mp100_split5_val.json ├── images │   ├── alpaca_face │   ├── amur_tiger_body │   ├── antelope_body │   ├── arcticwolf_face │   ├── beaver_body │   ├── bed │   ├── bighornsheep_face │   ├── bison_body │   ├── blackbuck_face │   ├── bobcat_body │   ├── bonobo_face │   ├── bus │   ├── californiansealion_face │   ├── camel_face │   ├── capebuffalo_face │   ├── capybara_face │   ├── car │   ├── cat_body │   ├── chair │   ├── cheetah_body │   ├── chipmunk_face │   ├── commonwarthog_face │   ├── cow_body │   ├── dassie_face │   ├── deer_body │   ├── dog_body │   ├── elephant_body │   ├── fallowdeer_face │   ├── fennecfox_face │   ├── ferret_face │   ├── fly_body │   ├── fox_body │   ├── gentoopenguin_face │   ├── gerbil_face │   ├── germanshepherddog_face │   ├── gibbons_face │   ├── giraffe_body │   ├── goldenretriever_face │   ├── gorilla_body │   ├── grebe_body │   ├── greyseal_face │   ├── grizzlybear_face │   ├── guanaco_face │   ├── gull_body │   ├── hamster_body │   ├── hippo_body │   ├── horse_body │   ├── human_body │   ├── human_face │   ├── human_hand │   ├── kingfisher_body │   ├── klipspringer_face │   ├── leopard_body │   ├── lion_body │   ├── locust_body │   ├── long_sleeved_dress │   ├── long_sleeved_outwear │   ├── long_sleeved_shirt │   ├── macaque_body │   ├── olivebaboon_face │   ├── onager_face │   ├── otter_body │   ├── pademelon_face │   ├── panda_body │   ├── panther_body │   ├── pig_body │   ├── polar_bear_body │   ├── proboscismonkey_face │   ├── przewalskihorse_face │   ├── quokka_face │   ├── rabbit_body │   ├── raccoon_body │   ├── rat_body │   ├── rhino_body │   ├── sheep_body │   ├── shorts │   ├── short_sleeved_dress │   ├── short_sleeved_outwear │   ├── short_sleeved_shirt │   ├── skirt │   ├── skunk_body │   ├── sling │   ├── sling_dress │   ├── sofa │   ├── sparrow_body │   ├── spider_monkey_body │   ├── squirrel_body │   ├── suv │   ├── swivelchair │   ├── table │   ├── tern_body │   ├── trousers │   ├── vest │   ├── vest_dress │   ├── warbler_body │   ├── weasel_body │   ├── wolf_body │   ├── woodpecker_body │   ├── wren_body │   └── zebra_body

Thanks for your quick reply! I still have a little confusion about the preparation of the dataset and would like to ask you: Are all the folders under the "data/images/" directory filled with PNG images only? If so, do the images come from unzipping all of train, val, test datasets, or just include train dataset only? Could you provide a more detailed directory and file structure for the “data/images” directory ? Thanks again!

orhir commented 3 days ago

All these folders are links, created following the official guide: https://github.com/luminxu/Pose-for-Everything/blob/main/mp100/README.md

Most of them point to a folder of images (train/test separation is done in the annotation file). We recommend using a shell script to speed this process up. For example:

for LINK_NAME in antelope_body beaver_body bison_body bobcat_body cat_body cheetah_body cow_body deer_body dog_body elephant_body fox_body giraffe_body gorilla_body hamster_body hippo_body horse_body leopard_body lion_body otter_body panda_body panther_body pig_body polar_bear_body rabbit_body raccoon_body rat_body rhino_body sheep_body skunk_body spider_monkey_body squirrel_body weasel_body wolf_body zebra_body
do
   ln -s local_path/ap-10k/data $LINK_NAME
done

Finally, here is the complete link list, maybe you will find this helpful:

alpaca_face -> local_path/animal_dataset_v1_clean_check/
amur_tiger_body -> local_path/AFLW/aflw/data/
antelope_body -> local_path/ap-10k/data/
arcticwolf_face -> local_path/animal_dataset_v1_clean_check/
beaver_body -> local_path/ap-10k/data/
bed -> local_path/Keypoint-5/bed/images/
bighornsheep_face -> local_path/animal_dataset_v1_clean_check/
bison_body -> local_path/ap-10k/data/
blackbuck_face -> local_path/animal_dataset_v1_clean_check/
bobcat_body -> local_path/ap-10k/data/
bonobo_face -> local_path/animal_dataset_v1_clean_check/
bus/
californiansealion_face -> local_path/animal_dataset_v1_clean_check/
camel_face -> local_path/animal_dataset_v1_clean_check/
capebuffalo_face -> local_path/animal_dataset_v1_clean_check/
capybara_face -> local_path/animal_dataset_v1_clean_check/
car/
cat_body -> local_path/ap-10k/data/
chair -> local_path/Keypoint-5/chair/images/
cheetah_body -> local_path/ap-10k/data/
chipmunk_face -> local_path/animal_dataset_v1_clean_check/
commonwarthog_face -> local_path/animal_dataset_v1_clean_check/
cow_body -> local_path/ap-10k/data/
dassie_face -> local_path/animal_dataset_v1_clean_check/
deer_body -> local_path/ap-10k/data/
dog_body -> local_path/ap-10k/data/
elephant_body -> local_path/ap-10k/data/
fallowdeer_face -> local_path/animal_dataset_v1_clean_check/
fennecfox_face -> local_path/animal_dataset_v1_clean_check/
ferret_face -> local_path/animal_dataset_v1_clean_check/
fly_body -> local_path/fly_body/images/
fox_body -> local_path/ap-10k/data/
gentoopenguin_face -> local_path/animal_dataset_v1_clean_check/
gerbil_face -> local_path/animal_dataset_v1_clean_check/
germanshepherddog_face -> local_path/animal_dataset_v1_clean_check/
gibbons_face -> local_path/animal_dataset_v1_clean_check/
giraffe_body -> local_path/ap-10k/data/
goldenretriever_face -> local_path/animal_dataset_v1_clean_check/
gorilla_body -> local_path/ap-10k/data/
grebe_body -> local_path/CUB_POSE_Partitions/grebe_body/
greyseal_face -> local_path/animal_dataset_v1_clean_check/
grizzlybear_face -> local_path/animal_dataset_v1_clean_check/
guanaco_face -> local_path/animal_dataset_v1_clean_check/
gull_body -> local_path/CUB_POSE_Partitions/gull_body/
hamster_body -> local_path/ap-10k/data/
hippo_body -> local_path/ap-10k/data/
horse_body -> local_path/ap-10k/data/
human_body -> local_path/COCO/merged/
human_face -> local_path/300W/
human_hand -> local_path/OneHand10K/
kingfisher_body -> local_path/CUB_POSE_Partitions/kingfisher_body/
klipspringer_face -> local_path/animal_dataset_v1_clean_check/
leopard_body -> local_path/ap-10k/data/
lion_body -> local_path/ap-10k/data/
locust_body -> local_path/locust/images/
long_sleeved_dress -> local_path/DeepFashion2/train/image/
long_sleeved_outwear -> local_path/DeepFashion2/train/image/
long_sleeved_shirt -> local_path/DeepFashion2/train/image/
macaque_body -> local_path/macaque_body/images/
olivebaboon_face -> local_path/animal_dataset_v1_clean_check/
onager_face -> local_path/animal_dataset_v1_clean_check/
otter_body -> local_path/ap-10k/data/
pademelon_face -> local_path/animal_dataset_v1_clean_check/
panda_body -> local_path/ap-10k/data/
panther_body -> local_path/ap-10k/data/
pig_body -> local_path/ap-10k/data/
polar_bear_body -> local_path/ap-10k/data/
proboscismonkey_face -> local_path/animal_dataset_v1_clean_check/
przewalskihorse_face -> local_path/animal_dataset_v1_clean_check/
quokka_face -> local_path/animal_dataset_v1_clean_check/
rabbit_body -> local_path/ap-10k/data/
raccoon_body -> local_path/ap-10k/data/
rat_body -> local_path/ap-10k/data/
rhino_body -> local_path/ap-10k/data/
sheep_body -> local_path/ap-10k/data/
shorts -> local_path/DeepFashion2/train/image/
short_sleeved_dress -> local_path/DeepFashion2/train/image/
short_sleeved_outwear -> local_path/DeepFashion2/train/image/
short_sleeved_shirt -> local_path/DeepFashion2/train/image/
skirt -> local_path/DeepFashion2/train/image/
skunk_body -> local_path/ap-10k/data/
sling -> local_path/DeepFashion2/train/image/
sling_dress -> local_path/DeepFashion2/train/image/
sofa -> local_path/Keypoint-5/sofa/images/
sparrow_body -> local_path/CUB_POSE_Partitions/sparrow_body/
spider_monkey_body -> local_path/ap-10k/data/
squirrel_body -> local_path/ap-10k/data/
suv/
swivelchair -> local_path/Keypoint-5/swivelchair/images/
table -> local_path/Keypoint-5/table/images/
tern_body -> local_path/CUB_POSE_Partitions/tern_body/
trousers -> local_path/DeepFashion2/train/image/
vest -> local_path/DeepFashion2/train/image/
vest_dress -> local_path/DeepFashion2/train/image/
warbler_body -> local_path/CUB_POSE_Partitions/warbler_body/
weasel_body -> local_path/ap-10k/data/
wolf_body -> local_path/ap-10k/data/
woodpecker_body -> local_path/CUB_POSE_Partitions/woodpecker_body/
wren_body -> local_path/CUB_POSE_Partitions/wren_body/
zebra_body -> local_path/ap-10k/data/
oopsRookie commented 3 days ago

k/data/ woodpecker_body -> local_path/

Thank you very much for your detailed explanation, it has been very helpful to me, I really appreciate it!

oopsRookie commented 2 days ago

@orhir May I bother you again?

  1. For AFLWand OneHand10K: I'd like to ask if all the files in the directories local_path/AFLW/aflw/data/ and local_path/OneHand10K/ are PNG images, and whether there are any subfolders included. Could you take a look at the directory and file structure on your computer?

    for AFLW, I got three zip files: aflw-images-0.tar.gz、aflw-images-2.tar.gz、aflw-images-3.tar.gz. should I unzip them and move them into one folder?

  2. If it's convenient, could you send the OneHand10K dataset to me, either through a cloud storage link or to my email yangfanoops@163.com?
    > (I assure that it will be used solely for scientific and academic research and will not involve any commercial activities.)

  3. And for CarFusion dataset: how can I organize car/, bus/, suv/ folder from 10 images_jpg folders, the following are my downloaded files from CarFusion Official website.(And When should I run your 'fix CarFusion filename errors' program to correct the names? Do I need to run the two scripts from the CarFusion authors (carfusion_to_coco, rename_carfusion_image) before running your script, or can I just run your script(fix_carfuxion.py)directly?)

CarFusion
|-- car_butler1
|   |-- bb
|   |-- gt
|   `-- images_jpg
|-- car_butler2
|   |-- bb
|   |-- gt
|   `-- images_jpg
|-- car_craig1
|   |-- bb
|   |-- gt
|   `-- images_jpg
|-- car_craig2
|   |-- bb
|   |-- gt
|   `-- images_jpg
|-- car_fifth1
|   |-- bb
|   |-- gt
|   `-- images_jpg
|-- car_fifth2
|   |-- bb
|   |-- gt
|   `-- images_jpg
|-- car_morewood1
|   |-- bb
|   |-- gt
|   `-- images_jpg
|-- car_morewood2
|   |-- bb
|   |-- gt
|   `-- images_jpg
|-- car_penn1
|   |-- bb
|   |-- gt
|   `-- images_jpg
|-- car_penn2
|   |-- bb
|   |-- gt
|   `-- images_jpg

Thank you for your patience and understanding! I really appreciate your help and look forward to hearing from you soon. And Best regards.

orhir commented 1 day ago
  1. Sure. The structure for 'local_path/AFLW/aflw/data/' includes subfolders, and is not only png files:

    .
    ├── aflw-changelog.txt
    ├── aflw.sqlite
    └── flickr
    ├── 0  [7202 entries exceeds filelimit, not opening dir]
    ├── 2  [7385 entries exceeds filelimit, not opening dir]
    └── 3  [6536 entries exceeds filelimit, not opening dir]

    And the same goes for OneHand10K:

    .
    ├── images  [10000 entries exceeds filelimit, not opening dir]
    ├── readme
    ├── Test
    │   ├── label_joint.txt
    │   ├── mask  [1703 entries exceeds filelimit, not opening dir]
    │   └── source  [1703 entries exceeds filelimit, not opening dir]
    └── Train
    ├── label_joint.txt
    ├── mask  [10000 entries exceeds filelimit, not opening dir]
    └── source  [10000 entries exceeds filelimit, not opening dir]
  2. We don't want to break the OneHand10K terms, so we kindly ask that you wait for them to send you their dataset by applying for it on their dataset page (they are pretty responsive).

  3. Use the provided official scripts and then use our fix.

Good luck!