Skip to main content.

About

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.

Recent Developments

Download

An updated version of the MBARK source code is now available. This version, based on .NET 3.5 SP1, features “virtual sensors” so that developers and evaluators may experiment with the functionality of MBARK without needing any particular additional hardware (e.g., digital camera, fingerprint sensors).

Before running the installer, you may want to download the latest version of the .NET Framework. (This is a direct link away from this page.)

This release of MBARK is sponsored by:

Screenshots

Some screenshots of an internal MBARK build in action with real sensors. Click on the thumbnails for a detailed image.

A screenshot of MBARK successfully capturing an image.
(1152 x 835 PNG, ~290 KB)
A screenshot of MBARK polling for an image.
(1152 x 835 PNG, ~290 KB)
A screenshot of MBARK successfully handling a hardware failure.
(1152 x 835 PNG, ~165 KB)

Successful capture. This screenshot shows a successful left slap. The large indicator of success fades away over a few second interval.

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.

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.

Sensors

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.

Manufacturer Model(s) Modality Integration Status
Canon Cameras compatible with EDSDK 2.5.21 Still photo (typically face) Full
CrossMatch ACCO 1394 Single fingerprint (optical) Full
ID500 Slap & rolled fingerprints (optical) Full
ID700 Slap & rolled fingerprints (optical) Basic
LS/2 (Smiths-Heimann) Slap & rolled fingerprints (optical) Full
LScan Guardian (Firewire) Fingerprint (optical) Full
LScan Guardian (USB) Slap & rolled fingerprints (optical) Full
Verifier 300 Single fingerprint (optical) Full
Verifier 310 Dual fingerprint (optical) Basic
digitalPersona U.are.U 4000B Single fingerprint (optical) Full
Fujitsu PalmSecure Vascular palm Planned
i3 digID mini Slap & rolled fingerprints (optical) Planned
L-1 TouchPrint 4100 Slap & rolled fingerprints (optical) Planned
LG IrisAccess 3000 Single iris Full
IrisAccess 4000 Dual iris In progress
OKI IRISPASS-WG Dual iris Full
IRISPASS-M Dual iris Full
Olympus Cameras compatible with the RyeNV SDK2 Face Full
Cameras compatible with the "Mocha" SDK3 Face Basic integration
Upek TCS1 Capacitive fingerprint In process
- Any DirectShow video source4 Video or still photo Basic
- Any DirectX audio source Voice Basic

A sensor with 'full' integration means that the Biometric Clients Lab has written a full plug-in for that sensor that demonstrabily supports the major MBARK sensor operations (initialization, configuration, capture and download) on an independent thread. A sensor with 'basic' integration means that a rudamentary plug-in, with some the major operations, has been written and briefly tested.

  1. Canon sensor plug-in was developed and tested with the Rebel XTi, EOS 40D, and EOS 5D Mark II.
  2. The RyeNV-based Olympus sensor plug-in was developed with the C-5050, C-5060, C-8080 and SP-350.
  3. The "Mocha"-based Olympus sensor plug-in was developed with the E-VOLT 520.
  4. The generic video & still sensor plugin was developed and tested with a Logictech Quickcam 4000.
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@nist.gov.

Features

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 accomodates 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.

Documents

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)
» NIST IR 7531: The Biometric Clients Configuration Language (BiCCL) (PDF, ~307 KB)
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.
Usablity Evaluation of the MBARK User Interface
» Session Interface Usability Study (PDF, ~167 KB)
Before any code was written, the NIST Visualization and Usability Group performed a usabilty 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.

License

This software was developed at the National Institute of Standards and Technology (NIST) by employees of the Federal Government in the course of their official duties. Pursuant to Title 17 Section 105 of the United States Code, this software is not subject to copyright protection and is in the public domain. NIST assumes no responsibility whatsoever for use by other parties of its source code or open source server, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.

Disclaimer

Specific hardware and software products identified in this open source project were used in order to perform technology transfer and collaboration. In no case does such identification imply recommendation or endorsement by the National Institute of Standards and Technology, nor does it imply that the products and equipment identified are necessarily the best available for the purpose.

Other Notes

Contact

Comments and questions about MBARK should be addressed to mbark@nist.gov. By nature of its development, MBARK is public domain source, and provided as is; it is not supported in the same fashion that a for-profit company might provide technical support for a software product.