gicheonkang / fast-face-android

👦 Fast-Face : Android App for Real-time Face Landmark Detection. You can check your landmarks in 60ms
Apache License 2.0
381 stars 127 forks source link
android dlib face landmark-detection

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

Features

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