Efficient

retrieval

of

similar

shapes

We

propose

an

indexing

technique

for

the

fast

retrieval

of

objects

in

images

basedon

similarity

between

their

boundary

shapes

Our

technique

is

robust

in

the

presence

of

noise

andsupports

several

important

notions

of

similarity

including

optimal

matches

irrespective

of

variations

in

orientation

and/or

position

Our

method

can

also

handle

size-invariant

matches

using

a

normalization

technique

although

optimality

is

not

guaranteedhere

We

implementedour

method

and

performed

experiments

on

real

-LRB-

hand-written

digits

-RRB-

data

Our

experimental

results

showedthe

superiority

of

our

method

comparedto

search

basedon

sequential

scanning

which

is

the

only

obvious

competitor

The

performance

gain

of

our

method

increases

with

any

increase

in

the

number

or

the

size

of

shapes

There

is

an

increasing

interest

in

storing

andretrieving

non-textual

objects

in

databases

For

example

this

kind

of

data

can

be

storedin

the

form

of

extenders

in

DataBlades

in

In-formix

and

cartridges

in

Oracle

Non-textual

objects

are

frequently

in

the

form

of

images

or

shapes

In

cases

where

the

key

information

for

description

or

classification

of

an

object

can

be

found

in

its

boundary

it

is

natural

to

store

only

the

boundary

anddo

retrieval

basedon

that

Among

the

areas

of

applications

for

boundary

shape

matching

are

industrial

inspection

object

recognition

in

satellite

images

character

recognition

classification

of

chromosomes

andtarget

recognition

For

example

consider

the

following

query

Query

Findall

shapes

similar

to

a

given

shape

A

basic

question

here

is

how

we

judge

whether

two

shapes

-LRB-

for

example

the

two

shown

in

Fig.

-RRB-

are

similar

There

is

a

large

body

of

work

in

the

area

of

pattern

recognition

and

computer

vision

on

extracting

boundary

features

of

a

shape

and

doing

shape

matching

based

on

those

features

The

boundary

of

an

object

can

be

described

in

terms

of

simple

descriptors

such

as

length

diameter

and

curvature

-LRB-

-LSB-

-RSB-

-RRB-

chain

Fig.

Two

shape

boundaries

both

representing

character

codes

-LRB-

-LSB-

-RSB-

-RRB-

Fourier

descriptors

-LRB-

-LSB-

-RSB-

-RRB-

or

moments

-LRB-

-LSB-

-RSB-

-RRB-

Among

these

features

we

use

Fourier

descriptors

as

our

shape

features

Theoretical

andexperimen-tal

evidence

in

favor

of

Fourier

descriptors

can

be

found

in

the

literature

-LSB-

-RSB-

Similar

shapes

often

have

differences

in

size

and

orientation

For

example

consider

the

two

shapes

shown

in

Fig.

The

Euclidean

distance

between

their

Fourier

descriptors

is

If

we

rotate

the

shape

on

the

right

by

in

the

clockwise

-LRB-

cw

-RRB-

direction

the

Euclidean

distance

between

their

Fourier

descriptors

drops

to

zero

A

simple

approach

to

remove

differences

due

to

shifting

scaling

and

rotation

is

to

normalize

Fourier

descriptors

before

storing

them

in

a

database

However

there

are

still

two

problems

with

normalization

First

normalization

is

not

guaranteedto

minimize

the

distance

between

two

arbitrary

shapes

Second

normalization

is

not

always

desirable

for

example

the

shapes

and

shouldnot

be

treatedas

similar

if

we

are

doing

character

recognition

A

solution

is

to

rewrite

the

query

as

follows

Query

Findall

shapes

that

become

similar

to

a

given

shape

after

being

rotatedby

-LSB-

-RSB-

If

our

shape

collection

includes

for

example

shapes

of

airplanes

we

may

write

our

query

insteadas

follows

Query

Findall

shapes

similar

to

a

given

shape

irrespective

of

rotation

In

this

paper

we

study

the

issue

of

efficiently

processing

these

queries

We

show

how

to

organize

Fourier

descriptors

in

a

multidimensional

index

and

how

to

efficiently

use

the

index

D.

Rafiei

A.O.

Mendelzon

Efficient

retrieval

of

similar

shapes

in

processing

a

broadrange

of

similarity

queries

Our

goal

is

to

develop

an

access

method

that

can

handle

shapes

of

various

sizes

andorientations

is

much

faster

than

sequential

scanning

and

does

not

miss

any

qualifying

data

objects

in

the

answers

-LRB-

false

positives

are

acceptable

if

they

can

be

eliminatedin

a

post-processing

step

without

much

performance

degradation

-RRB-

The

organization

of

the

rest

of

the

paper

is

as

follows

Section

provides

some

backgroundmaterial

on

relatedwork

shape

representation

using

Fourier

descriptors

and

shape

matching

In

Sect.

we

propose

our

technique

for

indexing

shapes

andprocessing

similarity

queries

Section

presents

experimental

results

We

conclude

in

Sect.

Related

work

The

following

relevant

methods

for

multidimensional

indexing

andsearch

have

been

proposed

Jagadish

-LSB-

-RSB-

proposes

a

technique

for

storing

and

retrieving

shape

descriptions

in

a

multidimensional

index

He

maps

shapes

into

their

constituent

rectangles

keeps

a

few

larger

rectangles

in

a

multidimensional

index

and

uses

the

area

difference

between

the

constituent

rectangles

of

shapes

as

a

measure

of

similarity

Due

to

a

normalization

process

the

shape

description

is

invariant

under

translation

and

scaling

A

problem

with

this

approach

is

that

a

shape

can

be

normally

coveredby

multiple

sets

of

rectangles

This

can

leadto

ambiguity

or

storing

multiple

representations

of

the

same

shape

Furthermore

it

is

not

possible

to

do

matching

in

the

presence

of

rotation

for

example

two

identical

shapes

may

not

match

if

one

is

rotatedby

Mehrotra

andGary

-LSB-

-RSB-

decompose

a

shape

into

several

components

anduse

fixed-sizedsegments

of

each

component

as

the

shape

features

Basedon

a

normalization

process

the

shape

description

is

made

invariant

under

translation

scaling

androtation

A

problem

with

this

approach

is

that

since

a

shape

is

broken

down

into

pieces

the

overall

shape

of

the

boundary

is

lost

In

addition

each

shape

is

described

in

terms

of

multiple

feature

vectors

andthis

introduces

extra

overhead

during

insertions

and

retrievals

Berchtoldet

al.

-LSB-

-RSB-

study

the

issue

of

storing

polygons

so

that

they

can

be

retrievedbasedon

partial

similarity

matches

They

extract

almost

all

possible

boundary

segments

of

polygons

transform

each

segment

into

a

sequence

of

slope

changes

andmap

the

resulting

sequences

into

their

first

few

Fourier

coefficients

Thus

each

polygon

is

representedusing

a

set

of

feature

points

andthe

minimum

bounding

rectangle

of

these

points

for

each

polygon

is

storedin

a

multidimensional

index

Due

to

a

normalization

the

shape

representation

is

invariant

to

translation

scaling

androtation

but

it

is

not

invariant

to

the

starting

point

This

problem

is

handled

by

storing

multiple

