Interaction Technology

Size: px
Start display at page:

Download "Interaction Technology"

Transcription

1 Faculty of Science Information and Computing Sciences 2017 Introduction Computer Vision Coert van Gemeren 8 maart 2017

2 Information and Computing Sciences TODAY 1.Computer Vision 2.Programming C/C++ OpenCV 3.Installation & Tutorial OpenCV 8 maart

3 Information and Computing Sciences COMPUTER VISION 8 maart

4 Information and Computing Sciences COMPUTER VISION Definition Computer Vision is the AUTOMATIC ANALYSIS and INTERPRETATION of IMAGES or image sequences (VIDEO). Computer Graphics Image Processing 3D Modeling C.G. C.S. Cognitive Science Vis. Perception Semantics M.L. Computer Vision Machine Learning Search Problems Classification Problems 8 maart

5 Information and Computing Sciences COMPUTER VISION Relation to subfields Image Computer vision Metadata / Signaling interface 3D model 8 maart

6 COMPUTER VISION Example pipeline: Hawkeye goal decision system 6 high speed cameras (200+ fps) around the pitch, aimed at the goal Via Invoegen Koptekst en Voettekst invoegen Subafdeling<2spaties> <2spaties>Titel van de presentatie 8 maart

7 COMPUTER VISION Example pipeline: Detection (CV + trigonometry) Process the images to find (part of) the ball in at least 3 camera viewpoints Use triangulation + timing data to estimate the 3D spatial location of the ball and predict its future position Via Invoegen Koptekst en Voettekst invoegen Subafdeling<2spaties> <2spaties>Titel van de presentatie 8 maart

8 COMPUTER VISION Example pipeline: Triangulation & interfacing Estimate if the position of the ball is in the goal-box Send signal to the referee s watch Via Invoegen Koptekst en Voettekst invoegen Subafdeling<2spaties> <2spaties>Titel van de presentatie 8 maart

9 COMPUTER VISION Example pipeline: Animation (graphics) Generate animation of the ball and the players with respect to the goal-box Via Invoegen Koptekst en Voettekst invoegen Subafdeling<2spaties> <2spaties>Titel van de presentatie 8 maart

10 Information and Computing Sciences COMPUTER VISION Input & Output Input to Computer Vision Algorithm: Image (single or multiple) Video (sequence of images) Depth images Additional information: Metadata Image captions Calibration data etc. 8 maart

11 Information and Computing Sciences person person COMPUTER VISION Input & Output Output from a Computer Vision Algorithm: Localization (person detection) Classification (eg.: female, male, ~25 y/o ) Identification (eg.: Merel, René ) 3Hoog/DUB Segmentation 3D Shape Pose Reconstruction Scene Information (depth, lighting, etc.) Camera Information (zoom, viewpoint) 8 maart

12 Information and Computing Sciences APPLICATIONS 8 maart

13 Information and Computing Sciences APPLICATIONS Process Automation License plate recognition Handwriting recognition/verification Product verification Rail track inspection Measuring distances 8 maart

14 Information and Computing Sciences APPLICATIONS Big Data Face recognition in social networks Automatic tagging of images Finding duplicate movies Recognizing where photos have been taken Reconstructing the world 8 maart

15 Information and Computing Sciences APPLICATIONS Security & Surveillance Finding left luggage Localizing threats Crowd control Monitoring of elderly homes Drowning warning systems

16 Information and Computing Sciences APPLICATIONS Human Computer Interaction Gaming Social robots Gesture control

17 Information and Computing Sciences APPLICATIONS (Serious) Gaming Body movement: Wii, Move, Kinect Facial expression: affect, control, playful chat (avateering) Scene recognition/augmented reality

18 Information and Computing Sciences APPLICATIONS Medical Rehabilitation Visual assistance Anomaly detection

19 Information and Computing Sciences APPLICATIONS Automotive Industry Automatic collision avoidance Pedestrian detection Lane assist Autonomous driving Driver attention detection

20 Information and Computing Sciences APPLICATIONS Face detection Surveillance Consumer products Social networks

21 CHALLENGES Information and Computing Sciences

22 Information and Computing Sciences CHALLENGES Digitization Information is in the pixels (more about that next week) But pixels can vary a lot

23 Information and Computing Sciences CHALLENGES Projection Depth is lost Relative sizes Deformation

24 Information and Computing Sciences CHALLENGES Projection Honda Illusions, An Impossible Made Possible

25 Information and Computing Sciences CHALLENGES Low resolution & noise Limited image resolution Limited dynamic sensor range Weather

26 Information and Computing Sciences CHALLENGES Lighting Directed light Amount of lighting Shadows

27 CHALLENGES Lighting Information and Computing Sciences

28 CHALLENGES Lighting Information and Computing Sciences

29 Information and Computing Sciences CHALLENGES Variation in shape and size Inter-class variation Intra-class variation Viewpoint variation

30 Information and Computing Sciences CHALLENGES Clutter and occlusion Distractions due to cluttered environment Incomplete observation due to partial occlusions

31 Information and Computing Sciences CHALLENGES Context Other objects Object use Prior knowledge

32 Information and Computing Sciences CHALLENGES Context Other objects Object use Prior knowledge Light

33 QUESTIONS? Information and Computing Sciences

34 OpenCV Information and Computing Sciences

35 OpenCV OpenCV - Computer Vision Package: C/C++ (Python / Java) Many tutorials available to get you started: All provided code and tutorials will be C++!

36 OpenCV OpenCV Low level image manipulations

37 OpenCV 1 Images consist of pixels Pixels consist of numbers

38 OpenCV 1 Images consist of pixels Each cell encodes a pixel intensity value as an unsigned char value (uchar). Which is 8 bit (0 255) scalar values Gray images are encoded by a single scalar value uchar gray_value = 127; Color is encoded in a vector of 3 scalars of which the order is BGR (vs. RGB) cv::vec3b color_value = cv::vec3b(0, 127, 255); cv::vec3b is an alias of cv::vec<unsigned char, 3>

