Image Processing

 

A Statistical Analysis of the Susan Algorithms as Used in AUViking

 

Revision 1.0

 

In partial fulfillment of the requirements of

Design Project CENG499

 

By

Zahid Rajabali (9809247)

 

Team Members:

Mark Campbell (9805386)

Donovan Parks (9905396)

 

Date

April 4, 2003


Table of Contents

TOC.. 1

AUV – IMAGING SYSTEM USING SUSAN PRINCIPLE. 3

Introduction. 3

Undistorted. 4

INPUT. 4

OUTPUT. 4

STATISTICS CHART. 4

CORNERS VS THRESHOLD GRAPH.. 5

Gaussian Blur 6

INPUT. 6

OUTPUT. 6

STATISTICS CHART. 6

CORNERS VS THRESHOLD GRAPH.. 6

Motion Blur 7

INPUT. 7

OUTPUT. 7

STATISTICS CHART. 7

CORNERS VS THRESHOLD GRAPH.. 7

Noise. 8

INPUT. 8

OUTPUT. 8

STATISTICS CHART. 8

CORNERS VS THRESHOLD GRAPH.. 8

Rounded Corners. 9

INPUT. 9

OUTPUT. 9

STATISTICS CHART. 9

CORNERS VS THRESHOLD GRAPH.. 9

Ripples. 10

INPUT. 10

OUTPUT. 10

STATISTICS CHART. 10

CORNERS VS THRESHOLD GRAPH.. 10

Lightened Background. 11

INPUT. 11

OUTPUT. 11

STATISTICS CHART. 11

CORNERS VS THRESHOLD GRAPH.. 11

 


 

 

AUV – IMAGING SYSTEM USING SUSAN PRINCIPLE

Introduction

The SUSAN-corner algorithm (option –c in the SUSAN command line) was appended slightly to calculate the vector of the isosceles triangle we anticipate to have. The appended portion of the algorithm needs three points, and based on vector calculations determines which of the points are the two base points of the triangle, and which is the top of the triangle.  It then determines the midpoint of the base, and calculates a vector based on the base-midpoint and the topmost point of the triangle.  The angle calculated is relative to the image’s North vector (directly up). [This follows from the assumption that the image taken will have the top of the image in the same direction as the nose of the vehicle, but this can always be corrected once the camera is mounted.]

However, SUSAN-corner doesn’t always return exactly 3 points.  When it does, the 3 points are usually the 3 corners of the triangle.  It was found that the number of corners detected corresponded directly to what brightness threshold was used (option –t in the SUSAN command line).

Thus, various brightness thresholds were tested with various manufactured images of an isosceles triangle, pointing in different directions.  Once the crisp (undistorted) images were tested, the images were purposely degraded through various distortion methods and thresholds were measured at which the 3 correct points were detected.

The following is a simple chart / graphical representation of the results found.

 

 

 


Undistorted

 

INPUT

 

OUTPUT

STATISTICS CHART

SUSAN options

Image

Type of distortion

Pass/Fail

Problem encountered

-c -t 200

triangle_0

none

pass

NA

-c -t 200

triangle_33

none

pass

NA

-c -t 200

triangle_45

none

pass

NA

-c -t 200

triangle_90

none

pass

NA

-c -t 200

triangle_196

none

pass

NA

-c -t 157

triangle_344

none

fail

4 corners detected

-c -t 158

triangle_344

none

pass

NA

-c -t 225

triangle_344

none

pass

NA

-c -t 226

triangle_344

none

fail

1 corner detected

 

CORNERS VS THRESHOLD GRAPH


Gaussian Blur

 

INPUT

OUTPUT

STATISTICS CHART

SUSAN

options

Image

Type of distortion

Pass/Fail

Problem encountered

-c -t 6

triangle_196_guass.blur

gaussian blur

(omnidirectional blur)

fail

7 corners detected

-c -t 7

triangle_196_guass.blur

gaussian blur

(omnidirectional blur)

fail

3 corners, angle off by 19 degrees; see out.guass.blur

-c -t 8

triangle_196_guass.blur

gaussian blur

(omnidirectional blur)

fail

2 corners detected

-c -t 12

triangle_196_guass.blur

gaussian blur

(omnidirectional blur)

pass

NA

-c -t 14

triangle_196_guass.blur

gaussian blur

(omnidirectional blur)

fail

2 corners detected

CORNERS VS THRESHOLD GRAPH


Motion Blur

 

INPUT

OUTPUT

STATISTICS CHART

SUSAN options

Image

Type of distortion

Pass/Fail

Problem

encountered

-c -t 37

triangle_33_motion.blur

motion blur

(shift in one direction)

fail

4 corners detected

-c -t 38

triangle_33_motion.blur

motion blur

(shift in one direction)

pass

NA

-c -t 39

triangle_33_motion.blur

motion blur

(shift in one direction)

pass

NA

-c -t 40

triangle_33_motion.blur

motion blur

(shift in one direction)

fail

2 corners detected

CORNERS VS THRESHOLD GRAPH

 


Noise

 

INPUT

OUTPUT

STATISTICS CHART

SUSAN options

Image

Type of distortion

Pass/Fail

Problem

encountered

-c -t 1

triangle_344_noise

noise speckles on both

background and foreground

fail

0 corners detected

-c -t 300

triangle_344_noise

noise speckles on both

background and foreground

fail

0 corners detected

CORNERS VS THRESHOLD GRAPH


Rounded Corners

 

INPUT

OUTPUT

STATISTICS CHART

SUSAN options

Image

Type of distortion

Pass/Fail

Problem

encountered

-c -t 93

triangle_33_rounded.corners

rounded corners

fail

2 corners detected

-c -t 94

triangle_33_rounded.corners

rounded corners

pass

NA

-c -t 114

triangle_33_rounded.corners

rounded corners

pass

NA

-c -t 115

triangle_33_rounded.corners

rounded corners

fail

2 corners detected

CORNERS VS THRESHOLD GRAPH

 


Ripples

 

INPUT

OUTPUT

STATISTICS CHART

SUSAN options

Image

Type of distortion

Pass/Fail

Problem

encountered

-c -t 149

triangle_196_ripples

ripples like from

water surface

fail

4 corners detected

-c -t 150

triangle_196_ripples

ripples like from

water surface

pass

NA

-c -t 194

triangle_196_ripples

ripples like from

water surface

pass

NA

-c -t 195

triangle_196_ripples

ripples like from

water surface

fail

2 corners detected

CORNERS VS THRESHOLD GRAPH


Lightened Background

 

INPUT

OUTPUT

STATISTICS CHART

SUSAN options

Image

Type of distortion

Pass/Fail

Problem

encountered

-c -t 61

triangle_344_white.on.grey

lightened background

fail

4 corners detected

-c -t 62

triangle_344_white.on.grey

lightened background

pass

NA

-c -t 63

triangle_344_white.on.grey

lightened background

fail

2 corners detected

CORNERS VS THRESHOLD GRAPH