Despite existing efforts, building modern biometric applications (or clients) that are flexible with respect to changes in sensors, workflow, configuration, and responsiveness remains both difficult and costly. The Multimodal Biometric Application Resource Kit, or MBARK reduces the complexity and costs of implementing such an application. MBARK is public domain source code that may be leveraged to develop the next-generation of biometric and personal identity verification applications.
Incorporating the MBARK libraries can yield a variety of enhancements critical for the success of any real-world system. For example, MBARK provides a usability-tested and consistent user interface. MBARK provides operators means to quickly recover from both minor mistakes and major hardware failures. In addition, the use of Extensible Markup Language (XML) facilitates true sensor interoperability via plug-ins and allows for changes in workflow on-the-fly.
MBARK represents an immediate and field-tested response to The National Biometric Challenge (PDF, ~471 KB) of developing middleware techniques and standards that will permit plug-and-play capabilities for biometric sensors.
Some screenshots of an internal MBARK build in action with real sensors. Click on the thumbnails for a detailed image.
Successful capture. This screenshot shows a successful left slap. The large indicator of success fades away over a few second interval.
(1152 x 835 PNG, ~290 KB)
Polling for fingerprints with a live preview. This screenshot is shows a right slap in progress. The result from the previous task, a left slap, is visible in the upper-right hand panel of the window.
(1152 x 835 PNG, ~290 KB)
Handling a sensor failure. This screenshot shows how MBARK prompts the operator when a sensor fails; in this case upon initialization. MBARK will either disable the sensor, or try to reset it automatically.
(1152 x 835 PNG, ~165 KB)
The NIST Biometric Clients Lab has developed plug-ins for a variety of sensors in use by project stakeholders. The following table describes a variety of biometric sensors and their current implementation status within MBARK. Source code to sensor plugins is available upon request.Table of biometric sensors and their current implementation status within MBARK
MBARK also includes a general BioAPI sensor interop layer based upon H. Kaiser Yang`s C# wrapped Biometric API project. The Biometric Clients Lab is always interested in expanding MBARK's capabilities by integrating new sensors. If there is a sensor that you would like to see integrated into MBARK, please e-mail us at mbark [at] nist.gov.
The following are just some of the features of MBARK that make it robust and flexible with respect to changes in sensors, workflow, configuration, and responsiveness.
Provides a consistent user interface
Often biometric systems change interfaces depending on which sensors are being used. MBARK, however, provides a consistent and user-centered interface, reducing errors and minimizing the need to retrain users as vendors develop new sensors and software. User-centered design is a formal process that helps ensure the efficiency, effectiveness, and user-satisfaction of a system throughout the system's lifecycle.
Allows users to recover from mistakes
Significant costs may accompany any system that does not allow recovery from both common and uncommon mistakes. With MBARK, an operator not only easily recover from mistakes, but may also save a snapshot of a session (in the form of an XML file), allowing that session to be re-loaded at a later time.
Adjusts workflow automatically
Defining a workflow that accommodates mistakes becomes more complex as edge cases are added. For example, how should the system behave if a fingerprint sensor detects that a finger is missing, but the operator has not indicated such?
Responds to user input
Users expect modern applications to be responsive to their input at all times during initialization, startup, capture, task editing, and so on. How does a user distinguish between a long-running operation and a system that is simply frozen? MBARK uses a natively multi-threaded architecture to allow as much background processing as possible.
Provides true sensor interoperability
MBARK uses a plug-in style mechanism that allows true sensor interoperability based on a unified API a common interface that has been used to successfully integrate real face cameras, fingerprint scanners and iris sensors. The MBARK architecture allows new sensors to be deployed without the need to even restart an MBARK application.
Provides flexible user configuration
A highly configurable biometric client empowers users to define and experiment with various biometrics and workflows, without depending on any particular vendor to implement such changes. With XML files, MBARK allows users to define precise custom workflows specifically tailored to their needs.
Open and free
MBARK source code is public domain the benefits of free software are well-discussed elsewhere. The GNU document Categories of Free and Non-Free Software contains more information about the differences between open source and public domain software.
MBARK "Glossy" Brochure
A Biometric Configuration Domain-Specific Language (DSL)
This paper introduces the Biometric Client Configuration Language, or BiCCL. BiCCL is a platform-independent, domain-specific language (DSL) that formally describes the biometric acquisition process. BiCCL uses high-level constructs — e.g., sensors, tasks, experimental conditions, and workflow — to help users directly encode their intent. To test the expressiveness of this new DSL, a reference compiler was built that translates BiCCL directly into XML that can be consumed by MBARK.
Usability Evaluation of the MBARK User Interface
Before any code was written, the NIST Visualization and Usability Group performed a usability test on a prototype of the primary operator interface. Results were reported according to ISO/IEC 25062:2006 known at NIST as the CIF. The output of this document was the direct driver for the current MBARK user interface.
*Product identification implies neither recommendation, endorsement, nor suitability for task.