전체 글 79

Week 8/9/10 - Object Detection - BiFPN , NASFPN, AugFPN

BiFPN , NASFPN, AugFPN은 모두 기존의 FPN에서 문제점을 발견하고 개선을 한 논문이다. 어떤 점을 문제로 삼았고 어떤 새로운 contribution을 했는지 살펴보자. Bi-directional Feature Pyramid EfficeintDet에서 제안한 FPN. Contribution 1. 간소화 기존의 PANet을 간소화했음을 알 수 있다. 화살표 몇개가 사라졌다. 효율성을 위해 feature map들이 한곳에서만 오는 노드들을 제거했다. BiFPN은 parameter와 FLOPS를 줄일 수 있기 때문에 여러 번 레이어를 쌓을 수 있게 되었다. 2. Weighted Feature Fusion feature map들을 합칠때 기존에는 단순합으로 더했다. high-level, low-..

Week 8/9/10 - Object Detection - DetectoRS

Motivation -> Looking things twice? detectoRS는 같은것을 두번씩 반복적으로 보면 성능이 좋아질까?라는 의문점에서 출발한모델이다. 주 Contributio이 2개인데 그 중 Neck과 관련된 RFP만을 살펴보자!. 1. Recursive Feature Pyramid ( RFP ) : 말그대로 feature pyramid를 recursive하게 진행한 것이다. - 학습속도 극악 펼처서 보면, RFP 반복을 몇번할지는 선택이다. 한번 Neck을 통과한 stage들은 (왼쪽에서 두번쨰 스택) ASPP를 거쳐서 다시 한번 feature map들과 합쳐진다. [ASPP] - receptive field 늘리는 방법

Week 8/9/10 - Object Detection - PANet

Path Aggregation Network (PANet) 등장배경 : FPN모델이 간과한 점이 하나 있다. 바로 backbone이 resnet이라는 것!! 꼭 Resnet이 아니더라도 deep한 딥러닝 모델을 backbone으로 사용하면 low level feature가 high level feature map까지 온전하게 전달이 될 수 있을까???! 1. Bottom-up Path Augmentation - Bottom up Path 추가 = Bottom up을 한번 더해줬다. - High-level, Low-level정보가 골고루 섞이도록 하는 역할 2. Adaptive Feature Pooling 모든 feature map에 ROI projection을 하자.

Week 8/9/10 - Object Detection - Neck의 개념

일반적으로 사용되는 2stage detector는 아래와 같다. 일반적으로 사용되는 2stage detector : Input이 Backbone 네트워크를 통과해서 맨 위에 다다랐을때, 마지막 feature map을 활용해 region proposla (ROI)를 검출한다. ->꼭 마지막 feature map을 사용할 필요가 있을까? 정답은 없다이다. Neck은 위와같은 의문점에서 출발해 굳이 마지막 feature map만을 사용하지 않고 중간 layer feature map들도 사용한다. Neck의 필요성 ? 객체는 크기가 다 제각각이다. 일반적으로 작은 feature map일수록 큰 범위를 보고, 큰 feature map일수록 작은 범위를 본다고 알려져 있다. (참고) - 다양한 크기의 객체를 더 잘..

Week 8/9/10 - Object Detection - Fast R-CNN

Fast R-CNN은 이름에서 알 수 있듯이 R-CNN을 보완한 모델이다. 어떤 점이 달라졌는지 비교해보자. 주요 Contribution 1. input image를 바로 CNN에 넣어 추출한 feature에 ROI 적용 - RoI Projection 2. RoI Pooling 1. RoI Projection, RoI Pooling Ex) input image : 400x400x3 - selective search 사용해 2000개의 region을 추출 - CNN을 통과한 feature map에 해당 ROI를 추출 - 이때 ROI는 feature map의 비율에 맞게 축소 2. Hierarchical Training RCNN의 경우 여러개의 이미지에 존재하는 ROI들을 전부 저장해서 사용한다. 따라서 한..

Week 8/9/10 - Object Detection - SPPNet

SPPNet은 Spatial Pyramid Pooling을 적용한 모델로, RCNN의 한계점 1. CNN의 입력 이미지 사이즈가 고정되어 있다 -> Crop/Resize등으로 정보 손실 2. ROI마다 CNN통과 -> 시간 너무 오래 걸림 을 Spatial Pyramid Pooling로 보완한다. 1. Spatial Pyramid Pooling - Binning이라고도 불리는 이 과정은 고정된 size의 feature vector를 정해놓고, BIN의 크기를 조정해가면서 pooling하는 방법 - Pooling은 Max pooling을 하든, Average pooling을 진행하든 어쨋든 고정된 하나의 feature를 추출한다! 2. ShortComing 1. CNN, SVM classifier, bbo..

Week 8/9/10 - Object Detection - R-CNN

2013년 발표된 RCNN은 최초의 Object Detection 모델이자, 이후 발표된 여러 모델들의 기준이 되는 중요한 연구다. 2 Stage는 이전 글에서 말했듯이 객체가 있을법한 위치 선정 + 클래스 판별 의 스테이지로 이루어진다. 1. Extracting Region Proposal Region Proposal 알고리즘 Extracting Region Proposals : input image에서 ROI 추출. 객체가 있을거라고 예상되는 부분을 bbox침 Sliding Window : 다양한 scale로 무수히 많은 영역을 검출한다. 이미지의 대부분은 배경이기 때문에 sliding window기법을 사용하면 당연히 객체가 포함될 가능성은 줄어든다. 비효율적 Selective Search : 이미..

Week 8/9/10 - Object Detection - 2 Stage Detectors

Object Detection의 갈래에는 크게 두가지 one-stage 와 two-stage가 존재한다. 2 stage Detector는 사람의 객체인식 방법과 가장 유사하게 디자인된 방법이다 [사람] 일반적으로 사람은 이미지를 인식했을때 객체 위치를 인식후, 판별한다. 처음부터 이미지에 종이박스가 있다! 라고 인지하고 그 위치를 탐색하지 않습니다. [2 Stage] 2 stage도 마찬가지로 객체 있을 법한 위치 추정. 해당 객체가 무엇인지 체크 의 프로세스를 거친다. 여기서 객체가 있을 법한 위치를 ROI, Region of Interest 라고 부른다!! 그 위치를 판단하는 과정이 복잡하고 자원이 많이 들어가는 과정이기 때문에 Extracting Region Propsal에 관련된 알고리즘이 각 모..

Week 8/9/10 - Object Detection - Evaluation Metric (mAP, FPS, Flops)

Object Detection Task의 평가지표는 크게 두가지로 나눌 수 있습니다. 1. 성능 - 얼마나 잘 검출했는가 (mAP) 2. 속도 - 얼마나 빠르게 검출했는가 (FPS, Flops) 그 중에서도 object detection은 real-time, real world 문제에 적용되는 경우가 많기 때문에, 다른 task들에 비해 속도또한 중요합니다. 1. mAP . mean average precision : 각 클래스별로 계산한 AP의 평균 [ mAP를 계산하기 위해 필요한 개념 ] 더보기 1. Confusion Matrix 2. Precision & Recall AP 계산을 위해서는 PR Curve를 필수적으로 알아야 합니다. 10개의 검출된 객체가 존재합니다. Confidence값으로 내림..