Uni-HAR

Uni-HAR

🎯 개요

  • 멀티모달 입력(Pose Sequence + RGB Image)을 기반으로 인간 행동을 단일 라벨이 아닌 확률 분포(Distribution) 로 추론하는 범용 행동 인식 시스템.
  • 500개 행동 클래스에 대한 상태 분포(Action State Space)를 예측하여, Top-k 행동 조합을 통해 복합·연속 행동을 유연하게 해석합니다.
  • 안전, 헬스케어, 로보틱스, 자율주행 등 실시간 지능과 신뢰성이 동시에 요구되는 다양한 산업군에 이식 가능한 범용 행동 인식 파운데이션 모델(Universal HAR Foundation Model) 을 지향합니다.
    Phase 1 연구를 통해 특정 도메인에 고정되지 않은 Action State Space 모델링을 수행하였으며, 이를 엣지 환경에 최적화하는 연구를 병행하고 있습니다

🛠 Tech Stack

CategoryTools & Technologies
AI/MLPyTorch NumPy Transformers
Framework: PyTorch, Numpy, Transformers, Profiling: fvcore
Optimization: Bitnet, custom STE(Straight-Through Estimator)
Infrastructurecolab WandB Kaggle
Training: Colab, Logging: WandB (Weights & Biases),
Dataset Preprocessing: Kaggle

✨ 프로젝트 진행 방향 (Two-Track Journey)

이 프로젝트는 '높은 지능의 구현'과 '하드웨어 물리적 한계 돌파'라는 두 가지 목표를 달성하기 위해 두 단계(Phase)로 나뉘어 진행되고 있습니다.

  • [Phase 1. Architecture Design] "행동은 하나의 정답 라벨(One-hot)로 강제할 수 없다." 확률 분포 기반의 멀티모달 프레임워크 설계 및 학습 완료.
  • [Phase 2. On-device Optimization] "지능의 대가로 발생한 221 GFLOPs의 연산 폭발을 어떻게 엣지(Edge)에 담을 것인가?" LLM 최적화 기법(KV Caching, Sparsity, 1.58-bit QAT)의 Vision 모델 이식 및 기술 검증(PoC) 진행 중.

📖 [Related Documents]


🧠 Phase 1: Distribution-Aware Action Modeling [배포 완료]

  • 최종 출력은 500개 행동 클래스에 대한 확률 분포입니다.
  • 특정 도메인에 고정되지 않은 범용 행동 표현 모델을 지향합니다. 데이터셋에 명시적으로 존재하지 않는 행동(fast_run 등)도 Top-k 조합 기반으로 유연하게 해석할 수 있습니다.

🏗️ Base System Architecture

  • Pose Encoder: Factorized Attention (Temporal / Spatial 분리, O(N) 경량화 적용)
  • Image Encoder: ResNet 기반 시각 맥락 정보 인코딩
  • Multimodal Fusion: Fano's Inequality 가설 검증에 기반한 정보이론적 융합(Concat-LN) 설계로 노이즈 강건성 확보

model architecture

⚙️ Phase 2: Hardware-Aware Optimization [PoC 진행 중]

Phase 1의 구조는 완벽한 지능을 갖췄으나, 120프레임 일괄 처리 시 221 GFLOPs의 연산량이 발생하여 MPU 환경에서 실시간 추론이 불가능한 한계(OOM)를 확인했습니다. 이를 해결하기 위해 아키텍처를 리팩토링하고 기술 검증(Proof of Concept) 을 진행 중입니다.

1. Feature Caching (스트리밍 엣지 추론)

  • [Status: 코드 구현 및 FLOPs 검증 완료]
  • 강결합된(Coupled) 모델 구조를 분해하여 프레임 단위 Feature Extractor와 큐(Queue) 기반 Temporal Aggregator로 재설계한 StreamAwareHARWrapper 클래스를 직접 구현했습니다.
  • fvcore 프로파일링 결과, CNN 중복 연산을 완전히 제거하여 프레임당 순간 연산량을 221 GFLOPs 에서 5.33 GFLOPs 수준으로 평탄화(Smoothing) 하는 데 성공했습니다.

2. Cross-modal Temporal Sparsity

  • [Status: 알고리즘 설계 및 단위 테스트 완료]
  • 가벼운 연산량(1.5%)을 가진 Pose의 변화량(Δ)을 계산하여, 행동 변화가 적은 구간에서는 무거운 연산량(98.5%)을 가진 RGB CNN 연산을 동적으로 생략(Zero-Compute) 하는 로직을 구현했습니다.

uni-har-viz1

3. 1.58-bit QAT (PoC)

  • [Status: 수학적 검증 및 Custom Layer 구현 완료]
  • MPU 등 초저전력 타겟 디바이스에서 무거운 MAC 연산을 대체하기 위해, 가중치를 {-1, 0, 1}로 매핑하는 BitNet b1.58의 양자화 기법을 연구 중입니다.
  • 미분 불가능성을 우회하기 위한 STE(Straight-Through Estimator) 기반의 Custom BitLinear 계층을 PyTorch로 구현하여 모델 통합을 준비하고 있습니다.

🧩 기술적 도전과 트러블슈팅

1. 모호한 행동 경계와 레이블 노이즈

  • 문제: 기존 One-hot 모델은 연속적 행동 구간에서 치명적 오판 발생.
  • 해결: Label Smoothing과 Curriculum Learning을 결합한 Soft-Mapping 전략으로 행동 상태 분포 공간(Manifold) 자체를 학습하도록 유도.

2. Noisy Alignment (모달리티 간 시간차)

  • 문제: 실환경에서 Pose 추출 지연이나 가림(Occlusion)으로 인해 RGB와 Pose 간의 시간 정렬(Alignment) 노이즈 발생.
  • 해결: 엄격한 Cross-Attention 대신 결합 분포를 근사하는 Concat-LN 융합 구조를 채택하여 강건성(Robustness) 확보.

3. 실시간 엣지(Edge) 성능 병목

  • 문제: RGB 맥락을 파악하기 위한 Sliding Window 추론 시 극심한 Memory Wall 및 GFLOPs 낭비 발생.
  • 해결:Phase 2에 명시된 LLM 추론 최적화 기법(KV Cache, Sparsity)을 Vision 도메인에 이식하여 프레임당 연산량을 극단적으로 삭감.

📊 결과 및 산출물

  • Phase 1 (Training): Hugging Face Hub에 사전학습 모델 공개 및 Google Colab 기반 재현 가능한 학습 파이프라인 구축.
  • Phase 2 (Optimization): fvcore를 활용한 레이어별 연산량 프로파일링 스크립트 작성 및 구조 리팩토링 검증.

🔗 관련 링크