Hệ thống Nhận diện Khuôn mặt

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 Tên của người dùng.
email string Địa chỉ email của người dùng.
pid string Mã định danh cá nhân (Personal ID) của người dùng.
image File 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:

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 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:

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: