Introduction
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].
Challenges
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.