VLSI implementation of a skin detector based on a neural network

Similar documents
Reconfigurable Neural Net Chip with 32K Connections

Sharif University of Technology. SoC: Introduction

IEEE Santa Clara ComSoc/CAS Weekend Workshop Event-based analog sensing

Overview of All Pixel Circuits for Active Matrix Organic Light Emitting Diode (AMOLED)

Low Power VLSI CMOS Design An Image Processing Chip for RGB to HSI Conversion

A VLSI Implementation of an Analog Neural Network suited for Genetic Algorithms

Deep Neural Networks Scanning for patterns (aka convolutional networks) Bhiksha Raj

MANY computer vision applications can benefit from the

MUSICAL INSTRUMENT RECOGNITION WITH WAVELET ENVELOPES

A High-Speed CMOS Image Sensor with Column-Parallel Single Capacitor CDSs and Single-slope ADCs

Uncooled amorphous silicon ¼ VGA IRFPA with 25 µm pixel-pitch for High End applications

Modifying the Scan Chains in Sequential Circuit to Reduce Leakage Current

Contour Shapes and Gesture Recognition by Neural Network

Charge-Mode Parallel Architecture for Vector Matrix Multiplication

Removal of Decaying DC Component in Current Signal Using a ovel Estimation Algorithm

An MFA Binary Counter for Low Power Application

Digital Correction for Multibit D/A Converters

Illumination-based Real-Time Contactless Synchronization of High-Speed Vision Sensors

data and is used in digital networks and storage devices. CRC s are easy to implement in binary

Analog, Mixed-Signal, and Radio-Frequency (RF) Electronic Design Laboratory. Electrical and Computer Engineering Department UNC Charlotte

Chord Classification of an Audio Signal using Artificial Neural Network

NDIA Army Science and Technology Conference EWA Government Systems, Inc.

Efficient Implementation of Neural Network Deinterlacing

Machine Vision System for Color Sorting Wood Edge-Glued Panel Parts

DESIGN AND SIMULATION OF A CIRCUIT TO PREDICT AND COMPENSATE PERFORMANCE VARIABILITY IN SUBMICRON CIRCUIT

T sors, such that when the bias of a flip-flop circuit is

Automatic Laughter Detection

Leakage Current Reduction in Sequential Circuits by Modifying the Scan Chains

SI-Studio environment for SI circuits design automation

A Symmetric Differential Clock Generator for Bit-Serial Hardware

EL302 DIGITAL INTEGRATED CIRCUITS LAB #3 CMOS EDGE TRIGGERED D FLIP-FLOP. Due İLKER KALYONCU, 10043

Optimizing Fuzzy Flip-Flop Based Neural Networks by Bacterial Memetic Algorithm

Distortion Analysis Of Tamil Language Characters Recognition

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Key-based scrambling for secure image communication

Implementation of Memory Based Multiplication Using Micro wind Software

A Compact 3-D VLSI Classifier Using Bagging Threshold Network Ensembles

DESIGN OF LOW POWER TEST PATTERN GENERATOR

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

ECEN689: Special Topics in High-Speed Links Circuits and Systems Spring 2011

PICOSECOND TIMING USING FAST ANALOG SAMPLING

Peak Dynamic Power Estimation of FPGA-mapped Digital Designs

DETECTION OF SLOW-MOTION REPLAY SEGMENTS IN SPORTS VIDEO FOR HIGHLIGHTS GENERATION

Lecture 3, Opamps. Operational amplifiers, high-gain, high-speed

Scan. This is a sample of the first 15 pages of the Scan chapter.

Efficient Architecture for Flexible Prescaler Using Multimodulo Prescaler

25.5 A Zero-Crossing Based 8b, 200MS/s Pipelined ADC

LFSR Counter Implementation in CMOS VLSI

INTRA-FRAME WAVELET VIDEO CODING

Area Efficient Pulsed Clock Generator Using Pulsed Latch Shift Register

Data flow architecture for high-speed optical processors

Chapter 9 MSI Logic Circuits

A Real Time Infrared Imaging System Based on DSP & FPGA

Quantitative Evaluation of Pairs and RS Steganalysis