descriptions

of

a

polygon

each

associated

to

a

starting

point

Again

representing

a

polygon

in

terms

of

multiple

points

introduces

extra

overhead

during

insertions

and

retrievals

The

QBIC

-LRB-

Query

By

Image

Content

-RRB-

system

-LSB-

FBF

-RSB-

contains

a

component

for

approximate

shape

matching

The

system

keeps

a

feature

vector

to

describe

the

shape

of

x

x

y

y

y

imaginary

axis

x

real

axis

Fig.

A

boundary

and

its

representation

as

a

complex

sequence

every

object

identified

in

an

image

Features

for

example

include

the

area

and

the

circularity

i.e.

whether

the

object

is

circular

or

not

To

allow

fast

retrieval

it

is

suggestedto

transform

feature

vectors

using

the

Karhunen

Loeve

-LRB-

KL

-RRB-

transform

and

keep

a

few

important

features

-LRB-

those

associatedwith

the

few

largest

eigenvalues

-RRB-

in

a

multidimensional

index

However

the

choice

of

proper

features

andtheir

weighting

for

each

application

is

not

an

easy

task

Some

features

are

abstract

quantities

which

may

not

easily

fit

in

a

distance

function

computation

In

addition

the

use

of

the

KL

transform

makes

the

multidimensional

index

rather

static

The

aforementionedmethods

are

less

general

than

ours

because

the

notion

of

similarity

is

fixedbefore

query

evaluation

this

notion

can

not

be

changedunless

a

new

index

structure

is

created

Our

method

instead

provides

a

set

of

transformations

to

express

the

notion

of

similarity

in

a

query

yet

the

resulting

queries

are

evaluatedusing

the

same

index

without

prior

knowledge

of

the

specific

transformations

used

Therefore

we

have

not

comparedthe

performance

of

our

method

with

theirs

but

with

sequential

scanning

instead

Related

work

on

time

series

data

includes

the

work

of

Agrawal

et

al.

-LSB-

-RSB-

on

using

the

discrete

Fourier

transform

for

retrieving

similar

time

series

andextensions

andimprove-ments

over

this

approach

-LSB-

-RSB-

Similar

to

our

framework

Goldin

and

Kanellakis

-LSB-

-RSB-

show

that

the

similarity

retrieval

will

be

roughly

invariant

to

simple

translations

andscales

if

sequences

are

normalizedbefore

being

stored

in

the

index

The

authors

store

in

the

index

both

the

translation

and

the

scale

factors

in

addition

to

normalized

sequences

andalso

allow

those

factors

to

be

queriedusing

range

predicates

-LRB-

see

Goldin

's

Ph.D.

thesis

-LSB-

-RSB-

for

implementation

details

-RRB-

A

general

framework

for

composing

similarity

queries

is

proposed

by

Jagadish

Mendelzon

and

Milo

-LSB-

-RSB-

Our

work

here

can

be

seen

as

a

special

case

of

this

framework

over

shapes

Our

shape

matching

can

also

be

incorporatedwithin

a

multimedia

query

language

such

as

MOQL

-LSB-

L

-RSB-

where

multiple

features

of

images

are

simultaneously

queried

Shape

representation

using

Fourier

descriptors

Given

the

figure

of

an

object

in

the

complex

plane

its

boundary

can

be

tracedproducing

a

complex

function

b

t

of

time

For

example

a

point

moving

along

the

boundary

shown

in

Fig.

generates

the

complex

function

b

t

x

t

jy

t

for

D.

Rafiei

A.O.

Mendelzon

Efficient

retrieval

of

similar

shapes

t

N

which

is

periodic

with

period

N

That

is

the

x-axis

of

the

figure

is

treatedas

the

real

axis

andthe

y-axis

as

the

imaginary

axis

of

a

sequence

of

complex

numbers

Further

information

on

tracing

the

boundary

of

a

shape

and

possible

alternatives

in

representing

it

can

be

foundin

any

image

processing

textbook

such

as

Gonzalez

andWoods

-LSB-

-RSB-

It

shouldbe

notedthat

the

description

is

solely

basedon

the

shape

of

the

boundary

objects

can

still

have

holes

in

them

but

this

is

not

reflected

in

the

description

Given

a

boundary

function

b

t

its

Fourier

transform

can

be

written

as

B

f

N

t

b

t

e

N

-LRB-

-RRB-

where

f

-LCB-

-LRB-

N

-RRB-

-LRB-

N

-RRB-

-RCB-

and

j

is

the

imaginary

unit

The

coefficients

B

B

called

Fourier

descriptors

describe

the

shape

of

the

object

in

the

frequency

domain

The

transformation

is

loss-less

since

the

energy

in

the

frequency

domain

is

the

same

as

the

energy

in

the

spatial

domain

-LRB-

due

to

Parseval

's

theorem

-RRB-

and

also

the

inverse

Fourier

transform

gives

the

original

boundary

function

Shape

matching

using

Fourier

descriptors

Consider

two

boundary

functions

b

t

x

t

jy

t

and

b

t

x

t

jy

t

-LRB-

for

t

N

-RRB-

A

typical

measure

of

similarity

between

the

two

boundaries

is

the

Euclidean

distance

which

corresponds

to

mean-square

error

and

which

is

also

directly

relatedto

the

cross-correlation

-LSB-

-RSB-

D

-LRB-

b

b

-RRB-

t

b

t

b

t

-LRB-

-RRB-

However

the

distance

computation

becomes

ambiguous

if

the

two

boundaries

have

different

numbers

of

samples

A

solution

to

avoidthis

problem

is

to

findthe

Fourier

descriptors

B

and

B

respectively

for

b

and

b

anduse

a

fixednumber

of

lower

frequency

descriptors

-LRB-

say

-RRB-

to

compute

the

Euclidean

distance

i.e.

D

-LRB-

B

B

-RRB-

M

f

M

B

f

B

f

-LRB-

-RRB-

The

general

overview

of

the

proposedmethodis

as

follows

Obtain

the

Fourier

descriptors

of

every

shape

boundary

in

the

database

Compute

a

fingerprint

for

every

shape

as

discussed

in

Sect.

andbuilda

multidimensional

index

using

the

fingerprints

Each

fingerprint

is

storedas

a

point

in

the

multidimensional

index

For

basic

similarity

queries

-LRB-

proximity

nearest

neighbours

and

all-pairs

-RRB-

use

the

index

to

retrieve

candidate

shapes

The

qualifying

shapes

are

identified

after

retrieving

their

full

database

records

and

examining

them

For

queries

that

use

transformations

in

their

expressions

of

similarities

if

necessary

apply

the

transformations

to

the

index

as

discussed

in

Sect.

and

retrieve

candidate

shapes

The

full

database

record

of

every

candidate

shape

is

examinedto

findout

if

it

qualifies

We

use

Fourier

descriptors

as

our

shape

features

Given

a

set

of

shape

boundaries

for

each

boundary

b

we

findits

Fourier

transform

andretain

only

a

fixednumber

of

lower

frequency

descriptors

This

number

which

we

denote

by

can

be

chosen

for

example

to

be

the

average

length

of

a

boundary

in

the

spatial

domain

If

the

number

of

Fourier

descriptors

happens

to

be

less

than

we

store

zero

for

