Rockchip NPU로 CV/ML 모델 포팅: 얼굴 인식 및 추론 시간 최적화

얼굴 인식을 위한 CV/ML 모델을 Rockchip NPU로 포팅하는 방법

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

인공지능

대상자

AI/ML 모델 개발자, 엣지 디바이스에서 실시간 얼굴 인식을 구현하는 개발자, NPU 최적화에 관심 있는 엔지니어

핵심 요약

  • Rockchip NPU 포팅Float16(Default Mode)Int8(Quantized Mode) 두 가지 방식으로 수행되며, 정확도와 속도의 균형을 고려해야 함
  • Float16 모드는 정확도 손실이 미미한 반면, Int8 모드는 처리 속도를 2배 이상 향상시키지만 정확도가 1~2% 하락할 수 있음
  • LFW 데이터셋 기준으로 Int8 모델이 충분한 성능을 보였고, Fine-tuning을 통해 실제 환경에서 적용 가능

섹션별 세부 요약

1. 얼굴 인식 파이프라인

  • Face Detection: CNN 기반의 얼굴 탐지 모듈 사용
  • Key Point Detection: 눈, 코 등 핵심 포인트 탐지 (Face Fitter 모듈 사용)
  • Face Alignment: 핵심 포인트를 기반으로 얼굴 정렬
  • Template Extraction: 정렬된 얼굴에서 생체 정보 템플릿 추출

2. 하드웨어 제약

  • OK3568-C 단일 보드 컴퓨터 사용
  • Face Detector + Face Fitter: 40ms 이내 처리 시간 요구
  • Template Extraction + 비교: 500ms 이내 처리 시간 요구

3. NPU 모드 비교

  • Default Mode: Float32 → Float16 변환, 정확도 손실 미미
  • Quantized Mode: Float32 → Int8 변환, 처리 속도 2배 향상 (정확도 1~2% 하락)

4. 성능 및 정확도 테스트

  • 3DiVi Face SDK 모델 사용 시 원본 시간 제약 불만족
  • NPU 포팅 후
  • Default Mode: 40ms 이내 처리 가능
  • Quantized Mode: 20ms 이내 처리 가능, LFW 데이터셋 기준 98% 이상 정확도 유지

결론

  • NPU 포팅은 실시간 얼굴 인식 성능 향상에 효과적, Int8 모델 사용 시 Fine-tuning으로 정확도 유지 가능
  • Quantized Mode엣지 디바이스의 처리 속도 제약에 적합한 선택
  • 모델 최적화Float16/Int8 혼합 전략 고려 권장