Face recognition GPU 사용하기

Positivvoo(긍정우)·2024년 9월 20일
post-thumbnail

토이프로젝트로 얼굴인식을 진행중이다.

streamlit webRTC를 이용해서 진행을 하고 있다.

Face recognition은 기본으로 설정된 방식이 HOG 방식이라 프레임이 30정도 나오는 상황이었다.

출처 : https://github.com/ageitgey/face_recognition

이것은 dlib을 기반으로 얼굴 인식을 할 수 있었다. 정말 쉽게 사용할 수 있었다.
다만, 기본 방식을 사용한다면 프레임이 조금 떨어지는 것을 확인했다.

그래서 face recognition을 GPU를 이용해서 사용하려면 face recognition의 기반인 dlib을 설치할 때 CUDA와 cuDNN을 설정해야한다.

오늘은 이를 정리해보고자 한다.

1. PIP , PIPENV를 통해 dlib 패키지를 설치하는 것이 아니라 git 주소로 설치한다.

나의 경우는 프로젝트 폴더에 경로하나를 만들어서 진행했다.

git clone https://github.com/davisking/dlib.git

2. git clone이 끝나면 경로로 이동

cd dlib

이후

mkdir build; cd build; cmake .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1; cmake --build .

build라는 폴더를 만들고 build에서 CUDA를 설정한다

3. git clone의 루트 경로로 돌아와서 setup.py를 설치한다

cd ..

#git clone을 한 dlib폴더에서 진행
python setup.py install

성공 여부 확인하기

코드 성공 이미지를 따로 캡쳐하지는 못했는데
DLIB WILL USE CUDA 식으로 log 중간에 있으면 진행 되었던 것 같다.

import dlib

# True가 나오면 GPU가 활성화된 것
print(f"DLIB_USE_CUDA: {dlib.DLIB_USE_CUDA}") 

# True면 GPU 사용 가능
print(f"GPU 사용 가능 여부: {dlib.cuda.get_num_devices() > 0}")  

이후 프로젝트 폴더 내에 ipynb 파일을 대충 하나 만들어두고 dlib에서 설정이 제대로 되었나 확인하면 결과를 확인할 수 있었다.

profile
경제학 전공생의 우당탕탕 개발 이야기

0개의 댓글