Introduction Feature Estimation Keypoint Detection Keypoints + Features. PCL :: Features. Michael Dixon and Radu B. Rusu

Save this PDF as:

Size: px
Start display at page:

Download "Introduction Feature Estimation Keypoint Detection Keypoints + Features. PCL :: Features. Michael Dixon and Radu B. Rusu"

Transcription

1 PCL :: Features Michael Dixon and Radu B. Rusu July 1, 2011

2 Outline 1. Introduction 2. Feature Estimation 3. Keypoint Detection 4. Keypoints + Features

3 Outline 1. Introduction 2. Feature Estimation 3. Keypoint Detection 4. Keypoints + Features

4 What is a feature? Local Features What is a feature? In vision/perception, the word feature can mean many different things. In PCL, feature estimation means: computing a feature vector based on each points local neighborhood or sometimes, computing a single feature vector for the whole cloud

5 What is a feature? Local Features Feature vectors can be anything from simple surface normals to the complex feature descriptors need for registration or object detection. Today, we ll look at a couple of examples: Surface normal estimation (NormalEstimation) Point Feature Histogram estimation (PFHEstimation)

6 Local Features (1-2/5) Surface Normal Estimation. Theoretical Aspects: Basic Ingredients Given a point cloud with x,y,z 3D point coordinates

7 Local Features (1-2/5) Surface Normal Estimation. Theoretical Aspects: Basic Ingredients Given a point cloud with x,y,z 3D point coordinates Select each point s k-nearest neighbors, fit a local plane, and compute the plane normal

8 Surface Normal and Curvature Estimation Local Features (3/5) ξ i = C j = k i=1 ξ i (p i p j ) T (p i p j ), p = 1 k k i=1 p i e d 2 i µ 2, p i outlier 1, p i inlier σ p = λ 0 λ 0 +λ 1 +λ 2

9 NormalEstimation example Estimating surface normals void compute_surface_normals (pcl::pointcloud<pcl::pointxyzrgb>::ptr &points, float normal_radius pcl::pointcloud<pcl::normal>::ptr &normals_out) { pcl::normalestimation<pcl::pointxyzrgb, pcl::normal> norm_est; } // Use a FLANN-based KdTree to perform neighborhood searches norm_est.setsearchmethod (pcl::kdtreeflann<pcl::pointxyzrgb>::ptr (new pcl::kdtreeflann<pcl::pointxyzrgb>)); // Specify the size of the local neighborhood to use when // computing the surface normals norm_est.setradiussearch (normal_radius); // Set the input points norm_est.setinputcloud (points); // Set the search surface (i.e., the points that will be used // when search for the input points neighbors) norm_est.setsearchsurface (points); // Estimate the surface normals and store the result in "normals_out norm_est.compute (*normals_out);

10 NormalEstimation results \$./features_demo../data/robot1.pcd normals

11 Now let s look at a more complex feature, like... Point Feature Histograms (PFH)

12 Point Feature Histograms A 3D feature descriptor For every point pair (p s, n s ); (p t, n t ), let u = n s, v = (p t p s ) u, w = u v f 0 = v, n j f 1 = u, p j p i / p j p i f 2 = p j p i f 3 = atan( w, n j, u, n j ) i hist = x 3 x=0 f x d f x max fx min d x

13 Point Feature Histograms A 3D feature descriptor f 0 = v, n j f 1 = u, p j p i / p j p i f 2 = p j p i f 3 = atan( w, n j, u, n j ) i hist = x 3 x=0 f x d f x max fx min d x

14 A 3D feature descriptor Point Feature Histograms For every point pair (p s, n s ); (p t, n t ), let u = n s, v = (p t p s ) u, w = u v

15 Points lying on different geometric primitives Point Feature Histograms

16 PFHEstimation example PFH is a more complex feature descriptor, but the code is very similar using namespace pcl; // Let s save ourselves some typing void compute_pfh_features (PointCloud<PointXYZRGB>::Ptr &points, PointCloud<Normal>::Ptr &norm float feature_radius, PointCloud<PFHSignature125>::Ptr &descriptors { // Create a PFHEstimation object PFHEstimation<PointXYZRGB, Normal, PFHSignature125> pfh_est; } // Set it to use a FLANN-based KdTree to perform its neighborhood se pfh_est.setsearchmethod (KdTreeFLANN<PointXYZRGB>::Ptr (new KdTreeFLANN<PointXYZRGB>)); // Specify the radius of the PFH feature pfh_est.setradiussearch (feature_radius); // Set the input points and surface normals pfh_est.setinputcloud (points); pfh_est.setinputnormals (normals); // Compute the features pfh_est.compute (*descriptors_out);

