Luxand Face SDK v6.3.1 Retail
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, 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.
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 Self-learning AI 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.
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, macOS 64-bit, Android and Apple iOS systems. Supported development environments include Microsoft Visual C++, C#, Objective C, VB.NET, VB6, Java, Delphi, C++Builder, Xcode (iOS), Eclipse ADT (Android) and Android Studio (Android). 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 using a set of innovative technologies, some of which are our own inventions protected by U.S. patents: 8,842,889 and 8,879,804.
Works on Device
Unlike competition, FaceSDK is not just a set of remote API’s. Instead, we offer a self-contained library you can statically link and distribute with your application. Server-based API’s are subject to changes that sometimes occur all of a sudden. Remote API’s are subject to licensing agreements whose terms are subject to change, sometimes again all of a sudden. Please rest assured that any apps you build with FaceSDK will just work and keep working regardless of external factors.
In addition to self-contained libraries we also offer a set of remote API’s hosted on our servers. Using our remote API’s allows developers offload computation-intensive tasks onto our powerful servers, reducing hardware dependencies and enabling Web-based clients and mobile applications that run smoothly even on entry-level smartphones.
Self-Learning Real-Time Face Identification and Tracking in Live Video Streams
The revolutionary self-learning AI 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 6.3.1 implements a self-learning AI 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 self-learning recognition systems compared to traditional key frame-based ones. On comprehensive Multi-PIE tests, the recognition rate increases sevenfold 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.9% 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.
Fast and Robust 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 70 facial feature points including eyes, eye contours, eyebrows, lip contours, nose tip, and so on. The detection works in real-time on desktop and mobile, which allows performing smooth real-time tracking and transformations of facial features in live video. On desktop platforms, FaceSDK delivers true 60-fps performance on video streams, while video processing on mobile platforms such as Apple iPhone 6 is performed at 30 fps in landscape orientation (and in all orientations on devices with more powerful platforms). 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 SDK that transforms 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.
Automated Age Recognition
FaceSDK automatically recognizes the person’s age based on a single still image or a handful of frames from the video stream. Depending on source quality and lighting conditions, error rate is +/- 5 years. Age recognition can be used to track age of your visitors or customers. In addition, smart robotics applications will benefit from age recognition.
Facial Expression Recognition and Emotion Detection
FaceSDK helps detect human emotions by implementing facial expression recognition. The feature helps implement happiness meter and build applications that can detect blinking and sleeping. Facial expression recognition detects whether the person appearing in the picture or in a video stream has her eyes open (nearly 100% recognition rate on our internal tests) or whether the person is smiling (92% recognition rate).
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.