{"title": "An Analog VLSI Chip for Finding Edges from Zero-crossings", "book": "Advances in Neural Information Processing Systems", "page_first": 399, "page_last": 405, "abstract": null, "full_text": "An Analog VLSI Chip for Finding Edges \n\nfrom Zero-crossings \n\nWyeth Bair \n\nChristof Koch \n\nComputation and Neural Systems Program \n\nCaltech 216-76 \n\nPasadena, CA 91125 \n\nAbstract \n\nWe have designed and tested a one-dimensional 64 pixel, analog CMOS \nVLSI chip which localizes intensity edges in real-time. This device exploits \non-chip photoreceptors and the natural filtering properties of resistive net(cid:173)\nworks to implement a scheme similar to and motivated by the Difference \nof Gaussians (DOG) operator proposed by Marr and Hildreth (1980). Our \nchip computes the zero-crossings associated with the difference of two ex(cid:173)\nponential weighting functions. If the derivative across this zero-crossing \nis above a threshold, an edge is reported. Simulations indicate that this \ntechnique will extend well to two dimensions. \n\n1 \n\nINTRODUCTION \n\nThe zero-crossings of the Laplacian of the Gaussian,V 2G, are often used for detect(cid:173)\ning edges. Marr and Hildreth (1980) argued that the Mexican-hat shape of the V 2 G \noperator can be approximated by the difference of two Gaussians (DOG). In this \nspirit, we have built a chip that takes the difference of two resistive-network smooth(cid:173)\nings of photoreceptor input and finds the resulting zero-crossings. The Green's func(cid:173)\ntion of the resistive network, a symmetrical decaying exponential, differs from the \nGaussian filter. Figure 1 shows the \"Mexican-hat\" shape of the DOG superimposed \non the \"witch-hat\" shape of the difference of exponentials (DOE) filter implemented \nby our chip. \n\nThis implementation has the particular advantage of exploiting the smoothing oper(cid:173)\nation performed by a linear resistive network, shown in Figure 2. In such a network, \ndata voltages d are applied to the nodes along the network via conductances G, and \nthe nodes are connected by resistances R. Following Kirchhoff's laws, the network \n\n399 \n\n\f400 \n\nBair and Koch \n\nnode voltages v settle to values such that power dissipation is minimized. One \nmay think of the network node voltages v as the convolution of the input with the \nsymmetrical decaying exponential filter function. The characteristic length of this \nfilter function is approximately 1/\" RG, where G is the data conductance and R \nthe network resistance. \n\n---\n\nFigure 1: The Mexican-hat shape of the difference of Gaussians (dotted) and the \nwitch-hat shape of the filter implemented by our chip. \n\nSuch a network is easily implemented in silicon and avoids the burden of additional \ncircuitry which others have used to implement Gaussian kernels. Our simulations \nwith digitized camera images show only minor differences between the zero-crossings \nfrom the DOE filter and those from the DOG. \n\nd i-1 \n\nG \n\nG \n\nG \n\nFigure 2: I-D resistive network. \n\n2 ANALOG VLSI IMPLEMENTATION \n\nThis chip was implemented with a 2.0J..lm CMOS n-well process available through the \nMOSIS silicon foundry. Intensity edges are detected using four stages of circuitry: \nphotoreceptors capture incoming light, a pair of I-D resistive networks smooth the \ninput image, transconductance amplifiers subtract the smoothed images, and digital \ncircuitry detects zero-crossings. Figures 3 and 4 show block diagrams for two pixels \nof the 64 pixel chip. \n\n\fAn Analog VLSI Chip for Finding Edges from Zero-crossings \n\n401 \n\nVP. 1 \\ \n\nVP. \n1 \n\n~ ~ \n\nVl i \n\nVR1 \n\nV2. \n1 \n\nVR1 \n\n~ ~ \n\nVR2 \n\nVR2 \n\nVli+ 1 \n\nV2. 1 \n\n1+ \n\nFigure 3: Block circuit diagram for two of 64 pixels as described in Section 2. \n\n\f402 \n\nBair and Koch \n\nProcessing begins at a line of photoreceptors spaced 100pm apart which encode the \nlogarithm of light intensity as a voltage V P, shown in Figure 3. The set of volt(cid:173)\nages from the photoreceptors are reported to corresponding nodes of two resistive \nnetworks via transconductance amplifiers connected as followers. The followers' \nvoltage biases, VGI and VG2, can be adjusted off-chip to independently set the data \nconductances for each resistive network. The network resistors are implemented \nas Mead's saturating resistors (Mead, 1989). Voltage biases VRI and VR2 allow \nindependent off-chip adjustment of the two network resistances. The data conduc(cid:173)\ntance and network resistance values determine the space constant of the smoothing \nfilter which each network implements. The sets of voltages VI and V2, shown in \nFigure 3, represent the two filtered versions of the image. Wide-range transconduc(cid:173)\ntance amplifiers (Mead, 1989) produce currents, I, proportional to the difference \nVl- V2. \n\n--\n\nFigure 4: Zero-crossing detection and threshold circuitry. \n\nFigure 4 shows the final stage of processing which detects zero-crossings in the \nsequence of currents I and implements a threshold on the slope of those zero(cid:173)\ncrossings. Currents Ii and Ii+l charge or discharge the inputs of an exclusive \nOR gate. The output of this gate is the first input to a NAND gate which is \nused to implement the threshold. A current proportional to the magnitude of the \ndifference Ii - I i +l charges the second input of the NAND gate, while a threshold \ncurrent discharges this input. If the charging current, representing the slope of the \nzero-crossing, is greater than the threshold current set off-chip by the bias voltage \nV,hruh, this NAND input is charged to logical 1, otherwise, this input is discharged \nto logical O. The output of the NAND gate, V Zi indicates the presence, logical 0, \nor the absence, logical 1, of a zero-crossing with slope greater than Ithruh. \nA final stage of circuitry is used to multiplex the sequence of 63 bits, V Z, and \ncorresponding currents Ii - I i+l indicating the slope of the zero-crossings. \n\n\fAn Analog VLSI Chip for Finding Edges from Zero-crossings \n\n403 \n\n3 BEHAVIOR \n\nWe tested the behavior of the chip by placing a small lens above the silicon wafer \nto focus an image onto the array of photoreceptors. The input light profile that we \nused is shown in Figure 5a. Figure 5 b is an oscilloscope trace showing the smoothed \nvoltages (VI and V2 of Figure 3) corresponding to the filtered versions of the image. \nThe difference of these two smoothed voltage traces is shown in Figure 5c. Arrows \nindicate the locations of two zero-crossings which the chip reports at the output. \nThe reported zero-crossings accurately localize the positions of the edges in the \nimage. The trace in Figure 5c crosses zero at other locations, but zero-crossings \nwith slope less than the adjustable threshold are masked by the circuitry shown in \nFigure 4. This allows for noise and imperfections in the circuitry and can be used \nto filter out weaker edges which are not relevant to the application. \n\nFigure tj shows the response when two fingers are held one meter from the lens \nand swept across the field of view. The fingers appear as bright regions against a \ndarker background. The chip accurately localizes the four edges (two per finger) as \nindicated by the pulses below each voltage trace. As the fingers move quickly back \nand forth across the field of view, the image and the zero-crossings follow the object \nwith no perceived delay. The measured response time of the chip to the appearance \nof a detectable discontinuity in light intensity varies from about 100j.lsec in bright \nindoor illumination to about 10msec in a dark room. The time constant is longer \nfor lower illumination due to the design of the logarithmic photoreceptor (Mead, \n1989). \nThe chip has been proven to be a reliable and robust edge detector through its \nuse in two systems. It provides data for a system designed at the Hughes Aircraft \nArtificial Intelligence Center which tracks edges and reports their velocities at over \n300Hz. Also, we have built a hand-held battery powered device which displays the \nlocations of edges on a bank of 63 LEDs. This device accurately detects edges \nin many different environments, ranging from a dimly lit room to bright outdoor \nsunlight. \n\n4 SIMULATIONS OF A 2-D VERSION \n\nWe have used a computer simulation of rectangular networks of ideal linear resistors \nto test the extension of this technique in two dimensions. Results indicate that the \nzero-crossings from the difference of two symmetrical exponential filters are quali(cid:173)\ntatively similar to those from the DOG. Figure 7 compares the zero-crossing from \na difference of Gaussians filter (left) to those from a difference of resistive networks \nfilter (right). For the DOG, a Gaussian of u = 1.25 pixels is subtracted from a Gaus(cid:173)\nsian of u = 0.75 pixels. For the resistive networks, a filter of characteristic length \n1 was subtracted from one with characteristic length 1/V2. Weaker zero-crossings \nare masked from both output images by thresholding on the slope to emphasize \ncomparison of the stronger edges. \n\n\f404 \n\nBair and Koch \n\n(a) _____ 1 \n\nI \n\n(b) \n\nFigure 5: Chip response to a light bar stimulus. \n\nFigure 6: Chip response to two moving stimuli. \n\n\fAn Analog VLSI Chip for Finding Edges from Zero-crossings \n\n405 \n\n, \n\ni \n\" \n\n,,\" , \n\nFigure 7: Zero--crossings from the difference of two Gaussians (left) and similar \noutput from a difference of decaying exponentials (right) , \n\n5 CONCLUSION \n\nOur analog VLSI chip shows that finding the thresholded zero--crossings of the \ndifference of exponential filters is a robust technique for localizing intensity edges in \nreal-time. The robust behavior of the chip in systems to track edges and determine \nvelocity demonstrates the usefulness of implementing simple algorithms in analog \nVLSI and the advantages of avoiding large, more general digital systems for these \npurposes. \n\nAcknowledgements \n\nMany thanks to Carver Mead. Our laboratory is partially supported by grants \nfrom the Office of Naval Research, the Rockwell International Science Center and \nthe Hughes Aircraft Artificial Intelligence Center. Wyeth Bair is supported by a \nNational Science Foundation Graduate Fellowship. Thanks also to Steve DeWeerth \nand John Harris. \n\nReferences \n\nMarr, D. and Hildreth, E.C. (1980) Theory of edge detection. Proc. Roy, Soc. \nLond. B 207:187-217. \n\nMead, C.A. (1989) Analog VLSI and Neural Systems. Addison-Wesley: Reading, \nMA. \n\n\f", "award": [], "sourceid": 413, "authors": [{"given_name": "Wyeth", "family_name": "Bair", "institution": null}, {"given_name": "Christof", "family_name": "Koch", "institution": null}]}