A 23mW Face Recognition Accelerator in 40nm CMOS with Mostly-Read 5T Memory Dongsuk Jeon1,2, Qing Dong1, Yejoong Kim1, Xiaolong Wang3, Shuai Chen3, Hao Yu3, David Blaauw1, Dennis Sylvester1 1

University of Michigan, MI; 2Massachusetts Institute of Technology, MA; 3Nanyang Technological University, Singapore location and also reduces the number of search windows by 12×. In Abstract

This paper presents a face recognition accelerator for HD (1280×720) images. The proposed design detects faces from the input image using cascaded classifiers. A SVM (Support Vector Machine) performs face recognition based on features extracted by PCA (Principal Component Analysis). Algorithm optimizations including a hybrid search scheme that reduces the workload for face detection by 12×. A new mostly-read 5T memory reduces bitcell area by 7.2% compared to a conventional 6T bitcell while achieving significantly better read reliability and voltage scalability due to a decoupled read path. The resulting design consumes 23mW while processing both face detection and recognition in real time at 5.5 frames/s throughput.

Introduction Reliably detecting and recognizing faces in an image is an active research topic in computer vision [1] for many application areas (Fig. 1). The Viola-Jones object detection algorithm is one of the fastest and most powerful approaches to face detection [2]. It consists of multiple weak classifier stages in which candidate images are either discarded or accepted. Candidates surviving through the last stage represent actual faces. SVM is widely used for classification in machine learning due to its sound theoretical background and consistently good performance across different application areas including face recognition. Although these algorithms provide good performance at reasonable hardware cost, they still require excessive amount of computations, especially for low-power mobile systems. In this work we propose a low-power face detection and recognition processor targeted at mobile applications.

Proposed Accelerator Architecture The proposed accelerator first detects faces in an input image after which each detected face is recognized in a second stage (Fig. 2). Each face is normalized in size so that the recognition is performed consistently. In the recognition stage, well-known features called Eigenface [3] are extracted by applying PCA to the candidate images; the SVM takes these features as inputs to reduce dimensionality and computational cost while preserving recognition performance. Fig. 3 shows the proposed accelerator architecture. As the image size grows the number of search windows per frame increases linearly, which translates to millions of windows for HD images. The detection step is typically a bottleneck and feature memory accesses dominate energy consumption. However, only a few of the windows contain actual faces and most candidate windows are discarded in early stages. The feature memory is therefore separated into two parts (Fig. 4); a small 1.5kB latch-based memory with lower read energy contains stages 1~5 (5% of total features) while a large SRAM memory stores all remaining stages. Testing on a custom database consisting of 180 HD images, 99.4% of rejected windows are discarded in the first 5 stages, reducing read energy by 20%; this contrasts with the more general approach of using a cache to reduce on-chip memory size [4]. To further reduce the number of feature memory accesses and energy consumption of the face detection block, we propose a hybrid search scheme (Fig. 5) that capitalizes on the innate tolerance of the Viola-Jones detector to deviations around the center of the face. Typically many windows are found that flag detection for a given face; these are then averaged to obtain an accurate center location. Instead, we first employ larger search steps to coarsely detect a face; faces are still correctly detected due to algorithmic tolerance and a low false negative rate. If the coarse window captures a face we expand the search around that point with smaller search steps so that the locations can be averaged for better localization. When the number of fine search windows flagged for positive detection exceeds a threshold value the point is passed to the recognition stage. This technique removes false positives that can occur in a single isolated

simulation, it achieves 93% detection accuracy (F1 score) when tested under the aforementioned custom database whereas the original algorithm has 76% accuracy due to high false positive rate. Recognition (classification) accuracy is 81% for 32-class (people) classification under the widely-used LFW face database [5].

