Chapter
2.2.6 Synaptic signal flow graph representation
3 Characteristics and analysis of simple CNN templates
3.1 Two case studies: the EDGE and EDGEGRAY templates
EDGE: binary edge detection template
EDGEGRAY: gray-scale edge detection template
3.2 Three quick steps for sketching the shifted DP plot
3.3 Some other useful templates
3.3.1 CORNER: convex corner detection template
3.3.2 THRESHOLD: gray-scale to binary threshold template
3.3.3 FILBLACK and FILWHITE templates
FILBLACK: Gray-scale to black CNN
FILWHITE: Gray-scale to white CNN
3.3.4 LOGNOT: Logic NOT and set complementation…
3.3.5 LOGOR: Logic OR and set union (disjunction) template
3.3.6 LOGAND: Logic AND and set intersection (conjunction) template
3.3.7 LOGDIF: Logic difference and relative set complement (P \ P = P – P) template
3.3.8 SHIFT: Translation (by 1 pixel-unit) template
3.3.9 CONTOUR-1: Contour detection template
3.3.10 EROSION: Peel-if-it-doesn’t-fit Template
3.3.11 DILATION: Grow-until-it-fits template
4 Simulation of the CNN dynamics
4.1 Integration of the standard CNN differential equation
4.4 Digital hardware accelerators
4.5 Analog CNN implementations
4.7 Discrete-time CNN (DTCNN)
5 Binary CNN characterization via Boolean functions
5.1 Binary and universal CNN truth table
5.2 Boolean and compressed local rules
Computer-aided method for proving local rules
5.3 Optimizing the truth table
6 Uncoupled CNNs: unified theoryand applications
6.1 The complete stability phenomenon
6.2 Explicit CNN output formula
6.3 Proof of completely stable CNN theorem
6.4 The primary CNN mosaic
6.5 Explicit formula for transient waveform and settling time
6.6 Which local Boolean functions are realizable by uncoupled CNNs?
6.7 Geometrical interpretations
6.8 How to design uncoupled CNNs with prescribed Boolean functions
6.9 How to realize non-separable local Boolean functions?
7 Introduction to the CNN Universal Machine
7.1 Global clock and global wire
7.3 Translation of sets and binary images
7.4 Opening and closing and implementing anymorphological operator
7.5 Implementing any prescribed Boolean transition function by not more than 256 templates
7.6 Minimizing the number of templates when implementing any possible Boolean transition function
7.7 Analog-to-digital array converter
8 Back to basics: Nonlinear dynamics and complete stability
8.1 A glimpse of things to come
8.2 An oscillatory CNN with only two cells
8.3 A chaotic CNN with only two cells and one sinusoidal input
8.4 Symmetric A template implies complete stability
8.5 Positive and sign-symmetric A template implies complete stability
8.6 Positive and cell-linking A template implies complete stability
8.7 Stability of some sign-antisymmetric CNNs
LaSalle’s invariance principle
9 The CNN Universal Machine (CNN-UM)
9.1.1 The extended standard CNN universal cell
9.1.2 The global analogic programming unit (GAPU)
Why stored programmability is possible?
9.2 A simple example in more detail
9.3 A very simple example on the circuit level
The steps of the solution
The flow diagram of the algorithm and the templates
The macro code of the algorithm
The functional circuit level schematics of an extended cell
The content of the global analogic programming unit (GAPU)
9.4 Language, compiler, operating system
10.1 Various design techniques
10.2 Binary representation, linear separability, and simple decomposition
10.3 Template optimization
10.4 Template decomposition techniques
11 CNNs for linear image processing
11.1 Linear image processing with B templates is equivalent to spatial convolution with FIR kernels
11.2 Spatial frequency characterization
11.3 A primer on properties and applications of discrete-space Fourier transform (DSFT)
11.4 Linear image processing with A and B templates is equivalent to spatial convolution with IIR kernels
12 Coupled CNN with linear synaptic weights
12.1 Active and inactive cells, dynamic local rules
Dynamic local rules (DLC)
12.2 Binary activation pattern and template format
12.3 A simple propagating type example with B/W symmetrical rule
12.3.2 Local rules and binary activation pattern
12.3.3 Template type and template form
12.3.4 System of inequalities and optimal solution
12.4 The connectivity problem
12.4.2 Local rules and binary activation pattern
12.4.3 Template type and template form
12.4.4 System of inequalities and optimal solution
13 Uncoupled standard CNNs with nonlinear synaptic weights
13.1 Dynamic equations and DP plot
Gray-scale contour detector
14 Standard CNNs with delayed synaptic weights and motion analysis
14.2 Motion analysis – discrete time and continuous time image acquisition
Generating the difference picture in continuous time mode
15 Visual microprocessors – analog and digital VLSI implementation of the CNN Universal Machine
15.2 Analogic CNN-UM cell
15.3 Emulated digital implementation
15.4 The visual microprocessor and its computational infrastructure
15.5 Computing power comparison
16 CNN models in the visual pathwayand the ‘‘Bionic Eye”
16.1 Receptive field organization, synaptic weights, and cloning template
16.2 Some prototype elementary functions and CNN models of the visual pathway
16.3 A simple qualitative ‘‘engineering” model of a vertebrate retina
Receptive field organization types (RF)
Multilayer CNN for receptive field interactions
The structure of a prototype retinal model
16.4 The ‘‘Bionic Eye” implemented on a CNN Universal Machine
2 Notations, definitions, and mathematical foundation
3 Characteristics and analysis of simple CNN templates
4 Simulation of the CNN dynamics
5 Binary CNN characterization via Boolean functions
6 Uncoupled CNNs: unified theory and applications
7 Introduction to the CNN universal machine
8 Back to basics: Nonlinear dynamics and complete stability
9 The CNN universal machine (CNN-UM)
11 CNNs for linear image processing
12 Coupled CNN with linear synaptic weights
13 Uncoupled standard CNNs with nonlinear synaptic weights
14 Standard CNNs with delayed synaptic weights and motion analysis
15 Visual microprocessors – analog and digital VLSI implementation of the CNN universal machine
16 CNN models in the visual pathway and the ‘‘Bionic Eye”
Exercise 2.1 (Simple morph)
Exercise 2.2 (Hexagonal neighborhood)
Exercise 2.3 (Triangular neighborhood)
Exercise 3.1 (Separate connected objects)
Exercise 3.2 (EDGE–CORNERDETECTION comparison)
Exercise 3.3 (Main group of points)
Exercise 5.1 (Truth table)
Exercise 5.2 (Boolean function)
Exercise 6.1 (Crossword puzzle endings)
Exercise 8.1 (Dynamic construction of a grid)
Exercise 8.2 (Reaction–diffusion equations)
Exercise 8.3 (Surface interpolation)
Exercise 8.4 (Black pixel count)
Exercise 8.5 (Second-order oscillator)
Exercise 9.1 (Roughness measurement)
Exercise 9.2 (Local concavity)
Exercise 9.3 (Concavity orientation)
Exercise 9.4 (Improved concavity orientation)
Exercise 9.6 (Absolute value)
Exercise 9.7 (X and O segmentation)
Exercise 9.8 (QCA simulation)
Exercise 10.1 (Template design)
Exercise 12.1 (Distance classification)
Exercise 12.2 (Arc detection)
Exercise 12.3 (Detect forks)
Exercise 12.4 (Locate small ellipses)
Exercise 13.1 (Linear morph)
Exercise 13.3 (Limit set)
Exercise 13.4 (Chaotic cell)
Appendix A: TEMLIB, a CNN Template Library
Appendix B: TEMPO, template optimization tools
Appendix C: CANDY, a simulator for CNN templates and analogic CNN algorithms