3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query,...
Transcript of 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query,...
![Page 1: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/1.jpg)
3D Object Recognition using MulticlassSVM-KNN
R. Muralidharan, C. Chandradekar
April 29, 2014
Presented by: Tasadduk Chowdhury
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 2: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/2.jpg)
Problem
I We address the problem of recognizing 3D objects based onvarious views.
I The objective is to identify a 3D object based on its 2D imagetaken from any given angle.
I The 3D object recognition has been a prominent research areafor last two decades. Recently view-based 3D objectrecognition has attracted many researchers in the communityof machine learning.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 3: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/3.jpg)
Outline
1. Image database used for 3D object recognition.2. Machine Learning algorithms:
I Multiclass SVMsI K-Nearest Neighbor Algorithm (KNN)I SVM-KNN
3. Proposed SVM-KNN based 3D object recognition.4. Some local and global image features.5. Experimental results for the proposed method in comparison
with other methods.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 4: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/4.jpg)
Image Database
I The COIL (Columbia Object Image Library) database consistsof 7,200 images (100 objects, 72 views per object).
I Each image is a color image of size 128 × 128.I Objects positioned on a motorized turntable against black
background are observed from fixed viewpoint.I For each object, the turntable was rotated 5◦ per image.I Images were normalized to size 128 × 128 to save disk storage.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 5: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/5.jpg)
Image Database
Figure : Objects from COIL database
(a) View: 0◦ (b) View: 45◦ (c) View: 300◦
(d) View: 0◦ (e) View: 45◦ (f) View: 300◦
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 6: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/6.jpg)
Multi-class SVM
I Many real-world problems deal with more than two classes.I Multiclass problems involve reformulating them as a number
of binary classification problems, and solving these with binarySVMs.
I Two methods to implement a multiclass SVM:one-against-one and one-against-all.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 7: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/7.jpg)
Multi-class SVM
1. One-against-one: One binary SVM for each pair of classes(N(N − 1)/2 SVMs).
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 8: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/8.jpg)
Multi-class SVM
2. One-against-all: One binary SVM for each class to separatefrom the rest (N SVMs).
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 9: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/9.jpg)
K-Nearest Neighbor Algorithm (KNN)
Figure : K-nearest neighbors
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 10: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/10.jpg)
K-Nearest Neighbor Algorithm (KNN)
I KNN classifies a point based on its k closest neighbors.I Find the k closest points and choose a label based on majority
of its neighbors.I If k = 1, then the object is simply assigned to class of its
nearest neighbor.I Larger value of k reduce the effect of noise on the
classification.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 11: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/11.jpg)
SVM-KNN
I KNN suffers from the problem of high variance in the case oflimited sampling.
I With SVMs, training on a whole dataset can be slow and maynot work very well when the number of classes is large.
I Zhang et al. (2006) proposed SVM-KNN as a classifier forvisual category recognition.
I SVM-KNN can be applied to large multiclass data sets forwhich it outperforms KNN and SVMs, and remains efficient.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 12: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/12.jpg)
SVM-KNN
For a query,1. choose a proper distance function d(x, y) for the problem.
Typically, d is the Euclidean distance function in problems ofobject recognition.
2. compute distances of the query to all training examples andpick the nearest k neighbors.
3. if k neighbors have all the same labels, the query is labeledand exit; otherwise, compute the pairwise distances betweenthe k neighbors and store in a matrix.
4. convert the distance matrix to a kernel matrix and applymulti-class SVM. A Gaussian functionK (x, y) = exp(−d(x, y)/σ2) can be used as the kernel.
5. use the resulting classifier to label the query.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 13: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/13.jpg)
SVM-KNN
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 14: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/14.jpg)
SVM-KNN based 3D Object Recognition
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 15: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/15.jpg)
Canny Edge Detection
For an image f (x , y):1. Compute ∂x (f ∗ G) and ∂y (f ∗ G) at every point, where
G(x , y) is the Gaussian function with parameter σ.
f̃x = ∂x (f ∗ G) = f ∗ ∂xG ,f̃y = ∂y (f ∗ G) = f ∗ ∂y G .
2. Compute magnitude of the gradient: M(x , y) =√
f̃ 2x + f̃ 2
y .3. Find local maxima of M(x , y).4. Apply thresholding/edge linking.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 16: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/16.jpg)
Canny Edge Detection
(a) Original (b) edges detected
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 17: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/17.jpg)
Local Image Features: Hessian-Laplace Detector
I The local features are extracted on a small image windowaround pixel.
I Corners and blobs on an image can be detected byHessian-Laplace detector.
I The Hessian of an image f (x , y):
Hf (x , y) =[fxx (x , y) fxy (x , y)fyx (x , y) fyy (x , y)
].
I The detector chooses points on the image where det(Hf )reaches a local maximum.
I Such points are translation, scale, and rotation invariant.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 18: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/18.jpg)
Local Image Features: SIFT
I Scale-invariant Feature Transform (SIFT) is a local featureextraction method (David Lowe, 2004).
I Generally SIFT has a high dimension of 128 features, butPrincipal Component Analysis (PCA) can be utilized toreduce the number of features.
I Choose an interesting point using the Hessian-Laplacedetector and then apply PCA-SIFT on this point.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 19: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/19.jpg)
Local Image Features: SIFT
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 20: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/20.jpg)
Global Image Feature: Geometric Moments
I For a M × N image f (x , y), the (p + q)’th order moment is
mp,q =M−1∑y=0
N−1∑x=0
xpyqf (x , y), p, q = 0, 1, 2, · · · .
I The central moment:
µp,q =M−1∑y=0
N−1∑x=0
(x − x)p(y − y)qf (x , y), p, q = 0, 1, 2, · · · ,
where x = m1,0/m0,0 and y = m0,1/m0,0.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 21: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/21.jpg)
Global Image Feature: Geometric Moments
I Normalized moments:
ηp,q =µp,qµγ0,0
, γ =p + q
2 + 1.
I Hu’s Geometric Moments: seven values using the normalizedmoments up to order three.
I Translation, scale, rotation invariant.I First three of Hu’s geometric moments:
M1 = η2,0 + η0,2
M2 = (η2,0 − η0,2)2 + 4η2
1,1
M3 = (η3,0 − 3η1,2)2 + (3η2,1 − η0,3)
2.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 22: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/22.jpg)
Feature Vector Construction
The following steps are taken to extract a feature vector from theimages of a given object:
1. Preprocess: convert the color images to greyscale and resizeto 100 × 100; apply edge detection on the images and extractthe following features.
2. Local features: extract 36 PCA-SIFT descriptors from a pointdetected by Hessian-Laplace detector.
3. Global features: Hu’s seven geometric moments.4. All 43 features are stored in a vector. These vectors are used
to train the SVM.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 23: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/23.jpg)
Feature Vector Construction
Figure : Feature Extraction.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 24: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/24.jpg)
Training Phase
I Images of objects are given as input to the system.I Preprocess the images.I Extract local and global features.I Constructed feature vector is stored with object label.I Train the SVM.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 25: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/25.jpg)
Testing Phase
I Input: image of an object.I Preprocess and construct a feature vector as in the training
phase.I Find k closest feature vectors from the training set.I Use multiclass SVM for classification.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 26: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/26.jpg)
Experimentation
I To experiment the proposed method, the COIL imagedatabase was used.
I 100 objects were selected for object recognition.I For training set, 10 different views per object. (size of the
training set = 1000).I For test set, 10 alternate views of the same objects were
chosen.I For comparision, SVM, KNN, and BPN were experimented
using the same training and test set.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 27: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/27.jpg)
Results
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 28: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/28.jpg)
Results
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 29: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/29.jpg)
Conclusion
I Combining local and global feature provides better results.I SVM-KNN classifier has greater accuracy than the traditional
methods (SVM, KNN, BPN).I Future work will include the process of increasing the
efficiency by adding more features.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN
![Page 30: 3D Object Recognition using Multiclass SVM-KNNrazencot/MyWeb/docs/... · SVM-KNN For a query, 1.choose a proper distance function d(x,y) for the problem.Typically, d is the Euclidean](https://reader035.fdocuments.us/reader035/viewer/2022062507/5fc11a2a44751e2a800dd1e9/html5/thumbnails/30.jpg)
Bibliography
R. Muralidharan, C. Chandrasekar 3D Object Recognitionusing Multiclass Support Vector Machine-K-Nearest NeighborSupported by Local and Global Feature. 2012.
H. Zhang, A.C. Berg, M. Maire, and J. Malik. SVM-KNN:Discriminative Nearest Neighbor Classification for VisualCategory Recognition. 2006
D. Lowe. Distinctive Image Features from Scale-invariantKeypoints. 2004.
M. Hu. Visual Pattern Recognition by Moment Invariants.1962.
R. Muralidharan, C. Chandradekar 3D Object Recognition using Multiclass SVM-KNN