higher

frequency

descriptors

Computing

a

fingerprint

To

aidin

the

retrievals

that

we

intendto

perform

we

apply

a

few

transformations

to

the

descriptors

rather

than

storing

them

directly

First

we

set

B

to

B

is

the

only

descriptor

that

carries

information

about

the

shape

location

This

setting

minimizes

the

distance

function

-LRB-

Eq

-RRB-

with

respect

to

translation

Next

the

scale

normalization

is

achieved

by

dividing

every

coefficient

B

f

by

the

amplitude

of

B

often

calledthe

fundamental

frequency

B

turns

out

to

be

the

largest

amplitude

when

the

boundary

is

traced

in

the

counter-clockwise

-LRB-

ccw

-RRB-

direction

and

the

boundary

does

not

cross

itself

-LSB-

-RSB-

After

the

normalization

B

is

so

we

do

not

need

to

store

it

Instead

we

store

the

original

value

of

B

before

the

normalization

It

shouldbe

notedthat

the

real

andthe

imaginary

parts

of

the

initial

value

of

B

represent

the

shift

factors

respectively

along

the

X

and

the

Y

coordinates

the

amplitude

of

the

initial

value

of

B

represents

the

scale

factor

To

totally

get

ridof

B

which

already

has

an

amplitude

of

for

all

shapes

we

do

an

additional

normalization

We

shift

the

starting

point

such

that

the

phase

of

B

becomes

zero

Definition

Given

the

Fourier

descriptors

B

M

B

M

of

a

shape

denote

the

real

part

of

B

by

sh

x

the

imaginary

part

of

B

by

sh

y

the

amplitude

of

B

by

sc

and

the

phase

of

B

by

p

The

shape

description

is

defined

as

the

sequence

-LRB-

sh

x

sh

y

sc

S

S

S

S

S

S

M

S

M

-RRB-

-LRB-

-RRB-

where

S

i

-LRB-

-LRB-

B

i

-LRB-

sh

x

sh

y

j

-RRB-

-RRB-

sc

-RRB-

e

ipj

-LRB-

a

complex

number

-RRB-

for

i

The

Euclidean

distance

between

two

shape

descriptions

irrespective

of

variations

in

location

andsize

can

be

computedas

follows

D

-LRB-

S

S

-RRB-

M

f

M

f

S

f

S

f

-LRB-

-RRB-

Such

a

description

is

still

sensitive

to

changes

in

orientation

andstarting

point

of

the

tracing

We

can

assume

that

every

data

or

query

shape

has

a

fixed

starting

point

if

we

encode

its

boundary

using

the

same

tracing

algorithm

and

perform

the

same

normalization

For

example

a

tracing

algorithm

may

always

start

from

the

top

right

corner

of

a

shape

andtrace

it

in

the

ccw

direction

In

this

way

the

starting

point

for

two

identical

shapes

will

always

be

the

same

Two

similar

shapes

D.

Rafiei

A.O.

Mendelzon

Efficient

retrieval

of

similar

shapes

may

still

have

small

variations

in

their

starting

points

but

those

variations

can

be

easily

resolvedby

allowing

some

variations

in

starting

points

This

is

discussed

in

Sect.

There

are

sophisticatedtechniques

to

do

phase

normalization

-LSB-

-RSB-

For

example

Wallace

et

al.

-LSB-

-RSB-

suggest

making

the

phases

of

the

two

coefficients

of

largest

amplitude

equal

to

zero

This

is

believed

to

shift

the

starting

point

over

the

axis

of

symmetry

andalso

rotate

the

axis

of

symmetry

such

that

it

coincides

with

the

real

axis

However

it

shouldbe

notedthat

of

these

techniques

are

perfect

in

the

sense

that

a

shape

can

have

two

or

more

different

phase

normalizations

each

as

goodas

the

others

or

equivalently

two

fairly

similar

shapes

may

have

descriptors

which

are

far

from

each

other

For

the

purpose

of

indexing

important

features

of

the

description

needto

be

identifiedandplacedin

the

fingerprint

First

changing

the

orientation

or

the

starting

point

of

a

boundary

only

affects

the

phases

of

descriptors

To

insulate

the

index

from

such

changes

the

information

about

the

phases

of

descriptors

is

not

stored

in

a

fingerprint

Second

as

is

shown

in

Fig.

the

lower

frequency

descriptors

contain

information

about

the

general

shape

andthe

higher

frequency

descriptors

contain

information

about

smaller

details

There

are

strong

reasons

to

believe

that

for

a

large

class

of

boundary

functions

the

lower

frequency

descriptors

contain

most

of

the

energy

For

example

for

continuous

piece-wise

smooth

functions

the

amplitude

spectrum

S

f

decreases

at

a

rate

proportional

to

f

-LSB-

Page

-RSB-

Thus

we

can

define

a

fingerprint

of

a

shape

as

follows

Definition

Given

a

shape

description

-LRB-

sh

x

sh

y

sc

S

S

S

S

M

S

M

-RRB-

the

fingerprint

of

the

shape

is

defined

as

-LRB-

sh

x

sh

y

sc

S

S

S

S

k

S

k

-RRB-

where

k

-LRB-

M

-RRB-

is

the

cut-off

frequency

Next

we

show

the

completeness

of

the

feature

extraction

Using

fingerprints

for

indexing

The

completeness

of

the

indexing

methodis

basedon

the

following

lemma

Lemma

The

use

of

a

fingerprint

in

place

of

a

full

shape

description

for

shape

matching

always

returns

a

superset

of

the

answer

set

Proof

For

every

pair

of

boundaries

S

and

S

of

length

andfor

every

k

M

we

have

M

f

M

f

S

f

S

f

k

f

k

f

S

f

S

f

-LRB-

-RRB-

This

is

due

to

the

fact

that

for

every

term

S

f

S

f

in

the

right

side

of

the

inequality

there

is

a

term

S

f

S

f

in

the

left

side

and

S

f

S

f

S

f

S

f

Thus

storing

the

fingerprints

of

shapes

in

the

index

does

not

affect

the

correctness

since

the

index

returns

a

superset

of

the

answer

set

Furthermore

the

distance

function

on

the

right

side

of

Eq

is

invariant

to

changes

in

the

starting

point

of

the

boundary

and

rotation

However

the

index

will

not

be

effective

if

the

choice

of

k

results

in

a

large

number

of

false

hits

or

high

index

dimensionality

-LRB-

the

curse

of

dimensionality

-RRB-

Our

experiments

in

Sect.

show

that

the

value

of

k

can

be

chosen

as

low

as

which

results

in

storing

Fourier

amplitudes

in

the

index

There

are

a

large

number

of

multidimensional

data

structures

which

can

be

used

for

indexing

-LRB-

see

the

survey

by

Gaede

andG

unther

-LSB-

-RSB-

for

details

-RRB-

We

use

the

R

tree

as

it

is

expectedto

work

well

for

up

to

dimensions

andthe

length

of

a

fingerprint

is

expectedto

be

less

than

Basic

similarity

queries

Within

this

section

we

assume

that

the

shapes

being

com-paredhave

the

correct

sizes

positions

andorientations

Such

a

match

can

also

be

useful

for

example

before

insertions

to

prevent

storing

two

replicas

of

the

same

