Project brief
프로젝트 내용
[프로젝트 개요]
- 마라톤/스포츠 대회 사진 자동 분류 및 매칭 AI 시스템 구축
[프로젝트 배경 및 목표]
- 마라톤 등 스포츠 대회에서 촬영되는 고화질 사진은 대회 1회당 20만 장에서 최대 100만 장에 이르며, 이를 참가자 개개인이 직접 찾아보는 방식은 현실적으로 불가능한 수준입니다. 이에 따라 대량으로 업로드된 사진을 단 1회의 사전 배치(Batch) 처리로 자동 분류 및 색인하고, 참가자가 본인의 배번호를 입력하면 0.1초 이내에 해당 사진을 조회 및 다운로드할 수 있는 백엔드 파이프라인 구축을 목표로 합니다. 참가자용 프런트엔드(조회 페이지)는 클라이언트 측에서 인하우스로 개발할 예정이며, 본 프로젝트는 AI 파이프라인 및 백엔드 시스템 구축에 한정됩니다.
[과업 범위]
1. 수행 범위
- 상세 기획: AI 분류/매칭 파이프라인 설계, 대용량 배치 인프라 설계, API 설계
- 백엔드 개발: Vision AI 모델 연동 및 추론 로직 구현, 배치 처리 시스템 개발, API 서버 개발
- 서버/DB/인프라 구성: GPU 인스턴스, Redis, PostgreSQL, AWS S3 연동 구성
- UI/UX 디자인 및 프런트엔드/Client 개발은 클라이언트 인하우스 진행으로 본 과업 범위에서 제외
2. 상세 기능 요구 사항
2-1. Vision AI 파이프라인
- 배번호(Bib) 검출 및 OCR: YOLO(v8/v11) 기반 번호표 BBox 감지 및 PaddleOCR/EasyOCR을 통한 배번호 숫자 판독, 정규식 필터링 적용
- Golden Sample 생성: 배번호 인식에 성공한 사진군에서 참가자 고유의 대표 얼굴 벡터(InsightFace) 및 상체 의상 벡터(HSV/ReID) 자동 추출
- 2-Pass 유사도 필터링(미식별 사진 구제 및 오탐 제거): 배번호가 가려진 사진에 대해 Golden Sample 얼굴 벡터로 1차 유사도 매칭 수행, 1차 통과 대상 중 당일 의상 특징(Color/Pattern)이 불일치하는 사진을 배제하는 2차 검증 로직 구현
2-2. 대용량 분산 배치 인프라 및 DB 색인
- 썸네일 사전 처리: S3 업로드 시 AI 추론용 저용량 이미지(1080p WebP/JPEG) 자동 생성 파이프라인 연동
- 비동기 분산 큐 시스템: Celery + Redis 기반 다중 GPU 워커 병렬 처리 구축
- DB 매핑 테이블 생성: 1회 배치 완료 후 참가자 배번호별 사진 매핑 결과(bib_photo_matches)를 PostgreSQL 등 RDBMS에 색인 저장
- GPU 비용 최적화: 배치 실행 시에만 Spot GPU 인스턴스를 동적으로 가동하고, 작업 종료 후 인스턴스를 자동 회수하는 On-Demand 아키텍처 구현
2-3. API 및 서빙
- 관리자용 API: 사진 대량 업로드 트리거, 배치 진행률 모니터링, 처리 결과 통계 API
- 참가자용 조회 API: 배번호 입력 시 사전 색인된 사진 목록(썸네일/원본 URL)을 100ms 이내 반환하는 RESTful API
3. 비기능적 요구사항
- 대회 1회 기준 20만~100만 장(장당 5~10MB 원본) 처리가 가능해야 하며, 참가자 배번호 조회 시 100ms(0.1초) 이내 응답이 가능해야 함
[기술/제조 스택]
Language & Framework: Python 3.10 이상, FastAPI
Vision AI: PyTorch, YOLO(v8/v11), PaddleOCR 또는 EasyOCR, InsightFace, OpenCV
Data & Queue: Celery, Redis, PostgreSQL(pgvector 또는 일반 RDBMS)
Cloud & Infra: AWS S3, AWS EC2 Spot 또는 RunPod GPU 인스턴스, Docker
상기 스택을 기본 권장하며, 동등 이상의 성능과 처리 속도(SLA)를 보장할 수 있는 대안 기술 스택 제안도 가능합니다.
[주요 일정]
1. 희망 착수일: 계약 체결 즉시
2. 최종 오픈(납품) 희망일: 2026년 10월 초
[지원 자격 및 우대 사항]
1. 지원 자격
- Python, FastAPI 기반 백엔드 개발 실무 경험 보유
- YOLO, OCR, 얼굴인식(InsightFace 등) Vision AI 모델의 실제 프로젝트 적용 경험
- 10만 장 이상 대용량 이미지 분산 배치 처리 파이프라인 설계 경험
2. 우대 사항
- AWS S3, EC2 Spot 또는 GPU 인스턴스 운영 경험
- Celery, Redis 기반 비동기 분산 처리 시스템 구축 경험
- 스포츠/이벤트 사진 판매 플랫폼 또는 유사 도메인 개발 경험
[산출물]
- AI 모델 및 백엔드 배치 파이프라인 전체 소스 코드(Git Repository)
- GPU 서버 배포용 Dockerfile 및 docker-compose.yml
- API 명세서(Swagger) 및 시스템 인프라 구축/운영 가이드 문서