39 OpenCV 1 Images consist of pixels Each cell encodes one pixel intensity value as a scalar value Common primitive types for scalar values in OpenCV are unsigned 8 bit char values (unsigned char) o [0 255] signed 16 bit integer values (integer) o [ ] signed 32 bit floating point values (float) o [-inf inf ] signed 64 bit double precision floating point values (double) o [-inf inf ] Many more types exist of course

40 OpenCV 2 The cells in a rectangular matrix make up the image A 2 dimensional matrix with cells a 11 to a mn A single channel uchar matrix encodes gray images Colors are interleaved in the matrix through the 3-channel vectors a 11 = cv::vec3b(0, 127, 255), a 12 = cv::vec3b(0, 127, 255), etc. BGR BGR BGR (vs. BBB GGG RRR) As the image are matrices, all standard matrix operations can be applied to them: add, subtract, multiply, etc. A video (sequence of images) can either be a vector of matrices, or a 3 dimensional matrix

41 OpenCV 2 The specifications of an image matrix A matrix can have different cell types which have to be assigned on definition uchar cv::mat(rows, cols, CV_8U); // 8 bit, 1 chan cv::vec3b cv::mat(rows, cols, CV_8UC3); // 8 bit, 3 chan int cv::mat(rows, cols, CV_32S); // 32 bit, 1 chan float cv::mat(rows, cols, CV_32F); // 32 bit, 1 chan double cv::mat(rows, cols, CV_64F); // 64 bit, 1 chan A data type is given by the CV_-macro (blue), but it can also be retrieved from the DataType class: CV_32F == cv::datatype<float>::type; What is the definition of the data type for CV_32FC3?

42 OpenCV 2 The specifications of an OpenCV matrix Matrices in OpenCV can become very large Copying cv::mat objects around does not copy all data each time: cv::mat A = cv::mat::zeros(1920, 1080, CV_64FC3); // ~50MB of memory cv::mat B(A); // copy constructor cv::mat C = A; // assignment cv::mat D = functionreturningmata(a); // return by value Doing anything to the data of B and C will also change the data in A! This is because the matrix object has a reference counter, to which 1 is added in each of these cases. The matrix data is not freed from memory until this reference counter reaches 0, meaning that the last object has ceased to exist. This keeps your program fast and your memory footprint low! What about matrix D?

43 OpenCV 2 The specifications of an OpenCV matrix For clarity most OpenCV functions have a source and destination parameter used as reference variables cv::mat D; functionturingaintod(a, D); void functionturingaintod(const cv::mat &src, cv::mat &dst); The following operations copy every value of a cv::mat object: cv::mat E = A.clone(); // deep copy each value of entire matrix cv::mat F; A.copyTo(F, mask); // copy data marked by the mask Use these with care! They are more time and memory consuming Once copied, doing something to E or F does not change A!

44 Height (M) OpenCV 3 Low level image manipulations Width (N) The size of the matrix is given by a number of columns and rows, or a cv::size object defining width and height Matrix dimensions: MxN (Rows x Columns) const int r = 480, c = 640; cv::mat(r, c, CV_8U); Image dimensions: WxH (Columns x Rows) cv::size size(640, 480); cv::mat(size, CV_8U); A matrix can be resized to a given cv::size cv::resize(i_mat, o_mat, cv::size(100, 50)); by a given factor const double fx = 0.5, fy = 0.5; cv::resize(i_mat, o_mat, cv::size(), fx, fy); With different pixel interpolation schemes (def. cv::inter_linear) cv::resize(,,, fy, cv::inter_nearest); cv::resize(,,, fy, cv::inter_cubic);

45 OpenCV 3 Low level image manipulations A matrix can be cropped to a Region Of Interest with a cv::rect cv::mat lena = ; cv::rect roi(300, 300, 106, 106); // x, y, w, h cv::mat lenas_face = lena(roi); The ROI must be within the bounds of the image, an error is thrown otherwise. Bound the roi to the image size by first taking the intersection of the ROI and the image: cv::rect bounds = lena.size() + cv::rect(0,0,0,0); cv::rect crop_box = roi & bounds; cv::mat slice = lena(crop_box); lena lenas_face slice

46 OpenCV 3 Low level image manipulations A matrix can be rotated using a rotation matrix and an affine transformation cv::mat src =, dst; const double diag = sqrt(src.cols*src.cols+src.rows*src.rows); const int size = std::max<int>((diag src.cols)/2, (diag src.rows)/2)); cv::copymakeborder(src, src, size,size,size,size, cv::border_constant); // top,bottom,left,right cv::point2f center(src.cols / 2.f, src.rows / 2.f); const double angle = 45.0, scale = 1.0; cv::mat rot_m = cv::getrotationmatrix2d(center, angle, scale); cv::warpaffine(src, dst, rot_m, src.size());

47 OpenCV 3 Low level image manipulations A matrix can be flipped cv::flip(lena, lena, 0) cv::flip(lena, lena, 1) cv::flip(lena, lena, -1)

48 OpenCV 3 Low level image manipulations A color image matrix can be split into separate channels std::vector<cv::mat> channels; cv::split(lena, channels); 3 color channels reds greens blues

49 OpenCV 3 Low level image manipulations A vector of image matrices can be merged back together cv::mat merged; channels[1] = cv::mat::zeros(lena.size(), CV_8U); channels[2] = cv::mat::zeros(lena.size(), CV_8U); cv::merge(channels, merged); reds greens blues merged

50 OpenCV 4 Drawing functions are available All very straight forward cv::rectangle, cv::circle, cv::line, etc.

51 OpenCV OpenCV High level image manipulations

52 OpenCV 5 Optical flow Look at the motion between two images Translation (planar directions) 2D movement direction Per keypoint (sparse, left clip) Per pixel (dense, right clip)

53 OpenCV 5 Tracking Actively keep track of the location of a shape or object in a video Usually based on low level feature information such as color Can be based on high level information: tracking by detection

54 OpenCV 5 Object detection Person detection Locate (an upper) body in the image Face detection Location of a face Location of parts of a face person person

