Computer Vision - Dipartimento di Matematica e Informatica

Computer Vision
Corso di Laurea Magistrale in
Informatica
(9 CFU)
A.A. 2011/2012
Sebastiano Battiato
Martedì - Giovedì (10.00-13.00) – Aula 24
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
What is Computer Vision?

La Visione è forse il senso più importante che
l’uomo possiede. Essa permette di inferire il mondo
tridimensionale, di riconoscere e localizzare gli
oggetti presenti in una scena, di percepire i rapidi
cambiamenti dell’ambiente, ecc.

La Computer Vision è la disciplina che studia
come abilitare i computer alla comprensione e alla
interpretazione delle informazioni visuali presenti in
immagini o video.
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
1
Computer Vision
Tra tutte le abilità sensoriali, la visione è largamente
riconosciuta come quella con le maggiori potenzialità. Le
capacità dei sistemi biologici sono formidabili: l’occhio
raccoglie una banda di radiazioni elettromagnetiche
rimbalzate su diverse superfici e provenienti da fonti
luminose diverse ed il cervello elabora questa informazione
formando il quadro della scena come noi la percepiamo.
Se volessimo dare una definizione, potremmo dire che la
Visione Computazionale (VC) o Computer Vision, si
occupa della analisi di immagini numeriche al calcolatore.
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Computer Vision
L’analisi è finalizzata a scoprire cosa e presente nella scena e
dove. Non si occupa di:
Elaborazione di immagini: miglioramento, restauro e
compressione di immagini. Si elabora una immagine per ottenerne
un’altra in qualche senso “migliore”;
Riconoscimento di pattern: (estrazione),
classificazione di caratteristiche nelle immagini.
identificazione,
Computer Vision ≠ Pattern Recognition
Computer Vision ≠ Image Processing
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
2
Obiettivi della Computer Vision
Interpretare pixel
Ciò che vediamo
Ciò che un computer vede
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Source: S. Narasimhan
Obiettivi della Computer Vision
Source: “80 million tiny images” by Torralba et al.
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
3
Visione come strumento
Real-time stereo
Structure from motion
Reconstruction from
Internet photo collections
NASA Mars Rover
Goesele et al.
Pollefeys et al.
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Challenges: variazioni del punto di vista
Michelangelo 1475-1564
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Fei-Fei, Fergus & Torralba
4
Challenges: illuminazione
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
image credit: J. Koenderink
Challenges: Scala
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Fei-Fei, Fergus & Torralba
5
Challenges: deformazioni
Xu, Beihong 1943
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Fei-Fei, Fergus & Torralba
Challenges:
occlusione
Magritte, 1957
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Fei-Fei, Fergus & Torralba
6
Challenges: Moto
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Lazebnik
Challenges: Variazioni sul tema (intra-classe)
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Fei-Fei, Fergus & Torralba
7
Challenges: ambiguità locale
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Fei-Fei, Fergus & Torralba
Challenges: ambihuità locale
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Source: Rob Fergus and Antonio Torralba
8
Challenges: ambiguità locale
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Source: Rob Fergus and Antonio Torralba
Challenges or opportunities?
Si possono però sfruttare al di là di tutto, alcune peculiarità
intrinseche delle immagini stesse (i cosiddetti cues)
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Image source: J. Koenderink
9
Depth: Prospettiva (lineare)
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Lazebnik
Depth: Prospettiva “aerea”
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Lazebnik
10
Shape: Texture gradient
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Lazebnik
Shape and lighting: Shading
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Source: J. Koenderink
11
Position and lighting: Cast shadows
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Source: J. Koenderink
Casi limite
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
12
Connections to other
disciplines
Artificial Intelligence
Robotics
Machine Learning
Computer Vision
Cognitive science
Neuroscience
Computer Graphics
Image Processing
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Optical character recognition (OCR)
Digit recognition
yann.lecun.com
License plate readers
http://en.wikipedia.org/wiki/Automatic_number_plate_recognition
Sudoku grabber
http://sudokugrab.blogspot.com/
Automatic
check
processing
Computer
Vision
A.A.
2010/2011 – Prof. Sebastiano Battiato
Source: S. Seitz, N. Snavely
13
Biometrics
Fingerprint scanners on
many new laptops,
other devices
Face recognition systems now beginning
to appear more widely
http://www.sensiblevision.com/
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Source: S. Seitz
Biometrics
How the Afghan Girl was Identified by Her Iris Patterns
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Source: S. Seitz
14
Mobile visual search: Google Googles
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Lazebnik
Face detection
Many new digital cameras now detect faces

