Coder Social home page Coder Social logo

anylifezlb / faceverificationsdk Goto Github PK

View Code? Open in Web Editor NEW
301.0 4.0 55.0 14.38 MB

Android On_device 1:1 Face Recognition And Alive Detect;1:N & M:N Face Search SDK 。 🧒 离线版设备端Android1:1人脸识别动作活体检测,静默活体检测 以及1:N M:N 人脸搜索 SDK 封装

Java 48.30% Kotlin 51.70%
alive-check alive-detection face-detection face-recognition tensorflow-lite face-verify face-search face-verification android sdk

faceverificationsdk's People

Contributors

anylifezlb avatar faceai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

faceverificationsdk's Issues

和room冲突

java.lang.RuntimeException: Cannot find implementation for .db.AppDatabase. AppDatabase_Impl does not exist

功能需求

项目需求仅需要人脸检测, 就是只需要知道有人站在面前就行; 是谁, 有几个人都不关心,

kotlin1.7.1版本提示

依赖库,io.github.anylifezlb:FaceRecognition:1.0.0

Android studio 4.1.1 gradle是6.5,同步不下来1.7的kotlin版本,项目中只有1.4相关版本。
1:1识别的demo,移植到项目中,提示以下错误
Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.4.1.

DEMO效果很好,就是跑不起来

直接编译sdk
compileSdkVersion 33
gradle插件 7.3.1
gradle 7.4
提示

Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.
Could not determine artifacts for com.vanniktech.maven.publish.base:com.vanniktech.maven.publish.base.gradle.plugin:0.24.0: Skipped due to earlier error

另外gradle升级到7是不是很多依赖要跟着要做适配,直接依赖1.2.2提示

Unable to find method ''java.lang.String com.android.utils.FileUtils.relativePossiblyNonExistingPath(java.io.File, java.io.File)''
'java.lang.String com.android.utils.FileUtils.relativePossiblyNonExistingPath(java.io.File, java.io.File)'

compile sdk和gradle版本可以降吗,麻烦帮忙看下

如何支持多国语言?

你好,我正在关注和测试该项目,活体检测时的文字和语音提示都是SDK内部固定信息,请问如果我要开发支持多国语言,怎么办呢?建议开放更多的参数,比如增加参数用于检测的文字,增加参数用于控制动作数,是否需要语音提示?比如如果我只需要一个动作,我可以控制。

在人脸认证页面.dialog弹出之前退出认证页面.BadTokenException

android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@b8a959a is not valid; is your activity running?
    at android.view.ViewRootImpl.setView(ViewRootImpl.java:1141)
    at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:409)
    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:111)
    at android.app.Dialog.show(Dialog.java:342)
    at android.app.AlertDialog$Builder.show(AlertDialog.java:1156)
    at com.faceVerify.test.VerifyActivity.lambda$showAliveDetectTips$1$com-faceVerify-test-VerifyActivity(VerifyActivity.java:158)
    at com.faceVerify.test.VerifyActivity$$ExternalSyntheticLambda1.run(Unknown Source:4)
    at android.app.Activity.runOnUiThread(Activity.java:7199)
    at com.faceVerify.test.VerifyActivity.showAliveDetectTips(VerifyActivity.java:146)
    at com.faceVerify.test.VerifyActivity.access$000(VerifyActivity.java:51)
    at com.faceVerify.test.VerifyActivity$1.onProcessTips(VerifyActivity.java:131)
    at com.AI.FaceVerify.verify.b$a.onFinish(FaceDetectorProcess.java:2)
    at android.os.CountDownTimer$1.handleMessage(CountDownTimer.java:127)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:236)
    at android.app.ActivityThread.main(ActivityThread.java:8087)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)

人脸识别界面“Verify_11_javaActivity”不支持在子进程运行

如果在AndroidManifest文件里,对Verify_11_javaActivity添加支持多进程调用(multiprocess属性):

