Abstract

This paper describes InfoGAN, an information-theoretic extension to the Generative Adversarial Network that is able to learn disentangled representations in a completely unsupervised manner. InfoGAN is a generative adversarial network that also maximizes the mutual information between a small subset of the latent variables and the observation. We derive a lower bound of the mutual information objective that can be optimized efficiently. Specifically, InfoGAN successfully disentangles writing styles from digit shapes on the MNIST dataset, pose from lighting of 3D rendered images, and background digits from the central digit on the SVHN dataset. It also discovers visual concepts that include hair styles, presence/absence of eyeglasses, and emotions on the CelebA face dataset. Experiments show that InfoGAN learns interpretable representations that are competitive with representations learned by existing supervised methods. For an up-to-date version of this paper, please seehttps://arxiv.org/abs/1606.03657.


이 논문은 비지도 학습에서 각각의 분리된 표현을 학습할 수 있는 GAN에서 정보이론적 의미가 확장된 infoGAN을 소개한다.

InfoGAN은 잠재 변수와 관측 변수의 하위 집합 사이에서 상호 정보를 최대화하는 GAN이다.

우리는 효율적으로 최적화 시킬 수 있는 상호 정보 목표의 하한을 도출한다.

특히, InfoGAN은 SVHN 데이터셋에서 중요 표현과 백그라운드, 3D 렌더링 이미지에서의 명암, MNIST에서의 숫자의 스타일과 같은 표현들을 성공적으로 분리했다.

또한, CelebA 데이터셋에서 머리 스타일, 안경의 유무 그리고 감정과 같은 특징들을 포함한 시각적 개념들을 찾아낼 수 있다.

InfoGAN은 지도 학습의 방법에 의해 학습된 표현들과 달리 해석 가능한 표현을 학습할 수 있다는 장점을 가진다.


요약

  • Mutual Information은 두 확률 분포가 서로 얼머나 의존관계에 있는가에 대한 개념이다.
    • 의존적이면 높은 값, 의존적이지 않으면 0으로 수렴하게 된다.
  • disentangled의 의미는 분리된 표현을 의미하는데, MNIST를 예로 들면 글자의 두께, 선의 표현 등을 의미한다.
  • 성능을 높이려고 시도 한 논문들은 DiscoGAN, CycleGAN, DualGAN

 

Reference

Chen, X., Duan, Y., Houthooft, R., Schulman, J., Sutskever, I., & Abbeel, P. (2016). Infogan: Interpretable representation learning by information maximizing generative adversarial nets. In Advances in neural information processing systems (pp. 2172-2180).

Abstract. 

We present a method for detecting objects in images using a single deep neural network. Our approach, named SSD, discretizes the output space of bounding boxes into a set of default boxes over different aspect ratios and scales per feature map location. At prediction time, the network generates scores for the presence of each object category in each default box and produces adjustments to the box to better match the object shape. Additionally, the network combines predictions from multiple feature maps with different resolutions to naturally handle objects of various sizes. SSD is simple relative to methods that require object proposals because it completely eliminates proposal generation and subsequent pixel or feature resampling stages and encapsulates all computation in a single network. This makes SSD easy to train and straightforward to integrate into systems that require a detection component. Experimental results on the PASCAL VOC, COCO, and ILSVRC datasets confirm that SSD has competitive accuracy to methods that utilize an additional object proposal step and is much faster, while providing a unified framework for both training and inference. For 300 × 300 input, SSD achieves 74.3% mAP on VOC2007 test at 59 FPS on a Nvidia Titan X and for 512 × 512 input, SSD achieves 76.9% mAP, outperforming a comparable state-of-the-art Faster R-CNN model. Compared to other single stage methods, SSD has much better accuracy even with a smaller input image size. Code is available at: https://github.com/weiliu89/caffe/tree/ssd .


단일 deep NN을 사용하여 이미지의 객체를 탐지하기 위한 방법을 소개한다.