Canon, Sony, Fuji, …
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Source: S. Seitz
15
Smile detection
Sony Cyber-shot® T70 Digital Still Camera
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Source: S. Seitz
Face recognition: Apple iPhoto software
http://www.apple.com/ilife/iphoto/
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Lazebnik
16
Automotive safety
Mobileye: Vision systems in high-end BMW, GM, Volvo models




Pedestrian collision warning
Forward collision warning
Lane departure warning
Headway monitoring and warning
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Source: A. Shashua, S. Seitz
Vision-based interaction: Xbox Kinect
http://electronics.howstuffworks.com/microsoft-kinect.htm
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Lazebnik
17
Computer Vision Goals

Costruire sistemi capaci di prendere decisioni a partire da
una descrizione della scena estrapolata da immagini/video;

Inferire il mondo 3D a partire da immagini digitali;

Riconoscimento di oggetti, scene, contesto a partire da
immagini digitali.

….
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Perché studiare Computer Vision?
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
slide credit: Lazebnik
18
Applications: The Computer Vision
Industry (1)

Automobile driver assistance
Systems that warn automobile drivers of danger, provide adaptive cruise control, and give
driver assistance.
–

Automobile traffic management

Film and Television

General purpose vision systems
Systems for reading automobile license plates.
–
Systems for tracking objects in video or film action to provide enhanced broadcasts.
–
Vision systems for object recognition and navigation. Applications include mobile robotics,
grocery retail, and recognition from cell phone cameras.
–

Image search

Industrial automation and inspection
Image retrieval based on content.
–
Automotive industry: Systems for vision-guided robotics in the automotive industry.
Electronics industry: Electronics inspection systems for component assembly and
–
–
semiconductor manufacturing.
Food and agriculture: Vision systems for inspecting and grading fruits and vegetables.
Printing and textiles: Inspection for the printing and packaging industries.
–
–
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Applications: The Computer Vision Industry (2)

Medical and biomedical
–
Uses real-time stereo vision to detect and track the pose of markers for surgical
applications.

Pedestrian tracking

Safety monitoring

Security
–
–
–
Systems for counting and tracking pedestrians using overhead cameras.
System monitors swimming pools to warn of accidents and drowning victims.
Vision systems for video surveillance, including tracking, object monitoring, and
behavior analysis.

Biometric

Three-dimensional modeling

Video Games
–
–
–
Systems for Fingerprint recognition and biometric face recognition
Creation of texture-mapped 3-D models from a small number of photographs.
Interactive advertising for projected displays that tracks human gestures.
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
19
Videos Examples















Object Classification
Automatic Object Detection and Recognition
Pedestrian Detection
Pedestrian Detection in Crowds
Face Tracking
Body Tracking
People Counting in store
In/out People counting
Detection of scene in video
Detection of Actions in Video
Detection of independent motion in Crowds
3D city modelling from photos
3D bone classification and Reconstruction
3D from single photo
3D Object Modelling from images
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Demos

