Làm quen với thư viện Dlib Python

Dlib là thư viện mã nguồn mở về Machine Learning, trong đó nổi tiếng nhất là Deep Learning. Để làm quen, tìm hiểu khả năng ứng dụng của Dlib bạn có thể sử dụng Python để test cho nhanh.

Cài đặt Dlib với CUDA trên Windows 10

Dlib là thư viện Deep Learning nên chạy rất chậm với CPU, do đó các bạn cần chạy bằng GPU. Khi cài bằng pip thì không enable CUDA nên các bạn cần build bằng source code.

Thông tin cấu hình PC và phần mềm sử dụng trong bài này:

Bước 1: cài đặt các phần mềm
Cài đặt Python 3.7.3 và Cmake, cứ next -> next là được. Cài xong thì restart PC.

Bước 2: cài đặt CUDA và cuDNN
Cài đặt CUDA và cuDNN theo bài viết này Hướng dẫn cài đặt Tensorflow GPU với CUDA 11.2 trên Windows 10. Cài xong thì restart PC.

Bước 3: cài đặt Visual Studio 2017
Mình thấy Visual Studio 2017 ổn định nhất nên sử dụng 2017, các bạn muốn dùng bản mới hơn cũng được. Lưu ý phải cài C++ development như hình dưới, cài xong thì restart PC.

Bước 4: config cmake
Giải nén source code dlib, sau đó tạo folder build bên trong folder dlib.

Mở chương trình Cmake GUI và chọn folder source code & folder build như hình dưới

Nếu bước 2 cài đặt CUDA thành công thì Cmake sẽ tự tìm được CUDA_TOOLKIT_ROOT_DIR.

Ấn nút config để chọn compiler, các bạn chọn đúng phiên bản Visual Studio đang sử dụng và x64 như hình

Lưu ý: mặc định CUDA chỉ chạy với x64, nên bạn make bất kỳ lib/source/… gì có sử dụng CUDA là auto chọn x64

Bước 5: build dlib bằng cmake
Dùng command line di chuyển đến folder dlib và chạy lệnh cmake .

Sau khi chạy xong thì chạy tiếp lệnh
python setup.py install

Kiểm tra dlib cài đặt thành công hay chưa

Dùng lệnh sau để kiểm tra dlib package, hiển thị ra version 19.21 là được
pip show dlib

Kiểm tra dlib có dùng CUDA hay chưa
import dlib
dlib.DLIB_USE_CUDA

Kết quả hiện ra True là đúng

Example

Trong source code dlib các bạn sẽ thấy folder python_examples, bên dưới mình sẽ demo 1 số ví dụ trực quan, dễ thấy dễ hiểu

Phát hiện khuôn mặt

Các bạn gõ lệnh
face_detector.py hotgirl.jpg

Kết quả như hình
Làm quen với thư viện Dlib Python

Trong đó có cnn_face_detector.py cũng có công dụng tìm khuôn mặt tuy nhiên chạy rất chậm.

Tìm face landmark

Để chạy được example các bạn cần download file model shape_predictor_68_face_landmarks.dat.bz2

Sau đó bạn tạo 1 folder tên image rồi bỏ các ảnh bạn cần xử lý vào trong đó. Vì example này sẽ tìm tất cả file trong folder mà bạn chỉ định.

Sau khi download xong, các bạn giải nén rồi copy vào folder python_example. Sau đó gõ lệnh

face_landmark_detection.py shape_predictor_68_face_landmarks.dat image

Kết quả như hình

Làm quen với thư viện Dlib Python

Căn chỉnh khuôn mặt

Example này dùng để xoay khuôn mặt bị nghiêng.

Để chạy được example các bạn cần download file model shape_predictor_5_face_landmarks.dat.bz2

Sau đó gõ lệnh
face_alignment.py shape_predictor_5_face_landmarks.dat girl.jpg

Kết quả như hình

Và còn nhiều example khác nữa, các bạn tìm hiểu nhé.

Leave a Reply