IT 프로그래밍/AI

[cs231n] Localization - as Regression

기술1 2024. 11. 15. 20:53
반응형

1. classification 모델 학습

 

2. regression head 추가 

 

3. regression head 부분만 학습 

 

4. test time 때 classification과 regression 둘 다 이용해 산출

 

 정해진 것을 찾는 것은 regression으로도 잘 동작하므로 detection을 사용하지 않고도 심플하게 구할 수 있으며 사람의 자세를 평가해서 관절을 표시해주는 것도 regression을 해서 쉽게 구현이 가능합니다.

 

Regression으로 하는 것은 간단하면서 강력하기 때문에 여러 사례에 응용이 가능하지만 대회 같은 곳에서는 이 방법으로는 수상이 어려우므로 Sliding window를 사용해야 합니다. 

 

Sliding window

이미지를 한번만 돌리지 않고 여러번을 돌리고 합쳐주는 기법입니다. 그리고 편의성을 위해서 fully-connected layer를 convolutional layer로 변환해서 돌려줍니다. 

 

Overfeat

AlexNet을 응용한 것입니다.

 

수많은 sliding window를 하고 나면 너무 비쌉니다. 연산 자체가 무거워지고 좀 더 효율적인 방법을 찾은 것이 fully connected layer를 conv layer로 바꿔주면서 연산을 효율적으로 진행하는 것인데, fully connected layer는 4096개의 원소로 구성된 벡터입니다. 

 

이를 벡터로 생각하지 말고 또 하나의 convolutional feature layer로 생각하고 차원을 추가해서 convolutional fullying operation으로 구성된 네트워크로 가능한 것입니다. 

 

Traning time

그래서 14x14 의 이미지를 받아서 5x5로 convolution을 한다면 10x10으로 변경이 되고 이를 2x2로 pooling을 하면 5x5가 됩니다. 그 이후 계속 convolution을 하면서 1x1까지 변환을 합니다.

 

Test time

16x16 를 5x5로 conv 해서 12x12 -> 2x2로 풀링해서 6x6 그리고 conv 반복해서 2x2로 만듭니다. 

 

R-CNN

Input -> conv and pooling -> Hi-res conv features

 

역역을 proposal을 하고 이를 grid로 나누어주게 되고 max-pooling을 하면 hi-res 아닌 RoI conv features를 출력하게 됩니다. 순서를 바꿔버린 것으로 convolution을 먼저 진행하는 것입니다.

 

이때 max-pooling을 하면 back propagation에 아무런 지장이 없습니다.

 

R-CNN이 84시간 걸린다면 Fast R-CNN은 9.5시간이 걸리며 매우 빨라집니다.

 

 

 

 

ResNet 101  + Faster R-CNN + some extra

객체 탐지의 현재 최신점은 이렇게 됩니다. 이미지넷에서는 2013년의 overfeat에서 시작해서 ResNet ensemble까지 19%에서 62%까지 발전해왔습니다. 

 

YOLO

정해진 수의 탐지만 가능하기에 적절치 않을 때 탐지를 classification 분류라고 간주했는데 탐지를 회귀로 간주하는 것입니다. 이미지를 grid로 나눈 다음 4개의 좌표와 하나의 confidence를 가지는 B개의 박스와 c개의 숫자를 예측합니다.

 

이는 이미지의 Regression이 7  X 7 X ( 5 * B + C)가 될 수 있습니다.

 

YOLO의 성능은 굉장히 빠르지만 정확도 면에서 조금 떨어지는 모습을 보입니다. 

반응형

'IT 프로그래밍 > AI' 카테고리의 다른 글

[cs231n] RNN, LSTM  (0) 2024.11.16
[cs231n] Visualization, Adversarial examples  (0) 2024.11.15
[cs231n] CNN  (1) 2024.11.15
[cs231n] Training NN  (0) 2024.11.13
[cs231n] 3강 Neural Network NN  (0) 2024.11.08