1. 컴퓨터에 dlib을 설치한다.

2. Visual Studio로 빈 프로젝트를 생성한다.

3. http://dlib.net/face_landmark_detection_ex.cpp.html 이 코드가 dlib/examples/에 있을 것이다. 복사해서 빈 프로젝트에 넣고 VS에서 source file에 추가한다.  

4. dlib/dlib/all/source.cpp 파일을 프로젝트에 추가하거나 소스파일 위에

#include "dlib/all/source.cpp"를 추가한다.

5. dlib/examples/faces폴더를 생성한 VS 프로젝트 폴더에 copy한다.

6. VS -> Project -> Property -> VC++ Directories -> Include Directories 에 dlib설치 폴더를 입력해준다.

ex) D:\Research\dlib\dlib-19.0

7. VS 프로젝트의 solution explorer에서 [프로젝트명]->오른클릭->Add ->existing item 에서 dlib/external/libjpeg/아래의 파일들을 추가해준다. jpeg파일을 읽어야 하므로..

8. VS -> Project -> Property -> C/C++ -> Preprocessor -> Preprocessor Definitions 에 아래 항목들을 추가해준다. jpeg파일 읽기 위해서. (https://stackoverflow.com/questions/32736149/how-to-load-jpeg-file-using-dlib-libarary참조)

DLIB_JPEG_STATIC
DLIB_JPEG_SUPPORT

9. Debug/Release모드 둘 다 설정해준다.

10. face_landmark_detection_ex.cpp의 헤더선언하는 아래 코드를 괄호 <>을 ""로 바꿔준다.

#include <dlib/image_processing.h>
#include <dlib/data_io.h>

내 컴퓨터에서는 이렇게 ""로 넣어줘야 되더라. 왜 그런지는 잘 모르겠음.

11.

a) 코드 초반부의

const std::string faces_directory = argv[1];

이 부분을 그대로 실행하기 위해서는

VS -> Project -> Property -> Debugging -> Command Arguments 를

[./train_shape_predictor_ex faces]

라고 적어준다.

b) 아니면

const std::string faces_directory = "./faces/";

처럼 상대주소를 적어줘도 된다.

12. F5를 눌러 실행한다.

 

Reference

[] https://stackoverflow.com/questions/40880441/low-accuracy-of-shape-predictor-with-default-dataset-and-training

[] https://sourceforge.net/p/dclib/discussion/442518/thread/cbb22954/

 

 

 

 

Posted by uniqueone
,