Visualizzazione di fotografie in un ambiente 3D “virtuale”
–
http://photosynth.net
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
20
Pitt Patt: Video Face Mining
http://facemining.pittpatt.com/play_video.php?S1E03
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Links in Rete
–
The Computer Vision Home Page
–
–
Computer Vision Education
–
–
http://www.cved.org/
The Computer Vision Industry
–
–
http://www.cs.cmu.edu/~cil/vision.html
http://www.cs.ubc.ca/spider/lowe/vision.html
CVOnLine
–
http://homepages.inf.ed.ac.uk/rbf/CVonline/
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
21
Programma di massima del
Corso (1/2)
Il corso si propone di approfondire teorie e tecniche specificatamente
rivolte alla visione artificiale con una serie di applicazioni.
La prima parte del corso verterà su:
- Modelli di Formazione dell’Immagine: Camera Calibration
- Filters e Features
-
-
-
Edge, Linee, Trasformata di Hough
Piramidi Laplaciane
Corner Detection (Harris, …)
SIFT: Teoria e Applicazioni
Beyond SIFT
Tecniche di segmentazione:
-
Thresholding
Seeded Region Growing
Statistical Region Merging, …
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Programma di massima del
Corso (2/2)
La seconda parte verterà su:
- Modelli probabilistici applicati alla Visione
- Shape Modeling
- Face Detection and Recognition
Alcuni casi di studio e applicazioni
CBIR Retrieval
Video Stabilization
L'ultima parte del corso è dedicata ad un tema
"specialistico" d'approfondimento.
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
22
Computational Photography
In particolare grazie ad una accordo con il gruppo di
ricerca del prof. Levoy (Stanford) e con la Nokia sarà
possibile sviluppare dei progetti ed algoritmi su alcuni
dispositivi dedicati (N900, FrankenCamera) sfruttando
le librerie opensource che fanno capo al progetto
Camera 2.0 disponibili http://fcam.garage.maemo.org/
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Computational Photography
Computational photography refers broadly to sensing
strategies and algorithmic techniques that enhance or extend
the capabilities of digital photography. The output of these
techniques is an ordinary photograph, but one that could not
have been taken by a traditional camera.
Camera 2.0 project
Stanford Computer Graphics Laboratory,Nokia Research Center
Palo Alto Laboratory, Adobe Systems, Kodak, Hewlett-Packard,
Walt Disney Company. Also in collaboration with F. Durand and
W. Freeman of MIT.
http://graphics.stanford.edu/projects/camera-2.0/
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
23
Recent Trends: FrankenCamera
An Experimental Platform for Computational Photography
[SIGRAPH10][IEEE CGA 2010] by Levoy et al.
It has been designed and implemented an open architecture and
API for the so-called Frankencamera. It consists of a base hardware
specification, a software stack based on Linux, and an API for C++.
The architecture permits control and synchronization of the sensor
and image processing pipeline at the microsecond time scale, as
well as the ability to incorporate and synchronize external hardware
like lenses and flashes.
http://graphics.stanford.edu/papers/fcam/
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
FrankenCamera results
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
24
FrankenCamera results
http://graphics.stanford.edu/papers/fcam/fcam.mov
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Typical Imaging Pipeline (1)
Real Scene
Sensor
Filters
Lens
Post-Acquisition
Pre-Acquisition
Auto Focus
Image
Statistics
Auto
Exposure
White
Balance
Color
Interpolation
Color
Matrixing
Sharpening
Noise
Reduction
Color
Conversion
Gamma
Correction
Camera Applications
Multi-Frame
Res. Enhanc.
Panoramic
Red Eye
Removal
Video
Stabilization
Data coming from the sensor (in Bayer format) are first analyzed to collect useful statistics for
parameters setting (pre-acquisition) and then properly processed in order to obtain, at the
end of the process, a compressed RGB image of the acquired scene (post-acquisition and
camera applications).
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
25
Typical Imaging Pipeline (2)
Real Scene
Sensor
Filters
Lens
Post-Acquisition
Pre-Acquisition
Auto Focus
Image
Statistics
Auto
Exposure
White
Balance
Color
Interpolation
Color
Matrixing
Sharpening
Noise
Reduction
Color
Conversion
Camera Applications
Multi-Frame
Res. Enhanc.
Panoramic
Red Eye
Removal
Gamma
Correction
Video
Stabilization
Camera application functionalities are not mandatory and usually include solution for
panoramic, red-eye removal, video stabilization. They can be considered an added value.
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Limiti della fotografia tradizionale
Slides from Lazebnik
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
26
Limiti della fotografia tradizionale
Slides from Lazebnik
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Limiti della fotografia tradizionale
Slides from Lazebnik
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
27
Limiti della fotografia tradizionale
Slides from Lazebnik
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Limiti della fotografia tradizionale
Slides from Lazebnik
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
28
Limiti della fotografia tradizionale
Slides from Lazebnik
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Limiti della fotografia tradizionale
Slides from Lazebnik
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
29
Limiti della fotografia tradizionale
Slides from Lazebnik
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Embedded Computer Vision

Implementazione su dispositivi consumer (digital
camera, smartphone) di tecnologie ad-hoc
Internet Computer Vision

Soluzioni di CV orientati alla Rete (Scalabilità,
Copyright, Privacy, ecc.)
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
30
N900: Ambienti di sviluppo
There are several development environments for the Nokia
N900. We'll describe how to set everything up using Nokia's new
Nokia Qt SDK.
You'll need both your development machine and your N900 on
hand to complete all the steps below, and a USB cable to
connect the two. You can also write, compile, and test your code
either from the Qt Creator IDE, or a command line. We'll
describe both options, so pick the path you prefer. This is
entirely a matter of personal preference, and the first few steps
are the same either way.
Further Educational material can be found here:
http://qt.nokia.com/services-partners/qt-in-education/qt-ineducation-course-material
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
OpenCV

