Skip to main content

การตรวจจับการมีชีวิตของใบหน้าแบบ Passive (การตรวจสอบการปลอมแปลงใบหน้า)

0.3 ICต่อคำขอ ได้รับการรับรอง iBeta Level 1
v1.8 ใช้งานอยู่ POST /v3/store/ekyc/face-passive-liveness
มี SDK สำหรับมือถือและเว็บ

ข้ามขั้นตอนการทำงานกับกล้อง — eKYC SDK แบบโอเพนซอร์สของเรา (เว็บ, Flutter, iOS, Android & React Native) ที่ใช้งานฟรี จะจับภาพเซลฟี่และเรียก API นี้ให้คุณ พร้อมทั้งเพิ่ม การมีชีวิตของใบหน้าแบบ Active แบบท้าทายเข้าไปด้วย ดูบน GitHub

ยินดีต้อนรับสู่ Face Passive Liveness Detection API ผลิตภัณฑ์ AI ที่พัฒนาโดย บริษัท ไอแอพพ์เทคโนโลยี จำกัด API ของเราออกแบบมาเพื่อตรวจจับว่าภาพใบหน้าที่ป้อนเข้ามาเป็นของจริงหรือของปลอม เพื่อให้มั่นใจในความถูกต้องของกระบวนการจดจำใบหน้า API ได้รับการรับรองโดย iBeta Level 1 และรองรับเทคนิคต่างๆ เพื่อระบุความพยายามในการปลอมแปลงใบหน้า

ลองใช้ Demo!

ทดลองใช้ AI Demo

เข้าสู่ระบบหรือสร้างบัญชีฟรีเพื่อใช้งาน AI Demo และสำรวจ API ที่ทรงพลังของเรา

รับ 50 เครดิตฟรี (IC) เมื่อสมัครสมาชิก!

โปรโมชันหมดเขต 31 ธันวาคม 2568

Example Images (Click to try)

Example 1
Try Demo

ลองใช้ SDK (กล้องสด)

iApp eKYC Web SDK แบบโอเพนซอร์สที่ใช้งานฟรี จะห่อหุ้ม API นี้ไว้ในการเรียกแบบ typed เพียงครั้งเดียว — เลือกรูปภาพเซลฟี่ด้านล่าง แล้ว SDK จะจัดการการอัปโหลด การแมปข้อผิดพลาด และการแยกวิเคราะห์การตอบกลับ ดูโฟลว์เพิ่มเติมใน หน้าสาธิตสด SDK เต็มรูปแบบ

Loading live demo…

เริ่มต้นใช้งาน

  1. ข้อกำหนดเบื้องต้น

    • คีย์ API จาก ไอแอพพ์เทคโนโลยี
    • ไฟล์รูปภาพที่มีใบหน้า
    • รูปแบบที่รองรับ: JPEG, JPG, PNG
    • ขนาดไฟล์สูงสุด: 10MB
  2. เริ่มต้นอย่างรวดเร็ว

    • เวลาประมวลผลที่รวดเร็ว
    • การตรวจจับการปลอมแปลงใบหน้าที่แม่นยำสูง
    • รองรับรูปแบบไฟล์หลายประเภท
    • ได้รับการรับรอง iBeta Level 1
  3. คุณสมบัติหลัก

    • การตรวจจับการปลอมแปลงใบหน้าโดยใช้เทคนิคต่างๆ
    • การตรวจจับภาพถ่าย
    • หน้ากากใบหน้าที่สมจริงเพื่อตรวจจับการปลอมแปลง
    • การตรวจจับภาพใบหน้าที่ถ่ายจากหน้าจอคอมพิวเตอร์
    • การตรวจจับการเล่นซ้ำวิดีโอ
    • คะแนนการทำนายโดยละเอียดและการทำให้เป็นมาตรฐาน
    • การวัดระดับความมืด
    • การติดตามระยะเวลาการประมวลผล
  4. ความปลอดภัยและการปฏิบัติตามข้อกำหนด

    • สอดคล้องกับ GDPR และ PDPA
    • ไม่มีการเก็บข้อมูลหลังการประมวลผล
    • ได้รับการรับรองความปลอดภัย iBeta Level 1
จะรับคีย์ API ได้อย่างไร?

โปรดไปที่หน้า การจัดการคีย์ API เพื่อดูคีย์ API ที่มีอยู่ของคุณ หรือขอคีย์ใหม่

ตัวอย่าง

คำขอการตรวจจับการมีชีวิตของใบหน้าแบบ Passive:

ภาพตัวอย่าง

Face Detection Example

  curl --location 'https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness' \
--header 'apikey: {YOUR API KEY}' \
--form 'file=@"{YOUR UPLOADED FILE}"'

การตอบกลับการตรวจจับการมีชีวิตของใบหน้าแบบ Passive:

{
"filename": "S__5333002.jpg",
"predict": "SPOOF",
"score": 0.9999989633974822,
"darkness": 0.51,
"data": {
"SPOOF": 0.9999990463256836,
"REAL": 9.35794162160164e-7
},
"normalized": {
"SPOOF": 0.9999989633974822,
"REAL": 1.0366025178232263e-6
},
"status_code": 200,
"duration": 0.35393,
"message": "SUCCESS"
}

