本文介紹人臉人體(facebody)類目下的人臉檢測與五官定位DetectFace的語法及示例。
功能描述
人臉檢測與五官定位能力可以檢測圖片中的人臉并給出每張人臉精準定位和105個關鍵點信息。輸出人臉數量、人臉矩形坐標、人臉姿態、雙瞳孔中心坐標、人臉置信度列表等信息,支持人臉遮擋、光照、模糊度、姿態、噪聲綜合質量評分,支持檢測含有多張人臉的照片多種姿態角度判斷。
應用場景
人臉關鍵點檢測,是后續識別、分析和特效應用的基礎。它為人臉識別、表情分析、疲勞檢測、三維人臉重建、人臉美顏、換臉等人臉相關應用提供了人臉精確信息。
- 互動娛樂應用:支持人臉五官及輪廓精準定位,實現動態貼紙、小視頻玩法、特效相機等互動娛樂功能。
- 人臉美顏拍攝:高精度人臉關鍵點可進行美顏塑形,落地在圖片、視頻、互動直播等多種美顏場景。
- 面部定位分析:支持人臉輪廓精準定位和面部關鍵點分析,落地在智能醫美、智能APP等高價值場景。
特色優勢
- 高精度定位:支持眉毛、眼睛、瞳孔、鼻子、嘴等五官位置的精準定位。
- 適應能力強:不同照片、人臉尺寸多場景下,適應最大90度側臉、平面360旋轉人臉等情景。
- 支持多人臉:支持單圖檢測多個人臉,應對人臉編輯、換臉、姿態矯正等高精度人臉定位場景。
- 圖片質量打分:支持人臉遮擋、光照、模糊度、姿態、噪聲綜合質量評分。
- 平臺服務穩定:提供在高并發,大流量下的毫秒級識別響應和保障。
接入指引
1. 注冊阿里云賬號:打開阿里云官網,在阿里云官網右上角,單擊立即注冊,按照操作提示完成賬號注冊。
2. 開通能力:請確保您已開通人臉人體服務,若未開通服務請立即開通。
3. 創建AccessKey:請確保您已創建AccessKey,如果您使用的是子賬號AccessKey,您需要給子賬號賦予AliyunVIAPIFullAccess權限,具體操作,請參見RAM授權。
4. 在線調試(可選):您可以通過OpenAPI Explorer在線調試能力,查看完整的調用示例代碼及SDK依賴信息,也可以下載完整的工程。
5. 開發接入步驟:
- 在SDK總覽中選擇您要接入使用的SDK語言。
- 在對應語言的SDK文檔中找到AI類目為人臉人體(facebody)的SDK包進行安裝。
- 參考文檔中提供的示例代碼進行適當修改后調用。
6. 示例代碼:該能力常用語言的示例代碼,請參見人臉檢測與五官定位示例代碼。
7. 客戶端直接調用:該能力常用的客戶端調用方式包括以下幾種。
輸入限制
- 圖像格式:JPEG、JPG、PNG、BMP。
- 圖像大小:不超過30 MB。
- 圖像分辨率:大于32×32像素,小于8192×8192像素,人臉占比不低于64×64像素。
- URL地址中不能包含中文字符。
計費說明
關于人臉檢測與五官定位的計費方式及報價,請參見計費介紹。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
請求參數
名稱 |
類型 |
是否必選 |
示例值 |
描述 |
Action | String | 是 | DetectFace | 系統規定參數。取值:DetectFace。 |
ImageURL | String | 是 | http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DetectFace/DetectFace1.png | 圖像URL地址。推薦使用上海地域的OSS鏈接,對于文件在本地或者非上海地域OSS鏈接的情況,請參見文件URL處理。 |
Landmark | Boolean | 否 | true | 是否需要返回人臉的特征點定位,取值true或false。 |
Quality | Boolean | 否 | true | 是否需要返回人臉質量,取值true或false。 |
Pose | Boolean | 否 | true | 是否需要返回人臉的姿態,取值true或false。 |
MaxFaceNumber | Long | 否 | 1 | 設置圖片中人臉的最大返回數量,取值范圍1~30。若想返回多個人臉檢測結果,請正確設置。默認按返回參數FaceProbabilityList進行降序排列。 |
返回數據
名稱 |
類型 |
示例值 |
描述 |
RequestId | String | 26B5334B-FD8A-5994-A1DA-3CA8F7B25676 | 請求ID。 |
Data | Object | 返回的結果數據內容。 |
|
FaceProbabilityList | Array of Float | 0.96 | 截圖中包含人臉的概率,取值范圍0~1。如有多個人臉,則依次返回。例如有兩個人臉則返回 |
Pupils | Array of double | [417.83, 226.09, 8.15, 517.46, 231.53, 8.15] | 左右兩個瞳孔的中心點坐標和半徑,每個人臉6個浮點數,順序為 |
FaceRectangles | Array of Integer | [358, 141, 207, 255] | 返回人臉矩形框,分別是 left-top: 表示以圖片左上角為坐標原點,目標框所對應的左上角點位置(x,y),表示框的第一個點距離圖片左邊界x像素,距離上邊界y個像素。 width-height:表示目標框的寬和高。 目標框面積為width*height,目標框右下角坐標為(left+width,top+height)。 |
FaceCount | Integer | 1 | 檢測出的人臉個數。 |
PoseList | Array of Float | [5.02, -3.95, 2.41] | 返回人臉姿態角度,格式為
|
Landmarks | Array of Float | [381.1, 201.72, 448.09, 205.17, 415.19, 191.2, 415.28, 201.64, 391.35, 196.03, 403.15, 191.57, 426.94, 194.07, 438.42, 197.65, ......] | 人臉特征點定位結果,每個人臉返回一組特征點位置,表示方式為 |
LandmarkScore | Array of Float | 95.89 | 關鍵點檢測綜合分值,取值范圍 (0, 100],推薦采用85的閾值(您可以按實際應用場景判斷設置閾值與否及相應閾值大小),該分值越大,對應臉的關鍵點的質量越好,越有利于識別,可用來篩選人臉樣本。 ) |
LandmarkCount | Integer | 105 | 人臉特征點數目,目前固定為105點。依次為:眉毛24點,眼睛32點,鼻子6點,嘴巴34點,外輪廓9點。 |
Qualities | Object | 人臉質量情況,分數越高表示越有利于識別。 |
|
ScoreList | Array of Float | 99.92 | 質量綜合分數,分數越高越有利于識別,取值范圍(0,100]。如有多張人臉,則依次返回。在識別時,推薦設置閾值大于等于85(您可以按實際應用場景判斷設置閾值與否及相應閾值大小),大于85代表圖片綜合質量越高,小于85代表圖片綜合質量越低。 |
BlurList | Array of Float | 99.21 | 人臉模糊度對識別的影響分數,分數越高越有利于識別,取值范圍(0,100]。如有多個人臉,則依次順延。在識別時,推薦設置閾值大于等于85(您可以按實際應用場景判斷設置閾值與否及相應閾值大小),大于85代表圖片模糊的概率越低,小于85代表圖片模糊的概率越高。 |
FnfList | Array of Float | 100 | 目標是否為人臉及其對識別的影響分數,分數越高越有利于識別,取值范圍(0,100]。如有多個人臉,則依次順延。在識別時,推薦設置閾值大于等于85(您可以按實際應用場景判斷設置閾值與否及相應閾值大小),大于85代表圖片是人臉的概率越高,小于85代表圖片是人臉的概率越低。 |
GlassList | Array of Float | 100 | 眼鏡等上半臉遮擋對識別的影響分數,分數越高越有利于識別,取值范圍(0,100]。如有多個人臉,則依次順延。在識別時,推薦設置閾值大于等于85(您可以按實際應用場景判斷設置閾值與否及相應閾值大小),大于85代表戴眼鏡的概率越低,小于85代表戴眼鏡的概率越高。 |
IlluList | Array of Float | 100 | 光照對識別的影響分數,分數越高越有利于識別,取值范圍(0,100]。如有多個人臉,則依次順延。在識別時,推薦設置閾值大于等于85(您可以按實際應用場景判斷設置閾值與否及相應閾值大小),大于85代表圖片光照好的概率越高,小于85代表圖片光照好的概率越低。 |
MaskList | Array of Float | 99.53 | 口罩等下半臉遮擋對識別的影響分數,分數越高越有利于識別,取值范圍(0,100]。如有多個人臉,則依次順延。在識別時,推薦設置閾值大于等于85(您可以按實際應用場景判斷設置閾值與否及相應閾值大小),大于85代表戴口罩概率越低,小于85代表戴口罩概率越高。 |
NoiseList | Array of Float | 99.74 | 圖片噪聲對識別的影響分數,分數越高越有利于識別,取值范圍(0,100]。如有多個人臉,則依次順延。在識別時,推薦設置閾值大于等于85(您可以按實際應用場景判斷設置閾值與否及相應閾值大小),大于85代表圖片有噪聲的概率越低,小于85代表圖片有噪聲的概率越高。 |
PoseList | Array of Float | 100 | 姿態對識別的影響分數,分數越高越有利于識別,取值范圍(0,100]。如有多個人臉,則依次順延。在識別時,推薦設置閾值大于等于85(您可以按實際應用場景判斷設置閾值與否及相應閾值大小),大于85代表人臉姿態正面的概率越高,小于85代表人臉姿態正面的概率越低。 |
示意圖
- 原圖
- 105關鍵點示意圖
SDK參考
阿里云視覺AI人臉人體類目下的人臉檢測與五官定位能力推薦使用SDK調用,支持多種編程語言,調用時請選擇AI類目為人臉人體(facebody)的SDK包,文件參數通過SDK調用可支持本地文件及任意URL,具體可參見SDK總覽。
示例代碼
該能力常用語言的示例代碼,請參見人臉檢測與五官定位示例代碼。
示例
請求示例
http(s)://facebody.cn-shanghai.aliyuncs.com/?Action=DetectFace //更多關于訪問域名(Endpoint)信息,請參見:http://bestwisewords.com/document_detail/143103.html
&ImageURL=http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DetectFace/DetectFace1.png
&Landmark=true
&Quality=true
&Pose=true
&MaxFaceNumber=1
&公共請求參數
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<DetectFaceResponse>
<RequestId>26B5334B-FD8A-5994-A1DA-3CA8F7B25676</RequestId>
<Data>
<FaceProbabilityList>0.96</FaceProbabilityList>
<Pupils>417.83</Pupils>
<Pupils>226.09</Pupils>
<Pupils>8.15</Pupils>
<Pupils>517.46</Pupils>
<Pupils>231.53</Pupils>
<Pupils>8.15</Pupils>
<FaceRectangles>358</FaceRectangles>
<FaceRectangles>141</FaceRectangles>
<FaceRectangles>207</FaceRectangles>
<FaceRectangles>255</FaceRectangles>
<FaceCount>1</FaceCount>
<PoseList>5.02</PoseList>
<PoseList>-3.95</PoseList>
<PoseList>2.41</PoseList>
<Landmarks>381.1</Landmarks>
<Landmarks>201.72</Landmarks>
<Landmarks>448.09</Landmarks>
<Landmarks>205.17</Landmarks>
<Landmarks>415.19</Landmarks>
<Landmarks>191.2</Landmarks>
<Landmarks>415.28</Landmarks>
<Landmarks>201.64</Landmarks>
<Landmarks>391.35</Landmarks>
<Landmarks>196.03</Landmarks>
<Landmarks>403.15</Landmarks>
<Landmarks>191.57</Landmarks>
<Landmarks>426.94</Landmarks>
<Landmarks>194.07</Landmarks>
<Landmarks>438.42</Landmarks>
<Landmarks>197.65</Landmarks>
<LandmarkScore>95.89</LandmarkScore>
<LandmarkCount>105</LandmarkCount>
<Qualities>
<ScoreList>99.92</ScoreList>
<BlurList>99.21</BlurList>
<FnfList>100</FnfList>
<GlassList>100</GlassList>
<IlluList>100</IlluList>
<MaskList>99.53</MaskList>
<NoiseList>99.74</NoiseList>
<PoseList>100</PoseList>
</Qualities>
</Data>
</DetectFaceResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "26B5334B-FD8A-5994-A1DA-3CA8F7B25676",
"Data" : {
"FaceProbabilityList" : [ 0.96 ],
"Pupils" : [ 417.83, 226.09, 8.15, 517.46, 231.53, 8.15 ],
"FaceRectangles" : [ 358, 141, 207, 255 ],
"FaceCount" : 1,
"PoseList" : [ 5.02, -3.95, 2.41 ],
"Landmarks" : [ 381.1, 201.72, 448.09, 205.17, 415.19, 191.2, 415.28, 201.64, 391.35, 196.03, 403.15, 191.57, 426.94, 194.07, 438.42, 197.65 ],
"LandmarkScore" : 95.89,
"LandmarkCount" : 105,
"Qualities" : {
"ScoreList" : [ 99.92 ],
"BlurList" : [ 99.21 ],
"FnfList" : [ 100 ],
"GlassList" : [ 100 ],
"IlluList" : [ 100 ],
"MaskList" : [ 99.53 ],
"NoiseList" : [ 99.74 ],
"PoseList" : [ 100 ]
}
}
}
錯誤碼
關于人臉檢測與五官定位的錯誤碼,詳情請參見常見錯誤碼。
開源模型體驗
更多開源免費模型體驗及下載,詳見魔搭社區:106點人臉關鍵點-通用領域-2D和全身關鍵點檢測-通用領域-2D。
安全聲明
- 請確保上傳的圖片或文件來源符合相應的法律法規。
- 通過體驗調試上傳的臨時文件有效期為1小時,在24小時后會被系統自動清理刪除。
- 平臺不存儲用戶在使用服務過程中涉及的原始人臉圖片或文件信息。