[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
}