티스토리 뷰
논문 제목: Addressing unfamiliar ship type recognition in real-scenario vessel monitoring: a multi-angle metric networks framework
감시 카메라로 밀입국한 중국 선박을 감지하는 인공지능 모델을 만들고 있는데, 전혀 다른 외형의 중국 어선을 few-shot learning으로 구별해낼 수 있을까 하여 해당 논문을 정리해본다.
제안된 방법론
Triplet Generator
각 클래스별로 분류된 선박을 Anchor, Positive, Negative의 세 이미지가 있는 묶음으로 재분할 한다. Anchor는 비교할 이미지, Positive에는 Anchor와 동일한 클래스의 이미지, Negative에는 Anchor와 다른 클래스의 이미지가 들어간다.
Triple Feature Extractor
ResNet34 기반의 CNN 네트워크이나, 마지막 레이어만 선박 이미지를 저차원 벡터로 매핑할 수 있도록 완전 연결층으로 바꾸었다.
Multi-scale Triplet Loss Function
모델은 Anchor의 피처와 Positive의 피처간 거리는 가까워지도록, Anchor의 피처와 Negative의 피처간 거리는 멀어지도록 학습한다. 첫 번째 식인 유클리디언 거리를 예로 들면, 전자는 감소하고 후자는 증가해야 전체 Loss가 감소할 것이다.
이렇게 코사인 거리, 유클리디언 거리 등을 전부 구한 뒤 비례상수 알파, 베타를 붙인 후 모두 더한다. 그 후 작은 상수 값인 Margin을 두어 두 피처간의 거리가 0이 되는 것을 막는다. 모델은 이 전체 Loss가 감소하는 방향으로 Feature Extractor를 학습시킨다.
Multi-scale Similarity Measure Module
모델 Test 단계에선 서포트 데이터셋과 쿼리 데이터셋이 주어진다. 서포트 데이터셋의 정보들로 같은 클래스의 피처들을 평균낸 뒤 저차원 공간에 매핑한다. 그리고 쿼리 데이터셋과 평균 사이의 유사도를 구해, 가장 그 값이 큰 클래스로 쿼리의 클래스를 선택한다.
1. 서포트 데이터셋은 N개의 클래스에 대해 여러 장의 이미지를 가지고 있다. 이들을 전부 훈련된 Feature Extractor에 넣어 각각의 벡터를 구한다.
2. 이 벡터들을 평균내어 저차원 공간에 매핑한다.
3. 쿼리 데이터셋은 우리가 종류를 모르는 선박에 대한 이미지가 들어있다. 각 이미지를 Feature Extractor에 넣어 벡터를 구한다.
4. 쿼리 벡터와 서포트 평균 벡터들 사이의 유사도를 제안된 metric으로 구한 뒤, argmax 함수를 통해 가장 유사도가 높은 클래스로 선택한다.
실험결과
데이터셋
데이터셋 링크: https://figshare.com/articles/dataset/_b_ShipMonitoring-LSS_Dataset_b_/27874146
모델 훈련 디테일
1. 훈련 과정에서는 5개의 클래스로 분류된 데이터셋을 통해 네트워크를 학습시킨다. 이 때, 모델은 클래스 분류를 하는 것이 아니라, 유사한 이미지는 가까운 벡터 공간에, 다른 이미지는 먼 벡터 공간에 배치시키는 방법을 학습한다.
2. 테스트 과정에선 5개보다 많은 클래스로 분류된 새로운 데이터셋이 사용된다. 예를 들어, 논문에서는 9개의 클래스로 분할된 데이터셋을 사용한다. 그리고 각 클래스에는 오직 5장의 이미지만이 존재한다.
3. 이들을 각각 네트워크를 통과시시켜 저차원 공간에 매핑한 후, 클래스별로 평균내어 중심점을 정한다.
4. 그리고 클래스를 모르는 쿼리 이미지를 네트워크에 통과시킨 뒤, 과연 이것이 9개의 중심점 중 어디와 가장 유사한지 파악하여 클래스를 정한다.
모델은 이미지가 어떤 클래스에 속하는지를 파악하는 것이 아니라, 어떤 이미지와 유사한지 파악하는 것이다.
PCA 임베딩과 t-SNE 임베딩을 통한 피처 벡터 가시화
1. PCA(Principal Component Analysis) 임베딩
PCA는 선형 차원 축소(linear dimensionality reduction) 기법으로, 데이터의 분산을 최대한 보존하면서 고차원 데이터를 저차원 공간으로 변환하는 방법입니다.
주요 아이디어:
고차원 데이터가 존재할 때, 각 데이터가 가지는 특성(features)의 선형 결합을 통해 데이터를 가장 잘 설명하는 방향(주성분, principal components)을 찾습니다.
첫 번째 주성분은 데이터의 분산이 최대가 되도록 설정되고, 두 번째 주성분은 첫 번째 주성분과 수직이면서 남은 분산을 최대화하도록 설정됩니다.
이후 주성분들은 서로 직교(orthogonal)하면서 순차적으로 데이터의 남은 분산을 최대로 설명하도록 정의됩니다.
사용 목적:
차원 축소를 통한 계산량 감소
시각화를 통한 데이터 분석
노이즈 제거 및 중복 정보 감소
장점:
속도가 빠르고 계산 효율적이며 직관적임.
차원 축소 시 해석 가능성이 높음.
단점:
데이터의 비선형적 구조는 잘 보존하지 못함.
2. t-SNE (t-Distributed Stochastic Neighbor Embedding) 임베딩
t-SNE는 비선형(non-linear) 차원 축소 및 데이터 시각화를 위한 방법으로, 특히 고차원의 복잡한 데이터 구조를 시각적으로 효과적으로 나타내기 위한 기법입니다.
주요 아이디어:
원래의 고차원 공간에서의 각 데이터 간의 유사도(거리를 확률적으로 정의)를 계산하고, 이를 저차원 공간에서의 유사도와 최대한 유사하게 유지하도록 최적화합니다.
고차원에서는 가우시안(Gaussian) 분포로 유사도를 모델링하고, 저차원에서는 t-분포를 사용하여 데이터 간 상대적 관계를 더 명확히 나타낼 수 있게 합니다.
사용 목적:
고차원 데이터를 시각화하여 직관적인 군집(cluster) 구조를 관찰
복잡한 데이터의 구조(예: 딥러닝 임베딩, 이미지 특성, 텍스트 임베딩 등)를 효과적으로 표현하는데 널리 사용
장점:
데이터의 비선형적 구조 및 지역적(local) 군집 특성을 잘 나타냄.
복잡한 구조를 직관적으로 보여줄 수 있음.
단점:
계산량이 많으며 속도가 상대적으로 느림.
저차원 공간에서의 거리, 클러스터의 크기, 밀도가 실제 데이터 분포와 정확히 일치하지 않을 수 있음(즉, 절대적 거리 해석에 주의 필요).
'논문 분석 > 2D 컴퓨터 비전' 카테고리의 다른 글
Swin Transformer - Hierarchical Vision Transformer using Shifted Windows (0) | 2024.01.12 |
---|---|
Two-stage ViT based ship image inpainting (0) | 2023.11.04 |
MAT: Mask-Aware Transformer for Large Hole Image Inpainting (1) | 2023.10.24 |
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (0) | 2023.09.29 |