AprilTag
로봇 위치추정과 포즈 추정을 위한 표준 비주얼 피듀셜 마커 시스템
라이선스
BSD-2-Clause
개요
AprilTag은 미시간 대학교 APRIL Robotics Laboratory에서 개발한 비주얼 피듀셜(fiducial) 시스템입니다. 인쇄 가능한 2D 바코드 스타일 태그를 카메라 이미지에서 검출하여 카메라 기준 각 태그의 완전한 6-DOF 포즈를 얻을 수 있으며, 조명, 각도, 부분 가림에 대해 강한 견고성을 보입니다. 코어 검출기는 의존성이 전혀 없는 작은 C 라이브러리로, 데스크톱 GPU 워크스테이션부터 마이크로컨트롤러급 CPU까지 어디서든 실행되도록 설계되었습니다.
AprilTag은 카메라 이미지에서 정사각형 이진 피듀셜 마커를 검출하고, 카메라 기준 각 태그의 정밀한 3D 위치, 자세, ID를 계산합니다. 버전 3 검출기는 유연한 태그 레이아웃(원형 및 커스텀 그리드)과 작은 태그의 검출력을 높이는 디코드 샤프닝(decode sharpening) 단계를 추가했습니다. 라이브러리는 외부 의존성이 전혀 없는 순수 C99 코드라 어디에나 손쉽게 임베드할 수 있으며, 공식 Python 래퍼와 커뮤니티가 유지보수하는 ROS 1/ROS 2 노드(apriltag_ros)가 태그 포즈를 TF 프레임으로 퍼블리시합니다. 사전 생성된 태그 패밀리(tag36h11, tag25h9, tagCircle, tagCustom)는 자매 저장소인 apriltag-imgs에서 배포되며, 태그 좌표계와 크기 규약이 캘리브레이션급 용도에 맞게 정밀하게 문서화되어 있습니다.
중요한 이유
AprilTag은 로보틱스 연구와 산업 현장의 사실상 표준 피듀셜입니다 — 그라운드 트루스 리그, 카메라 및 hand-eye 캘리브레이션, 드론 착륙 패드, 물류창고 로봇 도킹, 다중 로봇 위치추정에 두루 쓰입니다. 로보틱스 논문에서 '피듀셜로 물체를 추적했다'고 하면 거의 예외 없이 AprilTag을 의미합니다.
해결하는 문제
로봇은 비전 모델을 학습시키지 않고도 알려진 물체, 도킹 스테이션, 캘리브레이션 타깃에 대해 센티미터급 정확도의 ID 인식 포즈 추정이 필요한 경우가 많습니다. AprilTag은 인쇄 가능한 타깃과 경량 검출기를 제공하여, 캘리브레이션된 카메라라면 무엇이든 신뢰할 수 있는 6-DOF 포즈 센서로 바꿔 줍니다.
핵심 요점
- 인쇄 가능한 피듀셜 태그를 검출하여 태그별 ID와 완전한 6-DOF 포즈를 반환
- 외부 의존성이 없는 순수 C99 — 데스크톱 CPU부터 임베디드 보드까지 실행 가능
- tag36h11, tag25h9, tagCircle, tagCustom 태그 패밀리가 표준 및 커스텀 레이아웃을 지원
- AprilTag 3의 디코드 샤프닝이 작고 먼 태그의 검출 성능을 개선
- apriltag_ros를 통한 완성도 높은 ROS 1/ROS 2 통합으로 태그를 TF 프레임으로 퍼블리시
대상
- 그라운드 트루스나 캘리브레이션 타깃이 필요한 로보틱스 연구자
- 도킹 또는 착륙 정렬 기능을 추가하는 ROS 개발자
- 드론 및 AMR 개발자
- 컴퓨터 비전을 공부하는 학생
한계
- 정확한 미터 단위 포즈를 얻으려면 캘리브레이션된 카메라가 필요
- 태그 크기 대비 극단적인 시야각과 원거리에서는 포즈 정확도가 저하
- 태그를 환경에 물리적으로 부착해야 함 — 자연 특징점 트래커가 아님
- 롤링 셔터 카메라와 모션 블러는 검출 신뢰성을 떨어뜨림