Navigate this page
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.
- MBARK is available via this website in two different versions. A prebuilt binary installer, for those who want to try MBARK right away, and the source code, for those who would rather build it from scratch.
- MBARK now supports the Biometrics Client Configuration Language, or BiCCL, as described in NIST IR 7531 (PDF, ~307 KB). BiCCL is a simple, domain-specific language that can be used for formally describing biometric client configurations and desired workflows. BiCCL was not designed to be exclusive to MBARK — it is a domain specific, not an application specific, language.
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 firstname.lastname@example.org.
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
- Much of the information on this webpage is now available in a separately downloadable brochure about the project. Download: MBARK Brochure (PDF, ~2.72 MB) . Hard copies are available upon request.
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.
- Although it is being developed at the National Institute of Standards and Technology (NIST), MBARK is primarily sponsored by the Standards Portfolio of the Department of Homeland Security's Science and Technology Directorate.
- The MBARK acronym originally stood for the Multimodal Biometric Accuracy Research Kiosk since it was envisioned as a tool to develop a large database of face, fingerprint and iris images for performance testing of biometric systems.
- The USA PATRIOT Act and the Enhanced Border Security and Visa Entry Reform Act calls for NIST to develop and certify standards for verifying the identity of individuals and determining the accuracy of biometric technologies, including fingerprints, facial recognition and iris recognition.
Department of Homeland Security (DHS) Links
Department of Justice (DoJ) Links
Third-Party Software *Links to software useful for building MBARK.
*Product identification implies neither recommendation, endorsement, nor suitability for task.