위의 classification head 와 regression head로 나눠어서 돌려짐
sliding window에서 대표적인 예로 overfit이 있음
alexnet을 응용함
classification head에 의해서 스코어을 계산함
둰째에서는 저 window을 옮겨서 점수을 또 냄
최종적으로 얻게되는건 저 4개의 박스와 4개의 점수을 얻음
이것을 알고리즘을 통해 하나의 박스와 점수을 얻게 됨
응용단에서는 수십 수백개의 슬라이딩 윈도우을 함
각각의 슬라이딩 윈도우마다 연산을 해야하니까 너무 연산량이 많음
그래서 저 뒷단의 fc을 convnet으로 바꿈
저 fc단의 vector로 생각하지말고 또 다른 convolution layer의 dimention이라고 생각하자
overfeat이 위에서 봤던 예제
object detectoin : 한 이미지에 여러개의 class을 ㅏㅊㅈ는거
regression을 detection에서 활용해보자
저런식으로 각각의 class마다 박스을 얻어 16개의 숫자을 가져와보자
이경우에는 두 개의 박스, 8개의 숫자
저런식으로하면 숫자가 많음
결국 이미지의 클래스에 따라 아웃풋의 갯수가 달라지니까 regression은 detection에서는 적절하지 않다.
근데 yolo는 regression통해서 함
detection은 classification으로 풀어야한다
저런식으로 박스을 옴직이면서 clssifiction함
이런식으로 하면 output의 size가 바뀔일이 없음
가급적 다양한 박스에 대한 clssification slide을 해야됨
2005년에도 호그 방식도 저런 방식이 효과가 좋았었음
그 중하나의 application 이 DPM이란게 있음
호그을 기반으로 작동하지만 각 특징을 추출하기 위한 model template들이 있음
그래서 그당시때 잘됨
근데 저 DPM이라는게 CNN의 한가지 방법이였다
CNN기반의 detection 하게 되면
CNN과 같이 무거운 연산을 하게 될때이다.
이럴경우 전지역을 보지말고 의심되는 지역만 연산을 하자
region proposal
어떤 블러비한,,,, 뭉쳐있는 영역을 봐보자
-유사한 texture, 색을 가지고 있는 부분만 봐보자
class을 생각하지 말고 정확도도 생각하지말고 그냥 비슷한 곳만 덩어리져서 구분해보자
이러면 엄청 빠름
region proposal 하면 여러 방법이 있는데
selective search같은 경우 최종적으로 같은 속성들끼리 저 구분을 만들어내는 박스을 만들어냄
저 박스들로 classification 을 돌려내자.
rcnn은
region based proposal과 CNN을 썩은거임
우리가 관심있는 지역들을 ROI을 뽑아냄
약 2000개 정도로
이것들을 cropping하고 warping함
이것을 두가지 head,
classification head, regression head함
저 마지막에 layer을 imagenet에서는 4096x1000이였는데 이제는 4096x21을 함
각각의 저 region에 대해서
저 cnn의 사이즈에 맞게 crop wrap해줌
다음단계에서는 class당 하나의 binary svm을 함
예을 들어 cat에 대한 svm으로 classification 을 진행함
proposal 뽑아낼때 보정도 필요함
detectin 관련된 dataset
image는 detectoin은 200개
'Backup > cs231n' 카테고리의 다른 글
cs231n 6강 Training NN part 2 (0) | 2017.12.05 |
---|---|
cs231n 5강 Training NN part 1 (0) | 2017.12.05 |
cs231n 7강 CNN (0) | 2017.11.02 |
cs231n 4강 Backpropagation and NN part 1 (0) | 2017.10.20 |
cs231n 3강 Loss fn, optimization (1) | 2017.10.18 |