image

We

consider

the

three

basic

similarity

queries

over

a

shape

database

-LRB-

a

-RRB-

proximity

query

-LRB-

b

-RRB-

all-pairs

query

and

-LRB-

c

-RRB-

nearest-neighbours

query

In

a

proximity

query

we

are

given

a

query

shape

anda

threshold

andwe

wouldlike

to

findall

database

shapes

that

are

within

distance

of

the

query

shape

To

perform

a

proximity

query

both

the

shape

description

and

its

fingerprint

are

computedas

describedin

Sect.

in

the

same

way

as

each

data

shape

has

been

The

fingerprint

is

then

used

as

a

search

key

into

the

shape

index

to

retrieve

all

data

shapes

that

are

locatedin

its

proximity

Note

that

the

index

retrieves

a

superset

of

the

answer

set

since

it

only

keeps

the

fingerprints

of

shape

descriptions

The

actual

result

is

obtained

in

an

additional

step

where

the

Euclidean

distance

between

the

full

database

record

of

every

matching

shape

andthe

query

shape

is

computed

In

an

all-pairs

query

we

are

given

two

data

sets

and

a

threshold

andwe

want

to

findall

pairs

of

shapes

such

that

one

shape

is

within

distance

of

the

other

To

perform

an

all-pairs

query

we

do

a

spatial

join

between

the

corresponding

indices

of

the

two

data

sets

This

is

followed

by

an

additional

step

where

the

Euclidean

distance

between

the

full

database

records

of

matching

shapes

are

computed

In

a

nearest-neighbours

query

we

are

given

a

query

shape

andwe

wish

to

finddata

shapes

which

are

the

closest

to

the

query

shape

in

distance

To

perform

a

nearest-neighbours

query

both

the

shape

description

and

its

fingerprint

are

computed

-LRB-

as

discussedin

Sect.

-RRB-

andthe

fingerprint

is

usedas

a

search

key

over

the

index

Since

the

index

employs

the

distance

between

fingerprints

for

its

pruning

andthis

distance

is

an

underestimate

of

the

real

distance

between

descriptions

a

nearest

neighbour

identified

through

searching

the

index

may

not

be

the

real

nearest

neighbour

For

example

of

the

two

shapes

a

and

b

a

couldbe

the

closest

to

the

query

shape

based

on

the

distance

between

full

descriptions

but

the

index

will

return

b

if

b

is

the

closest

basedon

the

distance

between

fingerprints

To

fix

the

problem

we

pick

the

nearest

neighbour

-LRB-

s

-RRB-

iden-tifiedthrough

the

index

andcompute

the

distances

between

full

descriptions

of

the

retrievedshapes

andthe

query

shape

If

we

denote

the

minimum

distance

over

all

retrieved

shapes

with

the

distance

from

the

real

nearest

neighbours

can

not

This

is

often

referredto

as

a

range

query

as

well

-LSB-

-RSB-

D.

Rafiei

A.O.

Mendelzon

Efficient

retrieval

of

similar

shapes

orginal

N

descriptors

are

used

descriptors

are

used

descriptors

are

used

descriptors

are

used

descriptors

are

used

Fig.

Example

of

reconstructions

from

Fourier

descriptors

be

greater

than

otherwise

the

shapes

identified

through

the

index

are

the

nearest

neighbours

The

full

algorithm

is

as

follows

Algorithm

Using

a

nearest-neighbours

search

algorithm

-LRB-

such

as

-LSB-

-RSB-

-RRB-

retrieve

the

nearest

neighbour

-LRB-

s

-RRB-

from

the

index

For

every

candidate

returned

in

step

retrieve

its

full

database

recordandcompute

its

real

distance

from

the

query

shape

Let

NN

be

the

set

of

all

data

shapes

at

the

minimum

real

distances

from

the

query

shape

let

be

this

minimum

distance

Using

as

an

initial

threshold

pose

an

incremental

proximity

query

to

the

index

-LRB-

results

are

returned

one

at

a

time

andthe

threshold

can

be

tightenedduring

the

process

-RRB-

Get

the

next

data

shape

within

distance

of

the

query

shape

If

the

distance

between

the

data

shape

and

the

query

shape

is

less

than

then

set

NN

to

be

the

new

data

shape

and

to

be

the

new

distance

if

the

distance

between

the

new

data

shape

and

the

query

shape

is

then

add

the

new

data

shape

to

NN

Repeat

this

step

until

there

are

no

more

qualifying

data

shapes

Algorithm

is

a

refinement

of

the

nearest-neighbours

algorithm

given

by

Korn

et

al.

-LSB-

KSF

-RSB-

The

refinement

is

in

the

form

of

tightening

the

proximity

query

thresholdin

Step

as

more

data

shapes

are

retrieved

There

is

another

incremental

refinement

of

the

same

algorithm

proposedby

Seidl

and

Kriegel

-LSB-

-RSB-

which

can

also

be

used

Queries

with

transformations

A

natural

way

of

doing

shape

matching

is

to

remove

certain

differences

before

running

a

comparison

We

can

think

of

this

process

as

applying

certain

transformations

to

images

before

doing

a

matching

We

consider

the

following

four

kinds

of

transformations

Shifting

andscaling

Rotation

Change

of

starting

point

Smoothing

In

this

section

we

center

our

discussion

on

proximity

queries

but

the

same

techniques

are

applicable

to

nearest-neighbours

andall-pairs

queries

Transformations

to

can

be

supportedin

a

multidimensional

index

by

providing

a

function

that

computes

the

distance

between

a

data

shape

and

a

query

shape

transformations

can

be

applied

to

shape

descriptions

inside

the

function

Transformation

can

be

supported

by

registering

an

additional

function

that

checks

if

an

index

entry

overlaps

with

a

query

entry

The

transformation

can

then

be

appliedto

either

the

index

entry

or

the

query

entry

-LRB-

or

both

-RRB-

before

checking

for

an

overlap

Most

multidimensional

index

structures

allow

users

to

define

such

a

function

The

next

four

subsections

respectively

discuss

the

eval-uations

of

queries

that

use

individual

transformations

to

in

their

expressions

of

similarities

More

details

on

evaluating

queries

that

use

a

combination

of

transformations

in

their

expressions

of

similarities

can

be

foundelsewhere

-LSB-

-RSB-

Match

with

shifting

or

scaling

In

many

cases

we

do

not

care

about

the

position

of

a

shape

within

a

coordinate

system

or

about

its

size

for

matching

purposes

To

match

with

shifting

or

scaling

a

fingerprint

is

com-putedfor

the

query

shape

as

describedin

Sect.

andthis

fingerprint

is

usedas

a

search

key

for

the

index

If

we

are

interested

in

a

match

invariant

under

shifting

we

simply

discard

the

shift

factor

of

the

query

point

andpermit

any

value

for

the

shift

factor

Similarly

for

scaling-invariant

matching

we

dis-cardthe

scale

factor

of

the

query

point

andpermit

any

value

for

the

scale

factor

D.

Rafiei

A.O.

Mendelzon

Efficient

retrieval

of

similar

shapes

Match

with

rotation

We

often

wish

to

match

shapes

irrespective

of

small

variations

in

orientation

For

example

the

two

shapes

shown

in

Fig.

make

a

perfect