SSD는 bbox의 출력 공간을 특성 맵 location 당 크기와 다양한 aspect ratio를 통해 일련의 bbox로 구분한다.

추론시에, 네트워크는 각 box에 대해 객체 카테고리의 존재에 대한 score를 계산하고 객체 모양에 가장 잘 맞는 box를 고안한다.

추가로 네트워크는 객체의 다양한 크기를 다루기 위한 다른 방법들을 가진 multiple feature maps로 부터 생성된 prediction을 혼합한다.

SSD는 제안 생성과 후속 픽셀 또는 특징 리샘플링 단계를 제거하고 단일 네트워크에서 모든 계산을 행하기 때문에 객체 제안이 필요한 방법에 비해 단순하다.

이는 학습과 감지 요소가 필요한 시스템에 대한 통합을 쉽게한다. 

다양한 데이터셋에 대해 SSD는 객체 제안 방법보다 경쟁적인 정확도를 보여주고 빠르며, 학습과 추론을 위한 프레임워크를 제공한다.

300x300의 사이즈에서 VOC 2007 테스트 데이터셋에 대해 74.3% mAP를 달성하였고 Nvidia Titan X에서 59 FPS를 보였다.

500x500의 사이즈에서 Faster R-CNN보다 높은 76.9%의 mAP를 달성하였다. 

다른 단일 단계 방법과 비교했을 때, 이미지 크기가 작아도 훨씬 우수한 성능을 보여주었다.


요약

  • 1-stage : region proposal, 작업을 한번에 하는 것
  • 2-stage : region proposal path를 따로 구성하여 detect하는 것 
  • 여러 개의 conv에서 나온 다양한 크기의 feature map을 bounding box detect에 사용한다
  • Loss 는 주로 fast R-CNN과 같으며, bbox를 얼마나 이동시켜야 하는지에 대한 파라미터인 d를 학습시킨다
  • YOLO에 비해 상당히 많은 default bbox를 생성하는데 이는 곧 성능향상으로 이루어진다

 

 

Reference

Liu, W., Anguelov, D., Erhan, D., Szegedy, C., Reed, S., Fu, C. Y., & Berg, A. C. (2016, October). Ssd: Single shot multibox detector. In European conference on computer vision (pp. 21-37). Springer, Cham.

Abstract

We present YOLO, a new approach to object detection. Prior work on object detection repurposes classifiers to perform detection. Instead, we frame object detection as a regression problem to spatially separated bounding boxes and associated class probabilities. A single neural network predicts bounding boxes and class probabilities directly from full images in one evaluation. Since the whole detection pipeline is a single network, it can be optimized end-to-end directly on detection performance. Our unified architecture is extremely fast. Our base YOLO model processes images in real-time at 45 frames per second. A smaller version of the network, Fast YOLO, processes an astounding 155 frames per second while still achieving double the mAP of other real-time detectors. Compared to state-of-the-art detection systems, YOLO makes more localization errors but is less likely to predict false positives on background. Finally, YOLO learns very general representations of objects. It outperforms other detection methods, including DPM and R-CNN, when generalizing from natural images to other domains like artwork.


object detection을 위한 YOLO를 소개한다.

object detection의 사전 연구는 분류기를 객체 탐지용으로 변환하여 사용하는데에 목적이 있었다.

우리는 object detection을 연관 클래스 확률과 bounding box 회귀문제로 정의한다.

한번의 평가에서 전체 이미지에 대해 클래스 확률과 bounding box를 추론한다.

detection pipeline은 end-to-end로 최적화 된 단일 신경망으로 구성된다.

우리의 통합된 아키텍처는 매우 빠르다.

YOLO는 실시간으로 초당 45프레임을 처리할 수 있다.

경량 버전인 Fast YOLO는 다른 실시간 detector의 mAP의 두배를 달성하면서도 초당 155 프레임을 처리한다.