คุณสมบัติและความสามารถ

คุณสมบัติหลัก

  • ตรวจจับวิธีการปลอมแปลงใบหน้าต่างๆ เช่น ภาพถ่าย, หน้ากากที่สมจริง, ภาพจากหน้าจอคอมพิวเตอร์ และการเล่นซ้ำวิดีโอ
  • ใช้เทคนิคการเรียนรู้เชิงลึกขั้นสูงเพื่อให้แน่ใจในความแม่นยำและความน่าเชื่อถือสูง
  • มีความแม่นยำกว่า 99.43% จากการทดสอบ 7,680 ครั้ง
  • ได้รับการรับรองระดับ iBeta Level 1 สำหรับระบบจดจำใบหน้าที่ปลอดภัยและน่าเชื่อถือ
  • ผสานรวมได้อย่างราบรื่นผ่าน RESTful API เพื่อการใช้งานที่ง่ายในแอปพลิเคชัน

ฟิลด์ที่รองรับ

  • การตรวจจับความพยายามในการปลอมแปลงใบหน้า (ภาพถ่าย, หน้ากาก, ภาพหน้าจอ, การเล่นซ้ำวิดีโอ)
  • คะแนนความเชื่อมั่นในการตรวจจับใบหน้าที่แท้จริงเทียบกับใบหน้าที่ปลอม
  • เข้ากันได้กับรูปแบบรูปภาพยอดนิยม เช่น PNG, JPG, JPEG, HEIC และ HEIF

Endpoint ของ API

EndpointMethodคำอธิบายค่าใช้จ่าย
POST /v3/store/ekyc/face-passive-liveness
Legacy: /anti_face_spoofing, /api/v2/fas, /face-spoofing, /passive-face-liveness-detection
POSTการตรวจจับการมีชีวิตของใบหน้า - ตรวจจับความพยายามในการปลอมแปลง0.3 IC ต่อคำขอ
POST /v3/store/ekyc/face-passive-liveness/v1p10
Legacy: /v1p10/facial_anti_spoofing
POSTการตรวจจับการมีชีวิตของใบหน้า (v1p10)0.3 IC ต่อคำขอ

การอ้างอิง API

Endpoint การตรวจจับการมีชีวิตของใบหน้าแบบ Passive

1. การตรวจจับการมีชีวิตของใบหน้าแบบ Passive (พื้นฐาน)

POST /v3/store/ekyc/face-passive-liveness

ตรวจจับว่าภาพใบหน้าเป็นของจริงหรือถูกปลอมแปลง รองรับการตรวจจับภาพถ่าย, หน้ากากที่สมจริง, ภาพหน้าจอ และการเล่นซ้ำวิดีโอ ได้รับการรับรอง iBeta Level 1


2. การตรวจจับการมีชีวิตของใบหน้าแบบ Passive (v1p10)

POST /v3/store/ekyc/face-passive-liveness/v1p10

เวอร์ชันทางเลือกของการตรวจจับการมีชีวิตของใบหน้าแบบ Passive พร้อมอัลกอริทึมที่ปรับปรุงแล้วสำหรับกรณีการใช้งานเฉพาะ


รูปแบบคำขอและการตอบกลับ

Headers

ชื่อประเภทคำอธิบาย
apikeyStringคีย์ API ของคุณสำหรับเรียก API นี้

Request Body

ชื่อประเภทคำอธิบาย
fileFileข้อมูลไบนารีของรูปภาพ

Response

{
"filename": "Image.jpeg",
"predict": "SPOOF",
"score": 0.9999590674225165,
"darkness": 0.29,
"data": {
"SPOOF": 0.9999197721481323,
"REAL": 8.024471753742546e-5
},
"normalized": {
"SPOOF": 0.9999590674225165,
"REAL": 4.093257748349899e-5
},
"status_code": 200,
"duration": 0.38198,
"message": "SUCCESS"
}

พารามิเตอร์ในการตอบกลับ

ชื่อประเภทคำอธิบาย
filenameStringชื่อไฟล์
predictStringผลการทำนาย, เป็น REAL หรือ SPOOF, โดยอิงตามคะแนนที่ทำให้เป็นมาตรฐานแล้ว
scoreFloatคะแนนการทำนายหลังจากทำให้เป็นมาตรฐานแล้ว
darknessFloatระดับความมืดเป็นเปอร์เซ็นต์
dataDictionaryคะแนนการทำนายสำหรับทั้งหมวดหมู่ REAL และ SPOOF ก่อนทำให้เป็นมาตรฐาน
normalizedDictionaryคะแนนการทำนายสำหรับทั้งหมวดหมู่ REAL และ SPOOF หลังทำให้เป็นมาตรฐานแล้ว
status_codeIntegerรหัสสถานะที่บ่งชี้ความสำเร็จหรือข้อผิดพลาดในการประมวลผล
durationFloatระยะเวลาการประมวลผล
messageStringข้อความผลลัพธ์หรือข้อผิดพลาดจากการประมวลผล

