1. Do you have any specific storage requirements in regards to 1:N matching?
Yes, for efficient 1:N matching, a facial template must be created and stored.
Facial template creation involves finding the face in the image, and then processing the found face into a byte array that can be later used for efficient facial searching.
Therefore, during the photo storage process, CPU resources need to be allocated to perform the face finding, and subsequently storage resources must be allocated to store the facial search template .
2. What does the template creation process entail?
Visionics face finding technology can automatically find a human face in a single image or in a live video feed. The face finding process occurs in real-time (roughly 1 second).
This allows for the automatic creation of facial templates in large existing databases without human intervention.
After face finding, template creation can be executed on the found face, or template creation can be executed separately on a manually found face .
3. Do watermarked images affect the performance of the face recognition?
No. The correct concept is to think of Visionics as a technology provider independent of a specific platform or a specific database format, and FaceIt® technology as a filter system that converts facial images into facial templates and the combination of facial images and search templates into ordered lists.
Visionics offers a FaceIt DB Enterprise custom solution that incorporates a proprietary database system for template storage. This product combines the technology with database storage and management on the Windows NT platform. However, the technology can be used directly through a Visionics developer kit API, with no specification of database. Basic Visionics technology does not include a database .
4. Can your technology work with RDBMS, ODBMS, and ORDBMS?
RDBMS Examples: Oracle, MS SQL Server, Access
ODBMS Examples: Jasmine, Poet, Objectivity, ObjectStore
ORDBMS Examples: Informix
The systems listed above include interfaces for imbedded SQL processing that would interface well with our technology.
For example, we offer an Informix Datablade that can perform the face finding, template creation and face recognition tasks internal to the Informix system.
The two possible solutions for processing during face finding, template creation, and face recognition are:
a. Process internal to the database using imbedded SQL processing via a Datablade-like plug-in.
b. Store only pointers to template in the image databases and store/process the template in a custom external database system. We offer the FaceIt DB Enterprise custom face recognition/database solution.
The choice of system depends upon the existing infrastructure.
If the image storage systems are multi-vendor (for example, using both Oracle and Microsoft or both Windows NT and Unix platforms), b. may be the most cost-effective centralized solution.
For single vendor database single vendor platform infrastructures, a. may be the most cost effective solution .
5. Can you discuss further an implementation strategy for a large-scale database system using face recognition?
We recommend a multi-tier solution:
Tier1: Client web-based front end. The clients submit images and perform queries including face recognition through their browsers.
Tier2: Web and Application Server. Software provides database connectivity - converts custom tags in the web pages into database SQL instructions.
a. Netscape Enterprise Server 3.0. Developers have provided native database connectivity to Oracle, Sybase, Informix, DB2, and connectivity to other data sources through ODBC.
b. Microsoft Internet Information Server: Designed to provide Connectivity to MS SQL and Microsoft Message Queue Server layers via Active Sever Pages (ASP) technology.
In addition this tier connects via an internal network messaging system, such as Microsoft Message Queue Server (MMQS) or IBM MQSeries, to the image server and the face recognition server.
Tier3: Image and Person Info Server Stores digitized images and tags denoting gender, citizenship, criminal status (if any), etc - all personal information which might be used to constrain a face recognition search or image lookup. Communicates to Tier2 via the network-messaging layer.
Tier4: Face Recognition and Face Finding Server: Performs all template creation (probably using automated face finding) and all face recognition queries. Communicates to Tier 3 and 2 via the network-messaging layer.
In the context of Tier 4, there are two solutions currently implemented by Visionics:
a. Process internal to the database using imbedded SQL processing via a "Datablade" like plug-in. The database software handles I/O and queuing. Visionics would provide the plug-in.
b. Process in the context of a layer such as MMQS, with queuing and I/O handled by the fully scalable Visionics FaceIt DB Enterprise solution.
In both cases, the same fundamental technology would be used .
6. Volume: Is there a limit to the volume for 1:N matching?
7. What are the system requirements for a large-scale search system?
In the context of an external facial system with a legacy database system storing images, a set of workstations for facial queries, and a backend system for facial processing, we calculate below the number of computers required to meet a specified search specification:
Computer: 500 MHz CPU system with base RAM of 512MB, base and base disk space of 10GB.
One can replace a stand-alone computer with a processor in a dedicated multiple processing system if the system includes the RAM and disk as specified above to each CPU.
Disk: This disk storage requirement of roughly 4K per overall facial templates per image will allow storage of 2.8 million individuals.
RAM: The RAM storage requirement of less than 128 bytes per person translates into 320MB of RAM for fast template storage.
CPU: The overall search speeds are roughly 2.8-million/per minute/per CPU. (see the performance section below). This translates into a formula for the number of computers:
(Total Population size)/(2.8 million* minutes/search), where minutes/search <= 1.
For example, for searching through 20 million in one minute, the number of computers is 8.
In addition to search and alignment engines, one addition computer may be required to act as a master controller.