Skip to content

ColdTbrew/pixel_Satellite-Image-Segmentation

 
 

Repository files navigation

🛰️SW중심대학 공동 AI 경진대회 2023 (Satellite Image Building Area Segmentation)

[PIXEL Team]
ColdTbrew
hyjk826
uijinee
junghyun2moon

대회 참여 소감

픽셀 팀이 SW중심대학협의회가 주관한 대회 4등을 수상했습니다 .저희 픽셀 팀은 위성 이미지 segmentation 주제에 대해 ai 모델을 개발과 튜닝을 통해 private 리더보드에서 공동 4등을 했습니다 . 이 모델을 통해 원격탐사 자료를 기반으로 수치지도 갱신, 도시계획, 3D 건물 모델링 등의 다양한 분야에서의 연구가 원활하게 이뤄질 수 있을 것으로 기대합니다. 처음 참석 하는 대회라 실험을 체계적으로 하지 못한 점이 아쉽지만 다음에 대회를 참여하게 된다면 더 좋은 성적을 얻을 수있다고 확신합니다.

Index

대회 사이트

데이콘

주제 선정 배경

image

InternImage 🌃

Install mmseg

Installation

Pretrained Checkpoints

  1. INTERN_best_mDice_iter_336000.pth
    Download Link

  2. INTERN_k1_best_mDice_iter_210000.pth
    Download Link

  3. INTERN_k3_best_mDice_iter_220000.pth
    Download Link

  4. INTERN_k4_best_mDice_iter_280000.pth
    Download Link

How to start training

   cd mmseg_0.x.x
   python segmentation/train.py work_dirs/no4/INTERN_config.py

How to start inference

   cd mmseg_0.x.x
   python segmentation/inference.py

SWINv2 🌌

Install mmseg

Installation

Pretrained path

  1. Swin Pretrained pth
    Download Link

Pretrained Checkpoints

  1. swin_best_mDice_iter_320000.pth (160k + 160k)
    Google Drive Link

How to start training

  1. Training:
    cd mmseg_1.x.x
    python tools/train.py work_dirs/swin/swin_config.py
    

How to start inference

cd mmseg_1.x.x
python work_dirs/swin/infer.py

Mask2Former 🖼️

Install mmseg

Installation

Pretrained Checkpoints

  1. m2f_K2_best_mDice_iter_90000.pth (90k)
    Google Drive Link

  2. m2f_K3_best_mDice_iter_90000.pth (90k + 90k)
    Google Drive Link

  3. m2f_K4_best_mDice_iter_90000.pth (90k + 90k)
    Google Drive Link

How to start training

  1. K2 Training:

    cd mmseg_1.x.x
    python tools/train.py work_dirs/mask2former/m2f_config_k2.py
    
  2. K3 Training:

    cd mmseg_1.x.x
    python tools/train.py work_dirs/mask2former/m2f_config_k3.py
    
  3. K4 Training:

    cd mmseg_1.x.x
    python tools/train.py work_dirs/mask2former/m2f_config_k4.py
    

How to start inference

cd mmseg_1.x.x
python work_dirs/mask2former/infer_m2f.py

Ensemble 🎯

Ensemble

  1. Swin (단일 모델)
  2. internimage
    • best_mDice_iter_336000 + k1 + k3 + k4 (threshold = 2)
  3. mask2former
    • k2 + k3 + k4 (threshold = 2)

last submit
swin + internimage + mask2former (threshold = 2)

Extra ensemble

Ensemble_by_weight
점수를 최대한 높이기 위해 csv 앙상블의 단점인 threshold를 다양하게 적용해 보기 위해 여러 제출 .csv 파일을 이용해 각각 submit.csv의 public score를 기준으로 각각 가중치를 주어 앙상블 후 ensemble8_21_th0.35.csv 생성해 최고 public score를 0.8226를 도달함

System environment: 🖥️

  • sys.platform: linux
  • Python: 3.8.5 (default, Sep 4 2020, 07:30:14) [GCC 7.3.0]
  • CUDA available: True
  • numpy_random_seed: 1545188287
  • GPU 0: A100-SXM4-40GB
  • CUDA_HOME: /usr/local/cuda
  • NVCC: Cuda compilation tools, release 11.0, V11.0.221
  • GCC: gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
  • PyTorch: 1.12.1

PyTorch compiling details:

  • GCC 9.3

  • C++ Version: 201402

  • Intel(R) oneAPI Math Kernel Library Version 2021.4-Product Build 20210904 for Intel(R) 64 architecture applications

  • Intel(R) MKL-DNN v2.6.0 (Git Hash 52b5f107dd9cf10910aaa19cb47f3abf9b349815)

  • OpenMP 201511 (a.k.a. OpenMP 4.5)

  • LAPACK is enabled (usually provided by MKL)

  • NNPACK is enabled

  • CPU capability usage: AVX2

  • CUDA Runtime 11.3

  • NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86;-gencode;arch=compute_37,code=compute_37

  • CuDNN 8.3.2 (built against CUDA 11.5)

  • Magma 2.5.2

  • Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=11.3, CUDNN_VERSION=8.3.2, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/c++, CXX_FLAGS=-fabi-version=11 -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_KINETO -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -DEDGE_PROFILER_USE_KINETO -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Werror=cast-function-type -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=1.12.1, USE_CUDA=ON, USE_CUDNN=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=OFF, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF,

  • TorchVision: 0.13.1

  • OpenCV: 4.8.0

  • MMEngine: 0.8.2

Runtime environment:

  • cudnn_benchmark: True
  • mp_cfg: {'mp_start_method': 'fork', 'opencv_num_threads': 0}
  • dist_cfg: {'backend': 'nccl'}
  • seed: 1545188287
  • Distributed launcher: none
  • Distributed training: False
  • GPU number: 1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 75.7%
  • Python 22.8%
  • Cuda 1.2%
  • C++ 0.2%
  • Shell 0.1%
  • Dockerfile 0.0%