feat(pipeline): YouTube Tab → PDF 자동 추출 파이프라인 초기 구현

- 5단계 파이프라인: 다운로드 → 프레임 추출 → 패턴 감지 → 중복 제거 → PDF 생성
- 3가지 패턴 지원: overlay, split, scroll
- MSE 기반 픽셀 비교 프레임 중복 제거
- split 모드: 42% 크롭 + 밝기 필터 + Tab 라인 검증
- overlay 모드: 320x120 정규화 + 슬라이딩 윈도우 비교
- 프로젝트 문서 초기 작성 (architecture, tech-stack, STATUS, known-issues)
This commit is contained in:
2026-03-24 23:25:17 +09:00
commit 3d3f74b082
18 changed files with 1989 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
# Devlog — 2026-03-24
| # | 시간 | 작업 설명 | 커밋 | 상태 |
|---|------|-----------|------|------|
| 1 | 22:00~23:20 | 패턴 감지 고도화 (split/overlay 구분, MSE 비교, 밝기 필터, 크롭 최적화) | `init` | 🔧 |

View File

@@ -0,0 +1,33 @@
# 패턴 감지 고도화 & MSE 비교 전환
- **시간**: 2026-03-24 22:00~23:20
- **Commit**: `init` (첫 커밋)
## 결정 사항
### 1. 패턴 감지 우선순위: overlay → split → scroll
- overlay가 가장 구체적(흰 박스 + Tab 라인)이므로 최우선 검사
- split은 밝기 기준이 느슨할 수 있어 overlay 이후에 검사
- **이전 문제**: split을 먼저 검사하면 밝은 배경의 overlay 영상(空奏列車)이 split으로 오분류됨
### 2. 히스토그램 → MSE 비교 전환
- 히스토그램 상관관계는 밝기 분포만 비교하여 서로 다른 Tab 페이지도 "동일"로 판정
- MSE 픽셀 비교는 실제 내용 변화(프렛 번호, 마디 위치)를 정확히 감지
- **MSE 스케일 팩터**: 8 (동일 프레임 sim>0.999, 커서 이동 ~0.995, Tab 전환 0.52~0.91)
### 3. split 감지 조건 엄격화
- top_brightness > 180 (Tab 용지는 거의 흰색)
- bottom_brightness < 100 (핸드캠은 어두움)
- 차이 > 80
- Tab 수평 라인 4개 이상
### 4. overlay 정규화 비교
- 오버레이 크롭은 프레임마다 바운딩박스 크기가 다름 (69~360px)
- 320×120 흰색 캔버스에 정규화 후 비교
- 슬라이딩 윈도우 (최근 5개 고유 프레임) 사용
## 미완료
- overlay형(空奏列車)의 추출 프레임 수 최적화 (현재 ~1000개, 목표 20~50개)
- MSE 임계값 추가 튜닝 필요
- 추가 영상 타입 테스트 (순수 스크롤형)