[Boostcamp AI Tech] DL Basic 6강

이성범·2022년 2월 8일
0

Boostcamp AI Tech

목록 보기
25/49

Computer Vision Applications

이번 강에서는 Computer Vision의 주요 Task라고 할 수 있는 Semantic Segmentation, Object Detection에서 활용되는 기본적인 Applications에 대하여 학습을 진행했다.

00. 학습 내용

  • Semantic Segmentation에 대하여 학습
  • Object Detection에 대하여 학습

01. Semantic Segmentation

  • Semantic Segmentation은 위 그림처럼 이미지의 각 픽셀이 무엇을 의미하는지를 예측하는 Task라고 할 수 있다.

  • Semantic Segmentation Applications의 핵심은 convolutionalization이라고 할 수 있다. convolutionalization은 분류 문제에서 Dense Layer로 이루어졌던 Fully connected Layer가 위처럼 convolution Layer로 바뀌는 것이다.

  • convolutionalization 덕분에 output이 heat map 형태로 표현될 수 있다고 한다. heat map 형태로 표현될 수 있으니 당연히 각 픽셀이 무엇을 의미하는지도 알아낼 수 있을 것이다.

  • 기본적인 CNN의 output은 일반적으로 매우 감소된 차원을 가지게 된다. 따라서 우리는 transpose convolution Layer로 통해서 upsampling을 해서 조금더 적절한 heat map을 얻을 수 있다.

02. Object Detection

  • Object Detection은 이미지 안에 바운딩 박스를 그려서 해당하는 위치에 어떠한 이미지가 존재하는지를 찾는 Task로, 어떻게 보면 Semantic Segmentation의 연장선이라고 볼 수 있다.

  • 가장 초창기에 나왔던 Object Detection 모델로는 R-CNN이 있는데, 본 모델은 input의 이미지를 바운딩 박스의 크기로 적절하게 짤라서(crop/warp) 여러 개의 바운빙 박스 크기 만큼의 이미지를 분류하는 방식으로 학습을 했다. 따라서 매우 속도가 느렸다고 할 수 있다.

  • 최근에는 Region Proposal Network 등을 통해서 바운딩 박스가 존재할만한 위치를 찾고(분류하고자 하는 이미지가 있을 법한 위치), 찾은 바운딩 박스를 적절히 늘려가면서 바운딩 박스안에 이미지가 무엇을 의미하는지를 찾는 방식으로 발전하고 있다.

  • 이부분의 경우 강의에 나온 관련 논문들을 한번 다 읽고 그 후에 또 정리할 예정

profile
Machine Learning Engineer at Konan Technology

0개의 댓글