최신 모델과 비교하면, YOLO는 localization error를 많이 발생시키지만 background에 대해서 false positive는 덜 발생시킨다.

마지막으로, YOLO는 객체의 일반화된 표현을 학습한다. natural image에서 예술작품과 같은 다른 도메인으로 일반화 시킬때 DPM과 R-CNN을 포함한 다른 탐지기에 비해 우수한 성능을 낸다.


요약

  • 이전 연구의 모든것을 통합했다. 빠르다. end-to-end

  • 1x1 network를 통해 모델 파라미터 갯수를 낮추려고 노력을 많이 했다.

  • Classifier부분에 단순히 Dense를 1~2개 사용한 것이 아니라 Conv를 활용해보았다.

  • Non Maximum Suppression 방법을 통해 class와 bbox를 예측한다.

      1. 각 grid cell마다 2개의 bbox를 만든다.
      1. 각 bbox의 class score가 일정 수준보다 낮은 경우는 0으로 채우고 score가 높은 순서대로 sorting한다.
      1. 가장 높은 bbox를 기준으로 다음으로 높은 bbox와 IOU를 계산하여 일정 수준이상 겹치면 0으로 채워 지운다.
  • 일정 bbox 크기만 학습을 하기 때문에 다양한 객체 학습에 어려움이 있음.


 

Reference

Redmon, J., Divvala, S., Girshick, R., & Farhadi, A. (2016). You only look once: Unified, real-time object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 779-788).

Abstract

State-of-the-art object detection networks depend on region proposal algorithms to hypothesize object locations. Advances like SPPnet [1] and Fast R-CNN [2] have reduced the running time of these detection networks, exposing region proposal computation as a bottleneck. In this work, we introduce a Region Proposal Network (RPN) that shares full-image convolutional features with the detection network, thus enabling nearly cost-free region proposals. An RPN is a fully convolutional network that simultaneously predicts object bounds and objectness scores at each position. The RPN is trained end-to-end to generate high-quality region proposals, which are used by Fast R-CNN for detection. We further merge RPN and Fast R-CNN into a single network by sharing their convolutional features—using the recently popular terminology of neural networks with “attention” mechanisms, the RPN component tells the unified network where to look. For the very deep VGG-16 model [3], our detection system has a frame rate of 5fps (including all steps) on a GPU, while achieving state-of-the-art object detection accuracy on PASCAL VOC 2007, 2012, and MS COCO datasets with only 300 proposals per image. In ILSVRC and COCO 2015 competitions, Faster R-CNN and RPN are the foundations of the 1st-place winning entries in several tracks. Code has been made publicly available.


SOTA object detection 기법은 주로 객체의 위치를 추정하는 region proposal 알고리즘에 의존해오고 있다. 

SPPnet과 Fast R-CNN과 같은 진전은 네트워크의 속도를 감소시켜 왔고, bottleneck이 주로 region proposal에 존재한다는 것을 증명했다.

이 논문에서는 region proposal의 속도를 상당히 감축시킬 수 있고, 네트워크와 cnn features를 공유할 수 있는 RPN(Region Proposal Network)를 소개한다.

RPN은 각 위치의 objectness score, object bound를 동시에 예측하는 fully convolutional network이다.

RPN은 Fast R-CNN에서 사용된 high-quality region proposal을 생성하는 것을 end-to-end방식으로 학습한다.

우리는 RPN의 요소가 어느 부분을 관찰해야하는지에 대해 attention 메커니즘을 활용하여 convolutional features를 공유하는 단일 네트워크로 이뤄진 Fast R-CNN과 RPN을 통합했다.

다수의 이미지 데이터셋에서 이미지당 300 proposal만 수행하여 SOTA를 달성했고 5fps의 프레임율을 가진다.

ILSVRC, COCO 2015 competition에서 1위를 차지하였으며 코드는 오픈되어있다.


