작성
·
241
0
RoI pooling 시에는 selective search를 통해 찾은 영역들을 feature map에서 뽑아 무조건 7x7(임의의)사이즈로 resize 해주면 되는데
1. spp layer에서는 16x16, 4x4, 1x1의 고정길이로 max pooling을 하게되는 경우 16x16보다 작은 경우의 selective search 영역도 존재할거같은데 이경우도 resize를 진행하는건가요? 아니면 다른 방법이 있나요?
2. spp layer는 (16+4+1)x256이고, Roi pooling은 (7x7)x256이라 spp net이 연산이 더 적어서 빠를 것 같은데
fast RCNN이 빠른 이유가 svm 대신 softmax를 쓴것이라면 왜 spp layer 대신 RoI pooling을 사용한걸까요?
답변 1
1
안녕하십니까,
spp와 ROI 풀링은 약간 다릅니다. 둘다 고정된 크기를 유지시킨다는 점에서는 같습니다.
SPP는 Object들을 고정된 크기의 vector크기 형태로 바꿔줍니다. 그러니까 개별 오브젝트를 4x4, 2x2, 1x1 형태로 쪼개지고 이들을 concat해서 고정된 형태의 vector 크기 즉 16 + 4 + 1 형태의 vector로 바꿔 줍니다. 어떤 크기의 개별 오브젝트라도 4x4, 2x2, 1x1 형태로 쪼개지기 때문에 크기가 작든, 크든 어떤 object도 적용이 가능합니다.
ROI Pooling도 비슷합니다. 다만 더 간단합니다. 무조건 object들을 7X7 형태로 Resize한 뒤에 max pooling 해버립니다. spp보다 ROI가 훨씬 더 간단하고 성능도 더 뛰어나기 때문에 ROI를 적용한 것 입니다.
감사합니다.