match

if

one

shape

is

rotatedby

To

achieve

this

we

state

in

our

query

the

range

of

the

rotation

we

wish

to

perform

before

doing

a

shape

matching

Query

for

instance

retrieves

all

database

shapes

that

match

a

given

query

shape

after

one

shape

is

being

rotatedby

-LSB-

-RSB-

Sometimes

we

wouldlike

to

do

matching

totally

invariant

to

rotation

For

example

we

may

not

care

about

the

orientation

at

all

if

we

are

doing

airplane

recognition

This

can

be

accom-plishedby

simply

allowing

a

rotation

of

-LSB-

-RSB-

before

matching

To

perform

a

match

with

rotation

a

fingerprint

is

computed

for

the

query

shape

andis

usedas

a

search

key

to

the

index

The

search

key

is

used

to

retrieve

all

candidates

from

the

index

These

candidates

include

all

data

points

that

match

the

query

point

irrespective

of

rotation

factor

They

also

include

false

positives

i.e.

data

points

that

are

not

in

the

proximity

of

the

query

point

for

any

rotation

factor

To

discard

false

positives

we

need

to

retrieve

the

full

database

record

of

every

candidate

andcheck

whether

it

actually

falls

in

the

proximity

-LRB-

say

within

distance

-RRB-

of

the

query

shape

after

being

rotatedby

some

-LSB-

-RSB-

On

the

other

hand

rotating

a

shape

boundary

by

is

equivalent

to

multiplying

every

descriptor

S

f

by

e

j

We

can

thus

rewrite

Eq

to

make

it

reflect

the

rotation

D

-LRB-

S

S

-RRB-

M

f

M

f

S

f

e

j

S

f

-LRB-

-RRB-

Lemma

The

minimum

and

the

maximum

of

Eq

take

place

at

arctan

-LRB-

X/Y

-RRB-

c.

where

c

is

an

integer

X

f

sin

f

Y

f

cos

f

and

S

f

S

f

f

e

j

f

-LRB-

denotes

the

complex

conjugation

-RRB-

Since

we

are

interestedin

the

minimum

of

Eq

when

-LSB-

-RSB-

and

the

minimum

must

take

place

either

at

an

endpoint

-LRB-

i.e.

or

-RRB-

or

any

point

-LCB-

arctan

-LRB-

A/B

-RRB-

arctan

-LRB-

A/B

-RRB-

arctan

-LRB-

A/B

-RRB-

-RCB-

which

is

inside

the

region

It

is

straightforward

to

compute

the

distance

function

for

these

values

andfindout

the

optimal

rotation

factor

that

results

in

the

minimum

distance

Match

with

changing

starting

point

When

we

compare

two

boundaries

we

do

not

care

about

their

starting

points

If

we

use

the

same

tracing

algorithm

for

every

boundary

there

can

not

be

large

variations

in

the

starting

point

-LRB-

though

small

variations

are

still

possible

-RRB-

However

we

may

not

have

much

control

over

the

tracing

algorithm

andas

a

result

two

similar

shapes

may

have

different

starting

points

or

even

if

we

use

the

same

tracing

algorithm

for

all

boundaries

we

may

want

to

remove

small

variations

-LRB-

if

any

-RRB-

before

doing

a

comparison

Shifting

the

starting

point

of

a

boundary

by

is

equivalent

to

multiplying

every

descriptor

S

f

by

e

jf

This

operation

similar

to

rotation

only

affects

the

phases

of

Fourier

The

complex

conjugate

of

z

x

yj

is

defined

as

z

x-yj

For

example

N

for

a

boundary

of

length

N

means

shifting

its

starting

point

by

s

points

in

ccw

direction

descriptors

Thus

we

can

still

use

the

index

to

retrieve

all

candidates

To

discard

false

positives

we

need

to

retrieve

the

full

database

record

of

every

candidate

and

check

whether

it

still

qualifies

after

the

starting

point

is

being

shiftedby

some

-LSB-

-RSB-

We

can

again

rewrite

Eq

to

make

it

reflect

the

shift

in

starting

point

D

-LRB-

S

S

-RRB-

M

f

M

f

S

f

e

jf

S

f

-LRB-

-RRB-

The

optimal

value

for

can

be

obtainedby

equating

the

derivative

of

the

above

equation

to

zero

andfinding

the

roots

This

can

be

done

using

numerical

techniques

up

to

the

machine

precision

-LSB-

-RSB-

Match

with

smoothing

Occasionally

we

wish

to

do

matching

based

on

overall

shape

irrespective

of

small

variations

in

details

and

noise

In

such

cases

we

wouldlike

to

smooth

out

sharp

edges

andsmall

variations

before

doing

the

comparison

To

achieve

this

we

can

apply

a

moving

average

transformation

to

shape

boundaries

When

an

l-point

moving

average

is

appliedto

a

boundary

every

point

is

replacedwith

the

average

of

its

l

surrounding

points

On

the

other

hand

applying

a

moving

average

to

a

boundary

in

the

spatial

domain

corresponds

to

a

vector

multiplication

in

the

frequency

domain

For

example

to

apply

a

moving

average

to

a

boundary

with

points

we

can

equivalently

multiply

its

Fourier

descriptors

by

the

Fourier

transform

of

vector

m

-LRB-

-RRB-

This

gives

us

the

Fourier

descriptors

of

the

smoothed

boundary

A

distinguishing

feature

of

smoothing

compared

to

other

transformations

discussed

in

this

paper

is

that

its

effect

on

a

shape

depends

on

the

characteristics

of

the

shape

This

is

unlike

rotation

for

instance

where

the

effect

of

rotating

a

data

shape

by

before

a

comparison

is

the

same

as

that

of

rotating

the

query

shape

by

Given

a

query

shape

anda

desiredmoving

average

for

smoothing

the

matching

can

be

performedas

follows

Findthe

Fourier

transform

of

the

desiredmoving

average

-LRB-

as

demonstrated

for

moving

average

-RRB-

let

us

denote

this

by

M.

Transforming

the

query

shape

Apply

the

transformation

to

the

query

shape

description

-LRB-

sh

x

sh

y

sc

Q

-RRB-

by

replacing

Q

with

Q

where

Q

i

Q

i

M

i

for

i

k

k.

Construct

a

search

key

by

computing

the

fingerprint

of

the

new

shape

description

Transforming

the

index

Apply

M

to

data

entries

stored

in

the

index

before

checking

for

an

overlap

between

a

data

entry

and

the

search

key

this

is

done

inside

the

function

that

checks

if

a

data

entry

from

the

index

overlaps

the

search

key

For

every

candidate

retrieve

its

full

database

record

apply

M

to

it

andcheck

if

the

resulting

shape

falls

in

the

proximity

of

Q

The

transformation

can

be

appliedto

the

index

on

the

fly

as

the

index

is

being

traversed

The

issue

of

on-the-fly

applying

single

or

multiple

transformations

to

an

index

is

studied

in

the

domain

of

time

series

data

-LSB-

-RSB-

The

same

techniques

can

be

appliedto

the

domain

of

shapes

D.

Rafiei

A.O.

Mendelzon

Efficient

retrieval

of

similar

shapes

a

D

b

D

c

D

d

D

e

D

f

D

g

D

i

D

h

