[Project] Add ACCV workshop 1st Solution. (#1245)
* add accv workshop 1st project * update projects * update projects * fix lint * Update projects/fgia_accv2022_1st/README.md Co-authored-by: Yuan Liu <30762564+YuanLiuuuuuu@users.noreply.github.com> * Update projects/fgia_accv2022_1st/README.md Co-authored-by: Yuan Liu <30762564+YuanLiuuuuuu@users.noreply.github.com> * Update projects/fgia_accv2022_1st/README.md Co-authored-by: Yuan Liu <30762564+YuanLiuuuuuu@users.noreply.github.com> * update * Update projects/fgia_accv2022_1st/README.md Co-authored-by: Yuan Liu <30762564+YuanLiuuuuuu@users.noreply.github.com> * Update projects/fgia_accv2022_1st/README.md Co-authored-by: Yuan Liu <30762564+YuanLiuuuuuu@users.noreply.github.com> * Update projects/fgia_accv2022_1st/README.md Co-authored-by: Yuan Liu <30762564+YuanLiuuuuuu@users.noreply.github.com> * update * Update projects/fgia_accv2022_1st/README.md Co-authored-by: Yuan Liu <30762564+YuanLiuuuuuu@users.noreply.github.com> * Update projects/fgia_accv2022_1st/README.md Co-authored-by: Yuan Liu <30762564+YuanLiuuuuuu@users.noreply.github.com> * Update projects/fgia_accv2022_1st/README.md Co-authored-by: Yuan Liu <30762564+YuanLiuuuuuu@users.noreply.github.com> * Update projects/fgia_accv2022_1st/README.md Co-authored-by: Yuan Liu <30762564+YuanLiuuuuuu@users.noreply.github.com> * update * update * update Co-authored-by: Yuan Liu <30762564+YuanLiuuuuuu@users.noreply.github.com>pull/1260/head
parent
ea53bce580
commit
1c6b077bb1
|
@ -0,0 +1,76 @@
|
|||
# Solution of FGIA ACCV 2022(1st Place)
|
||||
|
||||
This is fine-tuning part of the 1st Place Solution for Webly-supervised Fine-grained Recognition, refer to the ACCV workshop competition in https://www.cvmart.net/race/10412/base.
|
||||
|
||||
## Result
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Show the result</summary>
|
||||
|
||||
<br>
|
||||
|
||||
**LB A**
|
||||
|
||||

|
||||
|
||||
**LB B**
|
||||
|
||||

|
||||
|
||||
</br>
|
||||
|
||||
</details>
|
||||
|
||||
## Reproduce / 复现
|
||||
|
||||
For detailed self-supervised pretrain code, please refer to [MMSelfSup](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/projects/fgia_accv2022_1st).
|
||||
For detailed finetuning and inference code, please refer to [this repo](https://github.com/Ezra-Yu/ACCV2022_FGIA_1st).
|
||||
|
||||
## Description
|
||||
|
||||
### Overview of Our Solution
|
||||
|
||||

|
||||
|
||||
### Our Model
|
||||
|
||||
- ViT(MAE-pre-train) # Pretrained from [**MMSelfSup**](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/projects/fgia_accv2022_1st).
|
||||
- Swin-v2(SimMIM-pre-train) # From [MMCls-swin_transformer_v2](https://github.com/open-mmlab/mmclassification/tree/dev-1.x/configs/swin_transformer_v2).
|
||||
|
||||
\*\*The architectures we use \*\*
|
||||
|
||||
- ViT + CE-loss + post-LongTail-Adjusment
|
||||
- ViT + SubCenterArcFaceWithAdvMargin(CE)
|
||||
- Swin-B + SubCenterArcFaceWithAdvMargin(SoftMax-EQL)
|
||||
- Swin-L + SubCenterArcFaceWithAdvMargin(SoftMAx-EQL)
|
||||
|
||||
## bag of tricks paper and code
|
||||
|
||||
- [MAE](https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/mae) | [Config](https://github.com/Ezra-Yu/ACCV_workshop/tree/master/configs/vit)
|
||||
- [Swinv2](https://github.com/open-mmlab/mmclassification/tree/dev-1.x/configs/swin_transformer_v2) | [Config](https://github.com/Ezra-Yu/ACCV_workshop/tree/master/configs/swin)
|
||||
- [ArcFace](https://arxiv.org/abs/1801.07698) | [Code](https://github.com/Ezra-Yu/ACCV_workshop/blob/master/src/models/arcface_head.py)
|
||||
- [SubCenterArcFaceWithAdvMargin](https://paperswithcode.com/paper/sub-center-arcface-boosting-face-recognition) | [Code](https://github.com/Ezra-Yu/ACCV_workshop/blob/master/src/models/arcface_head.py)
|
||||
- [Post-LT-adjusment](https://paperswithcode.com/paper/long-tail-learning-via-logit-adjustment) | [Code](https://github.com/Ezra-Yu/ACCV_workshop/blob/master/src/models/linear_head_lt.py)
|
||||
- [SoftMaxEQL](https://paperswithcode.com/paper/the-equalization-losses-gradient-driven) | [Code](https://github.com/Ezra-Yu/ACCV_workshop/blob/master/src/models/eql.py)
|
||||
- FlipTTA [Code](https://github.com/Ezra-Yu/ACCV_workshop/blob/master/src/models/tta_classifier.py)
|
||||
- clean dataset
|
||||
- self-emsemble: [Uniform-model-soup](https://arxiv.org/abs/2203.05482) | [code](https://github.com/Ezra-Yu/ACCV_workshop/blob/master/tools/model_soup.py)
|
||||
- [pseudo](https://lilianweng.github.io/posts/2021-12-05-semi-supervised/) | [Code](https://github.com/Ezra-Yu/ACCV_workshop/blob/master/tools/creat_pseudo.py)
|
||||
- bagging-emsemble [Code](https://github.com/Ezra-Yu/ACCV_workshop/blob/master/tools/emsemble.py),
|
||||
- post-process: [re-distribute-label](https://github.com/Ezra-Yu/ACCV_workshop/blob/master/tools/re-distribute-label.py);
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
#### Used but no improvements
|
||||
|
||||
1. Using retrieval paradigm to solve this classification task;
|
||||
2. Using EfficientNetv2 backbone.
|
||||
|
||||
#### Not used but worth to do
|
||||
|
||||
1. Try [DiVE](https://arxiv.org/abs/2103.15042) algorithm to improve performance in long tail dataset;
|
||||
2. Use SimMIM to pre-train Swin-v2 on the competition dataset;
|
||||
3. refine the re-distribute-label tool.
|
Loading…
Reference in New Issue