• Stars
    star
    379
  • Rank 113,004 (Top 3 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

Android App for Real-time Face Landmark Detection

Fast Face is an android application which detects facial landmark . It detects 68 landmarks of human face
chin to eyebrow in real-time. Also, it can detect people up to 3 if you guys show your frontal faces.

It is an upgraded version of dlib-android, Not only revising the code but additional task for optimizing dlib library was needed. As a result, Fast Face speeds up 2x or more from the original. Higher resoluton and higher detection speed.

I think it is not the best one, there are some issues that can be more speedy one.
So, if you guys already improved or want to improve this code, feel free to contact me. Test and Enjoy it :)

Screenshot


Environments

  • DEVICE : SAMSUNG-A8 2015(@cortex-a53 core)
  • API : 23 (Android 6.0.1)
  • TIME : 50ms ~ 70ms

Features

  • Support HOG detector
  • HOG Face detection
  • Facial Landmark/Expression

Sample code

Facial landmark detection

// detecs every 3 frames
if(mframeNum % 3 == 0){
    synchronized (OnGetImageListener.this) {
        results = mFaceDet.detect(mResizedBitmap);
    }
}

// Draw on bitmap
if (results.size() != 0) {
    for (final VisionDetRet ret : results) {
        float resizeRatio = 4.5f;
        Canvas canvas = new Canvas(mInversedBipmap);

        // Draw landmark
        ArrayList<Point> landmarks = ret.getFaceLandmarks();
        for (Point point : landmarks) {
            int pointX = (int) (point.x * resizeRatio);
            int pointY = (int) (point.y * resizeRatio);
            canvas.drawCircle(pointX, pointY, 4, mFaceLandmardkPaint);
        }
     }
}

License

License