解决离线无法使用问题

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> <dependency>
<groupId>ink.numberone</groupId> <groupId>ink.numberone</groupId>
<artifactId>smartjavaai-face</artifactId> <artifactId>smartjavaai-face</artifactId>
<version>1.0.3</version> <version>1.0.4</version>
</dependency> </dependency>
</dependencies> </dependencies>
``` ```

View File

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

View File

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

View File

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

49
pom.xml
View File

@@ -6,7 +6,7 @@
<groupId>ink.numberone</groupId> <groupId>ink.numberone</groupId>
<artifactId>smartjavaai-parent</artifactId> <artifactId>smartjavaai-parent</artifactId>
<version>1.0.3</version> <version>1.0.4</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<description>SmartJavaAI</description> <description>SmartJavaAI</description>
<modules> <modules>
@@ -34,13 +34,13 @@
<dependency> <dependency>
<groupId>ink.numberone</groupId> <groupId>ink.numberone</groupId>
<artifactId>smartjavaai-common</artifactId> <artifactId>smartjavaai-common</artifactId>
<version>1.0.3</version> <version>1.0.4</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>ink.numberone</groupId> <groupId>ink.numberone</groupId>
<artifactId>smartjavaai-face</artifactId> <artifactId>smartjavaai-face</artifactId>
<version>1.0.3</version> <version>1.0.4</version>
</dependency> </dependency>
</dependencies> </dependencies>
@@ -133,6 +133,49 @@
<artifactId>commons-lang3</artifactId> <artifactId>commons-lang3</artifactId>
<version>3.9</version> <version>3.9</version>
</dependency> </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> </dependencies>
<url>https://github.com/geekwenjie/SmartJavaAI</url> <url>https://github.com/geekwenjie/SmartJavaAI</url>

View File

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

View File

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