55 OpenCV 6 Computer Vision is an Engineering approach to Visual Perception: do smart things with the output of your image processing steps Count pixels Count pixels per region Count pixels with certain direction Ignore pixels with certain color Etc. Your solution depends strongly on your creativity and observation skills!

56 Questions?

57 Code and tutorial Visit: Download the tutorial PDF The tutorial goes over some of the things shown here today The tutorial is not mandatory Download the tutorial code and get it to run on your own system!

58 Assignment 2 Recognize a gesture or sign with a hand to make the system spray once or twice. Use a laptop with a webcam + OpenCV The system must recognize whether or not hands are washed. If not, let the LCD screen show an appropriate message. Interface between the Arduino and your laptop (via USB) The system must be evaluated with a user point of view. 3/8/

59 Assignment 2: deliverables The annotated code of your project (code only please:.cpp and.h files, no binaries or other stuff). Use Submit! Be concise Describe you classes, and describe the input and output of your functions/methods A short (max 1:00 minute) video that demonstrates your implementation. Don t , use YouTube, Vimeo, WeTransfer, etc. Mention a link in your report. User-evaluation report Details: 3/8/

60 Questions?

OpenCV. Basics. Department of Electrical Engineering and Computer Science

OpenCV. Basics. Department of Electrical Engineering and Computer Science OpenCV Basics 1 OpenCV header file OpenCV namespace OpenCV basic structures Primitive data types Point_ Size_ Vec Scalar_ Mat Basics 2 OpenCV Header File #include .hpp is a convention

More information

Digital Images. Kyungim Baek. Department of Information and Computer Sciences. ICS 101 (November 1, 2016) Digital Images 1

Digital Images. Kyungim Baek. Department of Information and Computer Sciences. ICS 101 (November 1, 2016) Digital Images 1 Digital Images Kyungim Baek Department of Information and Computer Sciences ICS 101 (November 1, 2016) Digital Images 1 iclicker Question I know a lot about how digital images are represented, stored,

More information

ECG782: Multidimensional Digital Signal Processing

ECG782: Multidimensional Digital Signal Processing Professor Brendan Morris, SEB 3216, brendan.morris@unlv.edu ECG782: Multidimensional Digital Signal Processing Lecture 01 Introduction http://www.ee.unlv.edu/~b1morris/ecg782/ 2 Outline Computer Vision

More information

Multimedia Retrieval Exercise Course 2 Basic Knowledge about Images in OpenCV

Multimedia Retrieval Exercise Course 2 Basic Knowledge about Images in OpenCV Multimedia Retrieval Exercise Course 2 Basic Knowledge about Images in OpenCV Kimiaki Shirahama, D.E. Research Group for Pattern Recognition Institute for Vision and Graphics University of Siegen, Germany

More information

Introduction to OpenCV

Introduction to OpenCV Introduction to OpenCV Stefan Holzer, David Joseph Tan Chair for Computer Aided Medical Procedures Technische Universität München Germany Introduction to OpenCV Where to get OpenCV?

More information

Introduction to Computer Vision. Srikumar Ramalingam School of Computing University of Utah

Introduction to Computer Vision. Srikumar Ramalingam School of Computing University of Utah Introduction to Computer Vision Srikumar Ramalingam School of Computing University of Utah srikumar@cs.utah.edu Course Website http://www.eng.utah.edu/~cs6320/ What is computer vision? Light source 3D

More information

Introduction to Computer Vision

Introduction to Computer Vision Introduction to Computer Vision Dr. Gerhard Roth COMP 4102A Winter 2015 Version 2 General Information Instructor: Adjunct Prof. Dr. Gerhard Roth gerhardroth@rogers.com read hourly gerhardroth@cmail.carleton.ca

More information

Index C, D, E, F I, J

Index C, D, E, F I, J Index A Ambient light, 12 B Blurring algorithm, 68 Brightness thresholding algorithm float testapp::blur, 70 kinect.update(), 69 void testapp::draw(), 70 void testapp::exit(), 70 void testapp::setup(),

More information

EE795: Computer Vision and Intelligent Systems

EE795: Computer Vision and Intelligent Systems EE795: Computer Vision and Intelligent Systems Spring 2012 TTh 17:30-18:45 WRI C225 Lecture 02 130124 http://www.ee.unlv.edu/~b1morris/ecg795/ 2 Outline Basics Image Formation Image Processing 3 Intelligent

More information

Computer Vision. Introduction

Computer Vision. Introduction Computer Vision Introduction Filippo Bergamasco (filippo.bergamasco@unive.it) http://www.dais.unive.it/~bergamasco DAIS, Ca Foscari University of Venice Academic year 2016/2017 About this course Official

More information

Computer Vision. CS664 Computer Vision. 1. Introduction. Course Requirements. Preparation. Applications. Applications of Computer Vision

Computer Vision. CS664 Computer Vision. 1. Introduction. Course Requirements. Preparation. Applications. Applications of Computer Vision Computer Vision CS664 Computer Vision. Introduction Dan Huttenlocher Machines that see Broad field, any course will cover a subset of problems and techniques Closely related fields of study Artificial

More information

3D object recognition used by team robotto

3D object recognition used by team robotto 3D object recognition used by team robotto Workshop Juliane Hoebel February 1, 2016 Faculty of Computer Science, Otto-von-Guericke University Magdeburg Content 1. Introduction 2. Depth sensor 3. 3D object

More information

Announcements. Recognition (Part 3) Model-Based Vision. A Rough Recognition Spectrum. Pose consistency. Recognition by Hypothesize and Test

Announcements. Recognition (Part 3) Model-Based Vision. A Rough Recognition Spectrum. Pose consistency. Recognition by Hypothesize and Test Announcements (Part 3) CSE 152 Lecture 16 Homework 3 is due today, 11:59 PM Homework 4 will be assigned today Due Sat, Jun 4, 11:59 PM Reading: Chapter 15: Learning to Classify Chapter 16: Classifying

More information

TEGRA K1 AND THE AUTOMOTIVE INDUSTRY. Gernot Ziegler, Timo Stich

