Skip to content

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

Phát hiện mọi khuôn mặt trong một ảnh và tùy chọn trả về embedding của nó — vector đại diện dùng để so sánh và tìm kiếm khuôn mặt.

Endpoint ​

http
POST /v1/detect_faces_sync
Content-Type: application/json
json
{
  "image": {
    "id": "7db00808-0416-45cf-a5cb-3b6dfbd7bb74",
    "base64": "",
    "label": "portrait",
    "metadata": "{}"
  },
  "return_embedding": true
}

Tham số:

Tham sốKiểuBắt buộcMặc địnhMô tả
imageImageDataCó—Ảnh chứa khuôn mặt cần phát hiện.
return_embeddingboolKhôngfalseCó trả về vector embedding của khuôn mặt hay không.

ImageData ​

Tham sốKiểuBắt buộcMặc địnhMô tả
idstringKhông—ID của ảnh được trả về bởi Tải ảnh lên.
base64stringKhông—Văn bản dữ liệu ảnh mã hóa Base64.
labelstringKhông—Nhãn của ảnh, như mô tả trong Khuyến nghị sử dụng.
metadatastring_jsonKhông—Chuỗi JSON key/value. Ví dụ: {"id":"<ID>","type":1}

Key type bên trong metadata đánh dấu ngữ cảnh so sánh:

TrườngKiểuMô tả
1intSo khớp ID với ID
2intSo khớp ID với Selfie
3intSo khớp Selfie với Selfie

Ví dụ request ​

bash
curl -X POST \
  '<BASE_URL>/v1/detect_faces_sync' \
  -H 'Authorization: ATV <ACCESS_ID>:<SIGNATURE>' \
  -H 'X-TV-Timestamp: <TIMESTAMP>' \
  -H 'Content-Type: application/json' \
  -d '{
    "image": {
      "id": "7db00808-0416-45cf-a5cb-3b6dfbd7bb74"
    }
  }'

Response ​

json
{
  "data": {
    "request_id": "f77bf948-fce3-48f3-b61c-396e4cd9a89b",
    "status": "success",
    "image": {
      "id": "e5e32ef1-296e-4385-8f23-9eb7e6512800",
      "transformed_image_id": "",
      "faces": [
        {
          "id": "2cc3a440-3390-407a-914c-66a63e6eda33",
          "bounding_box": {
            "top": 402,
            "right": 257,
            "bottom": 568,
            "left": 123,
            "angle": 0
          },
          "embedding": [0.09560582041740417, -0.15577684342861176, -0.009643876925110817]
        }
      ]
    }
  },
  "errors": []
}
TrườngKiểuMô tả
data.request_idstringRequest ID; cung cấp cho CAKE Support khi cần kiểm tra log.
data.statusstringsuccess hoặc failure.
data.image.idstringID của ảnh đã phân tích.
data.image.transformed_image_idstringID của ảnh đã biến đổi, chỉ có mặt khi ảnh đã được biến đổi.
data.image.facesFace[]Các khuôn mặt tìm thấy trong ảnh, lớn nhất trước.

Face ​

TrườngKiểuMô tả
idstringID của khuôn mặt trong ảnh.
bounding_boxBoundingBoxVị trí của khuôn mặt trong ảnh.
embeddingfloat[]Vector embedding cho khuôn mặt. Chỉ được trả về khi return_embedding là true.

BoundingBox ​

TrườngKiểuMô tả
topintCạnh trên của khung.
rightintCạnh phải của khung.
bottomintCạnh dưới của khung.
leftintCạnh trái của khung.
angleintGóc xoay của khung.

Các khuôn mặt được sắp xếp lớn nhất trước. Khi đầu vào có nhiều khuôn mặt, hãy dùng kết quả đầu tiên.

WARNING

Một embedding khuôn mặt là dữ liệu sinh trắc học. Hãy lưu trữ nó dưới cùng các kiểm soát như ảnh gốc, giữ nó ngoài log và các pipeline phân tích, và xóa nó khi mối quan hệ với khách hàng kết thúc.

Lỗi ​

MãThông báo
2001002Xảy ra lỗi không mong đợi trong quá trình xử lý request bên ngoài.
2001010Không tìm thấy Access ID.
401100Bạn không được phép thực hiện hành động này.
4001000Tham số đầu vào vi phạm một ràng buộc.
5001000Xảy ra lỗi không mong đợi trong quá trình xử lý request.
MãMô tả
access_denied_exceptionBạn không được phép thực hiện hành động này.
invalid_parameter_exceptionTham số đầu vào vi phạm một ràng buộc.
request_time_too_skewedHeader X-TV-Timestamp đã hết hạn, cần một cái mới hơn.
image_not_found_exceptionKhông tìm thấy image ID trong DB.
request_not_found_exceptionKhông tìm thấy request ID khi poll kết quả theo id.
rate_limit_exceptionSố lượng request vượt quá giới hạn throughput của bạn.
internal_server_errorXảy ra lỗi không mong đợi trong quá trình xử lý request.

Bước tiếp theo ​

Developers