人臉活體檢測
本文為您介紹人臉人體(facebody)類目下的人臉活體檢測DetectLivingFace的語法及示例。
功能描述
人臉活體檢測能力可以檢測圖像中的人臉是否為來自認證設備端的近距離裸拍活體人臉對象,可廣泛應用在人臉實時采集場景,滿足人臉注冊認證的真實性和安全性要求。活體判斷的前置條件是圖像中有人臉。
能力范圍來看:
1. 認證設備端是指借助近距離裸拍活體正面人臉用于認證、通行等服務場景的含RGB攝像頭的硬件設備,常見的認證設備端有手機、門禁機、考勤機、PC等智能終端認證設備。
2. 裸拍活體正面人臉是指真人未經(jīng)重度PS、風格化、人工合成等后處理的含正面人臉(非模糊、遮擋、大角度的正面人臉)的照片。常見的非真人有紙張人臉、電子屏人臉等;常見經(jīng)過重度PS后處理的照片有擺拍街景照、擺拍人物風景照、擺拍證件照等;常見的其他后處理及生成照片有動漫人臉、繪畫人臉等。
應用場景
- 系統(tǒng)人臉登錄防攻擊:通過檢測上傳的圖像是否為真人實拍,而非攻擊及PS等后處理照片,以防止攻擊者登錄系統(tǒng)帶來安全風險。
- 門禁閘機刷臉通行:面向人臉注冊和認證環(huán)節(jié)設備端實時的活體檢測,實現(xiàn)注冊與認證過程中的真人校驗,防止非法分子盜用、偽造他人身份打卡通行。
- 智慧酒店自助入住:在酒店前臺自助辦理入住場景中,運用活體檢測技術(shù)實現(xiàn)無人監(jiān)管場景下,住客非活體攻擊(紙張人臉、電子屏人臉)的高效率攔截。
- 金融遠程身份認證:面向投資理財、基金交易、保險理賠等金融業(yè)務的活體檢測需求,高效率實現(xiàn)對翻拍、PS圖片、打印圖片、高仿模具等攻擊的攔截,確保用戶身份真實。
特色優(yōu)勢
- 基于圖片中人像目標的高維度特征(風格化、摩爾紋、成像畸形等),判斷目標對象是否為活體,有效防止屏幕二次翻拍等作弊攻擊,支持單張或多張判斷邏輯。
- 靈活支持RGB攝像頭設備的實時活體檢測,可有效防止翻拍、頭模、打印圖片等樣本攻擊。
- 簡單易用:可直接調(diào)用的API接口,服務簡單易用,易被集成,兼容性強。
接入指引
1. 注冊阿里云賬號:打開阿里云官網(wǎng),在阿里云官網(wǎng)右上角,單擊立即注冊,按照操作提示完成賬號注冊。
2. 開通能力:請確保您已開通人臉人體服務,若未開通服務請立即開通。
3. 創(chuàng)建AccessKey:請確保您已創(chuàng)建AccessKey,如果您使用的是子賬號AccessKey,您需要給子賬號賦予AliyunVIAPIFullAccess權(quán)限,具體操作,請參見RAM授權(quán)。
4. 在線調(diào)試(可選):您可以通過OpenAPI Explorer在線調(diào)試能力,查看完整的調(diào)用示例代碼及SDK依賴信息,也可以下載完整的工程。
5. 開發(fā)接入步驟:
- 在SDK總覽中選擇您要接入使用的SDK語言。
- 在對應語言的SDK文檔中找到AI類目為人臉人體(facebody)的SDK包進行安裝。
- 參考文檔中提供的示例代碼進行適當修改后調(diào)用。
6. 示例代碼:該能力常用語言的示例代碼,請參見人臉活體檢測示例代碼。
7. 客戶端直接調(diào)用:該能力常用的客戶端調(diào)用方式包括以下幾種。
輸入限制
- 圖像格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
- 圖像大小:不超過10 MB。如您有大圖需求,請通過釘釘群(23109592)聯(lián)系我們。
- 圖像分辨率:建議大于256×256像素,像素過低可能會影響識別效果。
- URL地址中不能包含中文字符。
檢測說明
- 最長檢測時間是5秒,如果在該時間內(nèi)沒有完成檢測,系統(tǒng)會強制返回超時錯誤碼。
- 圖像下載時間限制為3秒,如果下載時間超過3秒,系統(tǒng)會返回下載超時。
- 圖像檢測接口響應時間依賴圖像的下載時間。請保證被檢測圖像所在的存儲服務穩(wěn)定可靠,建議您使用阿里云OSS存儲或者CDN緩存。
- 最多可檢測10張圖像。
- 目前平臺提供的活體檢測為靜默活體,即基于圖片進行檢測,暫不支持搖頭,張嘴、眨眼等動作的活體檢測。
計費說明
關(guān)于人臉活體檢測的計費方式及報價,請參見計費介紹。
調(diào)試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
請求參數(shù)
名稱 |
類型 |
是否必選 |
示例值 |
描述 |
Action | String | 是 | DetectLivingFace | 系統(tǒng)規(guī)定參數(shù)。取值:DetectLivingFace。 |
Tasks.N.ImageURL | String | 否 | http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DetectLivingFace/DetectLivingFace4.jpg | 待檢測的圖像URL地址。JSON數(shù)組中的每個元素是一個圖片檢測任務結(jié)構(gòu)體(image表)。最多支持10個元素,即同時最多對10張圖片進行檢測。推薦使用上海地域的OSS鏈接,對于文件在本地或者非上海地域OSS鏈接的情況,請參見文件URL處理。 說明 對于該接口,系統(tǒng)會自動將OSS鏈接地址轉(zhuǎn)成內(nèi)網(wǎng)地址然后再下載文件,所以調(diào)用該接口并不會產(chǎn)生OSS流量計費。 |
Tasks.N.ImageData | String | 否 | /9j/4AAQSkZJRgABAQAAAQABAAD/2**** | 圖像Base64編碼字符串。當與URL方式共存時,URL方式優(yōu)先。 文件的Base64編碼處理操作,請參見文件Base64處理。 |
返回數(shù)據(jù)
名稱 |
類型 |
示例值 |
描述 |
RequestId | String | 2EEA0396-BD84-5729-B8BD-D60776FCEF2B | 請求ID。 |
Data | Object | 返回的結(jié)果數(shù)據(jù)內(nèi)容。 |
|
Elements | Array of Element | 返回的元素。 |
|
ImageURL | String | http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DetectLivingFace/DetectLivingFace4.jpg | 對應請求中的圖像URL地址。 |
TaskId | String | img1owc8WGskNm78OEAPJTZal-1**** | 該檢測任務的ID。 |
Results | Array of Result | 返回結(jié)果。調(diào)用成功時返回結(jié)果中包含一個或多個元素。 |
|
Suggestion | String | review | 建議您執(zhí)行的操作,取值范圍如下:
|
Frames | Array of Frame | (該字段已廢棄)輸入圖像為長圖(長寬比大于3:1)時,會把原圖截成幾張正常比例的圖,frames保存從圖像中裁剪出來的而且是翻拍命中的截圖。 |
|
Url | String | http://aligreen-shanghai.oss-cn-shanghai.aliyuncs.com/prod/hammal/26210da42/28118541_TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.png?Expires=1582703593&OSSAccessKeyId=H4sp5QfNbuDg****&Signature=%2B8iUkb5YjomYR8ujV2c8wMAavs****&x-oss-process=image%2Fcrop%2Cx_0%2Cw_288%2Fauto-orient%2C0 | 命中的截圖。 |
Rate | Float | 84.83 | 結(jié)果為該分類的概率,取值范圍為[0.00,100.00]。取值越大,表示屬于該分類的概率越大。 如果未檢測到人臉,則Rate返回為100。 |
Label | String | liveness | 檢測結(jié)果的分類,取值包括:
如果未檢測到人臉,則Label返回為liveness。 |
Rate | Float | 76.22 | 結(jié)果為該分類的概率,取值范圍為[0.00,100.00]。表示屬于該分類的概率越大。 |
Rect | Object | 人臉檢測框信息。 |
|
Left | Long | 20 | 檢測框左上角的點x坐標。 |
Top | Long | 30 | 檢測框左上角的點y坐標。 |
Width | Long | 50 | 檢測框?qū)挾取?/p> |
Height | Long | 60 | 檢測框高度。 |
MessageTips | String | blurred, occluded or large angle face, please check. | 提示信息。
|
FaceNumber | Long | 1 | 單張圖片檢測到的人臉數(shù)量。 如果未檢測到人臉,F(xiàn)aceNumber返回為0。 |
SDK參考
阿里云視覺AI人臉人體類目下的人臉活體檢測能力推薦使用SDK調(diào)用,支持多種編程語言,調(diào)用時請選擇AI類目為人臉人體(facebody)的SDK包,文件參數(shù)通過SDK調(diào)用可支持本地文件及任意URL,具體可參見SDK總覽。
示例代碼
該能力常用語言的示例代碼,請參見人臉活體檢測示例代碼。
示例
請求示例
http(s)://facebody.cn-shanghai.aliyuncs.com/?Action=DetectLivingFace //更多關(guān)于訪問域名(Endpoint)信息,請參見:http://bestwisewords.com/document_detail/143103.html
&Tasks=[{"ImageURL":"http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DetectLivingFace/DetectLivingFace4.jpg","ImageData":"/9j/4AAQSkZJRgABAQAAAQABAAD/2****"}]
&公共請求參數(shù)
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<DetectLivingFaceResponse>
<RequestId>2EEA0396-BD84-5729-B8BD-D60776FCEF2B</RequestId>
<Data>
<Elements>
<ImageURL>http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DetectLivingFace/DetectLivingFace4.jpg</ImageURL>
<TaskId>img1owc8WGskNm78OEAPJTZal-1****</TaskId>
<Results>
<Suggestion>review</Suggestion>
<Frames>
<Url>http://aligreen-shanghai.oss-cn-shanghai.aliyuncs.com/prod/hammal/26210da42/28118541_TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.png?Expires=1582703593&OSSAccessKeyId=H4sp5QfNbuDg****&Signature=%2B8iUkb5YjomYR8ujV2c8wMAavs****&x-oss-process=image%2Fcrop%2Cx_0%2Cw_288%2Fauto-orient%2C0</Url>
<Rate>84.83</Rate>
</Frames>
<Label>liveness</Label>
<Rate>76.22</Rate>
<Rect>
<Left>20</Left>
<Top>30</Top>
<Width>50</Width>
<Height>60</Height>
</Rect>
<MessageTips>blurred, occluded or large angle face, please check.</MessageTips>
</Results>
<FaceNumber>1</FaceNumber>
</Elements>
</Data>
</DetectLivingFaceResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "2EEA0396-BD84-5729-B8BD-D60776FCEF2B",
"Data" : {
"Elements" : [ {
"ImageURL" : "http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/facebody/DetectLivingFace/DetectLivingFace4.jpg",
"TaskId" : "img1owc8WGskNm78OEAPJTZal-1****",
"Results" : [ {
"Suggestion" : "review",
"Frames" : [ {
"Url" : "http://aligreen-shanghai.oss-cn-shanghai.aliyuncs.com/prod/hammal/26210da42/28118541_TB1urBOQFXXXXbMXFXXXXXXXXXX-1442-257.png?Expires=1582703593&OSSAccessKeyId=H4sp5QfNbuDg****&Signature=%2B8iUkb5YjomYR8ujV2c8wMAavs****&x-oss-process=image%2Fcrop%2Cx_0%2Cw_288%2Fauto-orient%2C0",
"Rate" : 84.83
} ],
"Label" : "liveness",
"Rate" : 76.22,
"Rect" : {
"Left" : 20,
"Top" : 30,
"Width" : 50,
"Height" : 60
},
"MessageTips" : "blurred, occluded or large angle face, please check."
} ],
"FaceNumber" : 1
} ]
}
}
活體閾值參考
Label |
Rate閾值 |
攻擊攔截率 |
活體通過率 |
|
liveness |
50 |
98.7% |
97.85% |
|
liveness |
30 |
99.03% |
96.96% |
|
normal(推薦) |
80(推薦) |
99.17% |
96.39% |
|
normal |
85 |
99.27% |
95.55% |
|
normal |
95 |
99.53% |
92.24% |
當Label是normal時,表示的是活體,Rate表示活體置信度,Rate取值范圍是[80,100]。
當Label是liveness時,表示的是非活體,Rate表示非活體置信度,Rate取值范圍是[20,100]。
關(guān)于以上數(shù)值的概念定義:
- 攻擊攔截率:如98%,代表100次作弊假體攻擊,會有98次被API識破拒絕。
- 活體通過率:如98%,代表100次真人請求,會有98次順利通過活體驗證。
錯誤碼
關(guān)于人臉活體檢測的錯誤碼,詳情請參見常見錯誤碼。
開源模型體驗
更多開源免費模型體驗及下載,詳見魔搭社區(qū):人臉活體檢測模型-RGB、人臉活體檢測模型-IR、靜默人臉活體檢測模型-炫彩。
安全聲明
- 請確保上傳的圖片或文件來源符合相應的法律法規(guī)。
- 通過體驗調(diào)試上傳的臨時文件有效期為1小時,在24小時后會被系統(tǒng)自動清理刪除。
- 平臺不存儲用戶在使用服務過程中涉及的原始人臉圖片或文件信息。