17 PHFEstimation example...actually, we ll get back to this one later. For now, let s move on to keypoints.

18 Outline 1. Introduction 2. Feature Estimation 3. Keypoint Detection 4. Keypoints + Features

19 What is a keypoint? Keypoints What is a keypoint? A keypoint (also known as an interest point ) is simply a point that has been identified as a relevant in some way. Whether any given point is considered a keypoint or not depends on the *keypoint detector* in question.

20 What is a keypoint? Keypoints There s no strict definition for what constitutes a keypoint detector, but a good keypoint detector will find points which have the following properties: Sparseness: Typically, only a small subset of the points in the scene are keypoints Repeatiblity: If a point was determined to be a keypoint in one point cloud, a keypoint should also be found at the corresponding location in a similar point cloud. (Such points are often called "stable".) Distinctiveness: The area surrounding each keypoint should have a unique shape or appearance that can be captured by some feature descriptor

21 Why find keypoints? Keypoints What are the benefits of keypoints? Some features are expensive to compute, and it would be prohibitive to compute them at every point. Keypoints identify a small number of locations where computing feature descriptors is likely to be most effective. When searching for corresponding points, features computed at non-descriptive points will lead to ambiguous feature corespondences. By ignoring non-keypoints, one can reduce error when matching points.

22 Keypoint detection in PCL Keypoints There are a couple of keypoint detectors in PCL so far. NARFKeypoint Requires range images Bastian will talk more about this later SIFTKeypoint A 3D adaptation of David Lowe s SIFT keypoint detector Now let s look at an example of how to compute 3D SIFT keypoints

23 SIFTKeypoints example Computing keypoints on a cloud of PointXYZRGB points using namespace pcl; void detect_keypoints (PointCloud<PointXYZRGB>::Ptr &points, float min_scale, int nr_octaves, int nr_scales_per_octave, float min_contrast, PointCloud<PointWithScale>::Ptr &keypoints_out) { SIFTKeypoint<PointXYZRGB, PointWithScale> sift_detect; } // Use a FLANN-based KdTree to perform neighborhood searches sift_detect.setsearchmethod (KdTreeFLANN<PointXYZRGB>::Ptr (new KdTreeFLANN<PointXYZRGB>)); // Set the detection parameters sift_detect.setscales (min_scale, nr_octaves, nr_scales_per_octave); sift_detect.setminimumcontrast (min_contrast); // Set the input sift_detect.setinputcloud (points); // Detect the keypoints and store them in "keypoints_out" sift_detect.compute (*keypoints_out);

24 SIFTKeypoint results \$./features_demo../data/robot1.pcd keypoints

25 Outline 1. Introduction 2. Feature Estimation 3. Keypoint Detection 4. Keypoints + Features

26 Keypoints + features Keypoints and feature descriptors go hand-in-hand. Let s look at how to compute features only at a given set of keypoints.

27 Keypoints + features (1) Computing feature descriptors for a set of keypoints using namespace pcl; void compute_pfh_features_at_keypoints (PointCloud<PointXYZRGB>::Ptr &points, PointCloud<Normal>::Ptr &normals, PointCloud<PointWithScale>::Ptr &keypoints, float feature_radius, PointCloud<PFHSignature125>::Ptr &descriptors_out) { // Create a PFHEstimation object PFHEstimation<PointXYZRGB, Normal, PFHSignature125> pfh_est; // Set it to use a FLANN-based KdTree to perform its // neighborhood searches pfh_est.setsearchmethod (KdTreeFLANN<PointXYZRGB>::Ptr (new KdTreeFLANN<PointXYZRGB>)); // Specify the radius of the PFH feature pfh_est.setradiussearch (feature_radius); // continued on the next slide...

28 Keypoints + features (2) } //... continued from the previous slide // Convert the keypoints cloud from PointWithScale to PointXYZRGB // so that it will be compatible with our original point cloud PointCloud<PointXYZRGB>::Ptr keypoints_xyzrgb (new PointCloud<PointXYZRGB>); pcl::copypointcloud (*keypoints, *keypoints_xyzrgb); // Use all of the points for analyzing the local structure of the cl pfh_est.setsearchsurface (points); pfh_est.setinputnormals (normals); // But only compute features at the keypoints pfh_est.setinputcloud (keypoints_xyzrgb); // Compute the features pfh_est.compute (*descriptors_out);