TEGRA K1 AND THE AUTOMOTIVE INDUSTRY. Gernot Ziegler, Timo Stich TEGRA K1 AND THE AUTOMOTIVE INDUSTRY Gernot Ziegler, Timo Stich Previously: Tegra in Automotive Infotainment / Navigation Digital Instrument Cluster Passenger Entertainment TEGRA K1 with Kepler GPU GPU:

More information

OpenCV Introduction. CS 231a Spring April 15th, 2016

OpenCV Introduction. CS 231a Spring April 15th, 2016 OpenCV Introduction CS 231a Spring 2015-2016 April 15th, 2016 Overview 1. Introduction and Installation 2. Image Representation 3. Image Processing Introduction to OpenCV (3.1) Open source computer vision

More information

12/3/2009. What is Computer Vision? Applications. Application: Assisted driving Pedestrian and car detection. Application: Improving online search

12/3/2009. What is Computer Vision? Applications. Application: Assisted driving Pedestrian and car detection. Application: Improving online search Introduction to Artificial Intelligence V22.0472-001 Fall 2009 Lecture 26: Computer Vision Rob Fergus Dept of Computer Science, Courant Institute, NYU Slides from Andrew Zisserman What is Computer Vision?

More information

Detection and Classification of Vehicles

Detection and Classification of Vehicles Detection and Classification of Vehicles Gupte et al. 2002 Zeeshan Mohammad ECG 782 Dr. Brendan Morris. Introduction Previously, magnetic loop detectors were used to count vehicles passing over them. Advantages

More information

Computer and Machine Vision

Computer and Machine Vision Computer and Machine Vision Lecture Week 10 Part-2 Skeletal Models and Face Detection March 21, 2014 Sam Siewert Outline of Week 10 Lab #4 Overview Lab #5 and #6 Extended Lab Overview SIFT and SURF High

More information

Multimedia Retrieval Exercise Course 2 Basic of Image Processing by OpenCV

Multimedia Retrieval Exercise Course 2 Basic of Image Processing by OpenCV Multimedia Retrieval Exercise Course 2 Basic of Image Processing by OpenCV Kimiaki Shirahama, D.E. Research Group for Pattern Recognition Institute for Vision and Graphics University of Siegen, Germany

More information

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah School of Computing University of Utah Presentation Outline 1 2 3 Forward Projection (Reminder) u v 1 KR ( I t ) X m Y m Z m 1 Backward Projection (Reminder) Q K 1 q Q K 1 u v 1 What is pose estimation?

More information

CS 231A Computer Vision (Winter 2018) Problem Set 3

CS 231A Computer Vision (Winter 2018) Problem Set 3 CS 231A Computer Vision (Winter 2018) Problem Set 3 Due: Feb 28, 2018 (11:59pm) 1 Space Carving (25 points) Dense 3D reconstruction is a difficult problem, as tackling it from the Structure from Motion

More information

Input Nodes. Surface Input. Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking

Input Nodes. Surface Input. Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking Input Nodes Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking The different Input nodes, where they can be found, what their outputs are. Surface Input When editing a surface,

More information

Recognition (Part 4) Introduction to Computer Vision CSE 152 Lecture 17

Recognition (Part 4) Introduction to Computer Vision CSE 152 Lecture 17 Recognition (Part 4) CSE 152 Lecture 17 Announcements Homework 5 is due June 9, 11:59 PM Reading: Chapter 15: Learning to Classify Chapter 16: Classifying Images Chapter 17: Detecting Objects in Images

More information

COMPUTER VISION. Dr. Sukhendu Das Deptt. of Computer Science and Engg., IIT Madras, Chennai

COMPUTER VISION. Dr. Sukhendu Das Deptt. of Computer Science and Engg., IIT Madras, Chennai COMPUTER VISION Dr. Sukhendu Das Deptt. of Computer Science and Engg., IIT Madras, Chennai 600036. Email: sdas@iitm.ac.in URL: //www.cs.iitm.ernet.in/~sdas 1 INTRODUCTION 2 Human Vision System (HVS) Vs.

More information

arxiv: v1 [cs.cv] 1 Jan 2019

arxiv: v1 [cs.cv] 1 Jan 2019 Mapping Areas using Computer Vision Algorithms and Drones Bashar Alhafni Saulo Fernando Guedes Lays Cavalcante Ribeiro Juhyun Park Jeongkyu Lee University of Bridgeport. Bridgeport, CT, 06606. United States

More information

(Refer Slide Time 00:17) Welcome to the course on Digital Image Processing. (Refer Slide Time 00:22)

(Refer Slide Time 00:17) Welcome to the course on Digital Image Processing. (Refer Slide Time 00:22) Digital Image Processing Prof. P. K. Biswas Department of Electronics and Electrical Communications Engineering Indian Institute of Technology, Kharagpur Module Number 01 Lecture Number 02 Application

More information

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah

Srikumar Ramalingam. Review. 3D Reconstruction. Pose Estimation Revisited. School of Computing University of Utah School of Computing University of Utah Presentation Outline 1 2 3 Forward Projection (Reminder) u v 1 KR ( I t ) X m Y m Z m 1 Backward Projection (Reminder) Q K 1 q Presentation Outline 1 2 3 Sample Problem

More information

Gesture Recognition: Hand Pose Estimation. Adrian Spurr Ubiquitous Computing Seminar FS

Gesture Recognition: Hand Pose Estimation. Adrian Spurr Ubiquitous Computing Seminar FS Gesture Recognition: Hand Pose Estimation Adrian Spurr Ubiquitous Computing Seminar FS2014 27.05.2014 1 What is hand pose estimation? Input Computer-usable form 2 Augmented Reality Gaming Robot Control

More information

An Implementation on Object Move Detection Using OpenCV

An Implementation on Object Move Detection Using OpenCV An Implementation on Object Move Detection Using OpenCV Professor: Dr. Ali Arya Reported by: Farzin Farhadi-Niaki Department of Systems and Computer Engineering Carleton University Ottawa, Canada I. INTRODUCTION

More information

Emerging Vision Technologies: Enabling a New Era of Intelligent Devices

