Object recognition of Glagolitic characters using Sift and Ransac

Similar documents
Model Fitting, RANSAC. Jana Kosecka

Instance-level recognition

PS3 Review Session. Kuan Fang CS231A 02/16/2018

Instance-level recognition

Midterm Examination CS 534: Computational Photography

RANSAC and some HOUGH transform

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

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

Image correspondences and structure from motion

Fitting. Fitting. Slides S. Lazebnik Harris Corners Pkwy, Charlotte, NC

Automatic Image Alignment (feature-based)

Homographies and RANSAC

RANSAC: RANdom Sampling And Consensus

Object Recognition with Invariant Features

Feature Matching and RANSAC

Instance-level recognition part 2

Image Stitching. Slides from Rick Szeliski, Steve Seitz, Derek Hoiem, Ira Kemelmacher, Ali Farhadi

CS1114 Assignment 5, Part 2

A Systems View of Large- Scale 3D Reconstruction

Instance-level recognition II.

Model Fitting. Introduction to Computer Vision CSE 152 Lecture 11

CS231A Section 6: Problem Set 3

10/03/11. Model Fitting. Computer Vision CS 143, Brown. James Hays. Slides from Silvio Savarese, Svetlana Lazebnik, and Derek Hoiem

Feature Matching and Robust Fitting

CS 664 Image Matching and Robust Fitting. Daniel Huttenlocher

EE368/CS232 Digital Image Processing Winter

Photo by Carl Warner

Keypoint-based Recognition and Object Search

CS1114 Section: SIFT April 3, 2013

3D Environment Reconstruction

Feature Based Registration - Image Alignment

CSE 527: Introduction to Computer Vision

Image Features: Local Descriptors. Sanja Fidler CSC420: Intro to Image Understanding 1/ 58

Local Features: Detection, Description & Matching

3D Reconstruction of a Hopkins Landmark

TA Section 7 Problem Set 3. SIFT (Lowe 2004) Shape Context (Belongie et al. 2002) Voxel Coloring (Seitz and Dyer 1999)

CSCI 5980/8980: Assignment #4. Fundamental Matrix

Stereo and Epipolar geometry

Multiple View Geometry. Frank Dellaert

Computational Optical Imaging - Optique Numerique. -- Multiple View Geometry and Stereo --

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

Research on an Adaptive Terrain Reconstruction of Sequence Images in Deep Space Exploration

Prof. Noah Snavely CS Administrivia. A4 due on Friday (please sign up for demo slots)

Final Exam Assigned: 11/21/02 Due: 12/05/02 at 2:30pm

Feature descriptors. Alain Pagani Prof. Didier Stricker. Computer Vision: Object and People Tracking

Automatic Image Alignment

Panoramic Image Stitching

Lecture 8 Fitting and Matching

Lecture 9 Fitting and Matching

Automatic estimation of the inlier threshold in robust multiple structures fitting.

Automatic Image Alignment

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale.

Hough Transform and RANSAC

Combining Appearance and Topology for Wide

Robust line matching in image pairs of scenes with dominant planes 1

A Comparison of SIFT, PCA-SIFT and SURF

CSE 252B: Computer Vision II

Feature Detectors and Descriptors: Corners, Lines, etc.

A NEW FEATURE BASED IMAGE REGISTRATION ALGORITHM INTRODUCTION

Object Reconstruction

Object Recognition and Augmented Reality

EECS 442 Computer vision. Fitting methods

Evaluation and comparison of interest points/regions

2D Image Processing Feature Descriptors

Local Features Tutorial: Nov. 8, 04

Obtaining Feature Correspondences

FAST-MATCH: FAST AFFINE TEMPLATE MATCHING

SURF applied in Panorama Image Stitching

arxiv: v1 [cs.cv] 28 Sep 2018

Computer Vision CSCI-GA Assignment 1.

Lecture: RANSAC and feature detectors

Computational Optical Imaging - Optique Numerique. -- Single and Multiple View Geometry, Stereo matching --

CS 558: Computer Vision 4 th Set of Notes

Perception IV: Place Recognition, Line Extraction

Vision par ordinateur

