The One-Shot Similarity Kernel

Lior Wolf1    Tal Hassner2    Yaniv Taigman1,3

1. The School of Computer Science,
Tel-Aviv University, Israel

2. Computer Science Division
The Open University of Israel

3. face.com,
Tel-Aviv, Israel

 

Abstract: The One-Shot similarity measure has recently been introduced in the context of face recognition where it was used to produce state-of-the-art results. Given two vectors, their One-Shot similarity score reflects the likelihood of each vector belonging in the same class as the other vector and not in a class defined by a fixed set of "negative" examples. The potential of this approach has thus far been largely unexplored. In this paper we analyze the One-Shot score and show that: (1) when using a version of LDA as the underlying classifier, this score is a Conditionally Positive Definite kernel and may be used within kernel-methods (e.g., SVM), (2) it can be efficiently computed, and (3) that it is effective as an underlying mechanism for image representation. We further demonstrate the effectiveness of the One-Shot similarity score in a number of applications including multi-class identification anddescriptor generation.

Reference Lior Wolf, Tal Hassner, and Yaniv Taigman, "The One-Shot Similarity Kernel," IEEE International Conference on Computer Vision  (ICCV), Sept. 2009.

Click here for the PDF (Note - Extended version!)

Click here for the BibTex
Related publications:

Multiple One-Shots for Utilizing Class Label Information

Descriptor Based Methods in the Wild


MATLAB Code for the LDA based One-Shot Similarity Measure

Below please find MATLAB code for computing the One-Shot Similarity score using LDA as an underlying classifier. Please report any bugs or problems to hassner@openu.ac.il.

Type "help oss_lda_sA_from_xsn" or "help oss_lda_score" for more information on each of these functions.

A typical usage would look something like this:

>>     sA = oss_lda_sA_from_xsn(XSN);
>>     Score1 = oss_lda_score(x1,x2,sA);
>>     Score2 = oss_lda_score(x2,x1,sA);
>>     Score = (Score1 + Score2)./2;

Score is then the symmetric One-Shot Similarity of the two vectors x1 and x2.

Downloads:

oss_lda_sA_from_xsn.m
oss_lda_score.m

Copyright and disclaimer:

Copyright 2009, Lior Wolf, Tal Hassner, and Yaniv Taigman

The SOFTWARE ("oss_lda_sA_from_xsn.m" and \ or  "oss_lda_score.m") is provided "as is", without any guarantee made as to its suitability or fitness for any particular use.  It may contain bugs, so use of this tool is at your own risk. We take no responsibility for any damage that may unintentionally be caused through its use.

Copyright: no material is allowed to be copied or used in any way without written permission of the authors.
Last update 
22th of July, 2009