
토이프로젝트로 얼굴인식을 진행중이다.
streamlit webRTC를 이용해서 진행을 하고 있다.
Face recognition은 기본으로 설정된 방식이 HOG 방식이라 프레임이 30정도 나오는 상황이었다.
출처 : https://github.com/ageitgey/face_recognition
이것은 dlib을 기반으로 얼굴 인식을 할 수 있었다. 정말 쉽게 사용할 수 있었다.
다만, 기본 방식을 사용한다면 프레임이 조금 떨어지는 것을 확인했다.
그래서 face recognition을 GPU를 이용해서 사용하려면 face recognition의 기반인 dlib을 설치할 때 CUDA와 cuDNN을 설정해야한다.
오늘은 이를 정리해보고자 한다.
나의 경우는 프로젝트 폴더에 경로하나를 만들어서 진행했다.
git clone https://github.com/davisking/dlib.git
cd dlib
이후
mkdir build; cd build; cmake .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1; cmake --build .
build라는 폴더를 만들고 build에서 CUDA를 설정한다
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에서 설정이 제대로 되었나 확인하면 결과를 확인할 수 있었다.