ตัวอย่างโค้ด

Curl

curl -X POST https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness \
-H "apikey: YOUR_API_KEY" \
-F "file=@/path/to/file.jpg"

Python

import requests

def detect_face_spoofing(image_path, api_key):
url = "https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness"
headers = {'apikey': {YOUR API KEY}}
files = {'file': open(image_path, 'rb')}
response = requests.post(url, headers=headers, files=files)
return response.json()

JavaScript

const axios = require('axios');

async function detectFaceSpoofing(imagePath, apiKey) {
const url = "https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness";
const headers = { 'apikey': {YOUR API KEY} };
const formData = new FormData();
formData.append('file', fs.createReadStream(imagePath));

try {
const response = await axios.post(url, formData, { headers });
return response.data;
} catch (error) {
console.error('Error:', error);
}
}

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file'=> new CURLFILE('{YOUR UPLOADED FILE}')),
CURLOPT_HTTPHEADER => array(
'apikey: {YOUR API KEY}'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Swift

let parameters = [
[
"key": "file",
"src": "{YOUR UPLOADED FILE}",
"type": "file"
]] as [[String: Any]]

let boundary = "Boundary-\(UUID().uuidString)"
var body = Data()
var error: Error? = nil
for param in parameters {
if param["disabled"] != nil { continue }
let paramName = param["key"]!
body += Data("--\(boundary)\r\n".utf8)
body += Data("Content-Disposition:form-data; name=\"\(paramName)\"".utf8)
if param["contentType"] != nil {
body += Data("\r\nContent-Type: \(param["contentType"] as! String)".utf8)
}
let paramType = param["type"] as! String
if paramType == "text" {
let paramValue = param["value"] as! String
body += Data("\r\n\r\n\(paramValue)\r\n".utf8)
} else {
let paramSrc = param["src"] as! String
let fileURL = URL(fileURLWithPath: paramSrc)
if let fileContent = try? Data(contentsOf: fileURL) {
body += Data("; filename=\"\(paramSrc)\"\r\n".utf8)
body += Data("Content-Type: \"content-type header\"\r\n".utf8)
body += Data("\r\n".utf8)
body += fileContent
body += Data("\r\n".utf8)
}
}
}
body += Data("--\(boundary)--\r\n".utf8);
let postData = body


var request = URLRequest(url: URL(string: "https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness")!,timeoutInterval: Double.infinity)
request.addValue("{YOUR API KEY}", forHTTPHeaderField: "apikey")
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

request.httpMethod = "POST"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}

task.resume()

Kotlin

val client = OkHttpClient()
val mediaType = "text/plain".toMediaType()
val body = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE}",
File("{YOUR UPLOADED FILE}").asRequestBody("application/octet-stream".toMediaType()))
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness")
.post(body)
.addHeader("apikey", "{YOUR API KEY}")
.build()
val response = client.newCall(request).execute()

Java

OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("file","{YOUR UPLOADED FILE}",
RequestBody.create(MediaType.parse("application/octet-stream"),
new File("{YOUR UPLOADED FILE}")))
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness")
.method("POST", body)
.addHeader("apikey", "{YOUR API KEY}")
.build();
Response response = client.newCall(request).execute();

Dart

var headers = {
'apikey': '{YOUR API KEY}'
};
var request = http.MultipartRequest('POST', Uri.parse('https://api.iapp.co.th/v3/store/ekyc/face-passive-liveness'));
request.files.add(await http.MultipartFile.fromPath('file', '{YOUR UPLOADED FILE}'));
request.headers.addAll(headers);

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}

ความแม่นยำและประสิทธิภาพ

  • มีความแม่นยำกว่า 99.43% จากการทดสอบ 7,680 ครั้ง
  • ได้รับการรับรองระดับ iBeta Level 1 สำหรับระบบจดจำใบหน้าที่ปลอดภัยและน่าเชื่อถือ

ใบรับรอง iBeta [iBeta Level 1]

ระบบนี้ได้รับการรับรองโดย iBeta Level 1 และมีความสามารถในการตรวจจับความพยายามในการปลอมแปลงใบหน้าผ่านเทคนิคต่างๆ รวมถึงภาพถ่าย, หน้ากากที่สมจริงสำหรับการปลอมแปลง, ภาพที่ถ่ายจากหน้าจอคอมพิวเตอร์ และการเล่นซ้ำวิดีโอ

ดูใบรับรอง iBeta ที่นี่

ราคา

การดำเนินการProduction PathLegacy Pathค่าใช้จ่าย ICหน่วยOn-Premise
การตรวจจับการมีชีวิตของใบหน้าแบบ Passive/v3/store/ekyc/face-passive-liveness/anti_face_spoofing0.3 ICต่อ 1 คำขอติดต่อเรา
การตรวจจับการมีชีวิตของใบหน้าแบบ Passive (v1p10)/v3/store/ekyc/face-passive-liveness/v1p10/v1p10/facial_anti_spoofing0.3 ICต่อ 1 คำขอ