Technology Scaling Issues of an I DDQ Built-In Current Sensor

A pixel chip for tracking in ALICE and particle identification in LHCb

A Framework for Segmentation of Interview Videos

VISUAL CONTENT BASED SEGMENTATION OF TALK & GAME SHOWS. O. Javed, S. Khan, Z. Rasheed, M.Shah. {ojaved, khan, zrasheed,

The Development of a Synthetic Colour Test Image for Subjective and Objective Quality Assessment of Digital Codecs

Design of a High Frequency Dual Modulus Prescaler using Efficient TSPC Flip Flop using 180nm Technology

WINTER 15 EXAMINATION Model Answer

Design Project: Designing a Viterbi Decoder (PART I)


ALONG with the progressive device scaling, semiconductor

RedEye Analog ConvNet Image Sensor Architecture for Continuous Mobile Vision

2. Problem formulation

COPY RIGHT. To Secure Your Paper As Per UGC Guidelines We Are Providing A Electronic Bar Code

Retiming Sequential Circuits for Low Power

140 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 12, NO. 2, FEBRUARY 2004

Dual Edge Adaptive Pulse Triggered Flip-Flop for a High Speed and Low Power Applications

Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

PERFORMANCE ANALYSIS OF AN EFFICIENT TIME-TO-THRESHOLD PWM ARCHIECTURE USING CMOS TECHNOLOGY

Combining Dual-Supply, Dual-Threshold and Transistor Sizing for Power Reduction

Random Access Scan. Veeraraghavan Ramamurthy Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL

Man-Machine-Interface (Video) Nataliya Nadtoka coach: Jens Bialkowski

Performance Modeling and Noise Reduction in VLSI Packaging

A VLSI Architecture for Variable Block Size Video Motion Estimation

Readout techniques for drift and low frequency noise rejection in infrared arrays

Chip-Scale Energy and Power... and Heat. Electrical and Computer Engineering Department, Georgia Tech University

Reconfigurable Universal Fuzzy Flip-Flop: Applications to Neuro-Fuzzy Systems

24. Scaling, Economics, SOI Technology

DeepID: Deep Learning for Face Recognition. Department of Electronic Engineering,

OMS Based LUT Optimization

Automatic Laughter Detection

MEMORY ERROR COMPENSATION TECHNIQUES FOR JPEG2000. Yunus Emre and Chaitali Chakrabarti

An FPGA Implementation of Shift Register Using Pulsed Latches

CHAPTER 3 SEPARATION OF CONDUCTED EMI

A MISSILE INSTRUMENTATION ENCODER

Dual-V DD and Input Reordering for Reduced Delay and Subthreshold Leakage in Pass Transistor Logic

ADVANCE INFORMATION TC PIXEL CCD IMAGE SENSOR. description

Implementation of BIST Test Generation Scheme based on Single and Programmable Twisted Ring Counters

Figure.1 Clock signal II. SYSTEM ANALYSIS

Notes on Digital Circuits

Reducing False Positives in Video Shot Detection

Scanner circuitry. Photoreceptor/edge detector array. Peripheral sender circuitry

Integrated Circuit Design ELCT 701 (Winter 2017) Lecture 1: Introduction

UNIVERSAL SPATIAL UP-SCALER WITH NONLINEAR EDGE ENHANCEMENT

AM-OLED pixel circuits suitable for TFT array testing. Research Division Almaden - Austin - Beijing - Haifa - India - T. J. Watson - Tokyo - Zurich

Low Power Area Efficient Parallel Counter Architecture

Design and Simulation of a Digital CMOS Synchronous 4-bit Up-Counter with Set and Reset

Transcription:

Edith Cowan University Research Online ECU Publications Pre. 211 25 VLSI implementation of a skin detector based on a neural network Farid Boussaid University of Western Australia Abdesselam Bouzerdoum University of Wollongong Douglas Chai Edith Cowan University 1.119/ICICS.25.168933 This conference paper was originally published as: Boussaid, F., Bouzerdoum, A., & Chai, D. K. (25). VLSI implementation of a skin detector based on a neural network. Proceedings of Fifth International Conference on Information, Communications & Signal Processing. (pp. 165-168). Thailand. IEEE. Original article available here 25 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. This Conference Proceeding is posted at Research Online. http://ro.ecu.edu.au/ecuworks/2894

W3A.6 VLSI Implementation of a Skin Detector Based on a Neural Network Farid Boussaid (1), Abdesselam Bouzerdoum (2), and Douglas Chai (3) (') University of Western Australia, School of Electrical and Computer Engineering (2) University of Wollongong, School of Electrical, Computer and Telecommunications Engineering (3) Edith Cowan University, School of Engineering and Mathematics AUSTRALIA Abstract- This paper describes the VLSI implementation of a skin detector based on a neural network. The proposed skin detector uses a multilayer perception with three inputs, one hidden layer, one output neuron and a saturating linear activation function to simplify the hardware implementation. The skin detector achieves a classification accuracy of 88.76%. To reduce mismatch associated errors, a single skin detection processing unit is used to classify all pixels of the input RGB image. The current-mode fully analog skin detection processing circuitry only performs computations during the read-out phase, enabling real-time processing. Fully programmable, the proposed skin detection processing circuitry allows for the external control of all classifier parameters to compensate for mismatch and changing lighting conditions. 1. INTRODUCTION Skin detection enables a wide range of machine vision tasks such as the detection, tracking and recognition of face and gesture, which are required for human-machine interaction [1]. Skin detection is typically achieved using color information [2][3][4], which is a feature that can be computationally inexpensive and thus well suited for real-time applications. A number of algorithms have been proposed to achieve colorbased skin detection, including statistical methods, neural networks or template matching [2] [5] [6]. Most of the research conducted in the past has aimed at achieving robust skin detection irrespective of image capture conditions (e.g. lighting conditions) or human physical characteristics. The actual integration of skin detection processing on a single silicon chip has received little attention. In [7], Perez and Koch proposed a CMOS analog implementation of an RGB (Red-Green-Blue) to HSI (Hue-Saturation-Intensity) color space conversion, to provide for reduced sensitivity to illumination conditions. In [8], Etienne-Cummings et al. implemented the principle of HSI-based pixel segmentation. The fabricated CMOS image sensor uses template matching to achieve pattern or skin recognition, and relies on memory elements to store the different templates. As a result, the proposed VLSI implementation leads to a substantial increase in silicon area and does not allow for real-time processing. In this paper, we present a skin detector that is well suited for VLSI implementation. Based on multilayer feedforward neural network architecture, the proposed skin detector enables realtime processing and removes the need for on-chip memory elements. The paper is organized as follows. In the next section, the proposed skin detector is presented and evaluated. Section 3 describes its VLSI implementation for real-time skin detection processing. Finally, concluding remarks are given in Section 4. II. SKIN DETECTION USING NEURAL NETWORKS Neural networks have the ability to learn complex data structures from a set of example patterns [9]. They have the advantage of working fast (after the training phase) even with large amount of data. The results presented in this paper are based on a multilayer feedforward network architecture, known as the multilayer perception (MLP). The MLP is a powerful tool that has been used extensively for classification, nonlinear regression, speech recognition, hand-written character recognition and many other applications [9]. The elementary processing unit in a MLP is called a neuron or perceptron. It consists of a set of input synapses, through which the input signals are received, a summing unit and a nonlinear activation transfer function. Each neuron performs a nonlinear transformation of its input vector; the input-output relationship is given by P p(x) = f(e(wxj +6) = f(wtx+6), (1) where W is the synaptic weight vector, X is the input vector, O is a constant called the bias, f is the activation function, superscript T is the transpose operator, and VJ(X) is the neuron output signal. -783-9282-5/5/$2. 25 IEEE ICICS 25

An MLP architecture consists of a layer of input units, followed by one or more layers of processing units, called hidden layers, and one output layer. Information propagates, in a feedforward manner, from the input to the output layer; the output signals represent the desired information. The input layer serves only as a relay of information and no information processing occurs at this layer. Before a network can operate to perform the desired task, it must be trained. The training process changes the parameters of the network in such a way that the error between the network outputs and the target values (desired outputs) is minimized. In this paper, we propose a method to detect skin color that is suitable for VLSI implementation. The skin detector uses an MLP with three inputs, one hidden layer and one output neuron (see Figure 1). To simplify the VLSI implementation, we use a saturating linear activation function. Each pixel is represented by its RGB (red, green and blue) color components. These three color components are used as inputs by the neural network. The output of each hidden neuron is given by (1), and the network output is given by Q y = Cj(Oj(X) + P (2) where (pj (X) is the output of the j-th hidden neuron, and Cj is the synaptic weight of the output neuron. of 88.76% on the test set. Figure 3 presents an image and the detected skin regions. ac a) a) a-) D 1-1.8.6.4.2.2.4.6.8 False Detection rate Figure 2: Test set ROC curve of the trained neural network: the inputs are the RGB components. Hidden layer R GI B4 Figure 1: Neural network architecture for skin detection. To estimate the neural network parameters (i.e. synaptic weights and biases), a training set containing 3,135 skin and non-skin pixels was extracted from set of images. The network was trained using the Levenberg-Marquardt backpropagation algorithm [1]. The generalization ability of the trained network is tested using a set containing 1.5673 million skin and nonskin pixels. The training and test sets were extracted from images containing skin colors of people from different races and under different lighting conditions. Figure 2 shows the ROC (receiver operating characteristic) curve on the test set. Overall, the neural network achieves a classification accuracy Figure 3: Original image (top) and skin segmented image (bottom). III. VLSI IMPLEMENTATION Figure 4 depicts the proposed VLSI architecture for a CMOS image sensor integrating skin detection processing. The image sensor uses currents as pixel output signals to take full advantage of current-mode processing and enable real-time processing [1] [11]. In the adopted current-mode approach, sums are computed by simply wiring the appropriate signals,

and differences by means of simple Figure 5). a1) 7 (I) C/) V1) 5.I Column Buses / Colu-mn Adre -DC -od current mirrors (see Pixel processing. The hardware realization of the proposed skin detector can be described as follows. The bias associated to each neuron is implemented by means of an externally controlled current source. A saturating linear activation functionj(x) is used to simplify the VLSI implementation. The saturating linear activation function is defined as follows: (a) J(x) = O for x <O; (b)j(x) = I for x > I and (c)j(x) = x for O < x < 1. Such an activation function can easily be implemented using current comparators as shown in Figure 6, which determine whether the current is positive or negative (here zero is represented by a small current value). Cblrn Addeb D nder Figure 4: Image sensor architecture. Figure 6: Current-mode comparator. Figure 5: Cascade current-mode subtractor. To make the three primary colors R, G and B available from each pixel at any given time, three vertically integrated photodiodes are used as an RGB in-pixel color detector. Here, color separation is achieved using the strong wavelength dependence of the absorption coefficient in silicon. This wavelength dependence causes a very shallow absorption of blue light and enables red light to penetrate deeply in silicon [12]. As a result of the selected color capture mode, pixels within a column will thus share three common column buses, corresponding each to a primary color (see Figure 4). Pixels are selected individually for output current read-out using conventional row/column counter address decoders. Each time a pixel is selected for read-out, three output currents IR, IG and IB are simultaneously handed out to the skin detection processing circuitry, which classifies the pixel as skin or nonskin pixel. In the proposed approach, on read-out skin detection processing is thus achieved enabling "real-time" Each synaptic weight is implemented by means of a tunable active current mirror. A tunable active current mirror, based on a customized version of the circuit topology [13], is also used to clamp each of the three output buses. As a result, photocurrents as small as leakage currents can be readout with acceptable delays. In Figure 7, Cbu, represents the large capacitance of an output bus capacitance whereas Iin refers to the total current flowing into the output bus. For VG1 = VG2, the output node, labeled N, is clamped to Vclamp and Iin 'Iout provided that MI and M2 are matched. To make the active current mirror tunable, choose VG1. VG2 and size transistors MI and M2 so that they operate in the subthreshold region for the entire range of variation of the output bus photocurrent. Under these assumptions, MI and M2 drain currents can be expressed [13] as: Iin = I_le(VGl -Vj)InUt Iout = Io2e(VG2-Vj)InUt where U, = kt / q; V, is the voltage at the source of both transistors MI and M2. If both transistors are properly matched, then I,, z IO2 and the active current mirror gain GC will be given by: G 'out (VG2-VG1)InUt I. iin The output current Iout can thus be controlled exponentially by tuning VG2-VG1.. Therefore, the current can be amplified or attenuated over an ultra-wide dynamic range. If properly compensated, the active input current mirror, shown in Figure

6, remains stable [13] even for an arbitrary small input photocurrent Ii. However, as photocurrent levels approach the pa range, the current mirror becomes increasingly slower. For Cbu, = IpF and IOU, = lopa, careful design led to a time constant of loons. As seen, a tunable active current mirror provides a mean for setting the synaptic weights and in turn for compensating for mismatch associated errors. VG1 VG2 Figure 7: Active input current mirror topology. IV. CONCLUSION In this paper, we propose a method to detect skin color that is suitable for VLSI implementation. The skin detector uses an MLP with three inputs, one hidden layer and one output neuron. To simplify the VLSI implementation, we use a saturating linear activation function. Each pixel is represented by its RGB color components, which are used as inputs by the neural network. A current-mode fully programmable VLSI implementation is proposed to achieve skin detection processing on-read-out. The proposed skin detector offers a good trade-off between skin detection performance and implementation complexity. V. ACKNOWLEDGMENTS This work was supported in part by a grant from the Australian Research Council. The authors wish to express their gratitude to Dr Son Lam Phung who prepared the database used for skin/non-skin classification. [3] D. Chai and K. N. Ngan, "Face segmentation using skin color map in videophone applications," IEEE Trans. on Circuits and Systems for Video Technology, vol. 9, no. 4, pp. 551-564, 1999. [4] S. L. Phung, A. Bouzerdoum and D. Chai, "Skin segmentation using color pixel classification: analysis and comparison," IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 27, no. 1, pp. 148-154, Jan. 25. [5] M. J. Jones and J. M. Rehg, "Statistical color models with application to skin detection," Proc. IEEE Conf Computer Vision and Pattern Recognition, vol. 1, pp. 274-28, 1999. [6] D. Chai, S. L. Phung and A. Bouzerdoum, "Face localization based on color and shape information in a neural network approach," International Conference on Information, Communications and Signal Processing, Singapore, Oct. 21. [7] F. Perez and C. Koch, "Towards color image segmentation in analog VLSI: algorithms and hardware," International Journal of Computer Vision, vol. 12, no. 1, pp. 17-42, 1994. [8] R. Etienne-Cummings, P. Pouliquen and A. Lewis, "Color segmentation, histogramming and pattern matching chip", Proc. IEEE ISCAS 22, Phoenix, Arizona, USA, pp.32-323, May 22. [9] J. Zurada, Introduction to Artificial Neural Systems, PWS publishing company, 1992. [1] F. Ismail and T. Fiez, Analog VLSI Signal and Information Processing, McGraw Hill, 1994. [11] E. Vittoz, "Analog VLSI signal processing: why, where and how?" Analog Integrated Circuits and Signal Processing, pp. 27-44, 1994. [12] F. BoussaYd, D. Chai and A. Bouzerdoum, "On-chip skin color detection using a triple-well CMOS process," Proceedings of SPIE: Microelectronics: Design, Technology, and Packaging, vol. 5274, pp. 26-214, 24. [13] T. Serrano-Gotarredona, B. Linares-Barranco and A. G. Andreou, "Very wide range tunable CMOS/bipolar current mirrors with voltage clamped input," IEEE Trans. on Circuits and Systems-I, vol.46, no.11, pp.1398-147, 1999. VI. REFERENCES [1] R. Kjeldsen and J. Kender, "Finding skin in color images," Proc. Conf Automatic Face and Gesture Recognition, pp. 379-384, 1996. [2] J. Yang, W. Lu and A. Waibel, "Skin-color modeling and adaptation," Proc. ACCV'98, vol. II, pp. 687-694, 1998.