Emerging Vision Technologies: Enabling a New Era of Intelligent Devices Emerging Vision Technologies: Enabling a New Era of Intelligent Devices Computer vision overview Computer vision is being integrated in our daily lives Acquiring, processing, and understanding visual data

More information

How to use. Home page

How to use. Home page Home page Double click WebCam Companion 3 to launch the application, the home page appears with 4 main features: Capture, Edit, Annotation and E-book. 11 1 Home page The Extras menu gives you access to

More information

CS595:Introduction to Computer Vision

CS595:Introduction to Computer Vision CS595:Introduction to Computer Vision Instructor: Qi Li Instructor Course syllabus E-mail: qi.li@cs.wku.edu Office: TCCW 135 Office hours MW: 9:00-10:00, 15:00-16:00 T: 9:00-12:00, 14:00-16:00 F: 9:00-10:00

More information

Multimedia Technology CHAPTER 4. Video and Animation

Multimedia Technology CHAPTER 4. Video and Animation CHAPTER 4 Video and Animation - Both video and animation give us a sense of motion. They exploit some properties of human eye s ability of viewing pictures. - Motion video is the element of multimedia

More information

ECE 172A: Introduction to Intelligent Systems: Machine Vision, Fall Midterm Examination

ECE 172A: Introduction to Intelligent Systems: Machine Vision, Fall Midterm Examination ECE 172A: Introduction to Intelligent Systems: Machine Vision, Fall 2008 October 29, 2008 Notes: Midterm Examination This is a closed book and closed notes examination. Please be precise and to the point.

More information

All human beings desire to know. [...] sight, more than any other senses, gives us knowledge of things and clarifies many differences among them.

All human beings desire to know. [...] sight, more than any other senses, gives us knowledge of things and clarifies many differences among them. All human beings desire to know. [...] sight, more than any other senses, gives us knowledge of things and clarifies many differences among them. - Aristotle University of Texas at Arlington Introduction

More information

Colorado School of Mines. Computer Vision. Professor William Hoff Dept of Electrical Engineering &Computer Science.

Colorado School of Mines. Computer Vision. Professor William Hoff Dept of Electrical Engineering &Computer Science. Professor William Hoff Dept of Electrical Engineering &Computer Science http://inside.mines.edu/~whoff/ 1 Introduction to 2 What is? A process that produces from images of the external world a description

More information

Computer Graphics Fundamentals. Jon Macey

Computer Graphics Fundamentals. Jon Macey Computer Graphics Fundamentals Jon Macey jmacey@bournemouth.ac.uk http://nccastaff.bournemouth.ac.uk/jmacey/ 1 1 What is CG Fundamentals Looking at how Images (and Animations) are actually produced in

More information

What do we mean by recognition?

What do we mean by recognition? Announcements Recognition Project 3 due today Project 4 out today (help session + photos end-of-class) The Margaret Thatcher Illusion, by Peter Thompson Readings Szeliski, Chapter 14 1 Recognition What

More information

PERFORMANCE CAPTURE FROM SPARSE MULTI-VIEW VIDEO

PERFORMANCE CAPTURE FROM SPARSE MULTI-VIEW VIDEO Stefan Krauß, Juliane Hüttl SE, SoSe 2011, HU-Berlin PERFORMANCE CAPTURE FROM SPARSE MULTI-VIEW VIDEO 1 Uses of Motion/Performance Capture movies games, virtual environments biomechanics, sports science,

More information

Object Move Controlling in Game Implementation Using OpenCV

Object Move Controlling in Game Implementation Using OpenCV Object Move Controlling in Game Implementation Using OpenCV Professor: Dr. Ali Arya Reported by: Farzin Farhadi-Niaki Lindsay Coderre Department of Systems and Computer Engineering Carleton University

More information

CS 231A Computer Vision (Winter 2014) Problem Set 3

CS 231A Computer Vision (Winter 2014) Problem Set 3 CS 231A Computer Vision (Winter 2014) Problem Set 3 Due: Feb. 18 th, 2015 (11:59pm) 1 Single Object Recognition Via SIFT (45 points) In his 2004 SIFT paper, David Lowe demonstrates impressive object recognition

More information

Camera Calibration. Schedule. Jesus J Caban. Note: You have until next Monday to let me know. ! Today:! Camera calibration

Camera Calibration. Schedule. Jesus J Caban. Note: You have until next Monday to let me know. ! Today:! Camera calibration Camera Calibration Jesus J Caban Schedule! Today:! Camera calibration! Wednesday:! Lecture: Motion & Optical Flow! Monday:! Lecture: Medical Imaging! Final presentations:! Nov 29 th : W. Griffin! Dec 1

More information

Multimedia Retrieval Exercise Course 10 Bag of Visual Words and Support Vector Machine

Multimedia Retrieval Exercise Course 10 Bag of Visual Words and Support Vector Machine Multimedia Retrieval Exercise Course 10 Bag of Visual Words and Support Vector Machine Kimiaki Shirahama, D.E. Research Group for Pattern Recognition Institute for Vision and Graphics University of Siegen,

More information

Software Engineering. ò Look up Design Patterns. ò Code Refactoring. ò Code Documentation? ò One of the lessons to learn for good design:

Software Engineering. ò Look up Design Patterns. ò Code Refactoring. ò Code Documentation? ò One of the lessons to learn for good design: Software Engineering ò Look up Design Patterns ò Code Refactoring ò Code Documentation? ò One of the lessons to learn for good design: ò Coupling: the amount of interconnectedness between classes ò Cohesion:

More information

CogniSight, image recognition engine

CogniSight, image recognition engine CogniSight, image recognition engine Making sense of video and images Generating insights, meta data and decision Applications 2 Inspect, Sort Identify, Track Detect, Count Search, Tag Match, Compare Find,

More information

Motion in 2D image sequences

Motion in 2D image sequences Motion in 2D image sequences Definitely used in human vision Object detection and tracking Navigation and obstacle avoidance Analysis of actions or activities Segmentation and understanding of video sequences

More information

