Files
guitar_score/.agent/references/STATUS.md

45 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Project Status
## 기능 현황
| 기능 | 상태 | 비고 |
|------|------|------|
| YouTube 다운로드 | ✅ 완료 | yt-dlp, 1080p 우선 다운로드 |
| 프레임 추출 | ✅ 완료 | fps=2, MAX_FRAME_WIDTH=1280 캡 |
| 패턴 감지 (overlay) | ✅ 완료 | Tab 라인 검증 포함 |
| 패턴 감지 (split) | ✅ 완료 | 밝기 기준 엄격화 |
| 패턴 감지 (scroll) | ✅ 완료 | 기본 폴백 |
| HSV 기반 Tab 검출 | ✅ 완료 | 2-tier HSV 마스크, 960px 업스케일 |
| MSE 기반 중복 제거 | ✅ 완료 | 480px 정규화 비교 |
| pHash 클러스터 중복제거 | ✅ 완료 | dHash 32×32(1024bit), max_hamming=20 |
| 파노라마 스티칭 | ✅ 완료 | 템플릿 매칭 수평 스크롤 합성 |
| 오버레이 정규화 비교 | ✅ 완료 | 480×180 정규화 + 전체 히스토리 MSE 비교 |
| OCR 기반 마디번호 중복 제거 | ✅ 완료 | easyocr 기반 상단 숫자 판독 보조 |
| PDF/PNG 생성 | ✅ 완료 | A4 + 롱 이미지 |
## 처리 파이프라인 (scroll)
```
Raw Frames → HSV Strip 검출 → Median Crop → MSE 1차 → 파노라마 스티칭 → pHash 2차 → OCR 3차 → PDF
```
## 최근 변경
| 날짜 | 변경 내용 |
|------|-----------|
| 2026-03-29 | **[REFACTOR]** `ScoreExtractor` 객체지향 타일링 도입 (A4 크롭 오차 방지) 및 디버그 분리 |
| 2026-03-27 | **[BUG1]** `_merge_scroll_candidates` 씬전환 가속도 조건 제거 → 씬전환 오탐 9→1 |
| 2026-03-27 | **[BUG2]** `merge_panoramas_list` 매칭 임계치 0.60→0.50 → 파노라마 분리 3→1 |
| 2026-03-27 | **[BUG3]** `_detect_measure_bars` 마디선 최소간격 필터 100px 추가 → 오탐(17px) 제거 |
| 2026-03-25 | 마디번호 기반 중복 검색 기능(OCR) 파이프라인 적용 |
| 2026-03-25 | 1080p 우선 다운로드 + MAX_FRAME_WIDTH=1280 캡 (OOM 방지) |
| 2026-03-25 | dHash 32×32 + max_hamming=20으로 pHash 정밀도 향상 |
| 2026-03-25 | 파노라마 스티칭: 템플릿 매칭 스크롤 오프셋 검출 + 연속 프레임 합성 |
| 2026-03-24 | 패턴 감지 고도화: overlay→split→scroll 우선순위 |
## 알려진 제한사항
- 프레임 하단 기타리스트 영상이 탭 행 아래에 소량 노출됨 (`_trim_to_content` 개선 필요)
- 순차 영상 처리 시 메모리 누적 주의 (gc.collect 필수)
- test_pipeline.py 아직 메인 코드와 완전 통합 안 됨