240608 TIL #420 AI Tech #34 Semantic Segmentation / Detection

김춘복·2024년 6월 8일
0

TIL : Today I Learned

목록 보기
420/575

Today I Learned

오늘 공부한 내용은 Semantic Segmentation과 Detection!


Computer Vision

Semantic Segmentation

입력 이미지를 픽셀 수준에서 분류하는 작업으로 이미지 내의 모든 픽셀이 어떤 label에 속하는지 판단하는 것이 목표

  • 자율주행 카메라 같은 영역에서 사용된다.

  • CNN을 기반으로한 FCN(Fully Convolutional Network)을 활용한다.
    CNN의 dense layer(conv를 활용하지 않는 dense 부분)를 conv를 활용해서 없엔다.

  • 임의 크기의 입력 이미지에 대해 임의 크기의 출력을 생성할 수 있다.

  • FCN은 어떤 input size든 돌아가지만, output dimension은 줄어든다.

  • Deconvolution
    convolution을 역행하는 과정. special dimmension을 키워주는 역할을 한다.


Detection

  • 이미지 내에서 객체의 위치(바운딩 박스)를 지정하고 해당 객체가 무엇인지(클래스)를 분류하는 복잡한 작업

R-CNN

  • Region-Based Convolutional Neural Networks

  • 이미지를 제안된 영역(Region)을 대략 2000개 정도 생성하고, 각 영역을 CNN을 사용해 특징을 추출하여 객체를 분류한다.

  • 문제는 2000개의 바운딩 박스를 brute-force 방식처럼 다CNN을 돌려야 한다는 점 때문에 연산 속도가 느리고 메모리 사용량이 많다는 단점이 있다.

SPPNEt

  • SPPNet은 이미지에서 바운딩 박스를 하나만 뽑고 거기서만 CNN을 딱 한번만 돌린다.

Fast R-CNN

  • R-CNN의 개선된 버전으로, 바운딩 박스마다 CNN을 적용하는 대신 전체 이미지에 한 번 CNN을 적용하여 특징 맵을 추출하고, 바운딩 박스을 이 특징 맵에 투영하여 연산 속도를 향상시켰다.
    (SPPNet과 거의 비슷)

Faster R-CNN

  • Fast R-CNN에서 바운딩 박스를 뽑아내는 과정도 별도의 네트워크(RPN, Region Proposal Network)를 활용해 객체 탐지의 속도와 효율성이 크게 향상되었다.

  • RPN은 어떤 영역에 물체가 있을지 판별해주는 학습 네트워크다.

YOLO

  • You Only Look Once. 속도가 빨라 실시간 객체 탐지에 적합하다.

  • 이미지를 SxS 크기의 그리드로 나누고, 각 그리드 셀에서 객체가 존재하는지 여부와 바운딩 박스가 어떤 클래스인지 예측을 한다. 바운딩 박스를 먼저 따로 뽑는 과정이 없고 바운딩박스 찾는 과정과 어떤 객체인지 예측을 동시에 해서 속도가 빠르다.


본 포스트의 학습 내용은 부스트클래스 <AI 엔지니어 기초 다지기 : 부스트캠프 AI Tech 준비과정> 강의 내용을 바탕으로 작성되었습니다.

profile
Backend Dev / Data Engineer

0개의 댓글