Coder Social home page Coder Social logo

ezra-yu / accv2022_fgia_1st Goto Github PK

View Code? Open in Web Editor NEW
32.0 3.0 1.0 35.55 MB

1st solution for the Webly-supervised Fine-grained Recognition competition in https://www.cvmart.net/race/10412/base

Python 95.22% Shell 4.20% Dockerfile 0.58%
arcface-loss eql fine-grained-classification longtail mae pseudolabelling pytorch swin

accv2022_fgia_1st's Introduction

Solution of FGIA ACCV 2022(1st Place)

This is the 1st Place Solution for Webly-supervised Fine-grained Recognition, refer to the ACCV workshop competition in https://www.cvmart.net/race/10412/base.

Mainly done by Ezra-Yu, Yuan Liu and Songyang Zhang, base on MMClassifiionMMSelfSup. please flork and star them if you think they are useful.

Lecture and slide are available.

Note:

Tricks (AdaptiveSubCenterArcFace, EQL_Loss, Post-Hoc_LT_Adjusment, Uniform_Model_Soup) have been or will be implemented in MMClassifiion.

Result

Show the result

LB A

LB-A

LB B

LB-B


Reproduce / 复现

复现精度请点击这里

Description

Backbone and Pre-train

Archs

  • ViT + CE-loss + post-LongTail-Adjusment
  • ViT + SubCenterArcFaceWithAdvMargin(CE)
  • Swin-B + SubCenterArcFaceWithAdvMargin(SoftMax-EQL)
  • Swin-L + SubCenterArcFaceWithAdvMargin(SoftMAx-EQL)

所有都使用了 Flip TTA

Flow

MIM 预训练 --> 训练 --> 清洗数据 --> fine-tune + 集成 + 生成伪标签交替训练 --> 后处理

  1. MAE 预训练
  2. Swin 与 ViT 的训练
  3. 使用权重做数据清洗
  4. 训练 -> 制作伪标签,放回训练集中 -> 再训练; (testa3轮)
  5. 训练 -> 制作伪标签,放回训练集中 -> 再训练; (testb3轮,包括testa的伪标签)
  6. 模型融合,调整预测的标签分布,提交

flow

Summary

image

使用了没有效果 used but no improvement

  1. 使用检索以及检索分类混合的方式
  2. 使用EfficientNet

后续 not used but worth try

  1. DiVE 蒸馏提升长尾问题表现
  2. Simim 训一个 swinv2 的预训练模型
  3. 优化 re-distribute-label

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.