29 What can you use this for? Here s an example of how you could use features and keypoints to find corresponding points between two point clouds. int correspondences_demo (const char * filename_base) { // Okay, this is a bit longer than our other examples, // so let s read the code in another window. // (See "features_demo.cpp", lines ) }

30 Correspondence results \$./features_demo../data/robot correspondences

PCL Tutorial: The Point Cloud Library By Example. Jeff Delmerico. Vision and Perceptual Machines Lab 106 Davis Hall UB North Campus. jad12@buffalo.

PCL Tutorial: The Point Cloud Library By Example Jeff Delmerico Vision and Perceptual Machines Lab 106 Davis Hall UB North Campus jad12@buffalo.edu February 11, 2013 Jeff Delmerico February 11, 2013 1/38

3D Object Recognition in Clutter with the Point Cloud Library

3D Object Recognition in Clutter with the Point Cloud Library Federico Tombari, Ph.D federico.tombari@unibo.it University of Bologna Open Perception Data representations in PCL PCL can deal with both organized

::pcl::registration Registering point clouds using the Point Cloud Library.

ntroduction Correspondences Rejection Transformation Registration Examples Outlook ::pcl::registration Registering point clouds using the Point Cloud Library., University of Bonn January 27, 2011 ntroduction

Feature Matching and RANSAC

Feature Matching and RANSAC Krister Parmstrand with a lot of slides stolen from Steve Seitz and Rick Szeliski 15-463: Computational Photography Alexei Efros, CMU, Fall 2005 Feature matching? SIFT keypoints

Probabilistic Latent Semantic Analysis (plsa)

Probabilistic Latent Semantic Analysis (plsa) SS 2008 Bayesian Networks Multimedia Computing, Universität Augsburg Rainer.Lienhart@informatik.uni-augsburg.de www.multimedia-computing.{de,org} References

A Genetic Algorithm-Evolved 3D Point Cloud Descriptor

A Genetic Algorithm-Evolved 3D Point Cloud Descriptor Dominik Wȩgrzyn and Luís A. Alexandre IT - Instituto de Telecomunicações Dept. of Computer Science, Univ. Beira Interior, 6200-001 Covilhã, Portugal

Robotics and Autonomous Systems. Towards 3D Point cloud based object maps for household environments

Robotics and Autonomous Systems 56 (2008) 927 941 Contents lists available at ScienceDirect Robotics and Autonomous Systems journal homepage: www.elsevier.com/locate/robot Towards 3D Point cloud based

CS 585 Computer Vision Final Report Puzzle Solving Mobile App

CS 585 Computer Vision Final Report Puzzle Solving Mobile App Developed by Timothy Chong and Patrick W. Crawford December 9, 2014 Introduction and Motivation This project s aim is to create a mobile application

A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow

, pp.233-237 http://dx.doi.org/10.14257/astl.2014.51.53 A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow Giwoo Kim 1, Hye-Youn Lim 1 and Dae-Seong Kang 1, 1 Department of electronices

Android Ros Application

Android Ros Application Advanced Practical course : Sensor-enabled Intelligent Environments 2011/2012 Presentation by: Rim Zahir Supervisor: Dejan Pangercic SIFT Matching Objects Android Camera Topic :

Computer Vision - part II

Computer Vision - part II Review of main parts of Section B of the course School of Computer Science & Statistics Trinity College Dublin Dublin 2 Ireland www.scss.tcd.ie Lecture Name Course Name 1 1 2

An Assessment of Image Matching Algorithms in Depth Estimation

An Assessment of Image Matching Algorithms in Depth Estimation Ashraf Anwar College of Computers and Information Technology Taif University, Taif, Saudi Arabia Ibrahim El Rube College of Computers and

Fast Point Feature Histograms (FPFH) for 3D Registration

Fast Point Feature Histograms (FPFH) for 3D Registration Radu Bogdan Rusu, Nico Blodow, Michael Beetz Intelligent Autonomous Systems, Technische Universität München {rusu,blodow,beetz}@cs.tum.edu Abstract

Recognition. Sanja Fidler CSC420: Intro to Image Understanding 1 / 28

Recognition Topics that we will try to cover: Indexing for fast retrieval (we still owe this one) History of recognition techniques Object classification Bag-of-words Spatial pyramids Neural Networks Object

Introduction to Python

Caltech/LEAD Summer 2012 Computer Science Lecture 2: July 10, 2012 Introduction to Python The Python shell Outline Python as a calculator Arithmetic expressions Operator precedence Variables and assignment

Food brand image (Logos) recognition

Food brand image (Logos) recognition Ritobrata Sur(rsur@stanford.edu), Shengkai Wang (sk.wang@stanford.edu) Mentor: Hui Chao (huichao@qti.qualcomm.com) Final Report, March 19, 2014. 1. Introduction Food

Automatic georeferencing of imagery from high-resolution, low-altitude, low-cost aerial platforms

Automatic georeferencing of imagery from high-resolution, low-altitude, low-cost aerial platforms Amanda Geniviva, Jason Faulring and Carl Salvaggio Rochester Institute of Technology, 54 Lomb Memorial

IMPLICIT SHAPE MODELS FOR OBJECT DETECTION IN 3D POINT CLOUDS

IMPLICIT SHAPE MODELS FOR OBJECT DETECTION IN 3D POINT CLOUDS Alexander Velizhev 1 (presenter) Roman Shapovalov 2 Konrad Schindler 3 1 Hexagon Technology Center, Heerbrugg, Switzerland 2 Graphics & Media

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total

Fast and Robust Normal Estimation for Point Clouds with Sharp Features

1/37 Fast and Robust Normal Estimation for Point Clouds with Sharp Features Alexandre Boulch & Renaud Marlet University Paris-Est, LIGM (UMR CNRS), Ecole des Ponts ParisTech Symposium on Geometry Processing

PCL - SURFACE RECONSTRUCTION

PCL - SURFACE RECONSTRUCTION TOYOTA CODE SPRINT Alexandru-Eugen Ichim Computer Graphics and Geometry Laboratory PROBLEM DESCRIPTION 1/2 3D revolution due to cheap RGB-D cameras (Asus Xtion & Microsoft

Point Cloud Data Filtering and Downsampling using Growing Neural Gas

Proceedings of International Joint Conference on Neural Networks, Dallas, Texas, USA, August 4-9, 2013 Point Cloud Data Filtering and Downsampling using Growing Neural Gas Sergio Orts-Escolano Vicente

Image Segmentation and Registration

Image Segmentation and Registration Dr. Christine Tanner (tanner@vision.ee.ethz.ch) Computer Vision Laboratory, ETH Zürich Dr. Verena Kaynig, Machine Learning Laboratory, ETH Zürich Outline Segmentation

Recovering Primitives in 3D CAD meshes

Recovering Primitives in 3D CAD meshes Roseline Bénière a,c, Gérard Subsol a, Gilles Gesquière b, François Le Breton c and William Puech a a LIRMM, Univ. Montpellier 2, CNRS, 161 rue Ada, 34392, France;

Fast Matching of Binary Features

Fast Matching of Binary Features Marius Muja and David G. Lowe Laboratory for Computational Intelligence University of British Columbia, Vancouver, Canada {mariusm,lowe}@cs.ubc.ca Abstract There has been

Lecture 2: The SVM classifier

Lecture 2: The SVM classifier C19 Machine Learning Hilary 2015 A. Zisserman Review of linear classifiers Linear separability Perceptron Support Vector Machine (SVM) classifier Wide margin Cost function

siftservice.com - Turning a Computer Vision algorithm into a World Wide Web Service

siftservice.com - Turning a Computer Vision algorithm into a World Wide Web Service Ahmad Pahlavan Tafti 1, Hamid Hassannia 2, and Zeyun Yu 1 1 Department of Computer Science, University of Wisconsin -Milwaukee,

t t k t t tt t 7 4 4 k

tt k tt knt ttt t t t t t tt k k t t k t t tt t 7 4 4 k t ttt t tt t tt æ æ ææ k k k ttt k æ æ æ æ æ ææ ææ k t t tt t kt n n t 4 4 4 44 44 44 4 44 æææ æ æ 7 4 477 4 47 4 7 ¹ æ ¹ æ....... t ttt k : k tt

Comp151. Definitions & Declarations

Comp151 Definitions & Declarations Example: Definition /* reverse_printcpp */ #include #include using namespace std; int global_var = 23; // global variable definition void reverse_print(const

Terrain Traversability Analysis using Organized Point Cloud, Superpixel Surface Normals-based segmentation and PCA-based Classification

Terrain Traversability Analysis using Organized Point Cloud, Superpixel Surface Normals-based segmentation and PCA-based Classification Aras Dargazany 1 and Karsten Berns 2 Abstract In this paper, an stereo-based

Pemrograman Dasar. Basic Elements Of Java

Pemrograman Dasar Basic Elements Of Java Compiling and Running a Java Application 2 Portable Java Application 3 Java Platform Platform: hardware or software environment in which a program runs. Oracle

New Hash Function Construction for Textual and Geometric Data Retrieval

Latest Trends on Computers, Vol., pp.483-489, ISBN 978-96-474-3-4, ISSN 79-45, CSCC conference, Corfu, Greece, New Hash Function Construction for Textual and Geometric Data Retrieval Václav Skala, Jan

TouchPaper - An Augmented Reality Application with Cloud-Based Image Recognition Service

TouchPaper - An Augmented Reality Application with Cloud-Based Image Recognition Service Feng Tang, Daniel R. Tretter, Qian Lin HP Laboratories HPL-2012-131R1 Keyword(s): image recognition; cloud service;

More Local Structure Information for Make-Model Recognition

More Local Structure Information for Make-Model Recognition David Anthony Torres Dept. of Computer Science The University of California at San Diego La Jolla, CA 9093 Abstract An object classification

Topographic Change Detection Using CloudCompare Version 1.0

Topographic Change Detection Using CloudCompare Version 1.0 Emily Kleber, Arizona State University Edwin Nissen, Colorado School of Mines J Ramón Arrowsmith, Arizona State University Introduction CloudCompare

Section 12.6: Directional Derivatives and the Gradient Vector

Section 26: Directional Derivatives and the Gradient Vector Recall that if f is a differentiable function of x and y and z = f(x, y), then the partial derivatives f x (x, y) and f y (x, y) give the rate

1. Bag of visual words model: recognizing object categories

1. Bag of visual words model: recognizing object categories 1 1 1 Problem: Image Classification Given: positive training images containing an object class, and negative training images that don t Classify:

COS702; Assignment 6. Point Cloud Data Surface Interpolation University of Southern Missisippi Tyler Reese December 3, 2012

COS702; Assignment 6 Point Cloud Data Surface Interpolation University of Southern Missisippi Tyler Reese December 3, 2012 The Problem COS 702, Assignment 6: Given appropriate sets of Point Cloud data,

Face Recognition using SIFT Features

Face Recognition using SIFT Features Mohamed Aly CNS186 Term Project Winter 2006 Abstract Face recognition has many important practical applications, like surveillance and access control.

suggestive contours and abstracted shading Daniel Arias

suggestive contours and abstracted shading Daniel Arias LINES AND SHADES Shape, volume, shades and texture in drawing lines as nonphotorealistic rendering technique Luis Caballero Suggestive contours Many

Local features and matching. Image classification & object localization

Overview Instance level search Local features and matching Efficient visual recognition Image classification & object localization Category recognition Image classification: assigning a class label to

Fast and Low-power OCR for the Blind

Fast and Low-power OCR for the Blind Frank Liu CS229 - Machine Learning Stanford University. Introduction Optical character recognition, or OCR, is the process of extracting text from scanned documents.

The ecourses Gradebook Grade Aggregation The Aggregation type drop-down menu allows the user to choose the aggregation strategy that will be used to calculate each participant's overall grade for a grade

Polygon Clipping and Filling Week 3, Lecture 5

CS 430/536 Computer Graphics I Polygon Clipping and Filling Week 3, Lecture 5 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science

Parallel Tracking and Mapping for Small AR Workspaces

Parallel Tracking and Mapping for Small AR Workspaces Georg Klein and David Murray Active Vision Lab, Oxford This is a PDF of the slides of the talk given at ISMAR 2007 Aim AR with a hand-held camera Visual

FREJA Win Software for FREJA relay testing system

Software for FREJA relay testing system A Megger Group Company Software for FREJA relay testing system In FREJA Win, the all-round General instrument program serves as a convenient, easy to understand,

C4 Computer Vision. 4 Lectures Michaelmas Term Tutorial Sheet Prof A. Zisserman. fundamental matrix, recovering ego-motion, applications.

C4 Computer Vision 4 Lectures Michaelmas Term 2004 1 Tutorial Sheet Prof A. Zisserman Overview Lecture 1: Stereo Reconstruction I: epipolar geometry, fundamental matrix. Lecture 2: Stereo Reconstruction

The Trimmed Iterative Closest Point Algorithm

Image and Pattern Analysis (IPAN) Group Computer and Automation Research Institute, HAS Budapest, Hungary The Trimmed Iterative Closest Point Algorithm Dmitry Chetverikov and Dmitry Stepanov http://visual.ipan.sztaki.hu

1 (1x17 =17 points) 2 (21 points) 3 (5 points) 4 (3 points) 5 (4 points) Total ( 50points) Page 1

CS 1621 MIDTERM EXAM 1 Name: Problem 1 (1x17 =17 points) 2 (21 points) 3 (5 points) 4 (3 points) 5 (4 points) Total ( 50points) Score Page 1 1. (1 x 17 = 17 points) Determine if each of the following statements

Epipolar Geometry Prof. D. Stricker

Outline 1. Short introduction: points and lines Epipolar Geometry Prof. D. Stricker 2. Two views geometry: Epipolar geometry Relation point/line in two views The geometry of two cameras Definition of the

Jiří Matas. Hough Transform

Hough Transform Jiří Matas Center for Machine Perception Department of Cybernetics, Faculty of Electrical Engineering Czech Technical University, Prague Many slides thanks to Kristen Grauman and Bastian

Classifying Manipulation Primitives from Visual Data

Classifying Manipulation Primitives from Visual Data Sandy Huang and Dylan Hadfield-Menell Abstract One approach to learning from demonstrations in robotics is to make use of a classifier to predict if

PCL :: Features: Hands-on. Suat Gedikli

PCL :: Features: Hands-on Suat Gedikli November 6, 2011 Hands-on In this part of the session, we ll have a look to an example application that uses most of the methods described so far. Reading PCD files

Bildverarbeitung und Mustererkennung Image Processing and Pattern Recognition

Bildverarbeitung und Mustererkennung Image Processing and Pattern Recognition 1. Image Pre-Processing - Pixel Brightness Transformation - Geometric Transformation - Image Denoising 1 1. Image Pre-Processing

Beginning to Program Python

COMP1021 Introduction to Computer Science Beginning to Program Python David Rossiter Outcomes After completing this presentation, you are expected to be able to: 1. Use Python code to do simple text input

Feature Tracking and Optical Flow

02/09/12 Feature Tracking and Optical Flow Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem Many slides adapted from Lana Lazebnik, Silvio Saverse, who in turn adapted slides from Steve

DATA MINING CLUSTER ANALYSIS: BASIC CONCEPTS

DATA MINING CLUSTER ANALYSIS: BASIC CONCEPTS 1 AND ALGORITHMS Chiara Renso KDD-LAB ISTI- CNR, Pisa, Italy WHAT IS CLUSTER ANALYSIS? Finding groups of objects such that the objects in a group will be similar

Implementation Aspects of OO-Languages

1 Implementation Aspects of OO-Languages Allocation of space for data members: The space for data members is laid out the same way it is done for structures in C or other languages. Specifically: The data

C++ Programming Language

C++ Programming Language Lecturer: Yuri Nefedov 7th and 8th semesters Lectures: 34 hours (7th semester); 32 hours (8th semester). Seminars: 34 hours (7th semester); 32 hours (8th semester). Course abstract

ORB: an efficient alternative to SIFT or SURF

ORB: an efficient alternative to SIFT or SURF Ethan Rublee Vincent Rabaud Kurt Konolige Gary Bradski Willow Garage, Menlo Park, California {erublee}{vrabaud}{konolige}{bradski}@willowgarage.com Abstract

Iris Sample Data Set. Basic Visualization Techniques: Charts, Graphs and Maps. Summary Statistics. Frequency and Mode

Iris Sample Data Set Basic Visualization Techniques: Charts, Graphs and Maps CS598 Information Visualization Spring 2010 Many of the exploratory data techniques are illustrated with the Iris Plant data

Bases de données avancées Bases de données multimédia

Bases de données avancées Bases de données multimédia Université de Cergy-Pontoise Master Informatique M1 Cours BDA Multimedia DB Multimedia data include images, text, video, sound, spatial data Data of

Cluster Analysis: Advanced Concepts and dalgorithms Dr. Hui Xiong Rutgers University Introduction to Data Mining 08/06/2006 1 Introduction to Data Mining 08/06/2006 1 Outline Prototype-based Fuzzy c-means

Automatic Building Facade Detection in Mobile Laser Scanner point Clouds

Automatic Building Facade Detection in Mobile Laser Scanner point Clouds NALANI HETTI ARACHCHIGE 1 & HANS-GERD MAAS 1 Abstract: Mobile Laser Scanner (MLS) has been increasingly used in the modeling of

What is an Edge? Computer Vision Week 4. How to detect edges? What is an Edge? Edge Detection techniques. Edge Detection techniques.

What is an Edge? Computer Vision Week 4 Edge Detection Linear filtering; pyramids, wavelets Interest Operators surface normal discontinuity depth discontinuity surface color discontinuity illumination

Math 4310 Handout - Quotient Vector Spaces

Math 4310 Handout - Quotient Vector Spaces Dan Collins The textbook defines a subspace of a vector space in Chapter 4, but it avoids ever discussing the notion of a quotient space. This is understandable

13. Publishing Component Information to Embedded Software

February 2011 NII52018-10.1.0 13. Publishing Component Information to Embedded Software NII52018-10.1.0 This document describes how to publish SOPC Builder component information for embedded software tools.

Digital Image Processing. Prof. P. K. Biswas. Department of Electronics & Electrical Communication Engineering

Digital Image Processing Prof. P. K. Biswas Department of Electronics & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture - 28 Colour Image Processing - III Hello,

Removing Moving Objects from Point Cloud Scenes

1 Removing Moving Objects from Point Cloud Scenes Krystof Litomisky klitomis@cs.ucr.edu Abstract. Three-dimensional simultaneous localization and mapping is a topic of significant interest in the research

Data Mining Cluster Analysis: Advanced Concepts and Algorithms. Lecture Notes for Chapter 9. Introduction to Data Mining

Data Mining Cluster Analysis: Advanced Concepts and Algorithms Lecture Notes for Chapter 9 Introduction to Data Mining by Tan, Steinbach, Kumar Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004

SWIGS: A Swift Guided Sampling Method

IGS: A Swift Guided Sampling Method Victor Fragoso Matthew Turk University of California, Santa Barbara 1 Introduction This supplement provides more details about the homography experiments in Section.

Efficient visual search of local features. Cordelia Schmid

Efficient visual search of local features Cordelia Schmid Visual search change in viewing angle Matches 22 correct matches Image search system for large datasets Large image dataset (one million images

Outline TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA. What is DrJava? Dr Java

1 Outline TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach by M. Guzdial and B. Ericson, and instructor materials prepared

Data Mining: Exploring Data. Lecture Notes for Chapter 3. Introduction to Data Mining

Data Mining: Exploring Data Lecture Notes for Chapter 3 Introduction to Data Mining by Tan, Steinbach, Kumar What is data exploration? A preliminary exploration of the data to better understand its characteristics.

Epipolar Geometry. Readings: See Sections 10.1 and 15.6 of Forsyth and Ponce. Right Image. Left Image. e(p ) Epipolar Lines. e(q ) q R.

Epipolar Geometry We consider two perspective images of a scene as taken from a stereo pair of cameras (or equivalently, assume the scene is rigid and imaged with a single camera from two different locations).

CS 106 Introduction to Computer Science I

CS 106 Introduction to Computer Science I 01 / 21 / 2014 Instructor: Michael Eckmann Today s Topics Introduction Homework assignment Review the syllabus Review the policies on academic dishonesty and improper

An introduction to Global Illumination. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

An introduction to Global Illumination Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Isn t ray tracing enough? Effects to note in Global Illumination image:

- What is a feature? - Image processing essentials - Edge detection (Sobel & Canny) - Hough transform - Some images

Seminar: Feature extraction by André Aichert I Feature detection - What is a feature? - Image processing essentials - Edge detection (Sobel & Canny) - Hough transform - Some images II An Entropy-based

Recognition of 3D Package Shapes for Single Camera Metrology

Recognition of 3D Package Shapes for Single Camera Metrology Ryan Lloyd, Scott McCloskey Ryan.Lloyd@Honeywell.com, Scott.McCloskey@Honeywell.com Honeywell ACS Labs, Golden Valley, MN Abstract Many applications

Clustering. Data Mining. Abraham Otero. Data Mining. Agenda

Clustering 1/46 Agenda Introduction Distance K-nearest neighbors Hierarchical clustering Quick reference 2/46 1 Introduction It seems logical that in a new situation we should act in a similar way as in

On Fast Surface Reconstruction Methods for Large and Noisy Point Clouds

On Fast Surface Reconstruction Methods for Large and Noisy Point Clouds Zoltan Csaba Marton, Radu Bogdan Rusu, Michael Beetz Intelligent Autonomous Systems, Technische Universität München {marton,rusu,beetz}@cs.tum.edu

Data Mining: Exploring Data. Lecture Notes for Chapter 3. Slides by Tan, Steinbach, Kumar adapted by Michael Hahsler

Data Mining: Exploring Data Lecture Notes for Chapter 3 Slides by Tan, Steinbach, Kumar adapted by Michael Hahsler Topics Exploratory Data Analysis Summary Statistics Visualization What is data exploration?

Project 5: Base64. CS Points Total Due Wednesday, October 26, 2016

Project 5: Base64 CS 200 20 Points Total Due Wednesday, October 26, 2016 Objectives Write a program or programs that allow a message to be converted back and forth between base64 encoding. Practice programming

Pigeonhole Principle Solutions

Pigeonhole Principle Solutions 1. Show that if we take n + 1 numbers from the set {1, 2,..., 2n}, then some pair of numbers will have no factors in common. Solution: Note that consecutive numbers (such

Metric Spaces. Chapter 1

Chapter 1 Metric Spaces Many of the arguments you have seen in several variable calculus are almost identical to the corresponding arguments in one variable calculus, especially arguments concerning convergence

Primitive Data Types Summer 2010 Margaret Reid-Miller

Primitive Data Types 15-110 Summer 2010 Margaret Reid-Miller Data Types Data stored in memory is a string of bits (0 or 1). What does 1000010 mean? 66? 'B'? 9.2E-44? How the computer interprets the string

A Comparative Study of SIFT and its Variants

10.2478/msr-2013-0021 MEASUREMENT SCIENCE REVIEW, Volume 13, No. 3, 2013 A Comparative Study of SIFT and its Variants Jian Wu 1, Zhiming Cui 1, Victor S. Sheng 2, Pengpeng Zhao 1, Dongliang Su 1, Shengrong

Segmentation of building models from dense 3D point-clouds

Segmentation of building models from dense 3D point-clouds Joachim Bauer, Konrad Karner, Konrad Schindler, Andreas Klaus, Christopher Zach VRVis Research Center for Virtual Reality and Visualization, Institute

Randomized Trees for Real-Time Keypoint Recognition

Randomized Trees for Real-Time Keypoint Recognition Vincent Lepetit Pascal Lagger Pascal Fua Computer Vision Laboratory École Polytechnique Fédérale de Lausanne (EPFL) 1015 Lausanne, Switzerland Email:

CS101 Computer programming and utilization

CS101 Computer programming and utilization Dr Deepak B Phatak Subrao Nilekani Chair Professor Department of CSE, Kanwal Rekhi Building IIT Bombay Lecture 3, Basic features of C++ Tuesday, 2 August 2011

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem David L. Finn November 30th, 2004 In the next few days, we will introduce some of the basic problems in geometric modelling, and

The use of computer vision technologies to augment human monitoring of secure computing facilities

The use of computer vision technologies to augment human monitoring of secure computing facilities Marius Potgieter School of Information and Communication Technology Nelson Mandela Metropolitan University

MODERN VOXEL BASED DATA AND GEOMETRY ANALYSIS SOFTWARE TOOLS FOR INDUSTRIAL CT

MODERN VOXEL BASED DATA AND GEOMETRY ANALYSIS SOFTWARE TOOLS FOR INDUSTRIAL CT C. Reinhart, C. Poliwoda, T. Guenther, W. Roemer, S. Maass, C. Gosch all Volume Graphics GmbH, Heidelberg, Germany Abstract:

Covered California s 2014 Sliding Scale Plans Single Person

Covered California s 2014 Sliding Scale Plans Single Person Annual Income \$11,490 - \$17,235 \$17,235 - \$22,980 \$22,980 - \$28,725 \$28,725 - \$45,960 \$19 - \$57 \$57 - \$121 \$121 - \$193 \$193 - \$364 Covered California

Simple C++ Programs. Engineering Problem Solving with C++, Etter/Ingber. Dev-C++ Dev-C++ Windows Friendly Exit. The C++ Programming Language

Simple C++ Programs Engineering Problem Solving with C++, Etter/Ingber Chapter 2 Simple C++ Programs Program Structure Constants and Variables C++ Operators Standard Input and Output Basic Functions from

In this lecture you will learn:

Data Types and Variables Imed Hammouda Department of Software Systems Tampere University of Technology Objectives In this lecture you will learn: What is a data type and how types are represented in C++.