OpenCV란 참 고마운 영상처리 라이브러리가 있습니다. 이걸 쓰면 각종 영상처리를 쉽게 처리가 가능합니다. 그리고 얼굴 인식이라던가 글자 인식도 쉽게 할 수있습니다. 그리고 그것을 더 쉽게 하기 위해서 Dlib란 라이브러리가 나왔습니다. 저 같은 경우에는 얼굴 인식용으로 주로 사용하는데 OpenCV만 사용하는 것보다 훨씬 더 편리합니다.
그리고 기본 언어가 Python이라서 개발환경 갖추는것이 너무 좋습니다. 리눅스에서 Python개발환경은 그냥 대충 해도 되는 것이니까요.
그래서 보통 영상처리쪽은 리눅스에서 환경을 갖추는 것이 일반적입니다. VFX쪽과 비슷하지요. 윈도우에서 하면 고통이 좀 심하거든요. 아니면 리눅스 가상머신을 올리던지요.
그런데 OpenCV라이브러리는 크게 문제가 없는데 Dlib란 이 물건... 병목이 심합니다. 기본적으로 CUDA코어를 써서 어떻게든 해결해보려고 하는데 만약 Nvidia그래픽카드를 안 쓰면 당장 답이 없습니다.
그래서 흔한 방법을 쓰면 속도면에서 너무 고통스럽습니다. 그래서 CUDA없는 시스템의 경우에는 수동으로 라이브러리를 컴파일해서 설치해주는 것이 좋습니다. CPU상황에 맞게 AVX나 SSE 같은 것을 켜는 것입니다.
일단 우분투에서 OpenCV설치는 쉽습니다.
python3-opencv 란 패키지를 제공하기 때문에 이것을 설치하면 끝입니다.
sudo apt install python3-opencv
(Python2.7은 이제 그만 쓰는게 좋겠습니다. 이제 Python3를 추천합니다.)
하지만 Dlib는 pip로 설치하거나 그냥 따로 setup.py를 써서 인스톨 해야 합니다.
솔직히 이러나 저러나 pip가 참 편합니다. 그런데 pip로 설치하면 라이브러리를 그냥 기본값으로 설치해버립니다.
그래서 dlib의 경우에는 따로 컴파일을 해서 설치합니다.
https://github.com/davisking/dlib/releases
여기서 dlib의 최신판을 다운로드 받습니다.
그리고 cmake를 사용합니다. 만약 없다면 필요한 라이브러리를 미리 설치하도록 합시다
sudo apt-get install build-essential cmake
sudo apt-get install libgtk-3-dev
sudo apt-get install libboost-all-dev
이제 시스템마다 다른 방식을 써야 하는데
만약 스카이레이크 이후의 CPU라면 AVX를 지원합니다. 그보다 이전의 시스템이라면 SSE4를 쓰면 되지만 그쯤되면 그냥 이참에 시스템을 바꾸는 것을 추천합니다.
python3 setup.py install --yes USE_AVX_INSTRUCTIONS
만약 Nvidia카드가 없고 AVX지원 CPU라면 위와 같이 입력함으로서 AVX를 지원하게끔 설치가 가능해집니다.
만약 Nvidia카드도 있고 AVX도 붙어있는 환상의 조합이라면
python3 setup.py install --yes USE_AVX_INSTRUCTIONS --yes DLIB_USE_CUDA
필요에따라선 sudo가 붙어야 할 수도 있습니다.
이제 알아서 파이썬 설치 스크립트가 해당 옵션을 붙여서 컴파일을 함께 하는 것을 볼 수 있습니다.
만약 내 CPU가 AVX가 되는지 모르겠으면
grep avx /proc/cpuinfo
이 명령어를 써서 만약 뭔가 뜨면 AVX가 되는 것이고 안 되면 안 되는 것으로 생각하면 됩니다.
AVX가 되면 성능 그냥 굴리는 것보다 향상 폭이 크다고 하네요!
'우분투 분투기' 카테고리의 다른 글
[우분투]Realtek RTL8153 USB 네트워크 카드 드라이버업데이트 (5) | 2019.03.16 |
---|---|
Unity3D 에디터 리눅스용 설치법 (0) | 2019.03.14 |
Blender 2.8 베타버전이 릴리즈 되었습니다. (0) | 2019.02.20 |
SteamPlay(Proton)에서 소리 딜레이가 느껴질때 (0) | 2019.02.01 |
LinuxMint 19.1 Tessa MATE 64비트 한국어설정 버전 배포 (0) | 2018.12.29 |