D

j

D

Fig.

Query

shapes

shown

in

the

top

two

rows

andtheir

nearest

neighbours

shown

in

the

bottom

two

rows

To

determine

the

effectiveness

of

our

proposed

technique

we

implementedour

methodandran

experiments

on

a

dataset

of

real

hand-written

digits

The

data

was

obtained

from

the

CEDAR

CDROM

dataset

which

was

gathered

from

scannedZIP

codes

at

the

Buffalo

Post

Office

-LSB-

-RSB-

For

every

digit

the

dataset

held

images

Each

image

was

originally

in

the

form

of

a

gray-scale

image

which

was

convertedinto

a

binary

image

-LRB-

by

thresholding

-RRB-

andwas

traced

to

identify

a

shape

boundary

Then

the

boundary

was

encoded

using

lower

Fourier

descriptors

For

boundaries

with

length

less

than

zero

was

padded

at

the

end

For

each

shape

both

its

description

and

its

fingerprint

are

computed

as

outlinedin

Sect.

andusedfor

the

purpose

of

indexing

As

our

index

we

used

Norbert

Beckmann

's

implementation

of

the

R

tree

-LSB-

-RSB-

For

the

nearest-neighbours

search

we

implementedthe

algorithm

developedby

Roussopoulos

et

al.

-LSB-

-RSB-

as

part

of

Algorithm

over

R

tree

We

stored

shapes

-LRB-

samples

of

each

digit

-RRB-

in

the

index

and

usedthe

remaining

samples

as

queries

We

ran

each

query

times

andaveragedthe

execution

times

from

these

runs

All

our

experiments

were

conducted

on

a

MHz

Ul-trasparc

station

We

investigatedthe

following

questions

How

effective

andpractical

is

our

technique

in

classifying

shapes

in

a

real

data

domain

How

many

Fourier

coefficients

shouldwe

store

in

the

index

Storing

larger

number

of

coefficients

reduces

the

number

of

false

positives

but

increases

the

index

dimensionality

andas

a

result

the

search

time

How

does

our

technique

compare

to

sequential

scanning

Shape

classification

To

verify

the

effectiveness

of

our

proposedtechnique

in

classifying

shapes

we

triedto

classify

all

query

shapes

by

assigning

every

query

shape

to

the

class

of

its

nearest

neighbours

When

there

was

more

than

one

nearest

neighbours

for

a

shape

we

pickedone

randomly

The

result

was

interesting

of

shapes

were

classifiedcorrectly

Some

of

those

query

shapes

are

shown

in

their

gray

scale

andbinary

representation

in

the

two

top

rows

of

Fig.

along

with

their

nearest

neighbours

shown

in

the

two

bottom

rows

of

the

same

figure

Table

Various

ranges

of

rotations

andtheir

effects

in

correctly

classifying

the

shapes

of

hand-written

digits

Rotation

factor

Fraction

of

query

shapes

classifiedcorrectly

-LRB-

-RRB-

-LSB-

-RSB-

-LSB-

-RSB-

-LSB-

-RSB-

-LSB-

-RSB-

-LSB-

-RSB-

-LSB-

-RSB-

As

is

shown

query

shapes

shown

in

Figs.

to

are

classified

correctly

with

their

Euclidean

distances

from

their

nearest

neighbours

varying

from

to

The

query

shape

shown

in

Fig.

is

not

classifiedcorrectly

but

its

binary

representation

looks

quite

similar

to

that

of

its

nearest

neighbour

The

query

shape

shown

in

Fig.

looks

different

from

its

nearest

neighbour

though

their

boundaries

still

look

similar

In

another

experiment

we

usedQuery

andtriedto

identify

for

each

query

shape

its

nearest

neighbour

irrespective

of

a

rotation

factor

-LSB-

-RSB-

This

did

not

change

the

overall

classification

rate

i.e.

only

of

shapes

were

classifiedcorrectly

However

allowing

a

rotation

factor

in

general

did

retrieve

better

matches

Figure

shows

six

query

shapes

-LRB-

in

the

top

two

rows

-RRB-

their

original

nearest

neighbours

-LRB-

in

the

middle

two

rows

-RRB-

and

their

optimal

nearest

neighbours

-LRB-

in

the

bottom

two

rows

-RRB-

when

the

rotation

factor

variedfrom

to

As

is

shown

for

example

rotating

the

data

shape

shown

at

the

bottom

of

Fig.

by

in

the

ccw

direction

reduces

its

Euclidean

distance

from

the

query

shape

to

this

is

less

than

the

Euclidean

distance

between

the

same

query

shape

andits

original

nearest

neighbour

Table

summarizes

the

effect

of

various

rotations

in

correctly

classifying

shapes

As

is

shown

applying

a

small

rotation

-LRB-

-LSB-

-RSB-

-RRB-

to

d

ata

shapes

before

matches

slightly

improves

the

classification

rate

of

hand-written

digits

larger

rotations

on

the

other

hand

either

have

no

effect

or

deteriorate

the

rate

of

correct

classifications

This

is

because

the

digit

data

is

generally

sensitive

to

orientations

andallowing

larger

rotations

can

potentially

retrieve

more

non-identical

digits

We

later

shapes

among

those

storedin

the

database

applied

to

each

shape

a

random

rotation

in

the

range

-LSB-

-RSB-

andusedit

as

a

query

shape

We

only

specifiedthe

D.

Rafiei

A.O.

Mendelzon

Efficient

retrieval

of

similar

shapes

a

D

R

D

b

D

R

D

c

D

R

D

d

D

R

D

e

D

R

D

f

D

R

D

Fig.

Query

shapes

-LRB-

the

top

two

rows

-RRB-

their

original

nearest

neighbours

-LRB-

the

middle

two

rows

-RRB-

and

their

optimal

nearest

neighbours

-LRB-

the

bottom

two

rows

-RRB-

varying

the

rotation

factor

in

-LSB-

-RSB-

Number

of

Fourier

amplitudes

Fraction

of

shapes

classified

correctly

Fig.

The

fraction

of

query

shapes

classifiedcorrectly

varying

the

number

of

Fourier

amplitudes

used

for

classification

rotation

interval

in

our

query

As

expected

for

each

query

shape

only

the

shape

itself

was

retrievedfrom

the

database

Varying

the

cut-off

frequency

The

effectiveness

of

the

index

mainly

depends

on

the

concentration

of

the

key

shape

information

within

a

few

descriptors

of

fingerprints

To

measure

this

effectiveness

we

ran

some

experiments

varying

the

number

of

Fourier

descriptors

stored

in

a

fingerprint

Figure

shows

the

ratio

of

query

shapes

that

are

classifiedcorrectly

-LRB-

according

to

the

criteria

outlinedin

Sect.

-RRB-

to

all

query

shapes

varying

the

number

of

Fourier

amplitudes

used

for

classification

As

the

number

of

amplitudes

increases

up

to

the

ratio

of

shapes

that

are

classified

correctly

increases

accordingly

up

to

This

ratio

remains

the

same

despite

increasing

the

number

of

Fourier

amplitudes

from

to

Comparedto

a

full

shape

description

which

consists

of

both

the

amplitudes

and

the

phases

of

lower

Fourier

coefficients

classifying

of

the

shapes

correctly

a