3D graphics, raster and colors CS312 Fall 2010

3D graphics, raster and colors CS312 Fall 2010 Computer Graphics 3D graphics, raster and colors CS312 Fall 2010 Shift in CG Application Markets 1989-2000 2000 1989 3D Graphics Object description 3D graphics model Visualization 2D projection that simulates

More information

CSE 4392/5369. Dr. Gian Luca Mariottini, Ph.D.

CSE 4392/5369. Dr. Gian Luca Mariottini, Ph.D. University of Texas at Arlington CSE 4392/5369 Introduction to Vision Sensing Dr. Gian Luca Mariottini, Ph.D. Department of Computer Science and Engineering University of Texas at Arlington WEB : http://ranger.uta.edu/~gianluca

More information

CS4495/6495 Introduction to Computer Vision. 1A-L1 Introduction

CS4495/6495 Introduction to Computer Vision. 1A-L1 Introduction CS4495/6495 Introduction to Computer Vision 1A-L1 Introduction Outline What is computer vision? State of the art Why is this hard? Course overview Software Why study Computer Vision? Images (and movies)

More information

CP467 Image Processing and Pattern Recognition

CP467 Image Processing and Pattern Recognition CP467 Image Processing and Pattern Recognition Instructor: Hongbing Fan Introduction About DIP & PR About this course Lecture 1: an overview of DIP DIP&PR show What is Digital Image? We use digital image

More information

Overview of Computer Vision. CS308 Data Structures

Overview of Computer Vision. CS308 Data Structures Overview of Computer Vision CS308 Data Structures What is Computer Vision? Deals with the development of the theoretical and algorithmic basis by which useful information about the 3D world can be automatically

More information

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~elf Instructor: Eugene Fiume Office: BA 5266 Phone: 416 978 5472 (not a reliable way) Email:

More information

Overview. By end of the week:

Overview. By end of the week: Overview By end of the week: - Know the basics of git - Make sure we can all compile and run a C++/ OpenGL program - Understand the OpenGL rendering pipeline - Understand how matrices are used for geometric

More information

Image Processing using LabVIEW. By, Sandip Nair sandipnair.hpage.com

Image Processing using LabVIEW. By, Sandip Nair sandipnair.hpage.com Image Processing using LabVIEW By, Sandip Nair sandipnair06@yahoomail.com sandipnair.hpage.com What is image? An image is two dimensional function, f(x,y), where x and y are spatial coordinates, and the

More information

Image Transformations & Camera Calibration. Mašinska vizija, 2018.

Image Transformations & Camera Calibration. Mašinska vizija, 2018. Image Transformations & Camera Calibration Mašinska vizija, 2018. Image transformations What ve we learnt so far? Example 1 resize and rotate Open warp_affine_template.cpp Perform simple resize

More information

Lecture 14: Computer Vision

Lecture 14: Computer Vision CS/b: Artificial Intelligence II Prof. Olga Veksler Lecture : Computer Vision D shape from Images Stereo Reconstruction Many Slides are from Steve Seitz (UW), S. Narasimhan Outline Cues for D shape perception

More information

Classification of objects from Video Data (Group 30)

Classification of objects from Video Data (Group 30) Classification of objects from Video Data (Group 30) Sheallika Singh 12665 Vibhuti Mahajan 12792 Aahitagni Mukherjee 12001 M Arvind 12385 1 Motivation Video surveillance has been employed for a long time

More information

: Easy 3D Calibration of laser triangulation systems. Fredrik Nilsson Product Manager, SICK, BU Vision

: Easy 3D Calibration of laser triangulation systems. Fredrik Nilsson Product Manager, SICK, BU Vision : Easy 3D Calibration of laser triangulation systems Fredrik Nilsson Product Manager, SICK, BU Vision Using 3D for Machine Vision solutions : 3D imaging is becoming more important and well accepted for

More information

3D Time-of-Flight Image Sensor Solutions for Mobile Devices

3D Time-of-Flight Image Sensor Solutions for Mobile Devices 3D Time-of-Flight Image Sensor Solutions for Mobile Devices SEMICON Europa 2015 Imaging Conference Bernd Buxbaum 2015 pmdtechnologies gmbh c o n f i d e n t i a l Content Introduction Motivation for 3D

More information

People Counting based on Kinect Depth Data

People Counting based on Kinect Depth Data Rabah Iguernaissi, Djamal Merad and Pierre Drap Aix-Marseille University, LSIS - UMR CNRS 7296, 163 Avenue of Luminy, 13288 Cedex 9, Marseille, France Keywords: Abstract: People Counting, Depth Data, Intelligent

More information

Structure from Motion. Lecture-15

Structure from Motion. Lecture-15 Structure from Motion Lecture-15 Shape From X Recovery of 3D (shape) from one or two (2D images). Shape From X Stereo Motion Shading Photometric Stereo Texture Contours Silhouettes Defocus Applications

More information

COMS W4735: Visual Interfaces To Computers. Final Project (Finger Mouse) Submitted by: Tarandeep Singh Uni: ts2379

COMS W4735: Visual Interfaces To Computers. Final Project (Finger Mouse) Submitted by: Tarandeep Singh Uni: ts2379 COMS W4735: Visual Interfaces To Computers Final Project (Finger Mouse) Submitted by: Tarandeep Singh Uni: ts2379 FINGER MOUSE (Fingertip tracking to control mouse pointer) Abstract. This report discusses

More information

Snakes, level sets and graphcuts. (Deformable models)

Snakes, level sets and graphcuts. (Deformable models) INSTITUTE OF INFORMATION AND COMMUNICATION TECHNOLOGIES BULGARIAN ACADEMY OF SCIENCE Snakes, level sets and graphcuts (Deformable models) Centro de Visión por Computador, Departament de Matemàtica Aplicada

More information

Linear Algebra Review

Linear Algebra Review CS 1674: Intro to Computer Vision Linear Algebra Review Prof. Adriana Kovashka University of Pittsburgh January 11, 2018 What are images? (in Matlab) Matlab treats images as matrices of numbers To proceed,