The SIFT (Scale Invariant Feature

3D Visualization through Planar Pattern Based Augmented Reality

Robust Geometry Estimation from two Images

Wavelet-Based Image Registration Techniques: A Study of Performance

Computer Vision I. Announcements. Random Dot Stereograms. Stereo III. CSE252A Lecture 16

Agenda. Rotations. Camera calibration. Homography. Ransac

CS 4495 Computer Vision A. Bobick. CS 4495 Computer Vision. Features 2 SIFT descriptor. Aaron Bobick School of Interactive Computing

Shape Contexts. Newton Petersen 4/25/2008

Computer Vision with MATLAB MATLAB Expo 2012 Steve Kuznicki

Fitting. Instructor: Jason Corso (jjcorso)! web.eecs.umich.edu/~jjcorso/t/598f14!! EECS Fall 2014! Foundations of Computer Vision!

Feature descriptors and matching

Lecture 3.3 Robust estimation with RANSAC. Thomas Opsahl

3D Object Recognition using Multiclass SVM-KNN

CS4670: Computer Vision

Building a Panorama. Matching features. Matching with Features. How do we build a panorama? Computational Photography, 6.882

A Summary of Projective Geometry

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

UNIVERSITY OF TORONTO Faculty of Applied Science and Engineering. ROB501H1 F: Computer Vision for Robotics. Midterm Examination.

III. VERVIEW OF THE METHODS

Determinant of homography-matrix-based multiple-object recognition

CS664 Lecture #19: Layers, RANSAC, panoramas, epipolar geometry

Features Points. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE)

Generalized RANSAC framework for relaxed correspondence problems

CS 231A Computer Vision (Fall 2012) Problem Set 3

Scale Invariant Feature Transform

Transcription:

Object recognition of Glagolitic characters using Sift and Ransac Images in database: Glagolitic alphabet characters. Algorithm 1) Prepare a database of images. Images characteristics : 1. Scale changed images 2. Rotation images 3. Blurred images 2) Apply SIFT method on the images in the database. 3) Matching the images. 4) Apply RANSAC - RANdom SAmple Consensus, in order to estimate the parameters of the Sift model.

Input images - sample: glag.jpg :

mislete.jpg SIFT method (David Lowe) [image, descriptors, locs] = sift(imagefile) This function reads an image and returns its SIFT keypoints. Output: image: the image array in double format descriptors: a K-by-128 matrix, where each row gives an invariant descriptor for one of the K keypoints. The descriptor is a vector of 128 values normalized to unit length. locs: K-by-4 matrix, in which each row has the 4 values for a keypoint location (row, column, scale, orientation). The orientation is in the range [, ] radians.

Drawing Sift keypoints: Showkeys (image, locs) This function displays an image with SIFT keypoints overlayed. Input parameters: image: the file name for the image (grayscale) locs: matrix in which each row gives a keypoint location (row,column, scale, orientation) 20 40 60 80 120 140 160 180 50 150 200 250

Match function [matchloc1 matchloc2] = match(img1, img2); This function reads two images, finds their SIFT features, and displays lines connecting the matched keypoints. 20 40 60 80 120 140 160 180 50 150 200 250 A match is accepted only if its distance is less than distratio times the distance to the second closest match. (distratio = 0.6) Examples of rotation invariance: Rotation of 180 degrees:

20 40 60 80 120 140 160 180 50 150 200 250 300 350 Another example: 20 40 60 80 120 140 160 180 200 50 150 200 250 300 350 400 450 This example shows that the invariance to rotation leads to problems when recognizing characters. In the above example, glagolitic vede has the same topology as glagolitic dobro, rotated by 180 degrees.

Sift method cannot differentiate between them. Scale invariance example: Tests on various sizes of glagolitic characters. 50 150 200 250 300 350 400 200 300 400 500 600

50 150 50 150 200 250 Blurred images example: match('cyrilic.jpg','slovo.jpg')

20 40 60 80 120 140 160 180 20 40 60 80 120 140 160 RANSAC - RANdom SAmple Consensus Is an iterative method to estimate parameters of a mathematical model from a set of observed data which contains outliers. Ransac rejects inconsistent matches. Outliers - an observation that is numerically distant from the rest of the data. Ransac input and output INPUT:

