300 likes | 423 Views
Barcelona, 19/2/03. Robot Vision with CNNs: a Practical Example. M. Balsi Dep. of Electronic Engineering “La Sapienza” Univ. of Rome, Italy. P. Vitullo P. Campolucci G. Apicella L. Pompeo D. Bellachioma S. Graziani. X. Vilasís–Cardona S. Luengo J. Solsona R. Funosas. A. Maraschini
E N D
Barcelona, 19/2/03 Robot Vision with CNNs:a Practical Example M. Balsi Dep. of Electronic Engineering “La Sapienza” Univ. of Rome, Italy P. Vitullo P. Campolucci G. Apicella L. Pompeo D. Bellachioma S. Graziani X. Vilasís–Cardona S. Luengo J. Solsona R. Funosas A. Maraschini A. Aznar V. Giovenale P. Giangrossi
Framework of this work • completely autonomous robot • simple (cheap) hardware • vision-based guidance • short term: line following • longer term: navigation in a real environment
Architecture • Cellular Neural Networks to handle all the image processing • Fuzzy-rule-based navigation
Cellular Neural Networks • Fully parallel analog vision chips • Capable of real-time nonlinear image processing and feature detection • Algorithmically programmable to implement complex operations • On-board image acquisition (focal-plane processing)
Cellular Neural Networks • Recurrent Neural (?) Network • Locally connected VLSI-friendly • Space-invariant synapses (cloning templates) • small number of parameters: explicit design • Continuous variables – analog computing (discrete-time model for digital)
Locally connected VLSI Space-invariant synapses Topology
Discrete–time model • Binary state variable • Analog or binary input depending on implementation
Application • Input ports: analog arrays u, x(0) • Output port: binary array x() • “Analog instruction”: {A,B,I} (cloning template) • Feature detection (nonlinear image filtering)
CNN “Universal” Machine • Local memory • Global control (broadcasting cloning templates and memory transfer commands) • “Analogic” computing: stored-program analog/logic algorithms
Task: line following • The robot is to follow a maze of straight lines crossing at approximately right angles • Functions required by vision module: • Acquiring image, cleaning, thinning lines • Measuring orientation/displacement of lines
Image processing algorithm • Image acquisition • Binarization • Line thinning
Image processing algorithm (ctd.) • Directional line filtering • Projection
control (386) CNN emul. (DSP) el cochecito(Barcelona)
Visibilia (Rome) FPGA-based CNN emulator Celoxica RC-100 board Xilinx Spartan II 200Kgates PAL B/W CAMERA PS/2 mouse port STEPPER MOTOR CONTROLLER SERVO MOTOR (steering) microcontroller Jackrabbit BL1810 Parallel port E STEPPER MOTOR (advancing) Rabbit2000 microcontroller PIC 16F84 LCD Serial port D Parallel port A
VGA Celoxica RC-100
start Y hor store left avail. driving vert hor N N Y timer:=0 Y hor Y timer>10s N N Y follow vert turn left if avail. else right diag (L/R) Y follow diag normal driving N crossing
Continuation of the work • more realistic tasks: • obstacle avoidance • navigation in a real-life environment
using other sensors together with vision, e.g. ultrasound • monocular range evaluation • local path-finding strategies Obstacle avoidance
Barcelona, 19/2/03 Robot Vision with CNNs:a Practical Example M. Balsi Dep. of Electronic Engineering “La Sapienza” Univ. of Rome, Italy balsi@uniroma1.it