Mostly-Read 5T Bitcell Memory The proposed accelerator requires 492kB memory space to store coefficients such as support vectors and features. Once these memories are programmed at the beginning of operation, they need to be updated very infrequently (e.g., when new faces are added to database) and the system only reads out the stored values during operation. As the memory consumes the majority of the die area, a conventional 6T SRAM is a good candidate due to its small footprint. However, it suffers from limited voltage scalability and cannot provide aggressive low power operation. Other bitcell variants with isolated readout path (e.g., 8T [6]) have significantly better voltage scalability, but additional access transistors increase the memory area. To address these issues, we introduce a 5T SRAM bitcell with a decoupled read path (Fig. 6). The bitcell consists of an inverter pair and decoupled read transistor. The inverters use HVT devices for leakage reduction, while the SVT read transistor enables fast readout. The isolated read and write paths make readability insensitive to transistor size, allowing PDs and PUs to be minimum-sized. With an L-shape layout, the logic-rule 5T bitcell occupies 7.2% less area than a conventional logic-rule 6T bitcell. The bitcell has separated cell VDD and VSS lines (Fig. 6). VDDL and VDDR are write bitlines shared per column, while VSSL and VSSR are write wordlines shared per row. In general, a value is written by raising VSSL (or VSSR) and pulling VDDR (or VDDL) down to write a 0 (or 1). However, since VSS lines are shared between two mirrored adjacent rows (Fig. 7), raising VSS lines will also flip the values in the neighboring row. Hence we first reset the entire memory array and then write values into consecutive rows from top to bottom (Fig. 8, left). During the reset process, all VSS lines are set to a low Vdd value VDDL and then are pulled down one after another from bottom to top, setting even and odd rows to 1 and 0, respectively. Write operation starts from the top by raising VSS1 and lowering VDDR0 to flip 1 to 0 (Fig. 8, right). Raising VSS1 may write 0s to the second row. However, this row is already reset to 0 and is unaffected. The same process continues for the entire array. Although complete reset is necessary before writing a new value, the accelerator requires extremely infrequent (or even one-time) bulk writing. This makes the 5T bitcell a good low power choice due to its large voltage scalability and HVT minimum-sized transistors; read energy is 38% less compared to a 6T design (Fig. 9 and Table 1). The design consumes 0.103pJ/bit/read at 100MHz and 0.6V (simulated).

Measurements The proposed accelerator is fabricated in 40nm CMOS. Fig. 10 shows the die photo. The accelerator successfully detects and recognizes faces in test input images (example in Fig. 11). A 12kB 5T SRAM array has a measured Vmin of 450mV. The system consumes 23mW from 600mV while processing HD images at 5.5 frames/s throughput with 4.5nJ/pixel efficiency, which enables continuous real-time face recognition even in mobile applications such as smartphones.

Acknowledgement We thank TSMC University Shuttle Program for chip fabrication.

References [1] S. Liao et al., CVPR, 2010. [2] P. Viola et al., CVPR, 2001. [3] M. A. Turk et al., CVPR, 1991. [4] Y. Hanai et al., ISSCC, 2009. [5] G. B. Huang et al., NIPS, 2012. [6] L. Chang et al., JSSC, 2009.

[7] N. Verma et al., ISSCC, 2007. [8] S. Nalam et al., CICC, 2009.

[9] M.-P. Chen et al., VLSI, 2012. VDDL

VDDR

PU

RBL

PU

Ava

Elice

0

1

PD

PD

RD RWL HVT

VSSL

Mobile Device with Face Recognition

VSSR

VDD

Video Surveillance System

VDD

SVT

VDDL

Figure 1. Applications of face detection and recognition. Processing Steps Moving Search Window Windows Containing Face

Face Detection

0

Face Recognition Eigenfaces

1

VSSH

VSS

Input Vector =?

1

Isolated Read and Write Paths Allow Minimum PU/PD Sizes

Decision

VDDL VSSL

5T Cell

PU Merge Windows

Normalization

PCA

PD

Face Detection

RD RWL RD

PU PD

PD

PU

2-D Integrated Image Buffer (21.5kB)

Reset Sequence

PCA

Cascade Classifier

Classifier

Survived Sub-Windows

Classifier

Input

VDDL0

VDDL1

VDDR0

VSS0

50-dimensional Vector

VSS0 Cell_00

Cell_01

Cell_10

Cell_11

Flipped (1 to 0) VSSH VSS

SVM (32-class)

Rejected Sub-Windows

SV Memory (384 kB)

Cell_20

Cell_21

Cell_30

Cell_31

VSS1

Not Flipped (Already 0)

VSS2

VDDL

VSS2

VSS3

VSS3

VSS4

Small Feature Memory (1.5kB)

Feature Memory (24kB)

Final Decision

Decision w/ Confidence Level

VDDL

0.8

99.4% of Rejected Windows

1k

0.6 0.4 0.2

5% of Features

0 0

5

10 15 Stage

20

0.0 25

Figure 4. Feature memory segmentation in face detector. If Face is Detected

Moving Search Window

Original Search Window

VDDL

VSS0

0 Cell_10

0 Cell_11

VSS3

VSS VDDL

1 Cell_20

1 Cell_21

0 Cell_30

0 Cell_31

VSS1 Flipped (0 to 1)

0 Cell_10

0 Cell_11

1 Cell_20

1 Cell_21

0 Cell_30

0 Cell_31

VSS2

