Đưa mơ hình đã huấn luyện vào file pickle

Một phần của tài liệu BaoCaoToanVan (Trang 70 - 71)

3.2.3.2. Nhận diện gương mặt

Để nhận diện được gương mặt, ta cần trích suất các đặc trưng của gương mặt thành một vector nhúng. Từ vector nhúng đó ta có thể nhận diện danh tính gương mặt chủ yếu thông qua hai cách dưới đây:

 Dùng các thuật toán phân loại như k-NN, SVM hoặc Random Forest.

 So sánh khoảng cách giữa hai vector nhúng.

Sử dụng phương pháp so sánh khoảng cách sẽ tốn nhiều thời gian hơn vì cần phải thực hiện tính tốn với tất cả các vector nhúng đã được xác định sẵn. Phương pháp sử dụng thuật tốn phân loại sẽ tốn ít tài ngun hơn do chỉ cần xác định vị trí của vector nhúng mới nằm ở trong cụm nào. Tuy vậy phương pháp phân loại cần phải xác định biên giới cho từng cụm vector nhúng sao cho các vector này ít nằm ở sai cụm cảng tốt. Trên thực tế cần rất nhiều thời gian cũng như chất lượng đầu vào tốt để xác định được ranh giới này tối ưu và hiệu quả nhất. Vì vậy đối với trường hợp số lượng danh tính cần nhận diện với số lượng vừa và nhỏ, ta sẽ sử dụng phương pháp so sánh khoảng cách. Với trường hợp danh tính được lưu với số lượng lớn, ta sẽ sử dụng phương pháp phân loại để tăng tốc thời gian xử lý.

69

Trong chương trình ta sẽ sử dụng phương pháp so sánh khoảng cách. Hiện nay có hai phương trình Cosine hoặc Euclidean được dùng để so sánh khoảng cách giữa hai vector.

Phương trình Euclidean: √∑(𝑥𝑖− 𝑦𝑖)2 𝑛 𝑖=1 Phương trình Cosine: 𝑥 ∙ 𝑦 √𝑥 ∙ 𝑥√𝑦 ∙ 𝑦

Với 𝑥 và 𝑦 là các vector. Biểu đồ miêu tả giá trị trả về sau khi sử dụng phương trình Euclidean (𝑑) và phương trình Cosine (𝜃) để tính khoảng cách giữa hai vector. Trong khi phương trình Cosine sẽ cho kết quả là độ lớn tương đối (một góc giữa hai vector), phương trình Euclidean sẽ giống như một cái thước đo lại khoảng cách tuyệt đối giữa hai vector.

Một phần của tài liệu BaoCaoToanVan (Trang 70 - 71)

Tải bản đầy đủ (PDF)

(89 trang)