IoU, Precision, Recall, mAP 정리
·
ML & DL/Deep Learning
IoU (Intersection Over Union)Object Detection 모델의 성능을 평가하기 위한 지표이다.즉, 다음 그림과 같이 Ground Truth Bounding Box (정답 Bounding Box)가 주어지고 Predict Bounding Box (예측 Bounding Box)를 출력했을 때, 예측한 BBox가 맞는지 틀린지를 결정하기 위해 사용된다.IoU는 다음 그림과 같이 예측 BBox와 정답 BBox간 교집합 부분의 면적을 합집합 면적으로 나눈 값이다.이때 맞다 틀리다를 Threshold(임계값)을 지정하여 판단하는데 만약 임계값이 0.5로 주어진다면 IoU 값이 0.5 이상이면 제대로 검출(True Positive) 0.5 미만이면 잘못 검출 (False Positive)라..
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..
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\)는 고양..
CNN Architectures
·
ML & DL/Deep Learning
AlexNet 8개의 레이어 (5 Convolution Layer, 3 Fully Connected Layer)로 구성 해당 논문에서 그림에는 Input Image Size가 224x224x3 으로 나와있지만, 잘못된 표기로 227이 맞습니다. ReLU 사용 Drop out 적용 Overlapping Pooling Local Response Normalization (LRN) Data Augmentation 파라미터 계산 방법 더보기 \(O\) : Output Size, \(I\) : Input Size, \(S\) : Stride, \(P\) : Padding Size, \(K\) : Num Kernels, \(P_s\) : Pooling Size Convolution Layer \(O = \frac{..
1 x 1 Convolution ?
·
ML & DL/Deep Learning
1 x 1 Convolution AlexNet과 VGGNet의 큰 파라미터를 줄이기 위해 GoogLeNet에서는 1x1 Convolution을 사용했습니다. 1x1 Convolution은 이후 다양한 모델에서 연산량을 줄이기 위해 사용되어 이 방법이 매우 효과적임을 증명합니다. 입력 데이터의 채널(Channel) 수 조절 위 그림과 같은 (64 * 64 * 192) 블럭에 (1 * 1 * 192) 블럭을 Convolution 하게 되면 (64 * 64)개의 픽셀(원소) 각각의 192개의 채널(숫자)와 필터(1*1)의 192개의 채널(숫자) 사이에서 요소간 곱셈을 하게 됩니다. 정리하자면, 필요한 필터는 (1 * 1 * #channel * #filter)가 되며, #channel은 입력 블럭의 channe..
Albumentations 사용법 및 예시
·
ML & DL/Deep Learning
Albumentations 최근 DACON 대회나 실습에서 Pytorch를 사용하고 있습니다. 여기서 부족한 image 데이터를 위해 image Augmentation 기법을 사용하여 image를 여러 형태로 변환하고 그것을 데이터에 추가하여 학습시키는 방법을 사용합니다.주로 torchvision.transform를 사용하여 augmentation을 사용하지만, 더 다양하고 처리 속도가 빠른 Albumentations를 알게되어 사용하고자 정리하기 위해 작성합니다.  Homepagehttps://albumentations.ai/ AlbumentationsAlbumentations: fast and flexible image augmentationsalbumentations.aiGitHubhttps://g..
욱근욱
'ML & DL/Deep Learning' 카테고리의 글 목록