package com.hitalk.face.test;
import com.baidu.aip.face.AipFace;
import com.baidu.aip.util.Base64Util;
import org.json.JSONObject;
import org.junit.Test;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
public class FaceTest {
@Test
public void testRegister() throws Exception {
String appId = "15722097";
String apiKey = "azOiPPadSnGilMtnu0b1yhHL";
String secretKet = "qc993oPxTX9Xnw7mzc4zVtyckZTZ9d5s";
AipFace aipFace = new AipFace(appId, apiKey, secretKet);
HashMap<String, String> optionsMap = new HashMap<String, String>();
optionsMap.put("quality_control", "NORMAL");
optionsMap.put("liveness_control", "LOW");
String imgPath = "E:\\demo.jpg";
byte[] byteArr = Files.readAllBytes(Paths.get(imgPath));
String image = Base64Util.encode(byteArr);
JSONObject result = aipFace.addUser(image, "BASE64", "hitalk", "hjy", optionsMap);
System.out.println(result);
}
@Test
public void testCheckFace() throws Exception {
String imgPath = "E:\\demo.PNG";
byte[] byteArr = Files.readAllBytes(Paths.get(imgPath));
String image = Base64Util.encode(byteArr);
String appId = "15722097";
String apiKey = "azOiPPadSnGilMtnu0b1yhHL";
String secretKet = "qc993oPxTX9Xnw7mzc4zVtyckZTZ9d5s";
AipFace aipFace = new AipFace(appId, apiKey, secretKet);
JSONObject result = aipFace.detect(image, "BASE64", null);
System.out.println(result);
}
@Test
public void testSearchFace() throws Exception {
String appId = "15722097";
String apiKey = "azOiPPadSnGilMtnu0b1yhHL";
String secretKet = "qc993oPxTX9Xnw7mzc4zVtyckZTZ9d5s";
AipFace aipFace = new AipFace(appId, apiKey, secretKet);
String imgPath = "E:\\1.jpg";
byte[] byteArr = Files.readAllBytes(Paths.get(imgPath));
String image = Base64Util.encode(byteArr);
JSONObject result = aipFace.search(image, "BASE64", "hitalk", null);
System.out.println(result.toString());
}
}
人脸识别的原理:
每个人的人脸图片都会被标记多个点,比如眼耳口鼻脸轮廓,并保存在人脸库中;当进行人脸匹配时,就会对搜索的图片也生成标记点,然后匹配,最终将匹配度高的人脸集合返回,也叫评分,通常评分越高,相似度也越高,评分80以上就可以认为是同一个人
百度人工智能SDK:
http://ai.baidu.com/docs#/Face-Java-SDK/fe7cbbc1
maven坐标:
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.8.0</version>
</dependency>