OpenCV (Open Source Computer Vision) è una libreria di
funzioni per la realizzazione di soluzioni di computer vision in
applicazioni real time.

OpenCV is released under a BSD license, it is free for both
academic and commercial use. The library has >500
optimized algorithms. It is used around the world, has >2M
downloads and >40K people in the user group. Uses range
from interactive art, to mine inspection, stitching maps on the
web on through advanced robotics.

Link: http://opencv.willowgarage.com/wiki/
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
31
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Books









E. Trucco, A. Verri, “Introductory Techniques for 3-D Computer Vision”,
Prentice Hall, 1998
Richard Szeliski, Computer Vision: Algorithms and Application, Springer
2010 (lnk)
Mubarak Shah, "Fundamentals of Computer Vision" (On-Line), 1997
G. Bradski, A. Kaehler, “Learning OpenCV Computer Vision with the
OpenCV Library” O'Reilly Media, 2008
R. Hartley and A. Zisserman, “Multiple View Geometry in Computer
Vision”, 2004
D. A. Forsyth, J. Ponce, “Computer Vision a Modern Approach”, Prentice
Hall PTR, 2002
R. O. Duda, P. E. Hart, and D. G. Stork, “Pattern Classification”, Wiley
Interscience, 2001
C. M. Bishop, “Pattern Recognition and Machine Learning”, 2006
Gonzalez, Woods, “Elaborazione delle Immagini Digitali”, PBM, Terza
Edizione, 2008
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
32
Modalità d’esame
Progetto SW personale da concordare con il docente.
Prove in Itinere (almeno una) con esonero.
Colloquio Orale
comprendente la Demo del progetto
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Utility
Slides e Materiale Vario:
www.dmi.unict.it/~battiato/CVision1112/CVision1112.htm
Forum
E-mail:
[email protected]
Ricevimento:
(Consultare il web)
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
33
Outline del corso




Introduzione
Camera Calibration
Computational Photography
Low Level Computer Vision








Edge, Linee, Texture, Corner
SIFT: Teoria ed Applicazioni
Beyond SIFT
Tecniche di Segmentazione applicate alle immagini digitali
Face Detection and Recognition
Shape Characterization/Modeling
Modelli probabilistici applicati alla Visione
Applicazioni



Video Stabilization
CBIR Retrieval
…
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Computer Vision
Distinguiamo la CV di basso livello e di alto livello.
La prima si occupa di estrarre determinate proprietà fisiche
dell’ambiente
visibile,
come
profondità,
forma
tridimensionale, contorni degli oggetti.
I processi di visione di basso livello sono tipicamente
paralleli, spazialmente uniformi e relativamente indipendenti
dal problema e dalla conoscenza a priori associata a
particolari oggetti.
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
34
Computer Vision
Viceversa, la visione di alto livello si occupa della
estrazione delle proprietà delle forme e di relazioni spaziali,
di riconoscimento e classificazione di oggetti. I processi di
alto livello sono di solito applicati ad una porzione
dell’immagine,
dipendono
dall’obbiettivo
della
computazione e dalla conoscenza a priori associata agli
oggetti.
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
35
Problemi tipici (1)


Condizioni di illuminazione che producono una
variazione nella distribuzione dell’intensità luminosa
della scena.
Trasformazioni geometriche rigide dell’oggetto (in
ordine di difficoltà crescente):
–



roto-traslazioni e variazioni di scala in 2D (e in 3D).
Rumore.
Gap: tipo particolare di rumore consistente nella
mancanza di elementi nell’immagine.
Occlusione.
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
Problemi tipici (2)





Segmentazione: partizionamento dei dati di input in
entità semantiche distinte (linee, regioni, oggetti).
Indexing: effettuare una ricerca efficiente in un
catalogo di modelli.
Identificazione: riconoscere l’istanza di un oggetto in
un’immagine.
Oggetti non rigidi (forbici, volti umani, ...). Il loro
riconoscimento è complicato dalla possibilità che ha
la loro forma di variare.
Classificazione: riconoscere l’appartenenza ad una
data classe di un oggetto in un’immagine.
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
36
Calendario di massima
Camera Calibration (con il dott. Eugenio Rustico, circa
3 lezioni)
OpenCV, Matlab,
Imaging Pipeline
Computational Photography
Low Level Vision
Mid Level Vision: Tecniche di Segmentazione
ecc.
Computer Vision A.A. 2010/2011 – Prof. Sebastiano Battiato
37