AI 머신러닝 딥러닝/CS231

cs231n 8강 Localization, detection

newbeverse 2023. 9. 17. 21:48

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 으로 분리해서 사용하지만, 두개를 합쳐주는 기법

편의성을 위해 풀리 커넥티드 레이어를 컨볼류션 레이어로 변환해서 진행

 

오버핏 : 알렉스넷에서 우승한 슬라이딩 윈도우 기법

 

검은색박스 슬라이딩 윈도우를 이용해서 왼쪽을 먼저봄 -> 리그레션펀션을 이용해서 고양이로 분류하는 스코어를 분류함. -> 슬라이드를 살짝 옮겨줌 -> 그렇게 여러번 반복 -> 모든 바운딩 박스를 스코어 화함.

 

실제로 수십 수백개의 슬라이딩 박스를 사용함.

이처럼 수많은 슬라이딩을 사용하게 되면, 너무 연산 비용이 비쌈.

 

그래서 좀더 효율적인 방법을 찾게됨.

풀리커넥티드 레이어를 컨벌루션 레이어로 바꿔주게됨. -> 연산 효율적

 

 

 

반응형