Skip to main content

Introducing a Facial Recognition Solution

Facial Recognition


The global facial recognition industry is projected to grow from $3.2 billion in 2019 to $7 billion by 2024, at a Compound Annual Growth Rate (CAGR) of 16.6% in the course of the 2019-2024 period. Major growth drivers include an increase in user and data security initiatives by government, growing mobile device adoption, and an increase in demand for robust fraud detection and prevention systems[1].


Although facial recognition technology is already widely adopted, many solutions lack performance at scale. To take facial recognition technology to the next level, performance must improve in terms of speed (measured in queries per second), accuracy (in terms of recall, and false and true positive rates), and power consumption (in watts).

Introducing the Gemini® Associative Processing Unit

The Gemini® Associative Processing Unit (APU) is GSI’s patented technology and a new breed of processor. It features massive parallel data processing, compute and search, in-place, directly in the memory array, thus eliminating bandwidth-costly data transfers between the memory and processor. The APU has a distinct performance edge in the acceleration of similarity search applications, such as facial recognition.

GSI Search Process

GSI has developed a framework that will enable facial recognition applications to improve performance. This framework includes both offline and online steps:

Offline Database Preparation

These initial steps prepare the database for similarity search by the APU. They can be performed by a CPU or GPU.

      1.  Faces from images are extracted and converted into vector embeddings of 512 or 1024 bits. (This process is described in detail in the online steps, below). In addition, the following are generated:

          a.  A file of indices, so that each vector embeddings has an index number.

          b.  Metadata, with the name of the person represented in each vector embedding.

      2.  The file of records and indices are imported as a database.

      3.  The database is loaded into the APU card’s system memory.

      4.  The metadata is imported and stored on a host server.


Online Steps

There are 4 main steps:

  1. Query Capture: A facial recognition application captures faces from a video stream or stills at a rate of hundreds of faces per second.
  2. Faces to vector embeddings: Query images are converted into vector embeddings. This process includes several steps that can be performed by a CPU or GPU:

    a.  Face detection: Individual video frames are assessed, and face and face landmarks (e.g., left eye, nose) are detected using an algorithm, such as Multi-Task Cascaded Convolutional Networks (MTCNN).

    b.  Individual faces are extracted, and a facial alignment process is performed using similarity transformation.

    c.  For each unique face, a vector embedding is created via several steps:

         i.  Deep feature extraction turns the image into a vector embedding.

         ii. Locality-sensitive hashing is performed to reduce the vector embedding’s dimensionality from a high dimensional floating-point vector embedding to a lower-dimensional binary vector embedding, for faster processing and lower memory utilization.
  3. Search & Match

    a.  Using the Hamming distance metric, GSI’s APU searches the entire database for records that match the query. Multiple queries can be performed with no performance loss.

    b.  The search algorithm returns the most similar records, and these are traced back to the index number and metatag for a name match.

    c.  In addition, a history of matches is maintained.
  4. Alerts and Post Event Analysis

    a.  An application can be configured to provide real time alerts for users or external systems when a given similarity threshold is reached.

    b.  GSI’s APU can also integrate with other applications that can provide post-event image comparison tools.


Vector Embedding Extraction

Vector embedding extraction is performed in less than 50 milliseconds. The exact performance depends on the resolution of the input image and the number of faces in a single frame.

Gemini® Search Performance

The Gemini® APU can process a query in 10 microseconds on a database of tens to hundreds of thousands of image embeddings (image embedding size is typically 512 or 1024 bits).

Integration with Third Party Applications

Gemini® can be integrated with any facial recognition application, either as a standalone APU similarity search engine, or as the full GSI framework—including the image to vector embedding and database import steps—as described above. 

APU Advantages

  • Gemini® APU can perform fast searches on multiple queries, without any loss of accuracy.
  • The processor is very energy-efficient
  • Gemini® APU is scalable solution that allows users the flexibility to integrate with preferred applications.

Use Case Scenarios

Real time

  • Video: Surveillance and monitoring to identify persons of interest from CCTV and mobile video cameras, in real time.
  • Still images: Comparing images captured from mobile cameras and smart devices with databases of persons of interest, in real time.


[1] From MarketsandMarketsTM