*협찬
https://m.smartstore.naver.com/digshop

디그샵 : 네이버쇼핑 스마트스토어

반려동물의 모든 것

smartstore.naver.com


*COCO Dataset

- object detection, segmentation, keypoint detection 등을 위한 데이터셋

 

*training, validation 별로

- captions = text로 된 그림에 대한 설명

- instances = 그림에 있는 사람/사물에 대한 category와 영역 mask

- person_keypoint = 사람의 자세 데이터

 

*instances json file

{

    "info" : {

        "description" : ,

        "url" : ,

        "version" : ,

        "year" : ,

        "contributor" : ,

        "date_created" :

    },

    "licenses" : [

       {

          "url" : ,

          "id" : ,

          "name" :

       },

    ],

    "images" : [

       {

          "license" : ,

          "file_name" : ,

          "coco_url" : ,

          "height" : ,

          "width" : ,

          "date_captured" : ,

          "flickr_url" : ,

          "id" : 

       },

    ], 

 

*Annotation 정보

- 그림에 있는 사물/사람의 segmentation mask와 box영역, 카테고리 등의 정보

 

    "annotations" : [

       {

        "segmentation" : [ [ , , , ] ],

        "area" : ,

        "iscrowd" : ,

        "image_id" : ,

        "bbox" : [ , , , ] ,

        "category_id" : ,

        "id" : 

       },

       {

        "segmentation" : [ [ , , , ] ],

        "area" : ,

        "iscrowd" : ,

        "image_id" : ,

        "bbox" : [ , , , ] ,

        "category_id" : ,

        "id" : 

       },

    ],

    

    "categories" : [

       {

          "supercategory" : ,

          "id" : ,

          "name" :

       },

    ]

 } 

      

*mAP

= mAP는 다른 recall 값에서의 최대 precision 의 평균으로 정의

 

*Precision

- Precision 은 모델의 출력이 얼마나 정확한지를 측정하는 것

- 모델이 예측한 Positive 결과가 실제 얼마나 정확한지를 나타내는 값

- 모델이 True라고 했을 때, 실제 True인 경우

- TP / (TP + FP)

 

*Recall

- 모델의 출력이 얼마나 Positive 값들을 잘 찾는지 측정하는 것

- TP / (TP + FN)

- 실제 True인 케이스를 모델이 True라고 하는 비율

 

*IoU (Intersection over union)

- IoU = area of overlap / area of union

 

*Precision-Recall 그래프

- Recall 값은 더 많은 모델의 예측값들(predictins)을 포함시킬수록 더 좋아지지만, Precision은 이로 인해 떨어지게 될 수 있음

- Recall 값에 따른 Precision 의 변화 관계

- Recall >= r 일 때의 최대 Precision 값

- Recall 값의 오른쪽에서 가장 큰 값들을 찾아 그 값끼리 이은 최대 Precision 값을 찾음

 

*AP (Average precision)

- 11개의 recall 값들에 의해 최대 precision 값의 평균을 취함으로써 계산할 수 있음

- r(Recall) 값이 0에서 1까지 0.1 단위로 커짐

- AP = 1/11 * (APr(0) + APr(0.1) + ... + APr(0.9) + APr(1.0))

 

*mAP(mean Average Precision)

- 모든 class 에 대해 AP 계산을 하고, 그 값들의 평균

 

*PASCAL VOC Challenge 에서의 AP

- PASCAL VOC는 object detection 에서 널리 사용되는 dataset

- 모델 예측값과 GT의 IOU가 0.5보다 크면 모델의 예측이 올바르게 되었다고 판단

- 모델이 동일 객체에 대해 중복 탐지 결과를 출력할 경우, 첫 번째 출력을 positive로 나머지를 negative로 계산

 

*MS COCO mAP

- SOTA object detector 모델들은 주로 MS COCO 에 대한 mAP 결과만을 제공하는 경향이 있음

- MS COCO는 PASCAL VOC의 단일 IoU 값 계산과는 다르게 다중 IoU에 대한 평균값을 계산 (Minimum IoU는 positive match를 위해 고려됨)

- AP는 0.05 단계 크기로 0.5부터 0.95까지의 IoU에 대한 평균 AP에 해당함

- MS COCO competition의 경우 AP는 80개 카테고리에서 10개 이상의 IoU에 대한 평균값으로 경쟁

- AP@[.50:.05:.95] = .5 에서 .95 까지 .05 씩 커지며 계산

 

반응형

'스타트업 > AI' 카테고리의 다른 글

[AI] OpenCV error  (0) 2020.07.15
[AI] pickle  (0) 2020.07.14
[AI] Cascade RCNN  (0) 2020.07.13
[AI] mmcv  (0) 2020.07.09
[AI] Tensorboard 해석하기  (0) 2020.07.09

+ Recent posts