Skip to main content

RetinaNet을 활용한 객체 감지

객체 감지 모델을 손쉽게 학습시키고 싶으신가요? 여기를 주목하세요, Keras RetinaNet이 있습니다. 이 글은 AI가 번역한 기사입니다. 오역이 의심되는 부분이 있다면 댓글로 알려주세요.
Created on September 15|Last edited on September 15
COCO 2017 데이터셋에서 객체 감지를 수행하기 위해 Keras RetinaNet을 포크했습니다.

RetinaNet은 백본 네트워크와, 백본의 피처 맵을 활용하는 두 개의 서브넷으로 구성됩니다. 하나의 분류 서브넷은 객체의 클래스를 식별하고, 하나의 회귀 서브넷은 바운딩 박스를 산출합니다. 입력 이미지는 해상도와 크기가 제각각이므로, RetinaNet은 다양한 해상도의 피처 맵을 사용합니다. 이는 학습을 더 빠르게 만들고, 동일한 이미지를 여러 해상도로 네트워크에 입력하는 방식보다 훨씬 덜 번거롭습니다.
백본의 마지막 피처 맵만 사용하는 대신, 백본 네트워크의 여러 단계에서 생성된 피처 맵을 활용합니다. 이러한 유형의 네트워크를 Feature Pyramid Networks(FPN)라고도 합니다. RetinaNet 아키텍처를 더 자세히 살펴보고 싶다면, Nick Zeng이 작성한 좋은 기사.

Weights & Biases 대시보드의 Model 탭에서는 서브넷워크에 입력되기 전에 피처 맵이 어떻게 활용되는지 보여줍니다.

모델을 학습하는 동안 ResNet-50과 ResNet-101을 사용했습니다. 각 에포크마다 500 스텝, 5000 스텝, 10,000 스텝을 시도했습니다. 학습 속도를 높이기 위해, 매 에포크가 끝날 때 검증 세트에서 무작위로 100장의 이미지만 샘플링해 평가했습니다.
기록했습니다 가장 성능이 뛰어난 모델 ResNet-50 백본을 사용하고, 매 에포크마다 스텝 수를 5,000으로 설정해 총 91 에포크 동안 학습했습니다. 모델 가중치가 필요하다면, 제가 공개한 체크포인트를 다운로드할 수 있습니다. ResNet-50 그리고 ResNet-101총 학습 시간은 6일이었습니다 — 50 에포크만 학습된 모델에서 학습을 재개했습니다. AP50이 0.5924로, 이 모델은 공식 순위에서 대략 20위권에 들었습니다. COCO 리더보드이 지표는 공식 테스트 세트가 아닌 검증 세트에서 계산된 것입니다. 그럼에도 비교적 빠르게 좋은 성능을 얻을 수 있어 만족합니다. 학습에는 EC2 P2.xlarge 인스턴스를 사용했으며, 이 프로젝트에는 총 92번의 실행에 걸쳐 합산 39일의 연산 시간이 소요되었습니다.
제가 수행한 92번의 서로 다른 실험 결과를 시각화하고, 이 안에서 결과를 자세히 살펴보세요 인터랙티브 리포트.


이 글은 AI 번역본입니다. 오역이 있을 수 있으니 댓글로 알려주세요. 원문 리포트 링크는 아래를 참고하세요: 원문 리포트 보기