인프런 커뮤니티 질문&답변

Eunmi님의 프로필 이미지
Eunmi

작성한 질문수

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

SPPNet의 이해 02 - Spatial Pyramid Pooling을 활용한 Object Detection

SPP 문의드립니다~

작성

·

228

0

안녕하세요.  강의 너무 잘 들었습니다. 

명확하게 설명해주셔서 감사합니다. 

크게 2가지 질문이 있습니다. 

1) SPP 가 분면이 예를 들어주신 것이 

1x256-d, 4x256-d, 16x256-d 라면...

최소 object, 또는 image의 크기가 최소 16x16보다는 커야 겠네요?

Selective search 에서 region proposal을 할 때, 어느 정도 큰 region로 한정, 필터를 하나요? 

2000개로 설정하면 SS로 설정된 Region Proposal List는 거의 filter 없이 들어가진다고 생각해야 되는지 아니면 그 안에서도 우선순위 필터링이 있는지 궁금해서 입니다. 

또 필터링이 없다면 너무 많은 수의 region proposal이 들어가는게 아닌가 해서요. 혹시 SPP Layer에 넣기 전에 많이 중첩된 box는 합친다거나 하는 과정이 (NMS 같은..) S.S 결과에 적용되서 나오는 건가 해서요. 

2.) 이전 강의에서 feature Map의 VGG를 Image net으로 pre-training을 하고 IOU 0.5 이상인 object image로 fine tuning한다고 들었는데, SPP-Net을 하치면 Image net으로 pretraining 을 VGG로 한 후에 Pascal 같은 Object image로 SPP Layer과 FC Layer을 학습시키고 

그 이후에 SVM Classifier를 학습시킨다고 보면 될까요? 

(이전 강의에서 3-step으로 학습시킨 것 같아 동일한지 문의드렸습니다.)

 

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

1. SPP Layer는 오브젝트의 크기에 상관없이 고정된 vector 값으로 변화 시키기 위함입니다. 

다른 크기의 오브젝트라도 16분면으로(4x4), 4분면(2x2), 1분면으로 고정된 vector 값으로 변경시키는 것입니다.  예를 들어 32x32 크기의 256 depth를 가지는 오브젝트가 있어서 동일하게 16분면/4분면/1분면으로 vector화 해버리고, 24x24 크기의 256 depth의 오브젝트 역시 동일하게 16분면/4분면/1분면으로 vector로 만들면서 서로 다른 크기의 오브젝트를 동일한 형태의 vector로 만드는 것입니다. 

근데 말씀하신 대로  16분면은 4x4 이기 때문에 최소 오브젝트가 4x4 이상은 되어야 하는지는 논문에서 명확하게 언급하고 있지는 않습니다만, 제 생각은 최소 오브젝트가 4x4 보다 작은 경우는 16분면 변환을 모두 0으로 하면 될것으로 생각됩니다. 

1-1. selective search에서 (region 크기에 대한 필터링은 논문에서 구체적으로 명시하고 있지 않기에) 2000개를 별도로 필터링 하지는 않습니다. 

2000개의 Region proposal이 많아 보일 수는 있는데, 후보군이 적은것 보다는 많은게 좋습니다. 

후에 anchor 기반의 object detection도 매우 많은 anchor box들로 region proposal 영역을 대체합니다. 

대신 많은 region proposal로 인해서 예측시에 많은 bounding box가 예측 될 수 있는데, 이때문에 NMS를 필수적으로 적용해 줘야 합니다. 

2. SPPNET 논문에서 말씀하신 방법대로 그렇게 수행한 것인지는 나와있지 않지만, 아마도 그런 방식으로 적용하지 않았을까 생각됩니다. 

 

감사합니다. 

 

 

 

Eunmi님의 프로필 이미지
Eunmi

작성한 질문수

질문하기