Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Add support for deepfashion2 dataset #2201

Conversation

ATang0729
Copy link
Contributor

@ATang0729 ATang0729 commented Apr 11, 2023

Motivation

Recently, I'm using mmyolo v0.5.0 and mmpose v0.x, based on dataset DeepFashion2. It's known that the corresponding version of MMCV of these two are incompatible. So I changed my version of mmpose to 1.x. However, I found that the new version doesn't support dataset DeeapFashion2 yet, which has already been supported by the old one (see here).

So I added several configs to enable this new version to train the deepfashion2 dataset. And hope it can help when somebody need to do more complicated fashion landmark tasks.

Modification

The modifications are mainly in the folder configs

  • a new dataset config deepfashion2.py in configs/_base_/datasets
  • several config files in configs/fashion_2d_keypoint/topdown_heatmap/deepfashion2 folder for different tasks and are namely based on the rule.

Others are as below:

  • translate "Inference.md" in "user guides" into Chinese
  • create a new dataset class in mmpose/datasets/datasets/fashion/__init__.py and mmpose/datasets/datasets/fashion/deepfashion2_dataset.py
  • few line wrappings are made in projects/yolox-pose automatically during the commitment

The description of usage is written in docs/en/dataset_zoo/2d_fashion_landmark.md and a copy is made in docs/zh_cn/dataset_zoo/2d_fashion_landmark.md

Due to limited time, I would share pre-trained models and the corresponding training logs later.

BC-breaking (Optional)

No

Use cases (Optional)

Checklist

Before PR:

  • I have read and followed the workflow indicated in the CONTRIBUTING.md to create this PR.
  • Pre-commit or linting tools indicated in CONTRIBUTING.md are used to fix the potential lint issues.
  • Bug fixes are covered by unit tests, the case that causes the bug should be added in the unit tests.
  • New functionalities are covered by complete unit tests. If not, please add more unit tests to ensure correctness.
  • The documentation has been modified accordingly, including docstring or example tutorials.

After PR:

  • CLA has been signed and all committers have signed the CLA in this PR.

@CLAassistant
Copy link

CLAassistant commented Apr 11, 2023

CLA assistant check
All committers have signed the CLA.

@ATang0729 ATang0729 changed the title A tang0729/add support for deepfashion2 dataset Add support for deepfashion2 dataset Apr 11, 2023
@ATang0729 ATang0729 changed the title Add support for deepfashion2 dataset Add support for deepfashion2 dataset in version 1.x Apr 11, 2023
@Ben-Louis Ben-Louis changed the base branch from main to dev-1.x April 11, 2023 13:11
@Ben-Louis Ben-Louis changed the title Add support for deepfashion2 dataset in version 1.x [Feature] Add support for deepfashion2 dataset Apr 11, 2023
@Tau-J
Copy link
Collaborator

Tau-J commented Apr 12, 2023

Thanks a lot for your contribution. Could you remove the Chinese comments in config files? We will review this PR asap.

@ATang0729
Copy link
Contributor Author

how can I share pre-trained models and the corresponding training logs

@Ben-Louis
Copy link
Collaborator

how can I share pre-trained models and the corresponding training logs

Hi @ATang0729, to share your pre-trained models and associated training logs, you can upload the checkpoint files and log data to a cloud storage service such as Google Drive, OneDrive, or BaiduYun. Once uploaded, simply generate a shareable link and provide it to us. Thank you very much!

@Tau-J
Copy link
Collaborator

Tau-J commented Apr 13, 2023

BTW, please provide the .json in terms of training logs, instead of the .log

@ATang0729
Copy link
Contributor Author

BTW, please provide the .json in terms of training logs, instead of the .log

copy that. I will update ASAP

@ATang0729
Copy link
Contributor Author

I found that the inference result may be wrong and even lead to a disaster when using MMPoseInferencer in the way as below because of the disability of specifying of bbox.

inferencer = MMPoseInferencer(
    pose2d=${pose_config},
    pose2d_weights=${pose_checkpoint},
    det_model=${dect_config},
    det_weights=${dect_checkpoint}
)

I thought that the func vis_pose_result in file inference.py, which has been removed in version 1.x, may solve this problem.
So I wrote an extension called vis_pred_save.py. I'm wondering if I should commit to this while worrying the extension may probably not fit your rules.
f977668930d1f3bcdbe17424e1047bd

@OpenMMLab-Assistant-004

Hi @ATang0729 !We are grateful for your efforts in helping improve mmpose open-source project during your personal time.

Welcome to join OpenMMLab Special Interest Group (SIG) private channel on Discord, where you can share your experiences, ideas, and build connections with like-minded peers. To join the SIG channel, simply message moderator— OpenMMLab on Discord or briefly share your open-source contributions in the #introductions channel and we will assist you. Look forward to seeing you there! Join us :https://discord.gg/UjgXkPWNqA
If you have a WeChat account,welcome to join our community on WeChat. You can add our assistant :openmmlabwx. Please add "mmsig + Github ID" as a remark when adding friends:)

Thank you again for your contribution❤

@Tau-J Tau-J mentioned this pull request Apr 20, 2023
11 tasks
@Ben-Louis
Copy link
Collaborator

Hi @ATang0729, top-down pose estimation models are typically used together with object detectors. We will improve Inferencer by incorporating support for specified bounding boxes. On the other hand, utilizing bottom-up or one-stage pose estimation approaches can avoid this issue.

@Tau-J
Copy link
Collaborator

Tau-J commented Apr 20, 2023

BTW, @ATang0729 Could you pull the latest dev-1.x branch to enable CI test?

@ATang0729
Copy link
Contributor Author

BTW, @ATang0729 Could you pull the latest dev-1.x branch to enable CI test?

I’ll do it later

@codecov
Copy link

codecov bot commented Apr 20, 2023

Codecov Report

Patch coverage has no change and project coverage change: +0.01 🎉

Comparison is base (896e9d5) 82.25% compared to head (4fa943b) 82.26%.

❗ Current head 4fa943b differs from pull request most recent head 8e9f75c. Consider uploading reports for the commit 8e9f75c to get more accurate results

Additional details and impacted files
@@             Coverage Diff             @@
##           dev-1.x    #2201      +/-   ##
===========================================
+ Coverage    82.25%   82.26%   +0.01%     
===========================================
  Files          228      232       +4     
  Lines        13387    13582     +195     
  Branches      2268     2307      +39     
===========================================
+ Hits         11011    11173     +162     
- Misses        1862     1881      +19     
- Partials       514      528      +14     
Flag Coverage Δ
unittests 82.26% <ø> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

see 26 files with indirect coverage changes

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@Tau-J Tau-J merged commit c3fb09c into open-mmlab:dev-1.x Apr 23, 2023
Tau-J pushed a commit to Tau-J/mmpose that referenced this pull request Apr 25, 2023
Tau-J pushed a commit to Tau-J/mmpose that referenced this pull request Apr 25, 2023
shuheilocale pushed a commit to shuheilocale/mmpose that referenced this pull request May 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants