iOS and Android Support
Support for the two popular mobile platforms enables mobile developers create applications that can identify people by using iOS or Android devices. FaceSDK can be used in Android-based embedded devices. FaceSDK supports iOS 5.0+, armv7/x86 (iPhone 3GS+, iPad, simulator) and Android 4.0+ (platform version 14+), armv7/x86. Demo applications are available in Apple AppStore and Google Play.
Our customers greatly appreciate how well the API is thought-out, and how easy it is to integrate the solution into their projects. We carefully designed FaceSDK architecture in order to speed up and simplify integration. Every little feature is demonstrated in a working sample that can be copied and used in your own project. FaceSDK supports the widest range of platforms and development environments including Windows/Linux 32/64 bit, Mac OS X 64-bit, Android and Apple iOS systems. Supported development environments include Microsoft Visual C++, C#, Objective C, VB.NET, VB6, Java, Delphi and C++Builder. Comprehensive documentation is available to help developers understand every little feature, setting and option.
We strived to deliver a robust solution allowing our customers to build maintenance-free systems. We carefully designed, implemented and tested each section of our code to ensure zero memory leaks and no lockups during operation. The system is tried by many customers on a huge number of servers running critical applications, including our own stress-loaded projects.
FaceSDK is a leading face identification solution on the market. The SDK is loaded with features, allowing developers to solve just about any face recognition, identification, or authentication task. FaceSDK offers:
Face identification and tracking in live video streams.
Stable face recognition independent of lighting conditions.
Fast and precise face detection in stills and videos.
Fast and robust eye detection in stills and videos.
Detection of 66 facial features, smooth facial feature tracking in video.
Automated gender recognition in stills and videos.
Support for every webcam on the market, including MJPEG-compatible IP cameras.
A wide range of functions for image manipulation and transformation.
Multi-threaded performance offers additional performance benefits on today’s multi-core CPU’s.
Face Identification and Tracking in Live Video Streams
The revolutionary motion-based face recognition technology enables video-based identification of human subjects with no prior enrolment. The API automatically recognizes all faces encountered in a video stream, registering their complete biometric information captured from the many different views and angles, complete with live emotions and expressions. Each subject can be tracked seamlessly and automatically without specific enrolment. Enrolling a person is as simple as putting a name tag in a video. This can be done at any time, and the system will automatically identify that subject in all past, present and future videos. Enrolment-free identification is perfect for building CRM systems for registration desks, access and attendance control systems, surveillance and security applications.
How does it differ from existing systems? Most current video identification systems are based on key frame processing. In other words, they discard information available in the motion stream, and revert to still image recognition instead. This design approach requires a set of sophisticated preliminary enrolment procedures where the subject’s face is captured against plain background at various angles and posed expressions.
FaceSDK 5.0 implements a true motion-based video identification system. It automatically recognizes and tags all faces encountered in a video stream. Personalizing any identified subject becomes a simple matter of putting a name tag on it, or linking its tag to a database record. No special enrolment procedure is ever required. In addition, recognition rate is significantly higher in true motion-based recognition systems compared to traditional key frame-based ones. On comprehensive Multi-PIE tests, the recognition rate increases from 23% to 89% with video-based identification compared to key frame-based identification, considering that just a single image of a subject is enrolled and false acceptance rate is 0.06%.
The library can compare different faces, returning the degree of likeness. This allows identifying human faces appearing in still images or video streams by looking up face databases. Recognizing and identifying still images enables locating similar faces in driver’s license databases while helping detect duplicates. The system implements image indexing, creating compact templates for faster searching. This in turn allows building a range of security applications such as video surveillance and real-time access control systems. Many more features and higher performance are achievable in video-based surveillance systems using the new set of motion-based recognition algorithms.
FaceSDK is designed to perform equally well under varying lighting conditions. It works fine under daylight, fluorescent and incandescent lighting. When testing on a FRGC database, the library successfully identifies individuals in 93.3% of cases if acceptable false positive is 0.1%.
Face Detection in Stills and Videos
Luxand FaceSDK returns coordinates of all human faces appearing in the picture – or notifies if no face is found. FaceSDK can track all faces appearing in a video stream. It allows finding out if a new face appears in the frame, or if one of the subjects leaves the frame. This in turn enables easy implementation of people counting. When testing on the FERET dup1+gallery database (frontal passport-like photos) successfully detects 99.5% of faces, with only 0.05% false positives.
Eye Detection in Stills and Videos
FaceSDK detects coordinates of both eyes. Its high performance allows using this function on still images as well as in video streams in real-time. The ability to track eye movements enables building a variety of entertainment applications such as trying eyeglasses. An average error on FERET dup1+gallery is 3.1% of inter-ocular distance, while in 95% occurrences the error is less than 5.7% of inter-ocular distance. What do these numbers mean? They mean that, on average, if there are 100 pixels between the eyes, the eyes will be detected with the precision of +/- 3 pixels; and even if the error is greater than that, in 95% it’ll be less than 5 pixels.
Facial Feature Detection and Tracking
Luxand FaceSDK employs sophisticated algorithms to detect and track facial features quickly and reliably. The SDK returns the coordinates of 66 facial feature points including eyes, eye contours, eyebrows, lip contours, nose tip, and so on. On modern CPUs such as Intel i7 detection works in real-time, which allows performing smooth real-time tracking and transformations of facial features in live video. The feature enables building applications adding new elements such as mustaches, eyeglasses or wigs; face morphing and augmented reality. By using FaceSDK, we built Mirror Reality: Aging, an application that ages faces in real time by detecting facial features in a video stream. Developers can implement mechanisms to analyze faces detecting emotions or rotation angle. Morph, animate, or transform human faces with the SDK!
Automated Gender Recognition
FaceSDK can automatically identify subject’s gender based on a still image or motion stream. This feature is in high demanded by retail advertisers and marketing specialists. Identification quality is 93% on still pictures, and 97% in videos.
FaceSDK supports all DirectX-compatible webcams that work in Windows. In addition, it supports all MJPEG IP-cameras on all supported platforms, including the popular AXIS range. This is just perfect for security, surveillance and access control applications, as the use of IP cameras allows getting information remotely from distant cameras. This also allows integrating FaceSDK into existing surveillance infrastructure.
FaceSDK includes a number of functions to load and manipulate images such as.bmp, .jpg, and .png, as well as memory buffers. The library can be used to resample images, rotate, crop, flip, and perform pixel-level editing. The files can be saved into the same format. These features are handy for building imaging applications even if you don’t immediately require any facial recognition features.
The library supports multi-core processors to boost the performance of face recognition, face detection, and facial feature detection. Today’s multi-core CPUs such as Intel i5, i7 and Xeon are used to their full potential. The library is completely thread-safe for using in multiple concurrent threads e.g. when receiving video streams from a large number of video cameras.
FaceSDK 6.2 Release Notes
This version of FaceSDK is about significant performance improvements and more lifelike animations due to the detection of additional facial features. Version 6.2 maintains full backward compatibility with earlier builds, and is a highly recommended update.
- FaceSDK 6.2 detects 70 facial features (up from 66 features in earlier builds). The ‘old’ 66 points retain their numbering for full backwards compatibility. Detecting and tracking more facial features allows making face animations closer to real life.
- Improved tracking of open mouth.
- Improved performance of face detection and facial feature detection.
- Improved performance of retrieving live video in LiveFacialFeatures sample for iOS and Android. The frame rate was significantly increased: our new sample provides solid 30 FPS on an iPhone 6 in landscape mode. This is twice the speed of the earlier release. NOTE: we optimized both the SDK and the sample. In order to achieve this performance increase, you will have to use FaceSDK 6.2 and modify your code.
- Performance improvements allow to significantly reduce jitter of facial animations while maintaining smooth frame rates with the FacialFeatureJitterSuppression parameter of Tracker API.
- Added samples for gender and emotion detection in live video for iOS/Android.
- Added samples for Android Studio and Visual Studio 2015.
- Added the ability to purge faces from Tracker API storage via FSDK_PurgeID.
- Updated Android libraries to be compliant with the latest Google Play requirements.