Microsoft COCO: Common Objects in Context, Tsung-Yi Lin et al., 2014 를 읽고 요약한 글입니다.
Abstract
해당 논문은 새로운 데이터셋을 소개한다. 328k장의 이미지와 250만개의 라벨이 지정된 인스턴스를 사용하며 91개의 객체가 포함되어있는 데이터셋이다.
해당 논문은 PASCAL, ImageNet 및 SUN과 비교하여 데이터셋에 대한 자세한 통계 분석을 제시하며 Deformable Parts Model을 사용한 바운딩 박스와 segmentation detection의 결과에 대한 베이스라인의 성능 분석을 제공한다.
1. Introduction
Computer Vision의 주요 목표 중 하나는 시각적인 장면(visual scenes)을 이해하는 것이며 이는 obejct detection, object의 위치 파악 등 많은 작업들이 포함된다.
수 많은 이미지를 포함하는 ImageNet 데이터셋은 최근 obejct detection 연구에서 큰 발전을 가능하게 했으며 object attributes, scene attributes, keypoints, 3D scene information을 포함하는 데이터셋을 만들었다.
해당 연구진들은 어떤 데이터셋이 scene understanding(장면 이해)라는 궁극적인 목표를 향해 진보를 지속하는가에 의문을 가지며 scene understanding에서 아래 3가지 핵심 연구 문제를 해결하기 위한 새로운 대규모 데이터셋을 소개한다.
첫번째 문제는 물체가 이미지 중앙에 배경에 방해받지 않아야 한다. 두번째 문제는 여러 객체를 포함하는 자연 이미지를 찾는 것이다. 마지막으로 데이터셋에 모든 객체 범주의 모든 인스턴스에 라벨이 지정되고 완전히 segmentation되어야만 한다. 아래 Figure2와 같이 instance-level segmentation masks의 주석은 독특하게 진행되었다.
이 3가지 목표를 만족하는 대규모 데이터셋을 만들기 위해 Amazon Mechnical Turk을 광범위하게 사용하여 데이터를 수집하였다. contextual relationships과 non-iconic object views를 포함하는 많은 이미지 셋을 수집하였으며 계층적 라벨링 접근 방식을 사용하여 특정 객체의 범주를 포함하는 것으로 라벨링이 진행되었다.
The Microsoft Common Objects in COntext (MS COCO) 데이터셋에는 91개의 공통 객체 범주가 포함되어 있으며 그 중 82개는 5천개 이상의 라벨이 지정된 인스턴스가 있다.
MS COCO 데이터셋에는 328,000개의 이미지가 있으며 2,500,000개의 라벨이 지정된 인스턴스가 있다. ImageNet과는 달리 COCO는 범주가 더 적지만 ImageNet(3.0) 및 PASCAL(2.3)에 비하면 범주 당 인스턴스는 훨씬 더 많다. 이는 2D에서 객체의 정확한 위치 파익이 가능하도록 모델을 학습하는데 도움이 될 수 있다.
2. Related Work
object recognition과 관련된 데이터셋은 크게 object classification, object detection, semantic scene labeling을 주로 나누는 세 그룹으로 나눌 수 있다.
먼저, Image Classification은 이미지에 객체가 있는지의 여부부터 나타내는 이진 라벨이 필요하다.
Object Detection은 지정된 클래스에 속한 객체가 있음을 나타내는 작업과 이미지에서 객체를 로콜라이징하는 작업 모두가 포함된다. 물체의 위치는 아래 Figure1에서 (b)와 같이 바운딩 박스로 표시된다. 선글라스, 휴대폰 또는 의자와 같은 많은 물체를 detection 하는 것은 상황별 정보에 크게 의존하기 때문에 detection 데이터셋이 자연 환경에서 물체를 포함하는 것이 중요하다. 바운딩 박스를 사용하면 detection 알고리즘을 평가할 수 있는 정확도가 제한되기 때문에 해당 연구진들은 정확한 평가를 위해 완전 segmentation 인스턴스 사용을 제안한다.
Semantic scene labeling은 이미지에서 의미가 있는 객체에 라벨을 붙이는 작업으로 이미지의 각 픽셀이 하늘, 의자, 바닥, 거리 등과 같은 범주에 속하는 것으로 라벨을 붙여야 한다. detection 작업과는 달리 개별 인스턴스를 segmentation 하지 않아도 된다. 이는 아래 Figure1에 (c)에 해당한다. 때문에 잔디, 거리, 벽과같이 개별 인스턴스를 정의하기 어려운 객체에 대해 라벨을 지정할 수 있다. 하지만 객체의 라벨을 픽셀 단위 정확도로 측정하는 것이 목표이기 때문에 객체의 개별 인스턴스를 구별하는 것을 목표로 하여 각 객체의 범위를 확실히 이해해야 한다.
3. Image Collection
해당 절에서는 객체 범주(object categories) 및 후보 이미지(candidate images)가 선택되는 방법을 설명한다.
Common Object Categories - 범주(카테고리)는 모든 범주의 대표 세트를 형성하고 실제 적용에 관련되어야 하며 대규모 데이터셋을 수집할 수 있을 만큼 충분히 빈번하게 발생해야 한다. 기타 중요한 결정은 'thing'과 'stuff' 범주를 모두 포함할지 여부와, 세분화 된 범주와 객체 부분 범주를 포함할지 여부이다. 'thing' 범주에는 사람, 의자, 자동차와 같은 쉽게 라벨을 붙일 수 있는 객체가 포함되는 반면에 'stuff' 범주에는 하늘, 거리, 잔디와 같은 명확한 경계가 없는 객체가 포함된다. 해당 논문에서는 객체 인스턴스의 정확한 객체 인스턴스의 localization에 관심이 있기 때문에 'stuff'가 아닌 'thing' 범주만 포함하기로 결정했다.
해당 연구진들은 우리는 "things"의 보급형 객체 범주를 수집하기 위해 여러 소스를 사용했다. 먼저 PASCAL VOC의 범주와 시각적으로 식별 가능한 대상을 나타내는 자주 사용되는 1200개의 단어 중 일부를 결합하여 범주 리스트를 작성했다.
Non-iconic Image Collection - 객체 범주 리스트를 고려할 때 다음 목표는 후보 이미지 셋을 수집하는 것이었다. 간단하게 이미지를 위의 Figure2와 같이 3가지 유형으로 그룹화하였다. 일반적인 iconic object image는 Figure2 (a)에 해당하며 이미지 중앙에 하나의 객체를 가지고 있다. iconic scens image는 Figure2 (b)에 해당한다. 이는 사람이라는 객체가 부족하며 구글링을 통해 직접 찾을 수 있다는 장점이 있다. iconic 이미지들은 고품질의 객체 인스턴스를 제공하지만 해당 연구진들의 목표는 대부분의 이미지가 non-iconic하도록 데이터셋을 수집하는 것이었다. Figure2 (c)가 non-iconic image에 해당하는데 이는 객체 범주를 따로 검색하지 않고 Flickr에서 이미지를 수집했다.
4. Image Annotation
해당 절에서는 이미지 컬렉션에 주석을 달았던 방법에 대해 설명한다.
250만개 이상의 범주 인스턴스에 라벨을 붙이고자 비용 효율적이면서도 고품질인 주석 파이프라인의 설계가 매우 중요했으며 이는 위의 Figure3에 요약되어 있다.
Category Labeling - 데이터셋에 주석을 다는 첫번째 작업은 Figure3 (a)의 각 이미지에 어떤 객체 범주가 있는지 결정하는 것이다. 91개의 범주를 작업자가 직접 분류하는 것은 비용이 많이 들기 때문에 계층적 접근법(hierarchical approach)을 사용했다. 이미지가 주어지면 작업자는 각 범주의 그룹을 차례로 제시받아 해당 슈퍼 범주(계층적 접근법에서 설명되는데 해당 논문에서는 설명이 따로 없음)에 대한 인스턴스 존재 여부를 표시하도록 요청받는다. 이는 다양한 범주를 분류하는데 시간을 많이 쓰지 않아도 된다.
예를들어 작업자는 따로 고양이, 개와 같은 범주를 찾을 필요 없이 이미지에 동물이 있는지 쉽게 결정할 수 있는 것이다. 작업자가 슈퍼 범주에 있는 인스턴스(동물)가 이미지에 있다고 판단하면 범주의 한 인스턴스 위에 있는 이미지로 범주의 아이콘을 끌어 인스턴스의 특정 범주(고양이, 개)를 나타낸다.
Instance Spotting - 이미지 내 객체 범주의 모든 인스턴스에는 Figure3 (b)와 같이 라벨이 붙는다. 각 이미지에 대해 작업자에게 이전 단계(category labeling)에서 발견된 특정 범주의 각 인스턴스 위에 십자가를 배치하라고 요쳥했으며 이는 이전 단계에서 작업자가 찾은 인스턴스의 위치를 현재 작업자에게 보여줌으로써 초기 인스턴스를 찾는데 도움을 주었다.
Instance Segmentation - 마지막 단계로 각 범주의 인스턴스를 세분화하는 작업을 진행했다. 이는 Figure3 (c)에 해당한다. 이전 단계(Instance spotting)에서 작업자가 지정한 범주 인스턴스를 segmentation하도록 작업자에게 요구한다. 이전 단계에서 false positive인 경우에는 작업자는 이미지에서 "No <object name>"을 클릭할 수 있으며 세그멘테이션화가 되지 않은 인스턴스를 찾지 못한 경우에는 “No unsegmented <object name> in the image.”을 지정할 수 있다.
이러한 작업들의 예시는 위의 Figure6에서 확인할 수 있다. 일부 이미지에서는 동일한 범주의 많은 인스턴스가 조밀하게 모여있어 개별 인스턴스를 구별하기 어렵다. 이러한 경우에는 하나의 세그멘트로 표시되며 평가를 위해서는 “do not care”라는 라벨이 붙는다. 예를 들면, 군중 속에서 사람을 찾는 것은 detection 평가 점수에 영향을 미치지 않는다.
Annotation Performance Analysis - 주석의 품질을 보장하기 위해 전문 작업자와 품질을 분석한다. 아래 Figur4에서는 범주 라벨링 작업에 대한 결과를 보여준다.
Figure4 (a)는 라벨을 수집하는데 사용된 것과 동일한 5명의 작업자가 대부분의 전문 작업자와 동일한 recall을 달성함을 보여준다. 전문 라벨러는 65%~80% 사이의 recall을 달성했다. 이러한 낮은 recall 값은 범주의 존재에 대해 자유로운 정의 때문이다. 하지만 많은 범주의 존재는 모호한데 70%~75%의 recall 값은 일반적으로 모호하지 않은 범주를 포착하기에 충분하다는 것을 발견했다.
Figure4 (b)는 범주 라벨링에 대한 작업자의 정밀도와 recall을 보여준다. Figure4 (a)와 달리 The ground truth labels는 다수결로 추정되었으며 색상은 작업자가 완료한 작업 수를 나타낸다. 더 많은 히트를 기록한 작업자는 일반적으로 정밀도와 recall이 더 높다.
5. Dataset Statistics
해당 연구진들은 MS COCO 데이터셋을 다른 유명한 데이터셋과 비교하여 속성을 분석한다. 유명한 데이터셋에는 ImageNet, PASCAL VOC 2012, SUN 데이터셋이 해당된다. 이러한 각 데이터셋은 크기, 라벨이 붙은 범주 목록 및 이미지 유형에 따라 다른다.
ImageNet은 많은 수의 개체 범주를 캡처하기 위해 생성되었으며, 그 중 많은 범주가 세분화되어 있다. SUN은 장면 유형과 장면에서 일반적으로 발생하는 객체에 라벨을 지정하는 데 초점을 맞춘다. PASCAL VOC의 주요 애플리케이션은 자연 이미지에서의 object detection이다.MS COCO는 자연스러운 맥락에서 발생하는 개체를 감지하고 세분화하도록 설계되었다.
지금까지 수집된 91개의 범주에 대한 범주 당 인스턴스 수는 위의 Figure5 (a)와 같다. 객체 범주의 수와 범주 당 인스턴스 수를 보여주는 데이터셋의 요약은 Figure5 (d)에 나와있다. MS COCO는 ImageNet과 SUN보다 범주의 수가 적지만 범주 당 더 많은 인스턴스를 가지고 있다. PASCAL VOC과 비교하면 MS COCO는 더 많은 범주와 인스턴스가 있다.
데이터셋의 중요한 특성(property)은 자연스러운 맥락에서 객체를 포함하는 non-iconic한 이미지를 찾기 위해 노력한다는 것이다. 이미지에 존재하는 상황 별 정보의 양은 Figur5 (b), (c)에서 이미지 당 객체 범주 및 인스턴스 수를 추정할 수 있다.
ImageNet의 경우 training 데이터에는 라벨이 지정된 단일 객체만 있기 때문에 object detection validation set을 플롯팅한다. 평균적으로 데이터셋은 이미지 당 3.5개 범주와 7.7개 인스턴스가 포함되어 있다.
이에 비해 ImageNet과 PASCAL VOC는 둘 다 평균 이미지 당 2개 미만의 범주와 3개의 인스턴스를 가지고 있다. ImageNet과 PASCAL VOC의 단일 객체 범주를 포함하는 60% 이상의 이미지와 비교하면 MS COCO의 이미지의 10%만이 이미지 당 하나의 범주만 가지고 있다.
SUN 데이터셋은 장면 기반이므로 가상 상황에 맞는 정보를 가지고 있다.
데이터셋의 평균 객체 크기를 분석해 보면 일반적으로 크기가 작은 객체는 인식하기 어렵고 인식하기 위해 더 많은 상황적 추론이 필요하다. Figure5 (e)와 같이 객체 평균 크기는 MS COCO와 SUN 모두 작다.
6. Algorithmic Analysis
구체적인 벤치마크를 설립하기 위해 해당 연구진들은 데이터셋을 training, balidation, test data로 나누었다. 164,000개의 이미지로 구성된 training dataset과 82,000개의 validattion, test dataset이 있다.
Bounding-box Detection - 데이터셋에서 잘 연구된 20개의 PASCAL 객체 범주의 성능을 조사하는 것으로 시작한다. 다음 실험을 위해 train/val data에서 55,000개의 이미지의 subset을 가지고, 주석처리가 된 segmentation 마스크로부터 tight-fitting된 바운딩 박스를 얻는다. 그 후 MS COCO와 PASCAL 데이터셋에서 테스트 된 모델을 평가한다.
DPMv5-P와 DPMv5-C 2개의 모델을 평가하는데, DPMv5-P는 PASCAL VOC 2012에 대해 훈련된 모델의 최신 구현이며 DPMv5-C는 COCO(positive 이미지 5,000개 및 negative 이미지 10000개)에 대해 훈련된 동일한 구현이다. 해당 연구진들은 COCO 모델의 훈련을 위해 기본 파라미터들을 사용한다.
PASCAL VOC와 MS COCO에서 DPMv5-P의 평균 성능을 비교하면 MS COCO의 평균 성능이 거의 2배 떨어진다는 것을 알 수 있는데, 이는 MS COCO가 부분적으로 가려져 있는(non-iconic) 객체 이미지를 포함한다는 것을 암시한다.
PASCAL VOC에서 테스트할 때 DPMv5-C가 20개 범주 중 6개 범주에서 DPMv5-P보다 더 좋은 성능을 보인다. 일부 범주(예: 개, 고양이, 사람)에서는 MS COCO에서 훈련된 모델이 성능이 떨어지는 반면, 다른 범주(예: 버스, TV, 말)에서는 데이터에 대해 훈련된 모델이 더 우수하다. 해당 연구진들은 훈련 중에 어려운 (non-iconic) 영상을 포함시키는 것이 항상 도움이 되는 것은 아니라는 것을 발견했다.
이는 MS COCO는 PASCAL VOC보다 상당히 어렵고 MS COCO에서 훈련된 모델은 더 많은 훈련 데이터가 주어진 PASCAL VOC와 같은 더 쉬운 데이터 세트로 더 잘 일반화할 수 있다는 가설을 뒷받침한다.
Generating Segmentations from Detections - object detection에서 segmentation을 생성하는 이전 작업에 이어 객체 바운딩 박스와 segmentation mask를 생성하는 간단한 바업을 설명한다. 다양한 범주에 대해 aspect-specific한 픽셀 수준 segmentation mask를 학습하고 정렬된 훈련 인스턴스의 segmentation mask를 평균화 하여 쉽게 학습할 수 있다. 샘플 mask는 아래 Figure7에 시각화 되어 있다.
Detection Evaluated by Segmentation - segmentation은 object part boundaries를 정밀하게 localization해야 하므로 정확한 결과를 보고한다 가정해도 어려운 작업이다. 정확한 detection을 위한 기준으로서 예측된 것과 groundtruth 박스 사이의 합집합에 대한 교집합이 최소한 0.5가 되어야 한다는 표준 필요 조건을 부과한다. 그런 다음 예측 및 groundtruth segmentation mask의 결합에 대한 교차점을 측정한다. 이는 아래 Figure8에 나와있다. 데이터셋의 베이스라인을 설정하기 위해 학습된 DPM 파트 mask를 이미지에 투영하여 segmentation mask를 생성한다.
7. Discussion
해당 논문은 자연 환경에서 일상 생활에서 발견되는 객체들을 detection하고 segmentation하기 위한 새로운 데이터셋에 대해 설명한다. 약 6만 시간을 활용하여 obejct detection 및 알고리즘의 발전을 위해 방대한 범주 인스턴스 컬랙션을 수집하고 주석을 달며 데이터셋을 구성했다. 특히 자연 환경과 다양한 관점에 있는 물체의 non-iconic한 이미지를 찾는데 중점을 두었다.
해당 연구진들은 "things"에만 라벨을 붙였지만 "stuff"의 라벨링은 detection에 유용할 수 있는 중요한 상황 정보를 제공할 수도 있다. 많은 obejct detection 알고리즘은 인스턴스의 가려진 정보 또는 객체의 키 포인트위 위치 와 같은 추가적인 주석으로 인해 득이 될 수 있다.
마지막으로 해당 데이터셋, MS COCO는 scene types, attributes, full sentence written descriptions을 포함하는 다른 유형의 라벨에 대한 좋은 벤치마크,를 제공할 수 있다.
MS COCO에 대한 자세한 내용은 http://mscoco.org/ 에서 확인할 수 있다.
논문을 읽은 후 주관을 가지고 요약, 정리한 글이므로 해당 포스팅에 대한 이의 제기, 다른 의견 제시 등 다양한 지적, 의견은 언제나 대환영입니다!
댓글로 남겨주시면 늦더라도 확인하겠습니다!!!