개발/(3) 머신러닝(ML), 딥러닝(DL)

부스트코스 재활용 쓰레기를 활용한 딥러닝 강의 정리 1

생각외로깔끔함 2023. 3. 27. 20:57
728x90
반응형

 

부스트코스 재활용 쓰레기를 활용한 딥러닝 강의 정리

 

 

 

컴퓨터 비전의 태스크 종류

  • Classification : 사진이 주어졌을 때 무엇인지 예측하는 태스크
  • Object Detection : 이미지 속에서 객체를 식별해내는 태스크. 객체가 어디에 있는 지 찾고, 해당 객체가 무엇인지 식별하는 것
  • Semantic Segmentation : 객체의 영역을 구분하는 태스크, 같은 클래스를 갖는 객체끼리는 구분이 없음
  • Instance Segmentation : 객체의 영역을 구분하는 태스크, 같은 클래스의 객체 역시 구분함

 

Object Detection의 평가 지표

  • mAP (mean average precision): 각 클래스당 AP의 평균
  • mAP를 계산하기 위해 필요한 개념
    • Confusion matrix: 
    • Precision: 모델의 예측관점에서 정의한 메트릭, 모델이 Posivie 라고 예측한 모든 케이스 중에 옳게 예측한 경우를 precision으로 정의
    • Recall: 정답 관점의 메트릭입니다. 실제 정답 관점에 봤을 때 옳게 예측된 케이스와 틀리게 예측된 케이스가 있을 때 전체 정답중 옳게 예측된 정답의 비율을 의미
    • PR curve: Recall 값에 따른 Precision 값의 변화를 그래프로 그려놓은 것
    • IOU (Intersection Over union): Ground Truth 박스와 Predict 박스 두개의 전체 영역 분에 겹치는 영역을 의미
  • FPS (Frames Per Second): 초당 처리 가능한 프레임 숫자, 크면 클수록 빠른 모델
  • FLOPs (Floating Point Operations): 모델의 연산량을 측정할 수 있는 평가지표

 


 

2 Stage Detector

  • 입력 이미지가 주어졌을 때, 휴리스틱한 방법이든 딥러닝이든 어떠한 계산을 통해 객체를 검출함
  • 이후 객체가 있을법한 위치에 대해 예측하고(Localization), 해당 객체가 어떤 객체인지에 대해 식별하는 과정(Classification)을 거침

2 Stage Detector 모델

  • R-CNN
    • 2 Stage Detector의 초기 모델
      1. 입력 이미지를 받기
      2. Selective Search를 통해 약 2000개의 RoI(Region of Interest)를 추출
      3. RoI(Region of Interest)의 크기를 조절해 모두 동일한 사이즈로 변형: 각기 다른 사이즈의 후보영역을 동일한 사이즈로 warping 한다. (CNN의 마지막인 FC layer의 입력 사이즈가 고정이므로 Wraping 해야함)
      4. RoI를 CNN에 넣어, feature를 추출: 1개의 이미지에 동일한 사이즈의 2000개의 후보 영역이 존재
      5. CNN을 통해 나온 feature를 1) SVM에 넣어 분류,  2) regression을 통해 bounding box를 예측
    • CNN : Convolutional Neural Network, DNN(Deep Neural Network)에서 이미지나 영상과 같은 데이터를 처리할 때 발생하는 문제점들을 보완한 방법, 1차원적인 데이터를 학습하는 DNN의 한계를 2차원 공간에서 wnidow를 활용하여 예측하는 방법
  • SPPNet
    • R-CNN의 한계점(다양한 크기의 이미지들을 자르거나 조정해야함, 하나의 이미지에 대해 2000번의 CNN을 통과)을 보완
    • R-CNN에서 2000개의 ROI에 대해 2000개의 Conv 연산이 아닌 이미지에서 Conv 연산 뒤에 2000개의 ROI 생성
    • FC layer 전에 Warping 대신 Spatial Pyramid Pooling (SPP) 을 진행
    • Spatial Pyramid Pooling : Conv Layer들을 거쳐서 추출된 피쳐맵을 다양한 타켓 사이즈로 비닝을 진행하고,
      비닝된 셀마다 max pooling 또는 avg pooling을 진행
    • ROI : Region Of Interest, 관심 영역
  • Fast R-CNN
      1. 이미지를 CNN에 넣어 feature 추출 : VGG16 사용
      2. RoI Projection을 통해 feature map 상에서 RoI를 계산
      3. RoI Pooling을 통해 일정한 크기의 feature가 추출
      4. Fully connected layer 이후, Softmax Classifier과 Bounding Box Regressor
    • R-CNN의 경우 이미지에 존재하는 RoI를 전부 저장해 사용
  •  Faster R-CNN
      1. 이미지를 CNN에 넣어 feature maps 추출 (CNN을 한 번만 사용)
      2. RPN을 통해 RoI 계산: 기존의 Selective Search를 대체, Anchor Box 개념 사용
      3. RPN에서 뽑은 N개의 박스를 대상으로 RoI Pooling을 통해 일정한 크기의 feature가 추출
      4. Fully connected layer 이후, Softmax Classifier과 Bouding Box Regressor
    • RPN : Region Proposal Network, Feature Extractor(VGG, Resnet 등...)에 입력 이미지를 넣어 나온 Feature Map에 Convolution을 적용하여 Region에 객체의 유무를 분류하고 객체가 있을만한 Region의 바운딩 박스 좌표를 회귀하는 네트워크
    • Anchor box : 각 피쳐마다 다양한 크기와 다양한 비율로 미리 정의된 박스
    • RPN 단계에서 classification과 regressor학습을 위해 앵커박스를 positive/negative samples 구분
    • RPN 이후 학습을 위해 positive/negative samples로 구분
  • Summary
  R-CNN Fast R-CNN Faster R-CNN
Classification SVMs Linear Linear
Resize Warp Roi Pooling RoI pooling
Region Proposal Selective Search Selective Search RPN
End-to-end X X O

 

 


 

 

 

출처 : https://www.boostcourse.org/ai341/joinLectures/369549?isDesc=false 

 

재활용 쓰레기를 활용한 딥러닝 (1) - Detection

부스트코스 무료 강의

www.boostcourse.org

728x90
반응형