fingerprint

does

a

pretty

good

job

using

only

amplitudes

which

make

up

only

of

a

full

shape

description

and

still

classifying

of

the

shapes

correctly

Figure

shows

the

average

execution

time

of

Algorithm

for

nearest-neighbours

queries

broken

into

-LRB-

-RRB-

search

time

in

Step

to

identify

the

initial

approximate

nearest

neighbours

and

-LRB-

-RRB-

search

time

in

Step

to

findthe

real

nearest

neighbours

Figure

shows

the

fraction

of

index

nodes

accessed

averaged

over

nearest-neighbours

queries

again

broken

into

the

fractions

accessedin

Step

andStep

As

the

number

of

Fourier

amplitudes

increases

the

index

selectivity

improves

i.e.

the

index

gives

fewer

false

hits

The

number

of

false

hits

as

is

depicted

in

Fig.

for

a

proximity

query

mainly

depends

on

the

number

of

Fourier

amplitudes

usedin

fingerprints

andthe

output

size

of

the

query

Due

to

the

high

similarity

between

different

shapes

of

the

same

digit

a

large

fraction

of

our

false

hits

-LRB-

for

example

when

the

output

size

was

andthe

number

of

Fourier

amplitudes

was

-RRB-

were

other

shapes

of

the

same

digit

depicted

by

the

query

shape

which

were

not

within

the

specifieddistance

of

the

query

shape

The

reduction

in

false

hits

reduces

the

search

time

since

less

time

is

needed

to

remove

those

false

hits

However

increasing

the

number

of

Fourier

amplitudes

after

some

point

often

calledthe

cut-off

frequency

either

does

not

reduce

the

number

of

false

hits

or

reduces

it

only

slightly

This

is

because

higher

frequency

amplitudes

carry

less

of

the

energy

than

lower

frequency

ones

On

the

other

hand

the

search

time

increases

with

the

index

dimensionality

because

the

tree

becomes

deeper

Furthermore

the

pruning

becomes

harder

as

is

shown

in

Fig.

with

the

ratio

of

index

nodes

that

are

accessed

because

the

probability

of

an

arbitrary

data

bounding

rectangle

being

close

to

the

query

point

increases

with

the

dimensionality

Given

the

trade-off

between

the

tree

search

time

and

the

time

spent

for

removing

false

hits

it

is

natural

to

expect

that

there

is

an

optimal

cut-off

frequency

Basedon

our

experiments

as

illustratedin

Figs.

the

optimal

cut-off

frequency

occurs

for

as

few

as

Fourier

amplitudes

Comparison

to

sequential

scanning

Figure

shows

the

average

execution

time

of

our

proposed

methodcomparedto

sequential

scanning

for

nearest-neighbours

queries

To

get

its

best

performance

we

used

bufferedinput

for

sequential

scanning

in

a

system

with

buffer

size

of

bytes

For

the

experiment

shown

in

Fig.

the

border

length

was

fixed

to

while

the

database

size

variedfrom

to

shapes

Since

the

size

of

dataset

was

limited

we

doubled

or

tripled

the

size

by

adding

one

or

two

randomly

rotated

copies

of

each

shape

to

the

database

This

doubling

did

not

affect

the

performance

of

sequential

scanning

which

was

linear

in

the

input

size

but

we

expected

the

doubling

to

deteriorate

the

performance

of

our

method

since

high

similarity

among

database

shapes

would

increase

the

number

of

false

hits

For

the

experiment

shown

in

Fig.

the

number

of

shapes

was

fixedat

while

the

number

of

Fourier

descriptors

used

to

represent

a

boundary

varied

from

D.

Rafiei

A.O.

Mendelzon

Efficient

retrieval

of

similar

shapes

Number

of

Fourier

amplitudes

Execution

time

-LRB-

msec

-RRB-

initial

NN

query

proximity

query

Total

a

Number

of

Fourier

amplitudes

Fraction

of

index

nodes

accessed

b

initial

NN

query

proximity

query

Total

Fig.

Break

up

of

a

the

execution

time

and

b

the

fraction

of

index

nodes

accessed

for

nearest-neighbours

queries

varying

the

number

of

Fourier

amplitudes

Number

of

Fourier

amplitudes

of

false

hits

per

every

qualifying

shape

a

Output

size

of

false

hits

per

every

qualifying

shape

b

Fig.

The

average

number

of

false

positives

for

every

qualifying

shape

a

varying

the

number

of

Fourier

amplitudes

and

fixing

the

average

output

size

of

the

query

to

and

b

varying

the

average

output

size

andfixing

the

number

of

Fourier

amplitudes

to

x

Number

of

shapes

Execution

time

-LRB-

msec

-RRB-

Seq

Index

a

Border

Length

Execution

time

-LRB-

msec

-RRB-

Seq

Index

b

Fig.

a

Time

per

query

varying

the

number

of

shapes

for

nearest-neighbours

queries

b

Time

per

query

varying

the

border

length

for

nearest-neighbours

queries

D.

Rafiei

A.O.

Mendelzon

Efficient

retrieval

of

similar

shapes

to

As

shown

in

the

figure

increasing

either

the

number

of

shapes

or

the

border

length

increases

the

relative

advantage

of

our

method

making

it

more

attractive

for

large

databases

We

have

proposedan

indexing

technique

that

can

efficiently

retrieve

images

of

objects

basedon

similarity

between

their

boundary

shapes

We

have

used

Fourier

descriptors

as

our

shape

features

andhave

developedan

index

organization

such

that

similar

shapes

can

be

easily

retrievedirrespective

of

their

differences

in

size

position

and

orientation

The

highlight

of

our

contribution

is

an

index

structure

that

helps

find

optimal

matches

between

shapes

irrespective

of

various

differences

between

them

Our

technique

has

the

following

desirable

properties

It

uses

a

shape

matching

mechanism

which

is

well-studied

in

the

area

of

pattern

recognition

It

exploits

the

fact

that

important

features

of

a

large

class

of

shapes

are

concentratedwithin

only

a

few

Fourier

descriptors

It

can

handle

shapes

of

various

sizes

It

guarantees

efficient

retrieval

of

all

qualifying

shapes

Furthermore

we

have

presenteda

refinement

of

an

earlier

nearest-neighbours

search

algorithm

for

feature

vectors

that

are

truncated

due

to

the

significance

of

some

features

over

others

before

being

storedin

a

R-tree

index

Acknowledgement

We

thank

the

Natural

Sciences

andEngineering

Research

Council

of

Canada

andthe

Institute

for

Robotics

andIntel-ligent

Systems

for

their

support

of

this

work

-LSB-

-RSB-

Agrawal

R

Faloutsos

C

Swami

A

-LRB-

-RRB-

Efficient

similarity

search

in

sequence

databases

In

Proc

International

Conference

on

Foundations

of

Data

Organizations

andAlgorithms

-LRB-

FODO

-RRB-

pp

Chicago

-LSB-

-RSB-

Bribiesca

E

Guzman

A

-LRB-

-RRB-

How

to

describe

pure

form

andhow

to

measure

differences

in

shape

using

shape

numbers

Pattern

Recognition

-LRB-

-RRB-

-LSB-

-RSB-

BerchtoldS

Keim

DA

Kriegel

HP

