본문 바로가기

Backup/cs231n

cs231n 8강 Localization, detection



위의 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