이런 분들이 찾고 있어요
이 레슨과 관련된 학습 키워드
코드를 읽고 설명하면, 합격합니다
이 레슨과 관련된 학습 키워드
딥러닝을 활용한 비전 — 검출에서 세그멘테이션까지 → 객체 탐지
앵커 박스가 탐지를 위한 형태 사전 정보를 제공하는 방법과 NMS가 중복 예측을 필터링하는 방법을 학습합니다.
앵커 박스(Anchor Box)는 객체 검출에서 "여기에 물체가 있을 수 있다"고 미리 제안하는 사전 정의된 바운딩 박스입니다. 모델이 처음부터 박스를 만드는 게 아니라, 미리 깔아둔 박스를 조정(refine)하는 방식이에요.
왜 앵커가 필요한가?
이미지에서 물체의 위치, 크기, 형태는 무한하죠. 처음부터 (x, y, w, h)를 자유롭게 예측하면 탐색 공간이 너무 넓어요. 앵커는 이 탐색 공간을 합리적인 초기값으로 줄여줍니다. "대략 이 근처에 이 정도 크기"에서 시작해서 미세 조정만 하면 되니까요.
앵커의 3가지 요소:
1. 위치(Position): 이미지를 그리드로 나누고, 각 셀 중심에 앵커를 배치
2. 스케일(Scale): 물체 크기에 대응하는 박스 크기
3. 종횡비(Aspect Ratio): 물체 형태에 대응하는 가로세로 비율
프레임워크별 앵커 설정:
모델이 예측하는 것:
각 앵커마다 2가지를 예측합니다:
1. 분류(Classification): 이 앵커 안에 물체가 있는가? → confidence score
2. 회귀(Regression): 앵커를 얼마나 이동/변형할까? → (dx, dy, dw, dh) 오프셋
NMS(Non-Maximum Suppression)는 Neubeck과 Van Gool이 체계적으로 분석한 중복 제거 알고리즘이다 (Neubeck et al., 2006).
앵커 박스란 물체 검출에서 미리 정해둔 후보 바운딩 박스입니다.
화면 왼쪽의 입력 이미지를 보세요, 416곱하기 416 픽셀 이미지가 13곱하기 13 그리드로 나뉩니다.
각 그리드 셀 중심에서 여러 형태의 앵커 박스가 생성됩니다.
주황색으로 강조된 중심 셀을 보시면 세 가지 종횡비의 앵커가 보입니다.
빨간 점선은 1대2 세로형, 초록 점선은 1대1 정사각, 보라 점선은 2대1 가로형입니다.
가운데 테이블을 보세요, 각 종횡비에 세 가지 스케일을 곱합니다.
1대1 비율의 경우 45곱하기 45, 91곱하기 91, 181곱하기 181 세 크기가 됩니다.
이렇게 한 셀당 3종횡비 곱하기 3스케일로 총 9개 앵커가 만들어집니다.
13곱하기 13 그리드 전체에서는 1521개의 밀집 후보 박스가 생성되는 겁니다.
오른쪽의 리그레션 타겟 공식을 보세요.
티엑스는 정답 박스 중심과 앵커 중심의 차이를 앵커 너비로 나눈 값입니다.
티더블유와 티에이치는 정답 크기를 앵커 크기로 나눈 뒤 로그를 취합니다.
로그를 쓰는 이유는 스케일 변화를 안정적으로 학습하기 위해서입니다.
즉 네트워크는 새 박스를 만드는 게 아니라 가장 가까운 앵커를 미세 조정합니다.
하단의 발전사를 보면 2015년 패스터 알씨엔엔부터 2023년 욜로v8까지 앵커 개념이 진화해왔습니다.
패스터 알씨엔엔이 앵커를 처음 도입한 이래 에스에스디, 욜로v2가 이를 개선했습니다.
레티나넷은 포컬 로스로 클래스 불균형 문제를 해결했고요.
최근 욜로v8은 앵커 프리 방식으로 전환해 더 유연한 검출을 달성했습니다.
앵커 기반 방식의 핵심은 밀집 후보 생성과 리그레션의 조합이라는 점을 기억하세요.
이제 다음 슬라이드에서 최적 앵커를 찾는 케이민스 클러스터링을 살펴보겠습니다.