Not Flipped (Already 1)

VSS3

VDDL1

VDDR1

0 Cell_00

1 Cell_01

1 Cell_10

0 Cell_11

1 Cell_20

1 Cell_21

0 Cell_30

0 Cell_31

VSS4

Figure 8. Reset and write sequences of 5T memory.

0.5

Table 1. SRAM comparisons. 5T(logic-rule) 6T(logic-rule)

0.4 0.3 0.2

VSSH VSS

VSS4

VSS

Read Energy (pJ/bit)

Cumulative # of Features

2k

Cumulative # of Rejected Windows

Main Memory (Stage 6~22) 5T SRAM 24.5kB 68fJ/bit

1.0

VDDR1

1 Cell_01

VDD VDDL VDDR0 VDDL0

VDDR1

1 Cell_01

VSS2

VSS

Cascade Classifier

VDDL1

1 Cell_00

VSS1

VSS

Design Point

VDDL1

Write Direction

VDDL

VDDL0

Reset Direction

Figure 3. Proposed accelerator architecture.

VDDR0

VSS0

VDDL0

0 Cell_00

VSS4

VDD

Reset Each Row One by One VDDL

VDD VDDL

VDDR1

VSS1

22 Stages Classifier

VDDR0

Eigenface Memory (84kB)

Write Sequence Write Each Row One by One

VDD

Initialization

Proposed 5T Memory

Small Memory (Stage 1~5) Latch-based 1.5kB 54fJ/bit

Figure 7. Layout of proposed 5T bitcell.

Face Buffer (0.57kB)

Detected Face Locations

2-D Squared Integrated Image Buffer (21.5kB)

7.2% Smaller Area than 6T

Face Recognition

Normalized Face (20×25)

Face Normalizer 2-D Integrator

PU

RBL

VSSR VDDR

Chip Boundary

()2 + 2-D Integrator

PD

SVM

Figure 2. Processing steps of proposed accelerator.

Bus Arbiter

VSS

Figure 6. Proposed 5T bitcell and its basic write operation.

Database

Initial Face Detection

0

38% Improvement @0.6V&100MHz

0.1 0.0 0.4

0.5

0.6

0.7

0.8

0.9

[7]

[8]

[9]

This work

Process

65nm

45nm

65nm

40nm

Transistors

8T

5T

7T

5T

Voltage

0.35V

0.5V

0.26V

0.6V

Cell Size

1.3 x 6T

0.95 x 6T

1.15 x 6T

0.93 x 6T

Frequency

25kHz

250kHz

1.8MHz

100MHz

Read Energy 0.88 (0.35V) (pJ/bit)

8.8 (1V)

0.35 (0.26V) 0.103 (0.6V)

Power Supply (V)

Figure 9. Simulated read energy. Smaller Fine Search Step 1.0

0.8

0.8

0.6

0.6

0.4

0.4

Optimal Point

0.2 0.0

0.2

0

1

2

3 4 5 6 Threshold

7

8

0.0

Alejandro Toledo

8 Neighboring Fine Search Windows

2.27mm

# of Windows with Face

Support Vector Memory

Face Detected Detection Threshold

2.58mm

1.0

False Positive

False Negative

Coarse Search Step

Integrated Image Buffers

Coarse Search Coordinate

Figure 5. Hybrid search scheme for face detection.

Detector

Feature Memory

Classifier

PCA Memory

Figure 10. Die photo.

Figure 11. Face recognition result. Table 2. Performance summary. Technology

40 nm

Vdd

600 mV

Clock Freq.

100 MHz

Core Area

2.58×2.27 mm

2

Input Video 1280×720 (HD) Power

23 mW

Efficiency

4.5 nJ/pixel

A 23mW Face Recognition Accelerator in 40nm CMOS with Mostly ...

consistently good performance across different application areas including face ... Testing on a custom database consisting of 180. HD images, 99.4% of ...

2KB Sizes 2 Downloads 265 Views

Recommend Documents

Multithread Face Recognition in Cloud
Oct 12, 2016 - biometrics systems have proven to be an essential security tools, ... showcase cloud computing-enabled face recognition, which utilizes ...

Multithread Face Recognition in Cloud
Oct 12, 2016 - this responsibility to third-party vendors who can maintain cloud ... showcase cloud computing-enabled face recognition, which utilizes ...

Markovian Mixture Face Recognition with ... - Semantic Scholar
cided probabilistically according to the probability distri- bution coming from the ...... Ranking prior like- lihood distributions for bayesian shape localization frame-.

