Giter Site home page Giter Site logo

gicheonkang / fast-face-android Goto Github PK

View Code? Open in Web Editor NEW
378.0 378.0 127.0 173.72 MB

๐Ÿ‘ฆ Fast-Face : Android App for Real-time Face Landmark Detection. You can check your landmarks in 60ms

License: Apache License 2.0

Makefile 0.12% Java 99.33% Shell 0.56%
android dlib face landmark-detection

fast-face-android's People

Contributors

gicheonkang 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fast-face-android's Issues

front camera

Hi

Why the front camera not showing when I run the app ?

Why MainActivity_ ?

Hello Gicheon Kang,
why in your app\src\main\AndroidManifest.xml have
<activity android:name=".MainActivity_"
and not
<activity android:name=".MainActivity" ?

Can this APP realize the function of face expression recognition

Hello,
Thanks for yours sharing.
Looks your features of landmark detection is very exciting.
Can I use your APP realize both the function of facial landmark detections and face expression recognition, like, happy, angry and distinguished.
Best Regards!
Jun Yan

Get NDK path with this approach.

def ndkRevision() {
def ff
android {
externalNativeBuild {
ff = getNdkDirectory().toString()
}
}
return "ndk location:" + ff
}

IOS version

Hi,
Do we have an IOS code for the same?.
Thanks,
Divya

How did you optimize dlib?

Hi Kang,

Nice work on optimizing dlib for Android.

Still, I want to improve the performance more.
Can you share with me how did you optimize the dlib?

gradle 7.0

com.android.tools.build:gradle ่ƒฝๅฆๅ‡็บงๅˆฐ 7.0 ๏ผŒๅทฒ้€‚้…ๆœ€ๆ–ฐ็š„ AndroidStudio

Getting crashed when sending first frame of camera in some devices

