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

Sync to 3.3 #11602

Closed
wants to merge 27 commits into from
Closed

Sync to 3.3 #11602

wants to merge 27 commits into from

Conversation

AwePhD
Copy link
Contributor

@AwePhD AwePhD commented Mar 28, 2024

No description provided.

AwePhD and others added 26 commits October 19, 2023 08:39
This data structure is close to the DetDataSample. It removes the fields unrelated to one stage detection. Plus we added a reid_labels field instances.
Add loading and transforms for ReID Detection annotations ReIDDataSample

- Add LoadReIDDetAnnotations loading, with its test. This is a child transform of LoadAnnotations. It changes the _load_labels method to include the person ids for each detections
- Add PackReIDDetInputs formatting, with its test. Since the core SampleData is not a DetDataSample, we re-implement the transform and refactor it. This format should be compatible with Single Stage detector.
Other pack transforms use img_id for the ID of an image which is not compliant with the annotations of openmmlab 2.0.
So we renamed this meta key to img_label.
There were several incompatibilties from annotations and the loading/formatting steps.

- Loading transforms has been adapted to match cuhk SYSU PEDES annotations source.
- Formatting has been arranged, the output stays compatible with mmdet detectors.
The triplet loss is 0 if there is only one positive anchor and nothing else in the the instances.
The dataset only works with open mmlab annotations format.
Only train loader is implemented in the configs.
It does not support the parameter 'with_bbox_refine' from Deformable DETR.
Add of the PSTR model and its base class (Detection ReID).

Also, update of the abstract structure for instance reid detection. We
made the decision to have it implicit so we can keep the original
`InstanceData` as the class. We might use it in the evaluation
function. As it is currently, it only to provide clear information about
the new instance data structure.
- Dockerfile has g++
- relative paths for base config
- remove useless entrypoint from docker-compose
Edit Dockerfile and compose to permit a clean two stages image for training.

The first stage install mmcv (and mmengine) with CUDA support. The image is 14+GB. The second image is taking the compiled version from the first stage and install the mmdet repo on a specific checkout. It "only" takes 8+GB, thanks to the torch image is running on its runtime version.

The size of the images are only illustrative. It heavily depends of the torch base images' sizes.
- adapt the num_persons from the reid head to match the new train set.
- refactor the pstr reid head sample/batch:
  - the weight is set in the sample loss function
  - the management of the dict for one sample is clearer
oim sum the loss by detections
refactoring the runtime in two step. One for the dependencies and another
one to get mmdet from build stage.
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


AwePhD seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@AwePhD AwePhD closed this Mar 28, 2024
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

3 participants