[API] Face Detection

http://localhost:8800/face/detection/detect

描述

將已上傳Local API Server的影像(img_id)實作人臉偵測、年齡預估、性別預估及表情預估,並回傳處理結果。若於該影像中偵側不到人臉,回傳的faces陣列大小等於0。偵測完得到的face_id會暫存在Server的記憶體上,目前只提供暫存500張人臉,若有加入至person_id,則會儲存於DB。(影像來源"img_id"或"image"擇一)

參數

"img_id" - 透過storage upload上傳影像至Local API Server後,所得到的影像ID(唯一)。

"image" - Base64格式的影像(選擇)。 2016/01/19-更新

"track_id" - 需要啟動人臉追蹤模式時,必須帶track_id(可選擇,透過Create Face Tracked Detection後可得到track_id)。但使用追蹤模式時,請依照時間前後順序執行人臉偵測,因為會參考前後人臉位置的關係。(可選擇)

回傳值

"namespace" - Local API Server尚未開放此功能。

"session_id" - Local API Server尚未開放此功能。

"faces" - 回傳人臉偵測的結果

"face_id" - 經人臉偵測後,得到的人臉ID(唯一)。

"face_track_id" - 人臉偵測且開啟人臉追蹤模式時,可由此ID分辨是否為同一人,離開畫面或轉頭都會導致追蹤失敗,並重新給予新的ID。此追蹤並不是人臉辨識。

"featureScore" - 人臉特徵信心值,供參考人臉影像品質,分數越高後續辨識結果越值得信賴,反之,誤判較高。

"featureData" - 人臉特徵資料,Base64字串格式。 2016/01/07-更新

"age" - 預估年齡,範圍介於1~99之間。因影像品質關係,辨識的結果誤差正負5~10歲。

"gender" - 預估性別,男生為1,女生為0。

"expression" - 預估表情(neutral、happiness、surprise、anger、sadness共5種)。

"angleLeftRight" - 預估人臉左右角度。

"angleRoll" - 預估人臉旋轉角度。

"angleUpDown" - 預估人臉上下角度。

"detectPos" - 人臉於影像中的區域,影像座標系的(0,0)於左上角。

"points" - 人臉特徵位置,兩眼、鼻子及嘴巴位置,影像座標系的(0,0)於左上角。

"state" - 回傳狀態

  • STATE_SUCCESSFUL 執行成功
  • STATE_FAIL 尚未分類的錯誤
  • STATE_REQUEST_METHOD_ERROR Request方式不是使用POST
  • STATE_PARAMETER_ERROR Request少給參數或給錯參數
  • STATE_PROCESS_ERROR 人臉偵測錯誤

JSON格式

{
    "faces": [{
        "age": 28,
        "angleLeftRight": 1,
        "angleRoll": 7,
        "angleUpDown": 3,
        "detectPos": [
            [139, 383],
            [907, 383],
            [907, 1151],
            [139, 1151]
        ],
        "expression": "neutral",
        "face_id": "42780824c8ff4906913c095cbc4941f2",
        "face_track_id": 0,
        "featureScore": 680,
        "featureData": "FSLgHe0CLRz08+vF7L/zB+cp/jnz4qmzI0AgA84KHf0BJOsaEeYF8xj48hMcBP/91UcpYX4fAAAfBgiGCSCwAAAAUka87D87MT82Qicg=="
        "gender": 1,
        "points": {
            "leftEye": {
                "x": -1,
                "y": -1
            },
            "mouth": {
                "x": -1,
                "y": -1
            },
            "nose": {
                "x": -1,
                "y": -1
            },
            "rightEye": {
                "x": -1,
                "y": -1
            }
        }
    }],
    "namespace": "default",
    "session_id": "null",
    "state": 1000
}

[API] Create Face Tracked Detection

http://localhost:8800/face/detection/trackstart

描述

開啟人臉追蹤模式,並以一組track_id代表此instance,之後人臉偵測需要追蹤人臉是否為同一人時,在調用人臉偵測(face/detection/detect)必須帶此track_id,一般在串流模式下使用,無時間關聯性的單張影像不建議使用。使用結束後必須呼叫(face/detection/trackend)釋放該instance。可開起追蹤的數量依據序號決定。

參數

回傳值

"track_id" - 開啟追蹤模式,Local API Server回傳一組track_id

"state" - 回傳狀態

  • STATE_SUCCESSFUL 執行成功
  • STATE_FAIL 尚未分類的錯誤
  • STATE_PROCESS_ERROR 產生track_id發生錯誤

JSON格式

{
    "state":1000,
    "track_id":"71de818b89574a9595635272be4f52aa"
}

[API] Delete Face Tracked Detection

http://localhost:8800/face/detection/trackend

描述

不需要使用追蹤模式時,必須調用此API,將track_id傳給Local API Server刪除該instance。

參數

"track_id" - 開啟追蹤模式(face/detection/trackstart)時得到的ID。

回傳值

"state" - 回傳狀態

  • STATE_SUCCESSFUL 執行成功
  • STATE_FAIL 尚未分類的錯誤
  • STATE_REQUEST_METHOD_ERROR Request方式不是使用POST
  • STATE_PARAMETER_ERROR Request少給參數或給錯參數
  • STATE_PROCESS_ERROR 刪除track_id發生錯誤

JSON格式

{
    "state":1000
}

[API] Face Comparison

http://localhost:8800/face/detection/compare

描述

人臉比對,將經由人臉偵測(face/detection/detect)後的face_id,透過此API可以比對兩個face_id的相似程度。

參數

"face_id1" - 欲比對的第一個人臉face_id。

"face_id2" - 欲比對的第二個人臉face_id。

回傳值

"namespace" - Local API Server尚未開放此功能。

"session_id" - Local API Server尚未開放此功能。

"similarity" - 經比對後,兩個face_id的人臉相似度。

"state" - 回傳狀態

  • STATE_SUCCESSFUL 執行成功
  • STATE_FAIL 尚未分類的錯誤
  • STATE_REQUEST_METHOD_ERROR Request方式不是使用POST
  • STATE_PARAMETER_ERROR Request少給參數或給錯參數
  • STATE_PROCESS_ERROR 比對人臉相似度發生錯誤

JSON格式

{
    "namespace":"default",
    "session_id":"null",
    "similarity":972,
    "state":1000
}

results matching ""

    No results matching ""