2021년 11월 21일 일요일

Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection

ATSS Paper [https://arxiv.org/abs/1912.02424]


[Abstract]

- Point out that the essential difference between anchor-based and anchor-free detection is actually how to define positive and negative training samples, which leads to the performance gap between them

- Propose an Adaptive Training Sample Selection (ATSS) to automatically select positive and negative samples according to statistical characteristics of object.

- Achieving state-of-the-art performance on MS COCO(AP 50.7%) without introducing any additional overhead.





친절한 설명으로 Object Detection에 대해서도 전반적인 경향을 알 수 있는 좋은 논문이다.
ATSS 알고리즘이 어려운 개념이 들어가진 않아 이해하기 쉬웠고 성능도 준수하여 흥미로웠던 논문.
 



2021년 5월 2일 일요일

Imagenet: A Large-Scale Hierarchical Image Database

 Imagenet: A Large-Scale Hierarchical Image Database

[https://ieeexplore.ieee.org/document/5206848]




2009년 Princeton Univ에서 만든 image database에대한 논문입니다.


[Introduction] 


- Motivation
We believe that a large-scale ontology of images is a critical resource for developing advanced, large-scale content-based image search and image understanding algorithms, as well as for providing critical training and benchmarking data for such algorithms.

- Goal
Our goal is to show that ImageNet can serve as a useful resource for visual recognition applications such as object recognition, image classification and object localization.

[Properties of Imagenet]
1. Scale 
- ImageNet aims to contain in the order of 50 million cleanly labeled full resolution images (500-1000 per synset).

- The current 12 subtrees consist of a total of 3.2 million cleanly annotated images spread over 5,247 categories.

-  To our knowledge this is already the largest clean image dataset available to the vision research community, in terms of the total number of images, number of images per category as well as the number of categories.


 
2. Hierarchy
 
- ImageNet organizes the different classes of images in a densely populated semantic hierarchy.

3. Accuracy

4. Diversity


- have variable appearances, positions, view points, poses as well as background clutter and occlusions.

[Constructing ImageNet]
 
1. Collecting Candidate Images
- ImageNet aims to eventually offer 500-1000 clean images per synset.
- Collect candidate images from the Internet by querying several image search engines.

2. Cleaning Candidate Images
- Used AMT.

2021년 4월 3일 토요일

YOLO-V1

You Only Look Once: Unified, Real-Time Object Detection 

[https://arxiv.org/abs/1506.02640]


2016년 Facebook-AI에서 나온 One Stage-Object Detection 논문입니다.



[Introduction]

해당 논문에서는 크게 3가지의 이점으로 제안한 YOLO모델의 유효성을 제시하고 있습니다.

1. 빠른 속도

  • YOLO모델은 Titan X GPU기준으로 45fps, Fast-YOLO모델은 150fps의 속도를 나타냅니다.

2. 이미지 전체를 보고 추론

  • Sliding windowRegion propasal과 같은 기법들과는 다르게 이미지의 전체적인 정보를 봅니다.

3. 다른 도메인이나 예상치 못한 input에 강함


[Unify detection]

- 이미지를 $S$x$S$로 분할합니다.

- 각각의 cell은 $B$개의 bounding box(이하 bbox)와 confidence score를 갖고있습니다.

  bbox coordinate= $x, y, width, height$

  confidence score=$P_{r}(Object) * IOU^{truth}_{pred}$이며 cellobject가 있다면 $P_{r}(Object)$이 될것이고 없다면 0이될것입니다.

- 각각의 cell은 $C$개의 conditional class probabilities를 갖고있습니다.

  $C$=$Pr(Class_{i}|Object)$

- 최종 출력은 $S$x$S$x($B$x$5$+$C$)의 tensor를 갖게됩니다.

 

[Network architecture]

- 24개의 conv layer, 2개의 fc layer 사용하였으며 Fast-YOLO모델은 9개의 conv layer만 사용하였습니다.

- Google net inception module을 사용하는 대신에 1x1 conv를 사용하여 채널을 줄이고 연산속도도 향상하는 효과를 보았습니다.

- input shape는 448x448로 detection관점에서 좀 더 세밀한 정보가 필요하기 때문에 기존 224x224 shape에서 2배 scaling-up을 진행하였습니다.


[Training]

- bbox들을 normalization하여 [0, 1]사이로 맵핑시켰습니다.





- activation functionleaky-ReLU를 사용하였습니다.













- loss function은 위와 같습니다. SSE(Sum squared error)를 적용하였는데 AP(Average precision)을 최대화하려는 목적과 

  부합하지는 않지만 optimize하기 쉬워 적용했다고 합니다.

- 여기서 $\mathbb{I}_{ij}^{obj}$는 $0<=i<=S^{2}$범위에 GT object가 존재하며 $0<=j<=B$번째 bbox가 $i$구간에 있는 모델이 추론한 bbox들을 말합니다.

- 현 YOLO의 구조에서는 cell들의 대부분이 object가 포함되어 있지 않은데 이로 인해 confidence score가 0쪽으로 

  치우쳐져 있게 됩니다. 이 현상은 모델이 불안정해지고 train이 조기에 빗나갈 수 있도록 만드는데 

  $\lambda_{coord}$와 $\lambda_{noobj}$의 hyper-parameter를 대안으로 냈습니다.

- 파라미터 셋팅은 다음과 같습니다.

  • batch size: 64
  • lr momentum: 0.9
  • lr decay: 0.0005    
  • lr epoch: slowly raise first epoch lr $10^{-3}$ to $10^{-2}$, $10^{-2}$ until 75epoch, $10^{-3}$ for 30epoch, $10^{-4}$ for 40 epoch  
  • used dropout rate with 0.5    
  • data augmentation: random scaling, translate up to 20% original image size,
    exposure and saturation by factor of
    1.5 in HSV channel


[Limitation of YOLO V1] 

- $S$x$S$범위에서 bbox 2개와 하나의 object class밖에 추론할 수 없어서 작은 object들이 무리로 나오는 데이터에는 굉장히 취약합니다.