DL Basic : CV Applications
Semantic Segmentation
- Semantic Segmentation이란 이미지에서 다양한 item을 구분하는 것
- 자율주행에서 많이 사용
- Convolution의 마지막 연산에서 Fully connected를 쓰면 classifiaction의 역할을 함
- 마지막 연산에서 Convolution을 하면 특정 item의 heatmap을 표현
- 특정 item을 재현하려면 deconvolution연산을 해야하지만 convolution의 역연산은 실제로 불가능함 (두 수의 합이 10일 때 두 수의 경우의 수는 n/2이므로 알 수 없음)
- 대신 padding을 크게 적용해서 convolution 연산을 진행
Detection
R-CNN
- R-CNN은 이미지에서 detection을 하고자하는 영역을 정하고 CNN을 통해 영역을 모든 class에 대해 비교하며 분류함
- 결과적으로는 Brute Forcing idea가 적용되는 것
SPPNet
- R-CNN은 브루트 포스 방식을 쓰기 때문에 상당이 오랜시간이 걸리다는 것이 문제
- 이를 해결하고자 CNN 탐색을 1번만 하는 방식으로 시간을 줄임
- 이미지 기반 bounding box를 추출
- 전체에서 convolution feature map을 형성
- bounding box 위치의 tensor만 가져오는 방식
- 결과적으로 CNN을 적용하는 point는 (2)번 과정 1번만 진행
Fast R-CNN
- 핵심 아이디어는 SPPNet과 비슷하게 CNN을 1번만 진행하는 것
- ROI pooling을 활용해서 각 영역에 적용함
- 결과로는 클래스와 bounding-box regressor 2가지를 반환
- 여기서 물체가 있을만한 영역을 찾는 network를 학습하는 Region Proposal Network를 추가하면 Faster R-CNN이 됨
- Region Proposal Network는 이미지에서 특정 영역이 bounding box로써 의미가 있을지 없을지를 찾음
YOLO
- You Only Look Once의 약자로 이미지에서 한번에 bounding box를 여러개 찾는 알고리즘
- YOLO는 이미지를 (0) S X S의 그리드로 분할하고 (1) 각 셀은 B개의 bounding box를 예측, 동시에 (2) 각 셀은 C 개의 클래스의 확률을 예측하고 최종적으로 (3) SxSx(Bx5+C) 크기의 텐서로 구성
Comments powered by Disqus.