X options sigma P_inlier = input data. The data id provided as a matrix that has dimesnsions 2dxN where d is the data dimensionality and N is the number of elements = structure containing the following fields: = noise std = Chi squared probability threshold for inliers (i.e. the probability that an point whose squared error is less than T_noise_squared is an inlier) (default = 0.99) T_noise_squared = Error threshold (overrides sigma) epsilon = False Alarm Rate (i.e. the probability we never pick a good minimal sample set) (default = 1e-3) Ps = sampling probability ( 1 x size(x, 2) ) ind_tabu (default: uniform, i.e. Ps is empty) = logical array indicating the elements that should not be considered to construct the MSS (default is empty) validatemss_fun = function that validates a MSS Should be in the form of: flag = validatemss_foo(x, s) validatetheta_fun = function that validates a parameter vector Should be in the form of: flag = validatetheta_foo(x, Theta, s) est_fun man_fun = function that estimates Theta. Should be in the form of: [Theta k] = estimate_foo(x, s) = function that returns the residual error. Should be in the form of: [E T_noise_squared] = man_fun(theta, X) mode = algorithm flavour 'RANSAC' -> Fischler & Bolles 'MSAC' -> Torr & Zisserman max_iters = maximum number of iterations (default = inf) min_iters = minimum number of iterations (default = 0) max_no_updates = maximum number of iterations with no updates (default = inf) fix_seed = true to fix the seed of the random number generator so that the results on the same data set are repeatable (default = false) reestimate verbose notify_iters = true to resestimate the parameter vector using all the detected inliers (default = false) = true for verbose output (default = true) = if verbose output is on then print some information every notify_iters iterations.

If empty information is displayed only for updates (default = []) OUTPUT: results Theta E CS r iter time options = structure containing the following fields: = estimated parameter vector = fitting error obtained from man_fun = consensus set (true -> inliers, false -> outliers) = rank of the solution = number of iterations = time to perform the computation = options (including the defaults set by the algorithm) Homography To compute the Theta, we compute the homography between the point pairs X1, X2 by calling: [H A] = HomographyDLT(X1, X2, mode) Theta = H(:) A homography is an invertible transformation from the real projective plane to the projective plane that maps straight lines to straight lines. Marco Zuliani (Ransac toolbox) uses The Normalized Direct Linear Transform (ndlt) Algorithm. Homography An invertible transformation from the real projective plane to the projective plane that maps straight lines to straight lines. Key stages in runsift driver program: [matchloc1 matchloc2] = match(img1, img2); Match function calls sift function for both images.

Set RANSAC options. Form the input data pairs: X1 = matchloc2'; - The transpose of matchloc1 X2 = matchloc1'; - The transpose of matchloc2 X = [X1; X2]; Run Ransac : [results, options] = RANSAC(X, options); Ransac estimates the vector of parameters Theta. Ransac results: Starting RANSAC Minimal sample set dimension = 4 Squared noise threshold = 73.563766, (assuming Gaussian noise, for sigma = 1.000000) Iteration = 1/ 1361. Inliers = 5/ 12 (rank is r = -82.27017) Iteration = 2/ 449. Inliers = 6/ 12 (rank is r = -78.86619437) Iteration = 3/ 26. Inliers = 10/ 12 (rank is r = -32.87832753) Iteration = 4/ 26. Inliers = 10/ 12 (rank is r = -32.42028464) Iteration = 114/ 26. Inliers = 10/ 12 (rank is r = -32.28285257) Estimating the parameter vector... Done Final number of inliers = 10/12 Converged in 1 iterations (1.727473 seconds) Usage Example: Use Ransac for choosing the best distance ratio in matching process. distratio parameter: Only keep matches in which the ratio of vector angles from the nearest to second nearest neighbor is less than distratio.

Table with results for various distratio: Distance ratio Number of inliers (correct matches) 0.55 0.6 0.66 9/10 10/12 10/15 Discussion of results The results show that Sift method is invariant to scale changes, rotation changes and blur. In the case of glagolitic characters, the sift produces relatively few matches. The sift method still produces too many outliers (false matches).