Single Shot Text Detector with Regional Attention
한줄요약
multi scale feature와 attention module을 활용해서 Text region과 같이 ambiguous하고 varying한 object를 잘 찾아보자
ICCV 2017 spotlight세션에서 발표했다.
내용은 그닥 복잡하지 않다.
multi-scale을 다루기 위해, 기본적으로 inception module을 사용했고 거기에 더해 여러 개의 inception module을 aggregation했다.
그리고 Text region과 같이 localization을 정확히 잡기가 힘든 object를 잘 찾기 위해 attention module을 사용했다.
기본 구조는 SSD와 같다. anchor를 사용했고, mutli-scale feature에서 각각 prediction을 한다.
추가된 것은,
inception module과 inception module을 aggregation한 HIM이라는 모듈 그리고
Attention module이다. attention module을 학습을 위해 추가적인 loss를 정의했다.(softmax)
attention을 쓰면 얻을 수 있는 장점은 아래 결과에서 확인할 수 있다.
위쪽이 attention을 안쓴거고, 아래가 쓴거다. text와 같이 localization이 애매모호할 수 있는 object에 대해 localization이 잘 되는 것을 확인할 수 있다.
바로 결과를 좀 보면,

ICDAR 2013에 대해 실험을 하면서, 제안한 2가지 모듈 각각에 대해 성능을 측정했다. 제안한 요소 모두 성능에 이득이 있었고(미세하게 attention이 조금 더 좋다), 혼합해서 사용했을 때 가장 좋은 성능이 나왔다.

이건 다른 method들과 비교한거. Recall에 대해서는 SOTA를 찍었다. Precision도 잘 나옴.

이건 COCO-text에 대한 실험. COCO text는 본적이 없는데, 엄청 어렵나보다.
결론은, Attention과 multi scale을 다루는 모듈을 추가했다는거고 성능도 잘 나왔다.
읽다보니, attention이라는게 매력적이었고 fpn과 조금 다르게 multi-scale을 다루는 듯해서 직접 구현해보면 좋을 것 같다고 생각되서 구현 중이다.
fpn과 조금 비교해보면,
fpn은 가장 bottom layer에 top layer의 정보를 잘 전달하는 것이 주 목적이고 여기서는 각각 scale
level에서의 정보를 잘 구한 다음 이걸 다 합쳐서 활용한다. 그리고 aggregation을 여러 번해서 fpn처럼 각각의
scale level에서 prediction을 여러번 수행한다.
그리고 attention module은 첫 번째 AIF module에서 나온 feature map에서 transpose conv를 먹여서 만든다. loss는 softmax loss로 되어있는데, binary clssification이라 그냥 sigmoid를 먹이고 bce를 써도 될 듯하다. 일단은 나온대로 구현 중.
그리고 anchor box를 정말 엄청 dense하게 쌓았다. 논문에 언급된대로 matching을 잘 시켜주기 그랬다는데 나는 matching을 더 잘 시켜주니깐 성능이 안 나오던데..?
그리고 여기서는 prediction을 위한 head를 각각 다 만든 것 같은데, 나는 굳이 그렇게해야되나 싶어서 retinanet처럼 그냥 head는 다 shared하는 형태로 구현하는 중이다. 그리고 loss는 focal loss를 쓸 예정.
구현 : https://github.com/HotaekHan/SSTDNet
'Computer Vision' 카테고리의 다른 글
| Chained Cascade Network for Object Detection (0) | 2018.04.02 |
|---|---|
| Pixel Recursive Super Resolution (0) | 2018.04.02 |
| Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields (0) | 2018.04.02 |
| DeNet: Scalable Real-time Object Detection with Directed Sparse Sampling (0) | 2018.04.02 |
| Amulet: Aggregation Multi-level Convolutional Features for Salient Object Detection (0) | 2018.04.02 |

