Files
guitar_score/.agent/references/STATUS.md
quantlab 98381d2893 feat(pipeline): v3-v4 dedup + panorama stitching + 1080p support
- HSV-aware _trim_to_content (white ratio 30-97%)
- pHash cluster dedup: dHash 32x32(1024bit), max_hamming=20
- Panoramic stitching: template matching scroll offset detection
- 4-stage pipeline: MSE -> Panorama -> pHash
- 1080p download priority + MAX_FRAME_WIDTH=1280 cap
- test_pipeline.py with YouTube URLs and --download mode
- 3 new known-issues documented
- devlog + STATUS.md updated
2026-03-25 21:58:48 +09:00

42 lines
1.9 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 비교 |
| PDF/PNG 생성 | ✅ 완료 | A4 + 롱 이미지 |
## 처리 파이프라인 (scroll)
```
Raw Frames → HSV Strip 검출 → Median Crop → MSE 1차 → 파노라마 스티칭 → pHash 2차 → PDF
```
## 최근 변경
| 날짜 | 변경 내용 |
|------|-----------|
| 2026-03-25 | 1080p 우선 다운로드 + MAX_FRAME_WIDTH=1280 캡 (OOM 방지) |
| 2026-03-25 | dHash 32×32 + max_hamming=20으로 pHash 정밀도 향상 |
| 2026-03-25 | 파노라마 스티칭: 템플릿 매칭 스크롤 오프셋 검출 + 연속 프레임 합성 |
| 2026-03-25 | HSV 트림: 흰색비율 30~97% 기반 정밀 크롭 |
| 2026-03-25 | overlay 프레임 수 최적화: 858→51프레임 (OVERLAY_SIMILARITY_THRESHOLD=0.55) |
| 2026-03-24 | 패턴 감지 고도화: overlay→split→scroll 우선순위 |
| 2026-03-24 | 히스토그램 비교 → MSE 픽셀 비교로 전환 |
## 알려진 제한사항
- 1080p 처리 시 여전히 중복 프레임 존재 가능 (마디번호 기반 추가 검증 필요)
- 순차 영상 처리 시 메모리 누적 주의 (gc.collect 필수)
- test_pipeline.py 아직 메인 코드와 완전 통합 안 됨