WBF, Ensemble for Object Detection 정리
·
ML & DL/Deep Learning
WBF (Weighted Boxes Fusion)Object Detection Task에서 학습된 모델의 결과를 Ensemble 하여 성능을 끌어올리기 위해서는 BBox들을 Ensemble하는 NMS, Soft-NMS 같은 알고리즘을 사용해야 합니다. 기존의 NMS나 Soft-NMS 같은 방법은 기존의 BBox에서 불필요한 BBox를 제거하는 방식으로 동작하였습니다.WBF는 기존의 이러한 방식과는 다르게 모든 BBox를 사용하여 더 나은 BBox를 만들게 됩니다. 이 방법은 연산 속도를 추가적으로 필요하기 때문에 Real Time보다는 Kaggle, Dacon 같은 경진대회에서 주로 사용하는 편입니다.WBF 알고리즘 과정\(B\) : 한 이미지에 대한 모든 BBox의 정보를 Score 기준으로 정렬한 L..
NMS, Soft-NMS 정리 및 구현
·
ML & DL/Deep Learning
NMS (Non-Maximum Suppression)Object Detction 모델이 객체를 정확하게 검출하기 위해 다양한 크기와 비율을 고려하여 하나의 이미지 안에 있는 여러 객체의 검출 값들(Label, Bounding Box, Score)을 구하게 됩니다.이때, 모델은 하나의 객체에 대해 다양한 크기와 비율을 가진 여러개의 검출 값을 모두 사용하는 것은 비용적, 시각적으로 좋지 않습니다.따라서, 여러개의 예측 값들 중에서 Label이 맞으며, Score가 가장 높고, 객체를 잘 표시하는 Bounding Box를 골라내야 하는데 여기서 Non-Maximun Suppression 알고리즘을 사용합니다.즉, NMS 알고리즘은 Score가 가장 낮은 BBox(Bounding Box)를 억제(Suppres..
[MMDetection 2.0] 정리
·
ML & DL/Practice
MMDetection 3.0에 관련한 정리는 이 글에서 확인할 수 있습니다. MMDetection (ver. 2) 사용법 (기본적인 내용) https://greeksharifa.github.io/references/2021/08/30/MMDetection/ Python, Machine & Deep Learning Python, Machine Learning & Deep Learning greeksharifa.github.io Mask(Instance or Segmentation) 모델을 Detection 모델로 학습하기 위한 Config 파일 수정 이 글에서 확인할 수 있습니다. Gradient Accumulative 적용 optimizer_config = dict(_delete_=True, # base..
[MMDetection 3.0] 정리
·
ML & DL/Practice
MMDetection (ver. 3)을 사용하면서 필요한 설정 방법들 정리 POST MMDetection (ver. 2) 사용법 (기본적인 내용) https://greeksharifa.github.io/references/2021/08/30/MMDetection/ Python, Machine & Deep Learning Python, Machine Learning & Deep Learning greeksharifa.github.io Mask(Instance or Segmentation) 모델을 Detection 모델로 학습하기 위한 Config 파일 수정 예를들어, mask_rcnn 모델을 Detection Task로 학습시키고 싶을때 다음 Config 파일의 다음 부분을 수정하면 된다. 1. model..
Mixup 정리 및 구현
·
ML & DL/Deep Learning
Mixup모델을 학습할 때 Overfitting을 방지하기 위해 다양한 규제(Regularization) 기법이 존재합니다.Mixup은 그 중 데이터 증강(Data Augmentation)과 관련된 기술 중 하나로, 학습 데이터에서 두 개의 샘플 데이터를 혼합(Mix)하여 새로운 학습 데이터를 만드는 기술입니다.위 그림처럼 개와 고양이 이미지 데이터를 mixup 한 뒤, image 데이터 뿐만 아니라 label 데이터 또한 mixup 합니다. mixup은 간단하게 수식으로 표현할 수 있습니다.$$ \hat{x} = \lambda x_i + (1-\lambda) x_j $$$$ \hat{y} = \lambda y_i + (1-\lambda) y_j $$\(x\) : image 데이터 (\(x_i\)는 고양..
[Ubuntu] Docker Container 한글 깨짐 해결
·
Develop/Linux
1. locales 설치 $ apt-get install locales 2. 한글 설치 확인 $ locale -a ko_KR.utf8 이 없는 것을 확인할 수 있다. 3. 한글 패키치 다운로드 $ apt-get install language-pack-ko 다시 2번을 확인하면 ko_KR.utf8 을 확인할 수 있다. 4. 한글 locale 구성하기 $ locale-gen ko_KR.utf8 5. 한글 locale 설정하기 $ dpkg-reconfigure locales 엔터를 누르며 ko.KR.UTF-8 에 해당하는 number를 찾습니다 (ubuntu 18.04의 경우 298번 이였습니다.) 엔터를 누르다 Locales to be generated가 뜨면 298을 입력해주고, Default locale..
[Ubuntu] Matplotlib 한글 폰트 설정
·
Develop/Linux
1. Nanum Font Install apt-get install fonts-nanum* 2. matplotlib 경로 확인 print(matplotlib.__file__) 3. Nanum Font copy to matplotlib cp /usr/share/fonts/truetype/nanum/Nanum* /opt/conda/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf/ 4. matplotlib Font cache 삭제 rm -rf ~/.cache/matplotlib/* 5. Font 목록 확인 import matplotlib.font_manager font_list = matplotlib.font_manager.findSystemFonts(f..
[Ubuntu] wget 으로 구글 드라이브 파일 Download
·
Develop/Linux
1. 링크 생성 2. 명령어 수정 wget --load-cookies ~/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies ~/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id={FILEID}' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id={FILEID}" -O {FILENAME} && rm -rf ~/cookies.txt 위 명령어에서 {FILEDID} 2개를 내 링크의 FILEDID로 변경한다..
욱근욱
'분류 전체보기' 카테고리의 글 목록 (27 Page)