{"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}]}