2021-01-19 20:22:38.390 4539-24500/? D/CameraService: MemTotal: 5512 MB, MemFree: 199 MB, Cached: 13 MB
2021-01-19 20:22:38.392 7689-7689/? I/SensorManager: registerListenerImpl() [Sensor: LGE Rotation Vector Sensor, Rate: 66667, SensorEventListener: a.a.a.j.e@d8904d1] by a.a.a.j.e.a():12
2021-01-19 20:22:38.394 7689-7689/? D/TextureView: getHardwareLayer, createNewSurface:true
2021-01-19 20:22:38.400 4539-25776/? E/Camera3-Device: Camera 1: configureStreamsLocked: isLGCamera = 0
2021-01-19 20:22:38.402 855-855/? E/CHIUSECASE: [ERROR ] chxextensionmodule.cpp:2173 InitializeOverrideSession() depth fps = 0, op_mode = 0x0, cameraId = 1
2021-01-19 20:22:38.405 855-855/? E/CHIUSECASE: [ERROR ] chxextensionmodule.cpp:4117 LGEParsingOperationMode() CHI InitializeOverrideSession StreamConfigModeLGEapp operation_mode 0x0
2021-01-19 20:22:38.405 855-855/? E/CHIUSECASE: [ERROR ] chxextensionmodule.cpp:4176 LGEParsingOperationMode() com.lge.camera.lgaf tag = 2155282432, camID(0) Data(0)
2021-01-19 20:22:38.405 855-855/? E/CHIUSECASE: [ERROR ] chxextensionmodule.cpp:4186 LGEParsingOperationMode() com.lge.camera.lgaf tag = 2155282432, camID(3) Data(0)
2021-01-19 20:22:38.405 855-855/? E/CHIUSECASE: [ERROR ] chxextensionmodule.cpp:4196 LGEParsingOperationMode() com.lge.camera.lgaf tag = 2155282432, camID(1) Data(0)
2021-01-19 20:22:38.405 855-855/? E/CHIUSECASE: [ERROR ] chxextensionmodule.cpp:2239 InitializeOverrideSession() hasvideo : 0, logicalCameraId: 1, 4
2021-01-19 20:22:38.405 855-855/? I/chatty: uid=1047(cameraserver) [email protected] identical 2 lines
2021-01-19 20:22:38.405 855-855/? E/CHIUSECASE: [ERROR ] chxextensionmodule.cpp:2239 InitializeOverrideSession() hasvideo : 0, logicalCameraId: 1, 4
2021-01-19 20:22:38.405 855-855/? E/libc: Access denied finding property "minios.camera_tof"
2021-01-19 20:22:38.405 855-855/? E/CHIUSECASE: [ERROR ] chxextensionmodule.cpp:2554 InitializeOverrideSession() CAM Perflock Setting for Non-HFR: powerHintType=9
2021-01-19 20:22:38.405 855-855/? E/CHIUSECASE: [ERROR ] chxextensionmodule.cpp:2561 InitializeOverrideSession() CAM Perflock ReleasePerfLock: m_previous powerhint = 7, cameraID = 1
2021-01-19 20:22:38.405 855-855/? E/CHIUSECASE: [ERROR ] chxperf.cpp:778 ReleasePerfLock() dennis: ReleasePerfLock: Release perflock type: 7
2021-01-19 20:22:38.408 855-855/? E/CHIUSECASE: [CONFIG ] chxusecaseutils.cpp:778 GetMatchingUsecase() usecase ID:1
2021-01-19 20:22:38.408 855-855/? E/CHIUSECASE: [CONFIG ] chxextensionmodule.cpp:2635 InitializeOverrideSession() Session_parameters FPS range 7:30, BatchSize: 1 FPS: 30 SkipPattern: 1, cameraId = 1 selected use case = 1
2021-01-19 20:22:38.408 855-855/? E/CHIUSECASE: [ERROR ] chxusecaseutils.cpp:2074 CreateUsecaseObject() GetPerfLockManager GetCameraId = 1
2021-01-19 20:22:38.408 855-855/? E/CHIUSECASE: [ERROR ] chxperf.cpp:778 ReleasePerfLock() dennis: ReleasePerfLock: Release perflock type: 0
2021-01-19 20:22:38.408 855-855/? E/CHIUSECASE: [ERROR ] chxperf.cpp:778 ReleasePerfLock() dennis: ReleasePerfLock: Release perflock type: 1
2021-01-19 20:22:38.408 855-855/? E/CHIUSECASE: [ERROR ] chxperf.cpp:778 ReleasePerfLock() dennis: ReleasePerfLock: Release perflock type: 6
2021-01-19 20:22:38.408 855-855/? E/CHIUSECASE: [ERROR ] chxperf.cpp:778 ReleasePerfLock() dennis: ReleasePerfLock: Release perflock type: 23
2021-01-19 20:22:38.408 855-855/? E/CHIUSECASE: [ERROR ] chxperf.cpp:720 AcquirePerfLock() dennis: AcquirePerfLock: Acquire perflock type: 0
2021-01-19 20:22:38.409 855-855/? E/CHIUSECASE: [ERROR ] LGDistortionCorrection.cpp:176 Create() DistortionCorrection 0x716ee7dac0 Create

face recognition

have you tried to make .so file for face recognition using this dlib_face_recognition_resnet_model_v1 model

How can I separate the face detection from the landmark extraction?

Hello,

I acknowledge that the current implementation of the fast face is pretty good, but I think that the face detection + extraction is being made atomically, hence, when you skip frames (for speedup purposes) you are skipping also the landmark relocalization, and that makes the whole app a little more clunky, because you can see that the landmarks stay in the same position for N=3 frames.

My idea is basically separate the face detection and the landmark extraction, so you can make face detection once every 5 or 6 frames, but keep extracting landmarks every 1 or 2 frames. The problem is that I know from little to nothing of JNI, and I don't see how the two processes (face detect. and landmark extract.) can be separated, because they seem to be in the same native method. How could I accomplish this?
Note that this would also be useful because you could forget about HOG face detection from DLIB and try a ViolaJones from OpenCV, or even other approximations...

And other unrelated questions:

Can you provide the source code of dlib with the changes? Or at least a brief explanations of the changes made to dlib?

Why the source files of the JNI libraries are not in the project? Did you make any changes to them? (the ones in here: https://github.com/tzutalin/dlib-android/tree/master/jni)

Thanks in advance

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.