则activity无法启动,异常信息如下:
2024-02-19 15:16:42.286 1100-1214 WifiVendorHal pid-1100 E getWifiLinkLayerStats_1_3_Internal(l.973) failed {.code = ERROR_NOT_SUPPORTED, .description = }
2024-02-19 15:16:45.095 11800-11800 AI com.crcgas.rigUAT E 生成的随机活体步骤: 1
2024-02-19 15:16:45.095 11800-11800 AI com.crcgas.rigUAT E 生成的随机活体步骤: 0
--------- beginning of crash
2024-02-19 15:16:45.280 11800-11800 AndroidRuntime com.crcgas.rigUAT E FATAL EXCEPTION: main
Process: com.crcgas.rigUAT:unimp0, PID: 11800
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.crcgas.rigUAT/com.crcgas.commonlib.face.Verify_11_javaActivity}: java.lang.IllegalStateException: MlKitContext has not been initialized
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3491)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3643)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)

看起来主要问题是MlKitContext初始化异常,请排查处理一下哈~

有问题先提issue,格式如下:👇

提issues 请标明手机型号,Android 系统版本号

  1. 问题场景描述

    在XX的时候 .....

  2. 手机品牌,型号

    Google Nexus X7 ......

  3. Android 系统版本

Android 8.2 ....

Alpha SDK Version

1:1人脸识别时会出现“Alpha SDK Version”提示
1:1人脸识别通过后会出现“阀值范围的提示”,这个提示应该是在sdk里写的?这个提示sdk里能否去掉

采集人脸时报错

采集人脸时报错:打开相机后,采集人脸报错,。如下,麻烦看一下

05-17 18:50:15.105 W/System.err(18460): java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
05-17 18:50:15.105 W/System.err(18460): at android.content.res.AssetManager.nativeOpenAssetFd(Native Method)
05-17 18:50:15.105 W/System.err(18460): at android.content.res.AssetManager.openFd(AssetManager.java:898)
05-17 18:50:15.105 W/System.err(18460): at com.ai.face.core.utils.AiUtil.Companion(SourceFile:6)
05-17 18:50:15.105 W/System.err(18460): at I1I.IL1Iii.(SourceFile:20)
05-17 18:50:15.105 W/System.err(18460): at com.ai.face.base.baseImage.BaseImageDispose.(SourceFile:23)
05-17 18:50:15.105 W/System.err(18460): at com.ai.face.base.baseImage.BaseImageDispose.(SourceFile:1)
05-17 18:50:15.105 W/System.err(18460): at com.example.bestlayface.verify.AddBaseImageActivity.onCreate(AddBaseImageActivity.java:45)
05-17 18:50:15.105 W/System.err(18460): at android.app.Activity.performCreate(Activity.java:8000)
05-17 18:50:15.105 W/System.err(18460): at android.app.Activity.performCreate(Activity.java:7984)
05-17 18:50:15.105 W/System.err(18460): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1310)
05-17 18:50:15.105 W/System.err(18460): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3425)
05-17 18:50:15.105 W/System.err(18460): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3604)
05-17 18:50:15.105 W/System.err(18460): at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
05-17 18:50:15.105 W/System.err(18460): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
05-17 18:50:15.106 W/System.err(18460): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
05-17 18:50:15.106 W/System.err(18460): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2069)
05-17 18:50:15.106 W/System.err(18460): at android.os.Handler.dispat

下一阶段优化汇总.

  1. 摄像头预览的分辨率和分析的分辨率调大到接近1080 P
    2.画面中的人脸检测灵敏度调整大于120*120 即可
    3.提供一个两张人脸图片相识度方案,包括自动裁剪出人脸
    4.人脸搜索可以不仅仅是摄像头采集数据,支持Camera,RTSP和单张图Bitmap

aar的混淆的包名容易和其他库有冲突

aar的包名有a.a, a.b之类的,容易和其他库有冲突
Duplicate class a.a found in modules jetified-FaceRecognition-1.5.0-runtime (io.github.anylifezlb:FaceRecognition:1.5.0) and jetified-xxx2.0.4-pm-runtime (xxx2.0.4-pm.aar)
......
......
恰好我的项目另一个aar也是混淆的,a.a,a.b等,都是冲突的
使用 Guardsquare/proguard 更改包名会出现以下问题

Process: com.iumlab.facetest, PID: 19705
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/tensorflow/lite/Interpreter$Options;
at io.aiface.j.(SourceFile:16)
at com.ai.face.faceVerify.verify.a.(SourceFile:250)
at com.ai.face.faceVerify.verify.b.(SourceFile:1)
at com.ai.face.faceVerify.verify.FaceVerifyUtils.setDetectorParams(SourceFile:1)
at com.iumlab.facetest.LivenessDetectionActivity.onCreate(LivenessDetectionActivity.kt:94)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.