More information

Motion. 1 Introduction. 2 Optical Flow. Sohaib A Khan. 2.1 Brightness Constancy Equation

Motion. 1 Introduction. 2 Optical Flow. Sohaib A Khan. 2.1 Brightness Constancy Equation Motion Sohaib A Khan 1 Introduction So far, we have dealing with single images of a static scene taken by a fixed camera. Here we will deal with sequence of images taken at different time intervals. Motion

More information

Human-Robot Interaction

Human-Robot Interaction Human-Robot Interaction Elective in Artificial Intelligence Lecture 6 Visual Perception Luca Iocchi DIAG, Sapienza University of Rome, Italy With contributions from D. D. Bloisi and A. Youssef Visual Perception

More information

Mouse Pointer Tracking with Eyes

Mouse Pointer Tracking with Eyes Mouse Pointer Tracking with Eyes H. Mhamdi, N. Hamrouni, A. Temimi, and M. Bouhlel Abstract In this article, we expose our research work in Human-machine Interaction. The research consists in manipulating

More information

Template Matching Rigid Motion

Template Matching Rigid Motion Template Matching Rigid Motion Find transformation to align two images. Focus on geometric features (not so much interesting with intensity images) Emphasis on tricks to make this efficient. Problem Definition

More information

CSCE574 Robotics Spring 2014 Notes on Images in ROS

CSCE574 Robotics Spring 2014 Notes on Images in ROS CSCE574 Robotics Spring 2014 Notes on Images in ROS 1 Images in ROS In addition to the fake laser scans that we ve seen so far with This document has some details about the image data types provided by

More information

EECS 442 Computer Vision fall 2011

EECS 442 Computer Vision fall 2011 EECS 442 Computer Vision fall 2011 Instructor Silvio Savarese silvio@eecs.umich.edu Office: ECE Building, room: 4435 Office hour: Tues 4:30-5:30pm or under appoint. (after conversation hour) GSIs: Mohit

More information

ENGR3390: Robotics Fall 2009

ENGR3390: Robotics Fall 2009 J. Gorasia Vision Lab ENGR339: Robotics ENGR339: Robotics Fall 29 Vision Lab Team Bravo J. Gorasia - 1/4/9 J. Gorasia Vision Lab ENGR339: Robotics Table of Contents 1.Theory and summary of background readings...4

More information

Neue Verfahren der Bildverarbeitung auch zur Erfassung von Schäden in Abwasserkanälen?

Neue Verfahren der Bildverarbeitung auch zur Erfassung von Schäden in Abwasserkanälen? Neue Verfahren der Bildverarbeitung auch zur Erfassung von Schäden in Abwasserkanälen? Fraunhofer HHI 13.07.2017 1 Fraunhofer-Gesellschaft Fraunhofer is Europe s largest organization for applied research.

More information

Practical Verification for Edge AI use and Effort for Functional Improvement

Practical Verification for Edge AI use and Effort for Functional Improvement Practical Verification for Edge AI use and Effort for Functional Improvement June 20st, 2018 Yasumitsu Takahashi NTT DATA MSE Corporation 2017 NTT DATA MSE Corporation Who am I? NTT DATA MSE Corporation

More information

CS 378: Autonomous Intelligent Robotics. Instructor: Jivko Sinapov

CS 378: Autonomous Intelligent Robotics. Instructor: Jivko Sinapov CS 378: Autonomous Intelligent Robotics Instructor: Jivko Sinapov http://www.cs.utexas.edu/~jsinapov/teaching/cs378/ Visual Registration and Recognition Announcements Homework 6 is out, due 4/5 4/7 Installing

More information

UNIK 4690 Maskinsyn Introduction

UNIK 4690 Maskinsyn Introduction UNIK 4690 Maskinsyn Introduction 18.01.2018 Trym Vegard Haavardsholm (trym.haavardsholm@its.uio.no) Idar Dyrdal (idar.dyrdal@its.uio.no) Thomas Opsahl (thomasoo@its.uio.no) Ragnar Smestad (ragnar.smestad@ffi.no)

More information

Mouse Simulation Using Two Coloured Tapes

Mouse Simulation Using Two Coloured Tapes Mouse Simulation Using Two Coloured Tapes Kamran Niyazi 1, Vikram Kumar 2, Swapnil Mahe 3 and Swapnil Vyawahare 4 Department of Computer Engineering, AISSMS COE, University of Pune, India kamran.niyazi@gmail.com

More information

Visual Computing in OpenCV Lecture 2: Dense Matrices

Visual Computing in OpenCV Lecture 2: Dense Matrices Computer Vision Laboratory Visual Computing in OpenCV Lecture 2: Dense Matrices Michael Felsberg michael.felsberg@liu.se Johan Wiklund johan.wiklund@liu.se OpenCV Types Before looking into matrices, some

More information

Verification: is that a lamp? What do we mean by recognition? Recognition. Recognition

Verification: is that a lamp? What do we mean by recognition? Recognition. Recognition Recognition Recognition The Margaret Thatcher Illusion, by Peter Thompson The Margaret Thatcher Illusion, by Peter Thompson Readings C. Bishop, Neural Networks for Pattern Recognition, Oxford University

More information

ELL 788 Computational Perception & Cognition July November 2015

ELL 788 Computational Perception & Cognition July November 2015 ELL 788 Computational Perception & Cognition July November 2015 Module 6 Role of context in object detection Objects and cognition Ambiguous objects Unfavorable viewing condition Context helps in object

More information

Measurements using three-dimensional product imaging

Measurements using three-dimensional product imaging ARCHIVES of FOUNDRY ENGINEERING Published quarterly as the organ of the Foundry Commission of the Polish Academy of Sciences ISSN (1897-3310) Volume 10 Special Issue 3/2010 41 46 7/3 Measurements using

More information

Indian Institute of Technology Kanpur District : Kanpur Team number: 2. Prof. A. K. Chaturvedi SANKET

