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