Biometric Product Investigation

Biometrics Background
Biometric and Related Products Purchased

Several face recognition software products were previously examined on a free trial basis, see the Research Day 2009 papers: Face Biometric Systems and Face Biometrics: A Longitudinal Study. At the end of last semester we purchased licenses to face and fingerprint recognition SDK's from the same company.

The following on SDK is from Wikipedia:
A software development kit (SDK or "devkit") is typically a set of development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.

SDKs may have attached licenses that make them unsuitable for building software intended to be developed under an incompatible license. For example, a proprietary SDK will probably be incompatible with free software development, while a GPL-licensed SDK could be incompatible with proprietary software development. LGPL SDKs are typically safe for proprietary development.

It may be something as simple as an application programming interface (API) in the form of some files to interface to a particular programming language or include sophisticated hardware to communicate with a certain embedded system. Common tools include debugging aids and other utilities often presented in an integrated development environment (IDE). SDKs also frequently include sample code and supporting technical notes or other supporting documentation to help clarify points from the primary reference material.

A software engineer typically receives the SDK from the target system developer. Often the SDK can be downloaded directly via the Internet. Many SDKs are provided for free to encourage developers to use the system or language.

Project

Do some interesting things with the SDK's. For example, create an interesting face or fingerprint recognition demonstration. A face recognition demonstration might allow an instructor to collect face images of a class of students and determine which students look most similar to other students in the class. Or it might compare the student face images against famous people (Elvis Presley, etc.) to determine which famous person each student most closely resembles.

Another idea for the face recognition SDK is to develop a system to distinguish between males and females, or to estimate a person's age.

Fast Agile XP Deliverables

We will use the agile methodology, particularly Extreme Programming (XP) which involves small releases and fast turnarounds in roughly two-week iterations. Many of these deliverables can be done in parallel by different members or subsets of the team. The following is the current list of deliverables (ordered by the date initiated, deliverable modifications marked in red, initiated date marked in bold red if programming involved, completion date and related comments marked in green, pseudo-code marked in blue):
  1. 2/1 (to be completed in one week). Partially completed 3/1.
    1. Obtain a basic understanding of biometrics and review previous project work.
    2. Divide your team into two groups
      • face recognition: Giovanni and Jia Tian
      • fingerprint recognition: Juan and Shashanka
    3. Download and examine the SDK's.
    4. Plan the semester's work with your instructor and your customer Sadia Ismat.
  2. 3/2 (to be completed ASAP). .
    1. Download and examine the SDK's and describe the procedures for downloading and accessing them.
    2. Examine the SDK's and determine what they can do, and produce a written description of what they do and the associated procedures.
    3. We are particularly interested in whether we can obtain feature measurements vectors from the SDKs. If we can, describe the procedure. For example, the feature vectors could be used as input to our generic biometric authentication classification system.
  3. 3/2 (to be completed ASAP). .
    1. Plan the data collection phase with your customers Sadia and Alex.
      • Decide number of subjects, number of biometric samples from each subject, number of fingers to capture fingerprints from, etc.
      • Decide camera (or cameras) to use for face photos (image resolution, etc.).
      • Determine the recommended precedure for using the fingerprint scanner and if necessary refine the procedure.
      • Decide how to store the samples - database or whatever.
    2. Make preliminary plans with your customers Sadia and Alex as to what experiments to conduct. Finalize the plans once we know what the SDKs can do.
  4. 3/2 (ongoing for the remainder of the semester). .
    1. Collect biometric data samples.
    2. Conduct experiments.
    3. Preliminary experimental results should be presented at the midterm checkpoint on March 23.