Skip to content

Latest commit

 

History

History
360 lines (287 loc) · 14 KB

File metadata and controls

360 lines (287 loc) · 14 KB

AgenticLabeling 개발 진행상황

메타데이터


프로젝트 개요

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 -

Phase 1: 코어 기능 ✅

목표: 마이크로서비스 아키텍처 구축 및 기본 자동 라벨링 파이프라인 완성

체크리스트

  • 프로젝트 구조 설계 | 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 완료)

Phase 2: 데이터 관리 ✅

목표: 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 완료)

Phase 3: 비디오 & 추적 ✅

목표: 비디오 프레임 처리, 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 추가)

주요 API 엔드포인트

엔드포인트 메서드 설명
/video/info POST 비디오 정보 조회
/video/process POST 비디오 처리 시작 (백그라운드)
/video/jobs/{job_id} GET 작업 상태 조회
/frames/process POST 프레임 배치 처리
/tracks/create POST IoU 기반 트랙 생성

진행률

[████████████████████] 100% (9/9 완료)

Phase 4: 학습 & 평가 ✅

목표: 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

주요 API 엔드포인트

엔드포인트 메서드 설명
/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 완료)

Phase 5: 테스트 ✅

목표: 단위/통합/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 완료)

Phase 6: 프로덕션 배포 ⏳

체크리스트

  • 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 완료)

현재 서비스 상태 (2024-12-29)

서비스 포트 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 캐시/큐

다음 단계 (우선순위)

High Priority

  1. 테스트 커버리지 80% 달성 (Phase 5 잔여)
    • 현재 ~60% → 목표 80%
    • 추가 단위 테스트 작성 필요

Medium Priority

  1. K8s 배포 준비 (Phase 6)

    • Docker 이미지 최적화
    • Kubernetes 매니페스트 작성
  2. 트랙 수동 수정 UI (UI 개선)

    • label-studio-lite에 트랙 편집 기능 추가

Low Priority

  1. 프로덕션 배포 (Phase 6)
    • PostgreSQL 마이그레이션
    • Prometheus/Grafana 모니터링
    • Qdrant 클러스터 설정

완료된 마일스톤

2024-12-29: Phase 1~5 완료 ✅

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 기준)

프로젝트 시작:     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 (추정)