요약

  • RCN -> Fast R-CNN -> Faster R-CNN(2015) / Mask R-CNN(2017)
  • Region Proposal에 사용되는 Selective Search는 segmentation을 위한 방법이며, 동일한 group끼리 mere시켜준다. 
  • R-CNN의 가장 큰 문제는 느리다는 점과 training pipeline이 너무 길고 복잡하다.
  • Fast R-CNN은 위의 문제를 어느 정도 해결하였으며 핵심은 ROI Pooling이다. 
  • Fast R-CNN은 test time에서 Region Proposal이 병목현상을 일으켜 문제가 된다.
  • 이 문제를 해결하기 위해(Selective Search를 통한 RP(Region Proposal)은 CPU에서 돌기 때문에 느리다) RPN을 만들어서 GPU를 활용해보자는 것이 Faster R-CNN이다.
  • CNN의 마지막 단에서 1x1 CNN을 사용하여 cls layer와 reg layer를 정의하고 Objectness scores(cls layer)에서는 객체의 존재여부, Bounding Box Regression(reg layer)에서는 좌표점을 추론하게 된다. 이때, anchor를 활용하는데 image size, aspect ratio에 따라 갯수가 달라지며, 이를 통해 결과값을 도출하게 된다. 

 

Reference

Ren, S., He, K., Girshick, R., & Sun, J. (2015). Faster r-cnn: Towards real-time object detection with region proposal networks. In Advances in neural information processing systems (pp. 91-99).

Abstract

Convolutional Neural Networks define an exceptionally powerful class of models, but are still limited by the lack of ability to be spatially invariant to the input data in a computationally and parameter efficient manner. In this work we introduce a new learnable module, the Spatial Transformer, which explicitly allows the spatial manipulation of data within the network. This differentiable module can be inserted into existing convolutional architectures, giving neural networks the ability to actively spatially transform feature maps, conditional on the feature map itself, without any extra training supervision or modification to the optimisation process. We show that the use of spatial transformers results in models which learn invariance to translation, scale, rotation and more generic warping, resulting in state-of-the-art performance on several benchmarks, and for a number of classes of transformations.


CNN은 여전히 강력하지만 spatillay invariant하기 때문에 제한적인 부분이 존재한다.

네트워크에서 공간적으로 데이터를 조작할 수 있는 Spatial Transformer를 소개한다.

이 모듈은 최적화 과정에서 여분의 학습 조정이 필요없이 조건 하에서 스스로 특징맵을 공간적으로 변환할 수 있다.

translation, scale, rotation, and more generic warping에 대한 invariance를 학습하며, SOTA를 확인하였다.


요약

  • CNN의 한계 중 하나는 공간 상에서 크기가 변하거나 회전하거나 위치를 이동하였을 때 즉, 공간적인 변화가 있을 경우 물체를 잘 탐지하지 못하는 문제가 있다. 
  • spatial transform은 찌그러트리거나 회전시키는 등의 노이즈가 첨가된 이미지를 통해 적절히 추론하여 적절한 아웃풋을 도출해내는 모듈이다.
  • Localisation net은 input을 통해 적절히 추론할 output을 만들어낼 transform matrix를 찾는다. 
  • Grid Generator은 transform matrix(localization set에서 찾아진)를 실질적으로 매핑하는 단계이다.
  • Sampler는 Grid Generator가 만들어낸 값들을 하나하나 읽어오게 된다.
  • Deformable CNN(2017)과 비교하여 보면 좋다. (이 논문은 2015 NIPS) - 가장 중요한 차이점은 Deformable은 기본 CNN연산에 offset을 추가하여 계산량이 증가하지 않지만, 이 논문은 Sampler에서 interpolation을 해주게 될때 연산량이 증가하게 된다는 점이다. 

 

Reference

Jaderberg, M., Simonyan, K., & Zisserman, A. (2015). Spatial transformer networks. In Advances in neural information processing systems (pp. 2017-2025).