Giter Site home page Giter Site logo

askintution / tenginekit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oaid/tenginekit

1.0 1.0 0.0 110.97 MB

TengineKit is an easy-to-integrate face detection and face landmarks SDK. It can run on various mobile phones at very low latency.

License: Apache License 2.0

face-detection face-landmarks

tenginekit's Introduction

中文版本

TengineKit

If the project gets 1000 stars, we will immediately open this SDK use on IOS.

TengineKit - Free RealTime Face Landmarks 212 Points For Mobile

Apache 2.0

TengineKit, developed by OPEN AI LAB.
TengineKit is an easy-to-integrate face detection and face landmarks SDK. At present, it can run on various mobile phones at very low latency.

Effect

DEMO

real scene

Gif

dance of host

Video( YouTube | BiliBili )

Have a try

  • Apk can be directly downloaded and installed on the phone to see the effect.

or

  • scan code to download apk

Apk

Goals

  • Provide best performance in mobile client
  • Provide the simplest API in mobile client
  • Provide the smallest package in mobile client

Features

  • face detection
  • face landmarks
  • face attributes like age, gender, smile, glasses

Performance

CPU Time consuming Frame rate
Kirin 980 14ms 71fps
Qualcomm 855 15ms 67fps
Kirin 970 17ms 59fps
Qualcomm 835 18ms 56fps
Kirin 710F 19ms 53fps
Qualcomm 439 26ms 38fps
MediaTek Helio P60 27ms 37fps
Qualcomm 450B 28ms 36fps

Gradle Configure

The build.gradle in Project add

    repositories {
        ...
        jcenter()
        mavenCentral()
        ...
    }

    allprojects {
        repositories {
            ...
            jcenter()
            mavenCentral()
            ...    
        }
    }
    

The build.gradle in Main Module add

    dependencies {
        ...
        implementation 'com.tengine.android:tenginekit:1.0.4'
        ...
    }

System

Android

  • Min Sdk Version 19

API

When using sdk, you can refer to face api to complete the functions you need.

Landmark Points Order

Landmark Points Order

Usage

Usage

Permission

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

<uses-permission android:name="android.permission.CAMERA"/>

Sample

Android code under the "sample/Android" folder.

Access Guide

In setRotation of TengineKit Api, there are two parameters ori and is_screen_rotate, which are the rotation angle and whether to follow the screen rotation. Whether the android:screenOrientation parameter in the Manifest follows the screen can be set. Not setting this parameter is to follow the screen rotation.

Process

1.Device preview

This part is to get data from Camera, as the SDK input.

2.Angle

We use the vertical screen as an angle of 0 degrees. Since the data collected by the Android camera always deviates by 90, it is necessary to set + (-90) when setting the ori parameter. The actual rotation angle of Android is to add a function through the sensor Calculate to get. For details, see the example in the Demo project. process

3.Rendering

When rendering, it is rendered at an angle of 0°, which is the normal output that people see under normal circumstances. The Android part has Canvas and Opengl rendering. Using Opengl rendering can make your apk better.

Contact

About the use of TengineKit and face-related technical exchanges, you can join the following QQ groups(Group Answer:TengineKit):

  • TengineKit communication QQ group: 630836519
  • Scan to join group

ImageHandle

ImageHandle to do Zoom, rotate, crop, and change picture format

tenginekit's People

Contributors

crusoekid avatar

Stargazers

Shaun Holt avatar

Watchers

James Cloos avatar

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.