Face Tracking and Recognition with Visual Constraints in Real-World ...
... constrain term can be found at http://seqam.rutgers.edu/projects/motion/face/face.html. ..... [14] Y. Li, H. Ai, T. Yamashita, S. Lao, and M. Kawade. Tracking in.

GA-Fisher: A New LDA-Based Face Recognition Algorithm With ...
GA-Fisher: A New LDA-Based Face Recognition. Algorithm With Selection of Principal Components. Wei-Shi Zheng, Jian-Huang Lai, and Pong C. Yuen. Abstract—This paper addresses the dimension reduction problem in Fisherface for face recognition. When t

Face Recognition in Videos
5.6 Example of cluster containing misdetection . .... system which are mapped to different feature space that consists of discriminatory infor- mation. Principal ...

Markovian Mixture Face Recognition with ... - Research at Google
Anonymous FG2008 submission ... (a) Domain-independent processing is cheap; and (b) For .... person are labelled during enrollment or registration, the D-.

Multi-view Face Recognition with Min-Max Modular ... - Springer Link
Departmart of Computer Science and Engineering,. Shanghai Jiao ... we have proposed a min-max modular support vector machines (M3-SVMs) in our previous ...

Robust Face Recognition with Structurally Incoherent ...
Chih-Fan Chen is with the Department of Computer Science, Univer- ..... log P({Aj,j = i}| Ai) determines the degree of the .... lized to solve (6), including iterative thresholding, accelerated ...... Chih-Fan Chen received his B.S. and M.S. degrees.

SURF-Face: Face Recognition Under Viewpoint ...
A grid-based and dense extraction of local features in combination with a block-based matching ... Usually, a main drawback of an interest point based fea- .... navente at the Computer Vision Center of the University of Barcelona [13].

SURF-Face: Face Recognition Under Viewpoint ...
Human Language Technology and ..... In CVPR, Miami, FL, USA, June. 2009. ... In International Conference on Automatic Face and Gesture Recognition,. 2002.

Face Recognition Based on SVM ace Recognition ...
features are given to the SVM classifier for training and testing purpose. ... recognition has emerged as an active research area in computer vision with .... they map pattern vectors to a high-dimensional feature space where a 'best' separating.

Rapid Face Recognition Using Hashing
cal analysis on the recognition rate of the proposed hashing approach. Experiments ... of the images as well as the large number of training data. Typically, face ...

Face Recognition in Surgically Altered Faces Using Optimization and ...
translation and scale invariance [3]. Russell C.Eberhart (2006) emphasis that the ... Each particle in the search space evolves its candidate solution over time, making use of its individual memory and knowledge gained by the swarm as a ... exchange

Improving Face Recognition in Real Time for Different head Scales
Abstract. Face recognition is technique which is used to identify person by their face. Identifying the person is performed with different types of Biometric like iris scan, finger print, face recognition, Gait recognition; Signature etc. face recogn

Improving Face Recognition in Real Time for Different head Scales
There are many problems are occurred when it perform face recognition like illumination, light intensity, blurred face, noisy image, tilted face, different head pose ...

Face identity recognition in autism spectrum disorders
Department of Brain and Cognitive Science and McGovern Institute for Brain ..... orientation (upright > inverted) was marginally significant (p = .054). T (CA). 15.

Appearance-Based Automated Face Recognition ...
http://sites.google.com/site/jcseuk/. Appearance-Based Automated Face. Recognition System: Multi-Input Databases. M.A. Mohamed, M.E. Abou-Elsoud, and M.M. Eid. Abstract—There has been significant progress in improving the performance of computer-ba

Rapid Face Recognition Using Hashing
cal analysis on the recognition rate of the proposed hashing approach. Experiments ... of the images as well as the large number of training data. Typically, face ...

Face Authentication /Recognition System For Forensic Application ...
Graphic User Interface (GUI) is a program interface item that allows people to interact with the programs in more ways than just typing commands. It offers graphical icons, and a visual indicator, as opposed to text-based interfaces, typed command la

Handbook of Face Recognition - Research at Google
Chapters 9 and 10 present methods for pose and illumination normalization and extract ..... Photo-sharing has recently become one of the most popular activities on the ... in social networking sites like Facebook, and special photo storage and ...

Face Recognition Using Eigenface Approach
which the person is classified by comparing its position in eigenface space with the position of known individuals [1]. The advantage of this approach over other face recognition systems is in its simplicity, speed and .... The experiment was conduct

Bayesianism with a Human Face - Kenny Easwaran
unlike him, I take Bayesianism (what I call "Bayesianism") to do a splendid ...... The explanation theorem (III) goes part way toward addressing the.