FaceSDK enables Microsoft Visual C++, C#, Objective C, VB, Java and Delphi developers to build 32-bit and 64-bit applications for Web, Windows, Linux, MacOS X, iOS and Android with face recognition and face-based biometric identification functionality. FaceSDK is used in hundreds of applications for identifying and authenticating users with webcams, looking up matching faces in photo databases, automatically detecting facial features in graphic editors, and detecting faces on still images and video streams in real-time. FaceSDK has been used for building secure identification, surveillance, time and attendance control systems. Get a sample application implementing webcam authentication to see what FaceSDK can do for you!
What is FaceSDK?
FaceSDK is a high-performance, multi-platform face recognition, identification and facial feature detection solution. Serving software developers worldwide, FaceSDK is a perfect way to empower Web, desktop and mobile applications with face-based user authentication, automatic face detection and recognition.
Compatible with 32- and 64-bit desktop environments and mobile platforms including iOS and Android, FaceSDK is easy to integrate with new or existing projects, enabling developers to create a wide variety of applications. The system detects entire faces and individual facial features, recognizes faces in still images and in real-time video streams, and allows the creation of a wide range of applications from simple automatic red-eye removal tools to biometric login solutions.
The innovative motion-based recognition system enables seamless recognition and identification of subjects appearing in video streams, allowing building attendance control, security and surveillance systems that require no prior enrollment. FaceSDK can help building of complex face morphing and animation systems for entertainment portals.
FaceSDK can be used in many online, mobile and desktop solutions where precise and reliable face identification is required. The face identification library can be used in photo imaging and video processing solutions, Web applications and biometric login automation systems. The system is widely used in security monitoring, access control and surveillance systems. The SDK has been used by the entertainment industry to create real-time animations. Its applications include:
Real-time biometric authentication systems allowing the user to log in by simply looking into a webcam. FaceSDK enables touchless, non-intrusive biometric authentication;
Time and attendance control systems;
Video-based subject identification applications with no prior enrolment;
Video surveillance systems with automatic face identification;
Image organizers with face-based image search;
Face animation effects for the entertainment industry;
Automatic red-eye removal tools empowered with facial feature detection;
Mobile applications for iOS and Android;
Image enhancement applications and graphic editors.
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.