-LRB-

-RRB-

Using

extended

feature

objects

for

partial

similarity

retrieval

VLDB

J

-LRB-

-RRB-

-LSB-

-RSB-

Beckmann

N

Kriegel

HP

Schneider

R

Seeger

B

-LRB-

-RRB-

The

R

tree

an

efficient

androbust

index

methodfor

points

andrectangles

In

Proc

ACM

SIGMOD

International

Conference

on

Management

of

Data

pp

Atlantic

City

-LSB-

-RSB-

Bribiesca

E

-LRB-

-RRB-

Arithmetic

operations

among

shapes

using

shape

numbers

Pattern

Recognition

-LRB-

-RRB-

-LSB-

-RSB-

Belkasim

SO

Shridhar

M

Ahmadi

M

-LRB-

-RRB-

Pattern

recognition

with

invariants

a

comprehensive

study

and

new

results

Pattern

Recognition

-LSB-

FBF

-RSB-

Faloutsos

C

Barber

R

Flickner

M

Niblack

W

Petkovic

D

Equitz

W

-LRB-

-RRB-

Efficient

andeffective

querying

by

image

content

J

Intell

Inf

Syst

-LRB-

-RRB-

-LSB-

-RSB-

Gaede

V

G

unther

O

-LRB-

-RRB-

Multidimensional

access

methods

ACM

Comput

Surv

-LRB-

-RRB-

-LSB-

-RSB-

Goldin

DQ

Kanellakis

PC

-LRB-

-RRB-

On

similarity

queries

for

time-series

data

constraint

specification

and

implementation

In

Int

Conference

on

the

Principles

and

Practice

of

Constraint

Programming

Lecture

Notes

in

Computer

Science

vol

Springer

Berlin

Heidelberg

New

York

pp.

-LSB-

-RSB-

Goldin

DQ

-LRB-

-RRB-

Constraint

query

algebras

PhD

thesis

Brown

University

-LSB-

-RSB-

Gonzalez

RC

Woods

RE

-LRB-

-RRB-

Digital

image

processing

Addison-Wesley

Reading

Mass.

USA

-LSB-

-RSB-

Hull

JJ

-LRB-

-RRB-

A

database

for

handwritten

text

recognition

research

IEEE

Trans

Pattern

Anal

Mache

Intell

-LRB-

-RRB-

-LSB-

-RSB-

Jagadish

HV

-LRB-

-RRB-

A

retrieval

technique

for

similar

shapes

In

Proc

ACM

SIGMOD

International

Conference

on

Management

of

Data

pp

Denver

Colo.

USA

-LSB-

-RSB-

Jagadish

HV

Mendelzon

AO

Milo

T

-LRB-

-RRB-

Similarity-basedqueries

In

Proc

ACM

SIGACT-SIGMOD-SIGART

Symposium

on

Principles

of

Database

Systems

pp

San

Jose

Calif.

USA

-LSB-

KSF

-RSB-

Korn

F

Sidiropoulos

N

Faloutsos

C

Siegel

E

Protopa-pas

Z

-LRB-

-RRB-

Fast

nearest

neighbor

search

in

medical

image

databases

In

Proc

International

Conference

on

Very

Large

Data

Bases

pp

Mumbai

India

-LSB-

-RSB-

Kauppinen

H

Seppanen

T

Pietikainen

M

-LRB-

-RRB-

An

experimental

comparison

of

autoregressive

andFourier-baseddescriptors

in

shape

classification

IEEE

Trans

Pattern

Anal

Mach

Intell

-LRB-

-RRB-

-LSB-

-RSB-

Lin

KI

Jagadish

HV

Faloutsos

C

-LRB-

-RRB-

The

TV-tree

an

index

structure

for

high-dimensional

data

VLDB

J

-LRB-

-RRB-

-LSB-

L

-RSB-

Li

JZ

Ozsu

MT

Szafron

D

Oria

V

-LRB-

-RRB-

MOQL

a

multimedia

object

query

language

In

Proc

International

Workshop

on

Multimedia

Information

Systems

pp

-LSB-

-RSB-

Mehrotra

R

Gary

JE

-LRB-

-RRB-

Feature-basedretrieval

of

similar

shapes

In

Proc

International

Conference

on

Data

Engineering

pp

Vienna

Austria

-LSB-

-RSB-

Mokhtarian

F

MackworthA

-LRB-

-RRB-

A

scale-baseddescrip-tion

andrecognition

of

planar

curves

andtwo

dimensional

shapes

IEEE

Trans

Pattern

Anal

Mach

Intell

-LRB-

-RRB-

-LSB-

-RSB-

Persoon

E

Fu

KS

-LRB-

-RRB-

Shape

discrimination

using

Fourier

descriptors

IEEE

Trans

Syst

Man

Cybern

-LRB-

-RRB-

-LSB-

-RSB-

Press

WH

Teukolsky

SA

Vetterling

WT

Flannery

BP

-LRB-

-RRB-

Numerical

recipes

in

C.

Cambridge

University

Cambridge

UK

-LSB-

-RSB-

Rafiei

D

-LRB-

-RRB-

Fourier-transform

basedtechniques

in

efficient

retrieval

of

similar

time

sequences

PhD

thesis

University

of

Toronto

-LSB-

-RSB-

RichardCW

Hemami

H

-LRB-

-RRB-

Identification

of

three-dimensional

objects

using

Fourier

descriptors

of

the

boundary

curve

IEEE

Trans

Syst

Man

Cybern

-LSB-

-RSB-

Roussopoulos

N

Kelley

S

Vincent

F

-LRB-

-RRB-

Nearest

neighbor

queries

In

Proc

ACM

SIGMOD

International

Conference

on

Management

of

Data

pp

San

Jose

Calif.

USA

-LSB-

-RSB-

Rafiei

D

Mendelzon

AO

-LRB-

-RRB-

Similarity-based

queries

for

time

series

data

In

Proc

ACM

SIGMOD

International

Conference

on

Management

of

Data

pp

Tucson

Ariz.

USA

D.

Rafiei

A.O.

Mendelzon

Efficient

retrieval

of

similar

shapes

-LSB-

-RSB-

Rafiei

D

Mendelzon

AO

-LRB-

-RRB-

Querying

time

series

data

based

on

similarity

IEEE

Trans

Knowl

Data

Eng

-LRB-

-RRB-

-LSB-

-RSB-

Seidl

T

Kriegel

HP

-LRB-

-RRB-

Optimal

multi-step

nearest

neighbour

search

In

Proc

ACM

SIGMOD

International

Conference

on

Management

of

Data

pp

Seattle

Wash.

USA

-LSB-

-RSB-

Wallace

TP

Wintz

PA

-LRB-

-RRB-

An

efficient

three-dimensional

aircraft

recognition

algorithm

using

normal-izedfourier

descriptors

Comput

Graph

Image

Process

-LSB-

-RSB-

Zahn

CT

Roskies

RZ

-LRB-

-RRB-

Fourier

descriptors

for

plane

closedcurves

IEEE

Trans

Comput

-LRB-

-RRB-

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O

search
similarity queries
database
image databases
shape classification
fourier descriptors
similarity retrieval
fingerprint
queries

shape retrieval
efficiency
non textual objects
handwriting recognition
indexing techniques