GENERALIZED HUGH TRANSFORM

The Generalized Hugh transform (GHT) is a generalization aimed to apply HT to non analytical shapes.

flowchart LR
subgraph online phase
f[detect edges in the target image]
g[compute gradient direction]
h[quantize the gradient to index the R table]
i[compute the position of the reference point]
j[ cast a vote in the accumulator array]

f --> g --> h --> i --> j --repeat for all r vectors\n in the indexed row--> i
j --repeat for all edges--> g
end

subgraph offline phase

a[detect edeges in the model image]
b[choose a reference point e.g. the baricentre of the shape]
c[compute vector R for each edge point]
d[compute gradient direction]
e[store R in a table indexed by the quantized gradient direction]

a --> b --> c --> d --> e --repeat for all edges--> c
end

GHT WITH LOCAL INVARIANT FEATURES

The most popular computer vision pipeline relies on combining GHT with local invariant features such as the SIFT DESCRIPTOR. In this pipeline Local invariant features are used instead of edges.

OFFLINE PHASE

Detect keypoints (e.g. DOG) and compute descriptors (e.g. SIFT) in the model image:

Choose a reference point (eg the barycentre)

Compute the joining vectors between the features and the reference point:

The Star Model consist of the features and their joining vectors (no need of the R Table):

ONLINE PHASE

Detect keypoints on the target image and compute descriptors :

Match descriptor between target and model image

for each keypoint on the target image that matches his descriptor with a keypoint in the model image compute the reference point and cast a vote in the accumulator array

2D ACCUMULATOR ARRAY ISSUES

A 2D accumulator array is not sufficient to account for rotation and scale, the solution is to use a 4D accumulator array in order to account for scale and rotation

PREVIOUS NEXT