딥러닝 기반 얼굴 분석/인식

딥러닝 기반 얼굴 분석/인식#

Deep learning 기술이 발전하면서 Face analysis 성능도 향상 되었습니다.
성능이 좋은 Open source기반 Face analysis library를 소개하고 사용법을 설명하겠습니다.

InsightFace: 2D and 3D Face Analysis Project#

※ License : 위 사이트에서 참조하세요 !

이 곳에서 여러가지 Model을 공유하고 있으며, 그 중 buffalo_l 이라는 Model pack을 소개하고자 합니다.
buffalo_l은 blob box, key points, detection score, landmark 2d/3d, gender, age, embedding, pose 정보를 제공합니다.
 
Python을 활용하여 Face analysis 하는 과정을 보여드리겠습니다.

LoRA

LoRA (Low-Rank Adaptation)#

LoRA는 PEFT(Parameter-Efficient Fine-Tuning) 기술 중 하나입니다.
이 기술은 대형 사전 학습 모델을 특정 작업에 맞게 효율적으로 Fine tuning 하는 방법입니다.

(다음 내용은 논문 “LoRA: Low-Rank Adaptation of Large Language Models” 를 참고하였습니다.)

배경/문제#

LLM(Large Language Model) 같은 Model은 파라미터 수가 매우 많습니다.
예로, 24년 4월 출시된 llama3 model의 Parameter 수는 약 700억개이며 File 크기가 40GB가 넘으며, 이보다 더 큰 Model도 많습니다.
이런 Large model을 Full fine tuning 하려면 고성능 GPU가 필요하며 학습 시간도 긴 편입니다.
또한, Base model을 Full fine tuning 하는 것은 Pretraining에서 학습된 기본 성능을 저하 시킬 여지가 있습니다.