Indian Institute of Technology Kanpur District : Kanpur Team number: 2. Prof. A. K. Chaturvedi SANKET CSIDC 2003 Interim Report Country : India University : Indian Institute of Technology Kanpur District : Kanpur 208016 Team number: 2 Mentor: Prof. A. K. Chaturvedi akc@iitk.ac.in +91-512-2597613 SANKET:

More information

Midterm Examination CS 534: Computational Photography

Midterm Examination CS 534: Computational Photography Midterm Examination CS 534: Computational Photography November 3, 2016 NAME: Problem Score Max Score 1 6 2 8 3 9 4 12 5 4 6 13 7 7 8 6 9 9 10 6 11 14 12 6 Total 100 1 of 8 1. [6] (a) [3] What camera setting(s)

More information

Multiple View Geometry

Multiple View Geometry Multiple View Geometry CS 6320, Spring 2013 Guest Lecture Marcel Prastawa adapted from Pollefeys, Shah, and Zisserman Single view computer vision Projective actions of cameras Camera callibration Photometric

More information

Lecture 19: Depth Cameras. Visual Computing Systems CMU , Fall 2013

Lecture 19: Depth Cameras. Visual Computing Systems CMU , Fall 2013 Lecture 19: Depth Cameras Visual Computing Systems Continuing theme: computational photography Cameras capture light, then extensive processing produces the desired image Today: - Capturing scene depth

More information

CS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University

CS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University 9/5/6 CS Introduction to Computing II Wayne Snyder Department Boston University Today: Arrays (D and D) Methods Program structure Fields vs local variables Next time: Program structure continued: Classes

More information

Computer Graphics and Image Processing Introduction

Computer Graphics and Image Processing Introduction Image Processing Computer Graphics and Image Processing Introduction Part 3 Image Processing Lecture 1 1 Lecturers: Patrice Delmas (303.389 Contact details: p.delmas@auckland.ac.nz Office: 303-391 (3 rd

More information

Animation. CS 465 Lecture 22

Animation. CS 465 Lecture 22 Animation CS 465 Lecture 22 Animation Industry production process leading up to animation What animation is How animation works (very generally) Artistic process of animation Further topics in how it works

More information

What is Computer Vision? Introduction. We all make mistakes. Why is this hard? What was happening. What do you see? Intro Computer Vision

What is Computer Vision? Introduction. We all make mistakes. Why is this hard? What was happening. What do you see? Intro Computer Vision What is Computer Vision? Trucco and Verri (Text): Computing properties of the 3-D world from one or more digital images Introduction Introduction to Computer Vision CSE 152 Lecture 1 Sockman and Shapiro:

More information

Stereo and structured light

Stereo and structured light Stereo and structured light http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2018, Lecture 20 Course announcements Homework 5 is still ongoing. - Make sure

More information

Robotics Programming Laboratory

Robotics Programming Laboratory Chair of Software Engineering Robotics Programming Laboratory Bertrand Meyer Jiwon Shin Lecture 8: Robot Perception Perception http://pascallin.ecs.soton.ac.uk/challenges/voc/databases.html#caltech car

More information

Celebrity Identification and Recognition in Videos. An application of semi-supervised learning and multiclass classification

Celebrity Identification and Recognition in Videos. An application of semi-supervised learning and multiclass classification Celebrity Identification and Recognition in Videos An application of semi-supervised learning and multiclass classification Contents Celebrity Identification and Recognition in Videos... 1 Aim... 3 Motivation...

More information

Tri-modal Human Body Segmentation

Tri-modal Human Body Segmentation Tri-modal Human Body Segmentation Master of Science Thesis Cristina Palmero Cantariño Advisor: Sergio Escalera Guerrero February 6, 2014 Outline 1 Introduction 2 Tri-modal dataset 3 Proposed baseline 4

More information

Introduction to Homogeneous coordinates

Introduction to Homogeneous coordinates Last class we considered smooth translations and rotations of the camera coordinate system and the resulting motions of points in the image projection plane. These two transformations were expressed mathematically

More information

Processing 3D Surface Data

Processing 3D Surface Data Processing 3D Surface Data Computer Animation and Visualisation Lecture 17 Institute for Perception, Action & Behaviour School of Informatics 3D Surfaces 1 3D surface data... where from? Iso-surfacing

More information

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection

More information

Image processing techniques for driver assistance. Razvan Itu June 2014, Technical University Cluj-Napoca

Image processing techniques for driver assistance. Razvan Itu June 2014, Technical University Cluj-Napoca Image processing techniques for driver assistance Razvan Itu June 2014, Technical University Cluj-Napoca Introduction Computer vision & image processing from wiki: any form of signal processing for which

More information

EE795: Computer Vision and Intelligent Systems

EE795: Computer Vision and Intelligent Systems EE795: Computer Vision and Intelligent Systems Spring 2013 TTh 17:30-18:45 FDH 204 Lecture 18 130404 http://www.ee.unlv.edu/~b1morris/ecg795/ 2 Outline Object Recognition Intro (Chapter 14) Slides from

More information

Human Detection and Tracking for Video Surveillance: A Cognitive Science Approach

Human Detection and Tracking for Video Surveillance: A Cognitive Science Approach Human Detection and Tracking for Video Surveillance: A Cognitive Science Approach Vandit Gajjar gajjar.vandit.381@ldce.ac.in Ayesha Gurnani gurnani.ayesha.52@ldce.ac.in Yash Khandhediya khandhediya.yash.364@ldce.ac.in

More information

Template Matching Rigid Motion. Find transformation to align two images. Focus on geometric features

Template Matching Rigid Motion. Find transformation to align two images. Focus on geometric features Template Matching Rigid Motion Find transformation to align two images. Focus on geometric features (not so much interesting with intensity images) Emphasis on tricks to make this efficient. Problem Definition

More information

Announcements. Recognition I. Gradient Space (p,q) What is the reflectance map?

Announcements. Recognition I. Gradient Space (p,q) What is the reflectance map? Announcements I HW 3 due 12 noon, tomorrow. HW 4 to be posted soon recognition Lecture plan recognition for next two lectures, then video and motion. Introduction to Computer Vision CSE 152 Lecture 17

More information