
프론트엔드
사진 속 별자리 찾기: 7년 걸린 Plate Solver 만들기
두줄요약
밤하늘 사진의 별 배치로 위치를 찾는 브라우저 Plate Solver 개발 과정을 소개했습니다. AI 협업과 검증 절차로 정확도·속도·용량 문제를 개선하고 공개 가능한 수준을 확인했습니다.
구조와 흐름
- 사진의 별 배치를 회전·크기 변화에 강한 지문으로 변환해 별 지도와 대조하는 Plate Solving
- quad 지문 기반 빠른 탐색 후 삼각형 기반 넓은 범위 탐색으로 보완
- HEALPix 분할과 KD-tree 검색을 통한 별 지도 패턴 후보 축소
문제 상황
- 지상 불빛·건물·구름을 별로 오인하는 초기 별 감지 오류
- 유사한 삼각형 패턴 다수와 후보 정답 판별 부재
- 패턴 DB·OpenCV.js 다운로드 용량과 브라우저 실행 시간 제약
해결 방법
- 주변 고리 밝기 균일성 기반 별다움 점수와 상단 하늘 영역 재시도로 지상 물체 배제
- 미사용 별의 겹침 수와 우연 확률 기반 정답 확신 판정
- 겹친 별 전체를 활용한 변환 재보정과 8개 이상일 때 원근 변환 적용
성능/운영 포인트
- 패턴 DB의 브라우저 생성, OpenCV.js 제거, 글꼴 분할로 다운로드 28MB에서 0.68MB로 축소
- 8초 제한 검증에서 미확인 사진 200장 중 102장 확신, 확신 결과 오답 0장
- Claude Code와 브라우저 기반 반복 디버깅, 측정·기록 중심의 개선 과정



