cs231n 8강 Localization, detection
Localization, detection
유사한 개념의 차이 부터 정리
classfication : 고양인지 개인지,
localization : 어디에 있는지 박싱
object detction : 여러개의 오브젝트들을 찾아내는 것
segmentation : 형상대로 따주는 것
분류 : C개의 클래스가 있을떄, 이미지를 받아서, 아웃풋으로 클래스 레이블을 주고, 평가결과로 정확도를 줌
로컬라이제션 : 인풋으로 이미지를 받아서, 결과가 박스임, 평가의 지표는 겹치는 부분이 몇퍼센트 인지.
ADD) 로컬라이제션: 좌표로 아웃풋이 주어짐. 예측과 정답이 겹치는 부분이 몇퍼센트인지. (정답 레이블 : GT)
분류와, 로컬라이제션을 통합하게 되면 박스와 레이블을 모두 얻게되는 작업
이미지넷이 여러개 있음. 그중 하나는 분류 + 로컬
1000개의 클래스, 최소하나의 박스.
로컬라리제션 하는 방법 약 2가지 있음.
이미지를 넣고, 결과물로 숫자로된 박스 좌표 4개를 얻고, 실제 정답과 비교해서 l2 distance를 이용해 loss를 구한다.
단계별로 봣을떄:
이미지 -> 컨벌루션 -> 결과 -> 분류 -> 박싱
로컬엔 두가지 방법이 존재
per class : 클래스에 특화된 방법, 각 클래스당 하나의 박스.
class agnostic : 범용적인 접근 방법, 특정 클래스에 특화되지 않기때문에, 4개의 숫자만 결과로나옴.
loss 계산방법이 차이가 날뿐 큰차이는 없다.
regession 활용이 쉽고 간단하다. 대회에서 수상은 어려움.
두번쨰 방법: 슬라이딩 윈도우
여전히 classfication과 regresssion 으로 분리해서 사용하지만, 두개를 합쳐주는 기법
편의성을 위해 풀리 커넥티드 레이어를 컨볼류션 레이어로 변환해서 진행
오버핏 : 알렉스넷에서 우승한 슬라이딩 윈도우 기법
검은색박스 슬라이딩 윈도우를 이용해서 왼쪽을 먼저봄 -> 리그레션펀션을 이용해서 고양이로 분류하는 스코어를 분류함. -> 슬라이드를 살짝 옮겨줌 -> 그렇게 여러번 반복 -> 모든 바운딩 박스를 스코어 화함.
실제로 수십 수백개의 슬라이딩 박스를 사용함.
이처럼 수많은 슬라이딩을 사용하게 되면, 너무 연산 비용이 비쌈.
그래서 좀더 효율적인 방법을 찾게됨.
풀리커넥티드 레이어를 컨벌루션 레이어로 바꿔주게됨. -> 연산 효율적