본문 바로가기

Capstone

[ Presentation ] 보행자 속성 인식을 위한 CLIP Image Encoder 양자화 적용 가능성 탐색

보행자 속성 인식을 위한 CLIP Image Encoder 양자화 적용 가능성 탐색


capstone pannel.pdf
3.15MB

 

 

1. 연구 배경 및 목적

최근 CCTV나 스마트시티 시스템에서는 단순한 객체 탐지가 아니라, 보행자의 성별, 연령대, 복장, 소지품과 같은 속성 정보를 실시간으로 파악하는 기술이 점점 중요해지고 있습니다.

 

여기서 저는 CLIP 모델에 주목했습니다.

 

CLIP은 OpenAI에서 개발한 멀티모달 모델로, 자연어와 이미지를 같은 임베딩 공간에 매핑해줍니다.

“사람이 가방을 들고 있다”는 문장을 임베딩하면, 그와 유사한 특징을 가진 이미지를 높은 유사도로 찾아낼 수 있습니다.


 

2. 문제 

하지만 문제는 이 CLIP 모델이 FP32 기반으로, 계산량이 매우 크고 실시간 사용에는 부적합하다는 점입니다.

특히 CCTV 같은 에지 디바이스 환경에서는 더욱 어렵습니다.

 

그래서 Image Encoder를 양자화하여 INT8으로 경량화하고, 속성 인식 정확도에 미치는 영향을 분석해보고자 했습니다.


 

3. 기술 스택

  1. 먼저, PyTorch 기반 CLIP 모델을 ONNX(Open Neural Network Exchange) 형식으로 변환했습니다.
  2. ONNX는 서로 다른 프레임워크 간 모델을 호환시키기 위한 중간 포맷입니다.
  3. 이후, ONNX 모델을 OpenVINO로 변환했습니다.
  4. OpenVINO는 Intel에서 만든 최적화 툴킷으로, 특히 INT8 양자화와 에지 디바이스 실행에 강점이 있습니다.

 

4. 양자화, 캘리브레이션이란?

양자화는 모델의 가중치나 연산을 32비트 대신 8비트 정수로 표현하는 기술입니다.

이로 인해 모델 용량과 연산량이 줄어들고, 추론 속도는 빨라집니다.

하지만 정밀도가 낮아지기 때문에 정확도가 손상될 수 있습니다.

 

이를 방지하기 위해 캘리브레이션 과정을 거칩니다.

MSP60K 데이터셋의 degrade 이미지 중 300장을 캘리브레이션 데이터로 사용해 양자화 과정에서 통계적 분포를 학습시켰습니다.


 

5. 실험 구성

총 10,000장의 MSP60K degrade 랜덤 이미지를 대상으로 실험했습니다.

속성 문장은 총 57개로, “wearing hat”, “carrying backpack”, “wearing jeans” 등입니다.


 

6. 실험 결과

  1. 좌측 바 차트를 보시면, FP32 모델은 다양한 속성을 고르게 탐지했습니다.
  2. 반면 INT8 모델은 “wearing hat”, “long pants” 같은 뚜렷한 시각적 속성에만 반응했습니다.
  3. Threshold도 민감해서 INT8 모델은 0.05까지 내려야 결과가 나왔고, 그럼에도 일부 속성은 탐지 불가했습니다.
  4. 속도 측면에서 FP32 모델은 1000장 처리에 약 58초, INT8 모델은 약 24초로, INT8 모델이 2.3배 빠른 성능 향상을 보였습니다.

 

8. 결론 및 한계점

  • 정밀 속성 탐지에 있어 INT8 모델은 한계가 크지만, 단순하고 분명한 속성에는 적용 가능성 있다고 생각됩니다.
  • 경량화의 실효성은 있지만, 정확도 손실과 trade-off 관계가 분명히 존재합니다.

 

9. 향후 연구 방향

  • Degradation 없는 원본 이미지로 실험을 확장해보면 좋을 것 같습니다.
  • 양자화 민감도 높은 레이어를 선택적으로 quantization 하거나, knowledge distillation 기반 경량화도 고려할 수 있습니다.

 


Tiny Star