오늘 공부한 내용은 Semantic Segmentation과 Detection!
입력 이미지를 픽셀 수준에서 분류하는 작업으로 이미지 내의 모든 픽셀이 어떤 label에 속하는지 판단하는 것이 목표
자율주행 카메라 같은 영역에서 사용된다.
CNN을 기반으로한 FCN(Fully Convolutional Network)을 활용한다.
CNN의 dense layer(conv를 활용하지 않는 dense 부분)를 conv를 활용해서 없엔다.
임의 크기의 입력 이미지에 대해 임의 크기의 출력을 생성할 수 있다.
FCN은 어떤 input size든 돌아가지만, output dimension은 줄어든다.
Deconvolution
convolution을 역행하는 과정. special dimmension을 키워주는 역할을 한다.
Region-Based Convolutional Neural Networks
이미지를 제안된 영역(Region)을 대략 2000개 정도 생성하고, 각 영역을 CNN을 사용해 특징을 추출하여 객체를 분류한다.
문제는 2000개의 바운딩 박스를 brute-force 방식처럼 다CNN을 돌려야 한다는 점 때문에 연산 속도가 느리고 메모리 사용량이 많다는 단점이 있다.
Fast R-CNN에서 바운딩 박스를 뽑아내는 과정도 별도의 네트워크(RPN, Region Proposal Network)를 활용해 객체 탐지의 속도와 효율성이 크게 향상되었다.
RPN은 어떤 영역에 물체가 있을지 판별해주는 학습 네트워크다.
You Only Look Once. 속도가 빨라 실시간 객체 탐지에 적합하다.
이미지를 SxS 크기의 그리드로 나누고, 각 그리드 셀에서 객체가 존재하는지 여부와 바운딩 박스가 어떤 클래스인지 예측을 한다. 바운딩 박스를 먼저 따로 뽑는 과정이 없고 바운딩박스 찾는 과정과 어떤 객체인지 예측을 동시에 해서 속도가 빠르다.
본 포스트의 학습 내용은 부스트클래스 <AI 엔지니어 기초 다지기 : 부스트캠프 AI Tech 준비과정> 강의 내용을 바탕으로 작성되었습니다.