[AI 환경설정] Mac m1 Dlib 라이브러리 설치하기 (Ft. face_recognition, imutils)

    Mac OS (M1)에서 "Dlib 설치하는 방법"을 찾고 계신가요?
    쉽고 빠르게 설치하는 방법을 소개했습니다.

    "Dlib 설치" 어렵지 않으니 천천히 따라오세요.😄

    Dlib란?

    Dlib은 Machine Learning Algorithm과 Tool입니다.
    C++로 작성되었으며, Open-Source라서 무료로 사용할 수 있어요.

    이미지 처리, 선형대수부터 Machine Learning까지 다양한 기능이 있지만,
    많은 분들이 "face recognition" 라이브러리의 사용을 위해 접하실 것으로 예상됩니다.

    Dlib에 대해서는 다음에 자세히 설명할 예정이니 여기까지만 소개할게요.

     

    Dlib 설치하기

    사전 준비

    MacBook (M1)에 "Dlib 설치하는 방법" 몇 가지 준비 사항들이 있어요.

    1️⃣ Conda 설치하기
    2️⃣ Homebrew 설치하기
    3️⃣ Git 설치하기
    4️⃣ cmake 설치하기

    1️⃣ ~ 2️⃣ 과정은 "이전 글(링크)"에 쉽게 설명되어 있으니 설치하고 3️⃣으로 가시면 됩니다
    (순서대로 진행하시기를 추천합니다!)


    3️⃣ Git 설치 및 확인

    오늘 git의 용도는 Dlib GitHub repository에서 Dlib를 Clone 하는 것입니다.
    쉽게 말하면 Dlib를 다운로드하는 거죠!
    (처음에 git을 사용하지 않고 pip를 이용해 Dlib를 설치해서 문제가 발생했어요.😥)

    Git 설치는 "brew install git" 한 줄이면 됩니다.
    당연히 Homebrew는 설치되어 있어야겠죠?

    (ai) kay@*****-MacBook-Air ~ % brew install git
    
    ...(생략)
    
    ==> Installing git
    ==> Pouring git--2.38.1.arm64_ventura.bottle.tar.gz
    
    ...(생략)

    4️⃣ cmake 설치 및 확인

    cmake는 git에서 다운로드한 "Dlib"를 Build 하는 데 사용합니다.
    설치 과정은 정말 간단합니다.

    (ai) kay@*****-MacBook-Air ~ % brew install cmake

    설치 확인 역시 한 줄이면 됩니다.

    (ai) kay@*****-MacBook-Air ~ % cmake --version
    cmake version 3.25.0
    
    CMake suite maintained and supported by Kitware (kitware.com/cmake).

     


    Dlib 다운로드 & 설치

    "Dlib 설치하는 방법"을 소개하기 전에
    제가 삽질한 방법에 대해 정리했습니다. 
    필요하시면 아래 더보기를 클릭하세요.
    🔽 더보기 클릭

    더보기

    앞서 언급한 것처럼 "pip"를 이용해 Dlib를 설치하면 문제가 발생합니다.
    아래처럼 설치도 되고 "conda list"에도 보이는데 import는 하지 못하는 문제죠. 😥
     

    (ai) kay@igeunhwans-MacBook-Air ~ % pip install dlib
    …
    Successfully built dlib
    Installing collected packages: dlib
    Successfully installed dlib-19.24.0

     이 상황에서 "dlib --version"을 물으면 "zsh: command not found: dlib"라는 답을 보게 됩니다.

    해결책은 간단해요. 바로 git에서 직접 받아서 build 해주는 겁니다.


    Dlib clone 

    Dlib의 GitHub에 방문하시면 아래 사진처럼 build 하는 방법과 함께 여러 설명들이 있습니다.
    확인하지 않고 설치해서 문제가 발생했던 거죠.😥

    먼저 Dlib를 GitHub에서 다운로드해야겠죠?
    "git"으로 시작하는 명령어를 입력해주시면 됩니다.

    (ai) kay@*****-MacBook-Air ~ % git clone https://github.com/davisking/dlib.git
    Cloning into 'dlib'...
    
    ...(생략)
    
    Receiving objects: 100% (50659/50659), 25.33 MiB | 14.69 MiB/s, done.
    Resolving deltas: 100% (35662/35662), done.

    Dlib build & install

    이제 마지막 과정입니다.
    "Dlib 설치하는 방법"의 끝이 보이네요.
    복잡해 보이지만 사실 명령어 3줄만 입력했습니다. 😮

    먼저 git에서 다운로드한 Directory로 이동합니다.

    (ai) kay@*****-MacBook-Air ~ % cd dlib 
    (ai) kay@*****-MacBook-Air dlib %

    다음은 build입니다.

    (ai) kay@*****-MacBook-Air dlib % mkdir build; cd build; cmake ..; cmake --build .
    -- The C compiler identification is AppleClang 14.0.0.14000029
    
    ...(생략)
    
    -- Build files have been written to: /Users/kay/dlib/build
    [  0%] Building CXX object dlib/CMakeFiles/dlib.dir/base64/base64_kernel_1.cpp.o
    
    ...(생략)
    
    [100%] Linking CXX static library libdlib.a
    [100%] Built target dlib

    마지막 install입니다.

    (ai) kay@*****-MacBook-Air dlib % python3 setup.py install
    running install
    
    ...(생략)
    
    [  0%] Building CXX object dlib_build/CMakeFiles/dlib.dir/bigint/bigint_kernel_1.cpp.o
    
    ...(생략)
    
    [100%] Built target _dlib_pybind11
    
    ...(생략)
    
    Installed /Users/kay/miniforge3/envs/ai/lib/python3.9/site-packages/dlib-19.24.99-py3.9-macosx-11.0-arm64.egg
    
    ...(생략)

    face_recognition & imutils

    여기까지 왔으니 "얼굴 인식"을 위한 라이브러리들의 설치 과정도 볼게요.
    두 라이브러리는 "pip"를 이용해 설치해줄게요.

    먼저 "pip3 --version"으로 설치 여부를 확인해줍니다.

    ai) kay@*****-MacBook-Air ~ % pip3 --version
    pip 22.3.1 from /Users/kay/miniforge3/envs/ai/lib/python3.9/site-packages/pip (python 3.9)

    face_racognition

    오늘 글을 쓰게 된 이유인 "face_recognition"도 설치해줄게요.
    "face_recognition"은 "Dlib"기반으로 구축되었습니다.
    그리고 "Dlib"가 설치되어 있어야 사용할 수 있죠.

    (ai) kay@*****-MacBook-Air dlib % pip3 install face_recognition
    Collecting face_recognition
    
    ...(생략)
    
    Successfully installed Click-8.1.3 face-recognition-models-0.3.0 face_recognition-1.3.0

    imutils

    imutils 라이브러리는 내부의 "face_utils"를 이용하기 위해 설치해줍니다.
    얼굴의 특징점(랜드마크)을 가져오는 기능을 제공합니다.

    (ai) kay@*****-MacBook-Air ~ % pip install imutils
    Collecting imutils
    
    ...(생략)
    
    Successfully installed imutils-0.5.4

     

    이로써 Dlib와 얼굴 인식에 사용할 수 있는 라이브러리들의 설치가 끝났습니다!


    "Mac (m1)에 Dlib 설치"에 대해 알아봤어요. 😊
    글이 도움이 되셨다면 좋겠습니다.

    댓글

    Designed by JB FACTORY