解决离线无法使用问题

This commit is contained in:
dengwenjie
2025-03-20 21:12:35 +08:00
parent fdfa9685d6
commit 45cb7a9edc
7 changed files with 58 additions and 13 deletions

View File

@@ -81,7 +81,7 @@
<dependency>
<groupId>ink.numberone</groupId>
<artifactId>smartjavaai-face</artifactId>
<version>1.0.3</version>
<version>1.0.4</version>
</dependency>
</dependencies>
```

View File

@@ -11,7 +11,7 @@
<dependency>
<groupId>ink.numberone</groupId>
<artifactId>smartjavaai-face</artifactId>
<version>1.0.3</version>
<version>1.0.4</version>
</dependency>
</dependencies>
```

View File

@@ -43,7 +43,7 @@
<dependency>
<groupId>ink.numberone</groupId>
<artifactId>smartjavaai-face</artifactId>
<version>1.0.3</version>
<version>1.0.4</version>
</dependency>
<dependency>

View File

@@ -29,8 +29,9 @@ public class FaceDemo {
public static void main(String[] args) {
try {
//detectFace2();
verifyIDCard();
//detectFace2();
//verifyIDCard();
} catch (Exception e) {
e.printStackTrace();
}
@@ -113,7 +114,7 @@ public class FaceDemo {
sw.reset();
sw.start();
//提取身份证人脸特征(图片仅供测试)
float[] featureIdCard = currentAlgorithm.featureExtraction("src/main/resources/kana1.jpg");
float[] featureIdCard = currentAlgorithm.featureExtraction("src/main/resources/MJ_20250213_155245.png");
sw.stop();
logger.info("人脸特征提取耗时:" + sw.getTime() + "ms");
//提取身份证人脸特征(从图片流获取)
@@ -121,9 +122,10 @@ public class FaceDemo {
//float[] featureIdCard = currentAlgorithm.featureExtraction(new FileInputStream(input));
logger.info("身份证人脸特征:{}", JSONObject.toJSONString(featureIdCard));
//提取实时人脸特征(图片仅供测试)
float[] realTimeFeature = currentAlgorithm.featureExtraction("src/main/resources/kana2.jpg");
float[] realTimeFeature = currentAlgorithm.featureExtraction("src/main/resources/MJ_20250213_155228.png");
logger.info("实时人脸特征:{}", JSONObject.toJSONString(realTimeFeature));
if(realTimeFeature != null){
System.out.println("相似度:" + currentAlgorithm.calculSimilar(featureIdCard, realTimeFeature));
if(currentAlgorithm.calculSimilar(featureIdCard, realTimeFeature) > 0.8){
logger.info("人脸核验通过");
}else{
@@ -151,7 +153,7 @@ public class FaceDemo {
//retinaface: https://resources.djl.ai/test-models/pytorch/retinaface.zip
//ultralightfastgenericface: https://resources.djl.ai/test-models/pytorch/ultranet.zip
//改为模型存放路径
config.setModelPath("/Users/xxx/Documents/develop/face_model/retinaface.pt");
config.setModelPath("/Users/wenjie/Documents/develop/face_model/retinaface.pt");
//创建人脸算法
FaceAlgorithm currentAlgorithm = FaceAlgorithmFactory.createFaceAlgorithm(config);
//使用图片路径检测

49
pom.xml
View File

@@ -6,7 +6,7 @@
<groupId>ink.numberone</groupId>
<artifactId>smartjavaai-parent</artifactId>
<version>1.0.3</version>
<version>1.0.4</version>
<packaging>pom</packaging>
<description>SmartJavaAI</description>
<modules>
@@ -34,13 +34,13 @@
<dependency>
<groupId>ink.numberone</groupId>
<artifactId>smartjavaai-common</artifactId>
<version>1.0.3</version>
<version>1.0.4</version>
</dependency>
<dependency>
<groupId>ink.numberone</groupId>
<artifactId>smartjavaai-face</artifactId>
<version>1.0.3</version>
<version>1.0.4</version>
</dependency>
</dependencies>
@@ -133,6 +133,49 @@
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>ai.djl.pytorch</groupId>
<artifactId>pytorch-engine</artifactId>
<version>0.32.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>ai.djl.pytorch</groupId>
<artifactId>pytorch-native-cpu</artifactId>
<classifier>win-x86_64</classifier>
<scope>runtime</scope>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>ai.djl.pytorch</groupId>
<artifactId>pytorch-native-cpu</artifactId>
<classifier>linux-x86_64</classifier>
<scope>runtime</scope>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>ai.djl.pytorch</groupId>
<artifactId>pytorch-native-cpu-precxx11</artifactId>
<classifier>linux-aarch64</classifier>
<scope>runtime</scope>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>ai.djl.pytorch</groupId>
<artifactId>pytorch-native-cpu</artifactId>
<classifier>osx-aarch64</classifier>
<version>2.5.1</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>ai.djl.pytorch</groupId>
<artifactId>pytorch-jni</artifactId>
<version>2.5.1-0.32.0</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<url>https://github.com/geekwenjie/SmartJavaAI</url>

View File

@@ -6,7 +6,7 @@
<parent>
<groupId>ink.numberone</groupId>
<artifactId>smartjavaai-parent</artifactId>
<version>1.0.3</version>
<version>1.0.4</version>
</parent>
<artifactId>smartjavaai-common</artifactId>

View File

@@ -6,11 +6,11 @@
<parent>
<groupId>ink.numberone</groupId>
<artifactId>smartjavaai-parent</artifactId>
<version>1.0.3</version>
<version>1.0.4</version>
</parent>
<artifactId>smartjavaai-face</artifactId>
<version>1.0.3</version>
<version>1.0.4</version>
<name>smartjavaai-face</name>
<description>SmartJavaAI</description>
<url>https://github.com/geekwenjie/SmartJavaAI</url>