- 프로젝트명: AgenticLabeling
- 시작일: 2024-12-29
- 목표 완료일: 2025-02-28 (Phase 2)
- 관련 문서:
AI 기반 자동 라벨링 시스템으로 Florence-2, SAM2, DINOv2를 활용하여 객체 감지, 분할, 분류를 수행하고 Object Registry를 통해 체계적으로 관리하는 마이크로서비스 플랫폼
[████████████████████] 100% (64/64 완료)
| 단계 | 상태 | 담당자 | 완료일 |
|---|---|---|---|
| 기획 | ✅ 완료 | Dev Team | 2024-12-29 |
| 설계 | ✅ 완료 | Dev Team | 2024-12-29 |
| Phase 1 개발 | ✅ 완료 | Dev Team | 2024-12-29 |
| Phase 2 개발 | ✅ 완료 | Dev Team | 2024-12-29 |
| Phase 3 개발 | ✅ 완료 | Dev Team | 2024-12-29 |
| Phase 4 개발 | ✅ 완료 | Dev Team | 2024-12-29 |
| Phase 5 테스트 | ✅ 완료 | Dev Team | 2024-12-29 |
| Phase 6 배포 | ⏳ 대기 | Dev Team | - |
목표: 마이크로서비스 아키텍처 구축 및 기본 자동 라벨링 파이프라인 완성
- 프로젝트 구조 설계 | Dev Team | 2024-12-29
- 마이크로서비스 아키텍처 구축 | Dev Team | 2024-12-29
- Detection Agent (Florence-2) 구현 | Dev Team | 2024-12-29
- Segmentation Agent (SAM2) 구현 | Dev Team | 2024-12-29
- Classification Agent (DINOv2) 구현 | Dev Team | 2024-12-29
- Labeling Agent 구현 | Dev Team | 2024-12-29
- API Gateway 구현 | Dev Team | 2024-12-29
- auto_label 파이프라인 통합 | Dev Team | 2024-12-29
- Object Registry 설계 문서 작성 | Dev Team | 2024-12-29
- Object Registry SQLite 스키마 구현 | Dev Team | 2024-12-29
- Object Registry ChromaDB 통합 | Dev Team | 2024-12-29
- Object Registry REST API 구현 | Dev Team | 2024-12-29
- SQLite 배치 동시성 이슈 해결 | Dev Team | 2024-12-29
- Gateway - Object Registry 연동 완료 | Dev Team | 2024-12-29
- Docker Compose 환경 구성 | Dev Team | 2024-12-29
[████████████████████] 100% (15/15 완료)
목표: YOLO/COCO 내보내기, 품질 검수, 임베딩 검색 기능 완성
- YOLO 포맷 내보내기 구현 | Dev Team | 2024-12-29
- COCO 포맷 내보내기 구현 | Dev Team | 2024-12-29
- 데이터셋 빌드 API 구현 | Dev Team | 2024-12-29
- 데이터셋 split (train/val/test) 로직 | Dev Team | 2024-12-29
- 품질 검수 워크플로우 설계 | Dev Team | 2024-12-29
- 객체 수정 API 구현 | Dev Team | 2024-12-29
- 객체 검증 플래그 관리 | Dev Team | 2024-12-29
- 임베딩 기반 유사 객체 검색 API | Dev Team | 2024-12-29
- 라벨 수정/검증 UI (label-studio-lite) | Dev Team | 2024-12-29
- 임베딩 검색 성능 최적화 (LRU 캐시, 배치 검색) | Dev Team | 2024-12-29
-
/home/coffin/dev/AgenticLabeling/services/data-manager/app/exporters/yolo.py -
/home/coffin/dev/AgenticLabeling/services/data-manager/app/exporters/coco.py -
/home/coffin/dev/AgenticLabeling/services/label-studio-lite/app/main.py
[████████████████████] 100% (10/10 완료)
목표: 비디오 프레임 처리, Re-ID 기반 객체 추적
- 비디오 프레임 추출 로직 | Dev Team | 2024-12-29
- VideoProcessor 클래스 구현 | Dev Team | 2024-12-29
- Frame 테이블 데이터 등록 | Dev Team | 2024-12-29
- IoU 기반 객체 연결 알고리즘 (ObjectTracker) | Dev Team | 2024-12-29
- Track 생성 및 관리 API | Dev Team | 2024-12-29
- 비디오 처리 작업 관리 (Job 시스템) | Dev Team | 2024-12-29
- Re-ID 기반 시각적 유사도 매칭 (ReIDTracker) | Dev Team | 2024-12-29
- 트랙 시각화 UI (Trajectory, Timeline View) | Dev Team | 2024-12-29
- 트랙 수정 및 병합 기능 | Dev Team | 2024-12-29
-
/home/coffin/dev/AgenticLabeling/services/preprocessing-agent/app/main.py -
/home/coffin/dev/AgenticLabeling/services/preprocessing-agent/app/video_processor.py -
/home/coffin/dev/AgenticLabeling/services/label-studio-lite/app/main.py(Tracks Tab 추가)
| 엔드포인트 | 메서드 | 설명 |
|---|---|---|
/video/info |
POST | 비디오 정보 조회 |
/video/process |
POST | 비디오 처리 시작 (백그라운드) |
/video/jobs/{job_id} |
GET | 작업 상태 조회 |
/frames/process |
POST | 프레임 배치 처리 |
/tracks/create |
POST | IoU 기반 트랙 생성 |
[████████████████████] 100% (9/9 완료)
목표: YOLO 모델 학습 및 평가 자동화
- YOLO Training Agent 파이프라인 완성 | Dev Team | 2024-12-29
- Registry 통합 학습 (train/from-registry) | Dev Team | 2024-12-29
- MLflow 실험 추적 통합 | Dev Team | 2024-12-29
- 모델 추론 API (/predict) | Dev Team | 2024-12-29
- 모델 평가 API (/models/evaluate) | Dev Team | 2024-12-29
- 모델 비교 API (/models/compare) | Dev Team | 2024-12-29
- Training Callback (실시간 진행률) | Dev Team | 2024-12-29
- 모델 메타데이터 저장 | Dev Team | 2024-12-29
- Evaluation Agent 메트릭 구현 (mAP, mAP50-95) | Dev Team | 2024-12-29
- Confusion Matrix 생성 | Dev Team | 2024-12-29
- Active Learning 루프 설계 | Dev Team | 2024-12-29
-
/home/coffin/dev/AgenticLabeling/services/training-agent/app/main.py -
/home/coffin/dev/AgenticLabeling/services/training-agent/app/trainer.py -
/home/coffin/dev/AgenticLabeling/services/training-agent/app/schemas.py -
/home/coffin/dev/AgenticLabeling/services/training-agent/app/active_learning.py -
/home/coffin/dev/AgenticLabeling/services/evaluation-agent/app/evaluator.py
| 엔드포인트 | 메서드 | 설명 |
|---|---|---|
/train/start |
POST | YOLO 학습 시작 |
/train/from-registry |
POST | Registry 데이터셋으로 학습 |
/train/status/{job_id} |
GET | 학습 상태 조회 |
/train/jobs |
GET | 학습 작업 목록 |
/train/stop/{job_id} |
POST | 학습 중지 |
/models |
GET | 학습된 모델 목록 |
/models/{model_id} |
GET | 모델 상세 정보 |
/models/evaluate |
POST | 모델 평가 |
/models/compare |
POST | 모델 비교 |
/predict |
POST | 추론 실행 |
/predict/batch |
POST | 배치 추론 |
/experiments |
GET | MLflow 실험 목록 |
/evaluate/detection |
POST | 객체 탐지 평가 |
/evaluate/classification |
POST | 분류 평가 |
/evaluate/segmentation |
POST | 분할 평가 |
[████████████████████] 100% (11/11 완료)
목표: 단위/통합/E2E 테스트 작성 및 커버리지 확보
- Object Registry 단위 테스트 (27개) | Dev Team | 2024-12-29
- Training Agent 스키마 테스트 (17개) | Dev Team | 2024-12-29
- Evaluation Agent 단위 테스트 (39개) | Dev Team | 2024-12-29
- Re-ID Tracker 단위 테스트 (23개) | Dev Team | 2024-12-29
- Gateway 통합 테스트 (54개) | Dev Team | 2024-12-29
- Active Learning 단위 테스트 (18개) | Dev Team | 2024-12-29
- auto_label E2E 테스트 (17개) | Dev Team | 2024-12-29
- 테스트 커버리지 80% 달성 | Dev Team | 2024-12-29
-
/home/coffin/dev/AgenticLabeling/tests/unit/test_registry.py(27 tests) -
/home/coffin/dev/AgenticLabeling/tests/unit/test_training.py(17 tests) -
/home/coffin/dev/AgenticLabeling/tests/unit/test_evaluator.py(39 tests) -
/home/coffin/dev/AgenticLabeling/tests/unit/test_reid_tracker.py(23 tests) -
/home/coffin/dev/AgenticLabeling/tests/unit/test_active_learning.py(18 tests) -
/home/coffin/dev/AgenticLabeling/tests/integration/test_gateway.py(54 tests) -
/home/coffin/dev/AgenticLabeling/tests/e2e/test_pipeline.py(17 tests) -
/home/coffin/dev/AgenticLabeling/tests/conftest.py(fixtures)
총 테스트 수: 195개
통과: 195개
실패: 0개
커버리지: 80%
| 서비스 | 커버리지 |
|---|---|
| gateway/main.py | 94% |
| evaluation-agent/evaluator.py | 96% |
| training-agent/active_learning.py | 88% |
| training-agent/schemas.py | 100% |
| object-registry/registry.py | 69% |
| preprocessing-agent/video_processor.py | 66% |
[████████████████████] 100% (8/8 완료)
- Kubernetes 매니페스트 작성 | Dev Team | -
- PostgreSQL 마이그레이션 스크립트 | Dev Team | -
- Qdrant 클러스터 설정 | Dev Team | -
- gRPC 서비스 간 통신 구현 | Dev Team | -
- Redis 기반 작업 큐 통합 | Dev Team | -
- Prometheus 메트릭 노출 | Dev Team | -
- Grafana 대시보드 구성 | Dev Team | -
- 알림 채널 설정 (Slack/Email) | Dev Team | -
[░░░░░░░░░░░░░░░░░░░░] 0% (0/8 완료)
| 서비스 | 포트 | GPU | 상태 | 비고 |
|---|---|---|---|---|
| gateway | 8000 | ❌ | ✅ | 모든 엔드포인트 라우팅 |
| detection-agent | 8001 | ✅ | ✅ | Florence-2 grounding |
| segmentation-agent | 8002 | ✅ | ✅ | SAM2 instance segmentation |
| classification-agent | 8003 | ✅ | ✅ | DINOv2 임베딩 |
| labeling-agent | 8004 | ❌ | ✅ | 레거시 라벨 관리 |
| training-agent | 8005 | ✅ | ✅ | YOLO 학습 + MLflow |
| data-manager | 8006 | ❌ | ✅ | YOLO/COCO 내보내기 |
| evaluation-agent | 8007 | ✅ | ✅ | mAP, Confusion Matrix |
| preprocessing-agent | 8008 | ❌ | ✅ | 비디오/Re-ID 트래킹 |
| object-registry | 8010 | ❌ | ✅ | SQLite + ChromaDB + 캐싱 |
| label-studio-lite | 8501 | ❌ | ✅ | Streamlit 검증 UI + 트랙 시각화 |
| mlflow | 5000 | ❌ | ✅ | 실험 추적 |
| redis | 6379 | ❌ | ✅ | 캐시/큐 |
- 테스트 커버리지 80% 달성 (Phase 5 잔여)
- 현재 ~60% → 목표 80%
- 추가 단위 테스트 작성 필요
-
K8s 배포 준비 (Phase 6)
- Docker 이미지 최적화
- Kubernetes 매니페스트 작성
-
트랙 수동 수정 UI (UI 개선)
- label-studio-lite에 트랙 편집 기능 추가
- 프로덕션 배포 (Phase 6)
- PostgreSQL 마이그레이션
- Prometheus/Grafana 모니터링
- Qdrant 클러스터 설정
Phase 1: 마이크로서비스 아키텍처 + 자동 라벨링 파이프라인 Phase 2: YOLO/COCO 내보내기 + 품질 검수 + 검증 UI + 임베딩 검색 최적화 Phase 3: 비디오 프레임 처리 + IoU 기반 트래킹 + Re-ID 트래킹 + 트랙 시각화 Phase 4: YOLO Training Agent + MLflow + 추론 API + Evaluation Agent (mAP, Confusion Matrix) Phase 5: 120개 테스트 작성 (단위 + 통합)
주요 성과:
- 전체 진행률 95% 달성
- 12개 서비스 구현 (12개 운영 중)
- 120개 테스트 통과
- End-to-End 파이프라인 완성: 이미지/비디오 → 감지 → 분할 → 분류 → 트래킹 → Registry → 내보내기 → 학습 → 평가
| 날짜 | 변경 내용 | 작성자 |
|---|---|---|
| 2024-12-29 | 최초 작성 - Phase 1 완료 시점 | Dev Team |
| 2024-12-29 | Object Registry 연동 완료 업데이트 | Dev Team |
| 2024-12-29 | SQLite 동시성 이슈 해결 기록 | Dev Team |
| 2024-12-29 | Phase 2 완료 - YOLO/COCO 내보내기, 품질검수, 임베딩 검색 | Dev Team |
| 2024-12-29 | Phase 3 완료 - 비디오 프레임 처리, 프리프로세싱 에이전트 | Dev Team |
| 2024-12-29 | Phase 4 완료 - YOLO Training Agent, MLflow 통합 | Dev Team |
| 2024-12-29 | Phase 5 진행 - 단위 테스트 33개 작성 | Dev Team |
| 2024-12-29 | Evaluation Agent 구현 - mAP, mAP50-95, Confusion Matrix | Dev Team |
| 2024-12-29 | Re-ID Tracker 구현 - 임베딩 기반 객체 추적 | Dev Team |
| 2024-12-29 | 임베딩 검색 최적화 - LRU 캐시, 배치 검색 | Dev Team |
| 2024-12-29 | 트랙 시각화 UI 구현 - Trajectory, Timeline View | Dev Team |
| 2024-12-29 | Gateway 통합 테스트 25개 작성 | Dev Team |
| 2024-12-29 | 전체 테스트 120개 통과 확인 | Dev Team |
| 2024-12-29 | Phase 3 완료 - 트랙 수정/병합/분할 기능 | Dev Team |
| 2024-12-29 | Phase 4 완료 - Active Learning 모듈 (5가지 샘플링 전략) | Dev Team |
| 2024-12-29 | 테스트 149개로 확장 (Active Learning 18개 추가) | Dev Team |
| 2024-12-29 | E2E 테스트 17개 추가 - 파이프라인 플로우 검증 | Dev Team |
| 2024-12-29 | 전체 테스트 166개 통과 (단위 + 통합 + E2E) | Dev Team |
프로젝트 시작: 2024-12-29
Phase 1 완료: 2024-12-29
Phase 2 완료: 2024-12-29
Phase 3 완료: 2024-12-29
Phase 4 완료: 2024-12-29
Phase 5 진행중: 2024-12-29
전체 진행률: 99% (63/64)
완료된 Phase: 4.7/6
서비스 수: 12개 (12개 운영 중)
전체 테스트: 166개 통과
테스트 커버리지: ~60% (추정)
등록된 객체: 10개
검증된 객체: 1개
등록된 카테고리: 7개
코드 라인 수: ~18,000 LOC (추정)