논문 읽기 : "Single-Shot Refinement Neural Network for Object Detection"요약
소개
YOLOv3에 밀리고 있었다고 생각한 SSD 계통의 물체 검출입니다만, AAAI'19에 M2Det가 채용되었습니다!
M2Det은 아직 구현이 공개되지 않았지만, SOTA(최고 퍼포먼스)인 것 같습니다.
여기서 M2Det을 원활하게 읽으려면 SSD 계통의 RefineDet을 읽었습니다.
여기서 간단히 요약을 공유합니다.
개요
SSD 계통의 방법 중 하나. SSD의 속도와 정확성을 향상시킨 것.
일반적으로 물체 검출은 1stage 계통(SSD)이 속도가 뛰어나 2stage 계통(R-CNN)이 정밀도가 높다.
두 접근법의 장점을 인수하고 단점을 줄였기 때문에,
이번 RefineDet은 1stage 계통의 속도를 유지하며 2stage 계통보다 제도가 높다.
네트워크 구성
ARM(상단)에서 물체의 유무만을 예측하고, ODM(하단)에서는 어느 클래스에 속하는지 상세하게 예측한다.
ARM에서 하늘이라고 판단한 바운딩 박스는 임계값으로 연주하고, ODM에는 물체가 있다고 판정한 것만을 보낸다.
이것으로 ODM은 물체가 있다고 판단된 영역만의 분류에 전념시키기 때문에 동작이 빨라진다.
Anchor Rifinement Module(ARM) 【상단】
여기서 1stage 계통과 같은 일을 흠뻑 행한다.
anchor box의 위치와 사이즈에 대한 최적의 초기화와, 물체가 있는지 없는지의 2 클래스 분류를 실시해,
분류 작업을 수행하는 영역을 줄이기 위해 negative anchor를 줄입니다.
Transfer Connecting Block(TCB)【중단】
ARM【상단】에서 추출한 정보를 ODM【하단】에 전달하기 위한 층
깊은 층의 특징은 얕은 층의 특징에 통합된다. 이것은 작은 물체에 대한 인식 정확도를 향상시킵니다.
← 부분에서 오른쪽에서 특징량을 전개하여 더하고 있습니다.
Object Detection Module(ODM)【하단】
ARM의 출력 Refinement Anchor를 입력으로 이용한다.
anchor box의 최종 조정과 분류 태스크를 실시한다.
SSD에서 사용되는 Hard Negative Mining도 여기에서 사용됩니다.
손실 함수
손실 함수는 ARM과 ODM 각각의 손실 함수의 합을 사용하고 있다.
i: anchor index
li: i의 정답 라벨
gi: i의 정답 크기와 위치 정보
Pi: 물체의 유무
Xi: 가려진 anchor
ci: 예측 결과 클래스
ti: 예측 결과의 경계 상자
Narm : ARM에서 유효한 anchor 수
Nodm : ODM에서 유효한 anchor 수
Lb: 물체가 존재하는지 아니면 cross entropy/log
Lm: 다중 클래스 신뢰도의 soft max loss
검증
M2Det 표
음 역시 작은 물체의 인식은 힘들 것 같네요.
M2Det에 기대!
Reference
이 문제에 관하여(논문 읽기 : "Single-Shot Refinement Neural Network for Object Detection"요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mizukicker/items/2bb759978521b48dda04
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
SSD 계통의 방법 중 하나. SSD의 속도와 정확성을 향상시킨 것.
일반적으로 물체 검출은 1stage 계통(SSD)이 속도가 뛰어나 2stage 계통(R-CNN)이 정밀도가 높다.
두 접근법의 장점을 인수하고 단점을 줄였기 때문에,
이번 RefineDet은 1stage 계통의 속도를 유지하며 2stage 계통보다 제도가 높다.
네트워크 구성
ARM(상단)에서 물체의 유무만을 예측하고, ODM(하단)에서는 어느 클래스에 속하는지 상세하게 예측한다.
ARM에서 하늘이라고 판단한 바운딩 박스는 임계값으로 연주하고, ODM에는 물체가 있다고 판정한 것만을 보낸다.
이것으로 ODM은 물체가 있다고 판단된 영역만의 분류에 전념시키기 때문에 동작이 빨라진다.
Anchor Rifinement Module(ARM) 【상단】
여기서 1stage 계통과 같은 일을 흠뻑 행한다.
anchor box의 위치와 사이즈에 대한 최적의 초기화와, 물체가 있는지 없는지의 2 클래스 분류를 실시해,
분류 작업을 수행하는 영역을 줄이기 위해 negative anchor를 줄입니다.
Transfer Connecting Block(TCB)【중단】
ARM【상단】에서 추출한 정보를 ODM【하단】에 전달하기 위한 층
깊은 층의 특징은 얕은 층의 특징에 통합된다. 이것은 작은 물체에 대한 인식 정확도를 향상시킵니다.
← 부분에서 오른쪽에서 특징량을 전개하여 더하고 있습니다.
Object Detection Module(ODM)【하단】
ARM의 출력 Refinement Anchor를 입력으로 이용한다.
anchor box의 최종 조정과 분류 태스크를 실시한다.
SSD에서 사용되는 Hard Negative Mining도 여기에서 사용됩니다.
손실 함수
손실 함수는 ARM과 ODM 각각의 손실 함수의 합을 사용하고 있다.
i: anchor index
li: i의 정답 라벨
gi: i의 정답 크기와 위치 정보
Pi: 물체의 유무
Xi: 가려진 anchor
ci: 예측 결과 클래스
ti: 예측 결과의 경계 상자
Narm : ARM에서 유효한 anchor 수
Nodm : ODM에서 유효한 anchor 수
Lb: 물체가 존재하는지 아니면 cross entropy/log
Lm: 다중 클래스 신뢰도의 soft max loss
검증
M2Det 표
음 역시 작은 물체의 인식은 힘들 것 같네요.
M2Det에 기대!
Reference
이 문제에 관하여(논문 읽기 : "Single-Shot Refinement Neural Network for Object Detection"요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mizukicker/items/2bb759978521b48dda04
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
M2Det 표
음 역시 작은 물체의 인식은 힘들 것 같네요.
M2Det에 기대!
Reference
이 문제에 관하여(논문 읽기 : "Single-Shot Refinement Neural Network for Object Detection"요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mizukicker/items/2bb759978521b48dda04텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)