Uni-HAR
🎯 개요
- 멀티모달 입력(Pose Sequence + RGB Image)을 기반으로 인간 행동을 단일 라벨이 아닌 확률 분포(Distribution) 로 추론하는 범용 행동 인식 시스템.
- 500개 행동 클래스에 대한 상태 분포(Action State Space)를 예측하여, Top-k 행동 조합을 통해 복합·연속 행동을 유연하게 해석합니다.
- 안전, 헬스케어, 로보틱스, 자율주행 등 실시간 지능과 신뢰성이 동시에 요구되는 다양한 산업군에 이식 가능한 범용 행동 인식 파운데이션 모델(Universal HAR Foundation Model) 을 지향합니다.
Phase 1 연구를 통해 특정 도메인에 고정되지 않은 Action State Space 모델링을 수행하였으며, 이를 엣지 환경에 최적화하는 연구를 병행하고 있습니다
🛠 Tech Stack
| Category | Tools & Technologies |
|---|---|
| AI/ML | Framework: PyTorch, Numpy, Transformers, Profiling: fvcore Optimization: Bitnet, custom STE(Straight-Through Estimator) |
| Infrastructure | 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) 설계로 노이즈 강건성 확보
⚙️ 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) 하는 로직을 구현했습니다.

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를 활용한 레이어별 연산량 프로파일링 스크립트 작성 및 구조 리팩토링 검증.
🔗 관련 링크
- GitHub Repository (Model Architecture & Exam Infer Codes)
- Hugging Face Model
- Colab Notebook (Phase 1: Full Training Loop)
- Colab Notebook (Phase 2: FLOPs Profiling & PoC)
- Kaggle Dataset
