DDP 메인페이지

📌 프로젝트 목표

  • 딥페이크 기술을 악용한 보이스피싱·가짜 광고·허위 정보 확산에 대응하기 위한 AI 기반 멀티모달 분석 시스템 구축
  • 주파수 위조 흔적(Wavelet), 생체 신호(rPPG), 음성 발화 패턴(STT), 통합 Transformer(UNITE) 4중 멀티모달 분석으로 딥페이크 입체 판별
  • 사용자의 자발적 신고를 포인트 리워드와 연결하는 선순환 디지털 생태계 구현

📌 핵심 기능

  • 증거수집모드 (Fast): Wavelet + rPPG + STT 3중 병렬 분석 → PNG 시각화 리포트 자동 생성
  • 정밀탐지모드 (Deep): UNITE Transformer 기반 고정밀 딥페이크 판별
  • 비동기 처리 파이프라인: Taskiq + Redis Queue로 딥러닝 작업 큐잉, WebSocket 실시간 결과 알림
  • 멀티 소스 지원: 기기 내 동영상 업로드 + YouTube/SNS URL 실시간 수집
  • 리워드 시스템: 신고 건당 1,000P 지급, 4단계 등급 뱃지, Top 10 실시간 리더보드

📌 기술 스택

    architecture_image
    분류기술
    AI/MLPyTorch, ONNX Runtime, OpenAI Whisper, CLIP, InsightFace, OpenCV
    BackendFastAPI, Python 3.12, PostgreSQL, SQLModel, Alembic, Taskiq, Redis
    StorageAWS S3 (영상·프로필·리포트 이미지)
    FrontendReact Native, Expo 0.81, TypeScript, Expo Router
    InfraWebSocket, ngrok, Redis Pub/Sub

📌 My Main Contributions

1. Wavelet-CLIP 주파수 분석 모델 — 초기 구현 및 백엔드 통합

  • CLIP 인코더와 Wavelet 변환을 결합한 주파수 위조 탐지 모델(wavelet_lib) 초기 구현
  • wavelet 모델 학습 최적화 (최종 학습 결과: ACC=0.96, 일반화 성능 결과: AUC=0.84, ACC=0.71)
    • architecture_image
  • p75 집계 + TTA(Test-Time Augmentation) 적용으로 분석 안정성 확보
  • FastAPI 백엔드의 DetectionPipelineWaveletDetector 클래스로 통합
  • Wavelet 주파수 히스토그램 시각화 리포트(PNG) 생성 → AWS S3 업로드 연동

2. React Native 프론트엔드 — API 연동 및 핵심 기능 구현

  • Google OAuth 로그인 / 아이디·비밀번호 찾기 / 회원탈퇴 구현
  • 분석 결과 대시보드 API 연동 (/analysis-result, /video/upload, /video/link)
  • YouTube URL 입력 → 서버 전송 흐름 (link-paste.tsx) 구현
  • WebSocket 토큰 인증 추가로 실시간 분석 진행 알림 수신
  • AWS S3 프로필 이미지 업로드 API 연동 (/account/profile)
  • 프론트엔드 API 스펙 정의서(API_RESPONSE_SPEC.md) 작성으로 팀 협업 기준 수립

3. FastAPI 백엔드 — S3 통합 및 인프라 연동

  • AWS S3 파일 업로드/다운로드 로직 구현 (프로필 이미지, 동영상 원본, 분석 리포트)
  • YouTube yt-dlp 기반 외부 영상 수집 + cookies.txt 인증 처리
  • ngrok 터널 연동으로 외부 접속 주소 동적 할당 (FastAPI lifespan 내 관리)

4. UNITE 모델 인프라 및 STT 파이프라인 통합

  • UNITE 딥페이크 탐지 모델을 Git 서브모듈로 추가 및 체크포인트 자동 다운로드 스크립트(get_ckpt.sh) 작성
  • PyTorch CUDA 128 버전 업그레이드 적용
  • Whisper 기반 STT 파이프라인 초기 백엔드 통합

📌 문제 해결 경험

① UNITE 모델 결과값 반전 및 확률 계산 오류 수정

문제: UNITE 모델이 REAL/FAKE 판별 결과를 반대로 반환하고 확률값이 정상 범위를 벗어남
해결: softmax 출력 인덱스 매핑 오류 발견 → FAKE 확률 인덱스 수정 및 신뢰도 점수 계산 로직 재검토
결과: 모델 판별 정확도 정상화, 최종 데모 전날 배포 안정화 완료

② S3 / Redis 환경 설정 및 배포 연결 오류 해결

문제: 배포 환경에서 S3 URL, Redis URL, ngrok 브로커 연결 끊김 등 환경변수 기반 오류 반복 발생
해결: ngrok 터널이 FastAPI lifespan 외부에서 종료되는 문제 → lifespan 내 명시적 cleanup 로직 추가; Redis 브로커 타입 불일치 수정으로 Taskiq 워커 정상화
결과: 안정적인 비동기 파이프라인 구동 및 외부 접속 환경 구성 완료

③ 브랜치 병합 충돌 해결 및 협업 프로세스 정착

문제: 5인 동시 개발로 인해 main 브랜치 병합 충돌 이틀간 반복 발생
해결: 충돌 발생 지점(routers, schemas, models) 수동 병합; API 스펙 문서 선행 작성으로 인터페이스 기준 정렬; 역할별 모듈 분리로 파일 충돌 최소화
결과: 이후 충돌 빈도 감소 및 팀 협업 프로세스 개선

📌 프로젝트 성과

    항목수치
    전체 커밋 수255 commits
    본인 커밋 수69 commits (기여도 27.1%)
    프로젝트 기간22일 (2026.02.06 ~ 2026.02.27)
    팀 규모5명
    AI 탐지 모델4종 (Wavelet, rPPG, STT, UNITE)
    지원 소스2종 (파일 업로드, YouTube/SNS URL)
    리워드 등급4단계 뱃지 시스템

📌 마일스톤

Week 1 (02.06~13): 프로젝트 기반 구축

  • 본인: 프로젝트 초기 커밋, Wavelet-CLIP 모델 및 프론트엔드 코드 초기 추가
  • 본인: UNITE 서브모듈 추가 및 체크포인트 자동 다운로드 스크립트(get_ckpt.sh) 작성
  • 팀 전체: 백엔드 기본 구조(FastAPI, SQLModel, DB) 설계, UNITE 모델 마이그레이션 착수

Week 2 (02.14~21): AI 모델 통합 및 백엔드 API 개발

  • 본인: STT(Whisper) 파이프라인 백엔드 통합
  • 본인: 프론트엔드 API 스펙 정의서(API_RESPONSE_SPEC.md) 작성 — 팀 협업 기준 수립
  • 팀 전체: DB 테이블 설계(User/Video/Result/Reports), 인증(JWT/OAuth) 구현, 백엔드 구조 개편(Taskiq 워커, WebSocket, Redis Pub/Sub)

Week 3 (02.22~27): 전체 통합, 배포, 버그 수정

  • 본인: AWS S3 통합 (프로필 이미지·동영상·분석 리포트), Google OAuth 로그인 구현
  • 본인: YouTube URL 수집 흐름, WebSocket 토큰 인증 추가
  • 본인: UNITE 모델 REAL/FAKE 결과값 반전 오류 수정, ngrok 배포 안정화
  • 본인: 프론트엔드 분석 결과·회원정보·탈퇴 API 전체 연동 완료
  • 팀 전체: rPPG 탐지기·YouTube 파이프라인 추가, WebSocket 실시간 알림·보고서 구조 완성, 최종 데모 준비