Tài liệu API Nhận diện Khuôn mặt
Chào mừng bạn đến với tài liệu API của Hệ thống Nhận diện Khuôn mặt. API này cho phép bạn đăng ký và nhận diện người dùng dựa trên hình ảnh khuôn mặt của họ.
Base URL: https://pnt.badt.vn/face_recognition (Ví dụ: http://api.badt.vn/face_recognition nếu chạy qua Nginx với subpath)
Lưu ý: Các endpoint API thực tế sẽ có tiền tố là /api. Ví dụ: https://pnt.badt.vn/face_recognition/api/register.
POST Đăng ký Người dùng
Đường dẫn: /api/register
Mô tả: Đăng ký một người dùng mới với thông tin và hình ảnh khuôn mặt của họ. Hình ảnh phải chứa một khuôn mặt rõ ràng.
Loại Request Body: multipart/form-data
Tham số Form Data:
| Tên | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|
name |
string | Có | Tên của người dùng. |
email |
string | Có | Địa chỉ email của người dùng. |
pid |
string | Có | Mã định danh cá nhân (Personal ID) của người dùng. |
image |
File | Có | File hình ảnh chứa khuôn mặt cần đăng ký. |
Phản hồi Thành công (200 OK):
{
"success": true,
"message": "User registered successfully",
"name": "Tên Người Dùng",
"user_info": {
"id": 123, // ID người dùng trong cơ sở dữ liệu
"name": "Tên Người Dùng",
"email": "email@example.com",
"pid": "PID12345",
"encoding": [0.1, 0.2, ..., -0.5] // (Không hiển thị đầy đủ, chỉ minh họa)
},
"image_path": "uploads_persistent/ten_file_anh.jpg"
}
Phản hồi Lỗi:
- 400 Bad Request: Nếu không cung cấp file ảnh, không thể lưu ảnh, không phát hiện thấy khuôn mặt trong ảnh, hoặc ảnh không xử lý được.
{ "detail": "No face detected or image could not be processed" } - 500 Internal Server Error: Lỗi máy chủ nội bộ trong quá trình xử lý.
{ "detail": "Internal server error during registration:" }
POST Nhận diện Khuôn mặt
Đường dẫn: /api/recognize
Mô tả: Nhận diện một khuôn mặt từ hình ảnh được cung cấp bằng cách so sánh với các khuôn mặt đã đăng ký trong cơ sở dữ liệu.
Loại Request Body: multipart/form-data
Tham số Form Data:
| Tên | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|
image |
File | Có | File hình ảnh chứa khuôn mặt cần nhận diện. |
Phản hồi Thành công (200 OK):
Khi tìm thấy kết quả trùng khớp:
{
"success": true,
"name": "Tên Người Dùng Đã Đăng Ký",
"email": "email@example.com",
"pid": "PID12345",
"distance": 0.35, // Khoảng cách (càng nhỏ càng giống)
"accuracy": 0.95 // Độ chính xác/tương đồng (tính toán dựa trên distance)
}
Khi không tìm thấy kết quả trùng khớp:
{
"success": false,
"message": "No match found"
}
Phản hồi Lỗi:
- 400 Bad Request: Nếu không cung cấp file ảnh, không thể lưu ảnh, không phát hiện thấy khuôn mặt trong ảnh, hoặc ảnh không xử lý được.
{ "detail": "No face detected or image could not be processed" } - 404 Not Found: Nếu không có người dùng nào được đăng ký trong hệ thống để so sánh.
{ "detail": "No registered users found to compare against." } - 500 Internal Server Error: Lỗi máy chủ nội bộ trong quá trình xử lý.
{ "detail": "Internal server error during recognition:" }
Các trang giao diện người dùng
Ngoài các API endpoint, hệ thống cũng cung cấp các trang giao diện người dùng sau:
/(GET): Trang chủ./register-page(GET): Trang để tải lên ảnh và đăng ký người dùng mới./recognize-page(GET): Trang để tải lên ảnh và thực hiện nhận diện.