臉部辨識資料結構
本文會說明臉部服務中用於臉部辨識作業的資料結構。 這些資料結構會保存臉部和人員的資料。
警告
臉部辨識服務存取受限於資格和使用準則,以支援我們的「負責任的 AI 原則」。 臉部辨識服務僅供 Microsoft 受管理的客戶和合作夥伴使用。 請使用臉部辨識受理表單以申請存取。 如需詳細資訊,請參閱臉部的有限存取權頁面。
與識別搭配使用的資料結構
臉部識別 API 會使用容器資料結構,以人員物件的形式保存臉部辨識資料。 此用途有三種類型的容器,從最舊到最新列出。 我們建議您一律使用最新的容器。
PersonGroup
PersonGroup 是最小的容器資料結構。
- 當您建立 PersonGroup 時,您需要指定辨識模型。 當任何臉部新增至該 PersonGroup 時,它會使用該模型來處理臉部。 此模型必須符合模型版本與偵測 API 中的臉部識別碼。
- 您必須呼叫定型 API,讓任何新的臉部資料反映在識別 API 結果中。 這包括新增/移除臉部和新增/移除人員。
- 針對免費層訂用帳戶,最多可以容納 1,000 人。 針對 S0 付費訂用帳戶,最多可以有 10,000 人。
PersonGroupPerson 代表要識別的人員。 最多可以容納 248 張臉。
大型人員群組
LargePersonGroup 是稍後引進的資料結構,可支援最多 100 萬個實體 (適用於 S0 層訂用帳戶)。 它已進行最佳化,以支援大規模資料。 它共享 PersonGroup 大部分的功能: 必須在建立時指定辨識模型,而且必須先呼叫定型 API,才能使用。
人員目錄
PersonDirectory 是此類最新的資料結構。 它支援更大的規模和更高的精確度。 每個 Azure 臉部資源都有單一預設 PersonDirectory 資料結構。 它是 PersonDirectoryPerson 物件的一般清單,最多可以容納 2000 萬個物件。
PersonGroupPerson 代表要識別的人員。 根據較舊的 PersonGroupPerson 模型,它可讓您將不同辨識模型的臉部新增至同一個人。 不過,識別作業只能比對使用相同辨識模型取得的臉部。
DynamicPersonGroup 是輕量型數據結構,可讓您動態參考 PersonDirectoryPerson。 它不需要定型作業: 一旦更新資料,就可以與識別 API 搭配使用。
您也可以針對識別作業使用就地人員識別碼清單。 這可讓您指定要從中識別的較窄群組。 您可以手動執行此動作,以改善大型群組中的識別效能。
上述資料結構可以一起使用。 例如:
- 在存取控制系統中,PersonDirectory 可能代表公司的所有員工,但較小的 dynamicPersonGroup 可能只代表可存取大樓單層的員工。
- 在發行小眾測試版上線系統中,PersonDirectory 可以代表航空公司的所有客戶,但 dynamicPersonGroup 只代表特定航班上的乘客。 就地人員識別碼清單可以代表最後一分鐘變更的乘客。
如需詳細資訊,請參閱 PersonDirectory 操作指南。 LargePersonGroup 與 PersonDirectory 之間的快速比較:
詳細資料 | LargePersonGroup | PersonDirectory |
---|---|---|
Capacity | LargePersonGroup 最多可保存 1 百萬 PersonGroupPerson 物件。 | 集合最多可以儲存 2000 萬 個 PersonDirectoryPerson 身分識別。 |
PersonURI | /largepersongroups/{groupId}/persons/{personId} |
(/v1.0-preview-or-above)/persons/{personId} |
擁有權 | PersonGroupPerson 物件是由他們所屬的 LargePersonGroup 獨佔擁有。 如果您想要將相同的身分識別保留在多個群組中,您必須 個別建立大型人員群組人員 ,併 為每個群組新增大型人員群組人員臉部 ,最後會有數個群組中的一組人員標識符。 | PersonDirectoryPerson 物件會直接儲存在 PersonDirectory 內,做為一般清單。 您可以使用就地人員標識符清單來 識別來自人員目錄,或選擇性地 建立動態人員群組 ,並混合將人員納入群組。 多個 DynamicPersonGroup 可以參考已建立的 PersonDirectoryPerson 物件,而不重複。 |
模型 | 辨識模型是由 LargePersonGroup 所決定。 所有 PersonGroupPerson 物件的新臉部都會在新增至此模型時與其產生關聯。 | PersonDirectoryPerson 物件會針對每個辨識模型準備不同的記憶體。 您可以在新增臉部時指定模型,但識別 API 只能比對與查詢臉部相關聯的相同辨識模型取得的臉部。 |
訓練 | 您必須呼叫定型 API,讓任何新的臉部/人員數據反映在識別 API 結果中。 | 不需要進行訓練呼叫,但新增人員臉部等 API 會變成長時間執行的作業,這表示您應該使用響應標頭 「Operation-Location」 來檢查更新是否已完成。 |
清理 | 刪除大型人員群組 也會刪除它保存的所有 PersonGroupPerson 物件,以及其臉部數據。 | 刪除動態人員群組 只會取消 推斷 PersonDirectoryPerson。 若要刪除實際人員和臉部數據,請參閱 刪除人員。 |
與 [尋找類似專案] 搭配使用的資料結構
不同於識別 API,「尋找類似 API」用於難以設定人員註冊的應用程式(例如,從影片分析擷取的臉部影像,或從相片專輯分析中擷取)。
FaceList
FaceList 代表保存臉部的一般清單。 最多可以容納 1,000 張臉。
LargeFaceList
LargeFaceList 是一個更新的版本,最多可容納 1,000,000 張臉。
後續步驟
現在您已熟悉臉部資料結構,請在識別作業中撰寫使用這些結構的指令碼。