Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf ·...

44
Algorithms and Modern Algorithms and Modern Computer Science Computer Science Dr. Marina L. Gavrilova Dr. Marina L. Gavrilova Dept of Comp. Science, University of Calgary, Dept of Comp. Science, University of Calgary, AB, Canada, T2N1N4 AB, Canada, T2N1N4

Transcript of Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf ·...

Page 1: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Algorithms and Modern Algorithms and Modern Computer ScienceComputer Science

Dr. Marina L. GavrilovaDr. Marina L. Gavrilova

Dept of Comp. Science, University of Calgary,Dept of Comp. Science, University of Calgary,AB, Canada, T2N1N4AB, Canada, T2N1N4

Page 2: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

My Research InterestsMy Research InterestsComputer modeling and simulation Computer modeling and simulation Computational geometryComputational geometryImage processingImage processingVisualizationVisualizationVoronoiVoronoi diagram and diagram and DelaunayDelaunay triangulationtriangulationBiometric technologiesBiometric technologiesCollision detection optimization Collision detection optimization Terrain modeling and visualizationTerrain modeling and visualizationExact computationExact computationComputational methods in spatial analysis and Computational methods in spatial analysis and GISGIS

Page 3: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

AffiliationsAffiliations

CoCo--Founder, Biometric Technologies Founder, Biometric Technologies Laboratory, sponsored by CFI Grant, Laboratory, sponsored by CFI Grant, ES 221ES 221CoCo--Founder, SPARCS Laboratory for Founder, SPARCS Laboratory for Spatial Analysis and Computational Spatial Analysis and Computational Science, sponsored by GEOIDE, ICT Science, sponsored by GEOIDE, ICT 77thth floorfloor

Page 4: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Data Structures to be StudiedData Structures to be Studied

Hashing and hash tablesHashing and hash tablesTreesTreesSpatial subdivisionsSpatial subdivisionsGraphsGraphsFlow networksFlow networksGeometric data structuresGeometric data structures

Page 5: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Algorithms to be studiesAlgorithms to be studies

Search heuristicsSearch heuristicsEncoding and compression Encoding and compression techniquestechniquesLinear programmingLinear programmingDynamic programmingDynamic programmingGame design techniquesGame design techniquesRandomized algorithmsRandomized algorithms

Page 6: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

LongLong--Term Goals of Research in Term Goals of Research in Computer ScienceComputer Science

Provide a solution to a problemProvide a solution to a problemDecrease possibility of an errorDecrease possibility of an errorImprove methodology or invent a Improve methodology or invent a novel solutionnovel solutionMake solution more robustMake solution more robustMake solution more efficientMake solution more efficientMake solution less memory Make solution less memory consumingconsuming

Page 7: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Examples of data structures Examples of data structures applications in areas of computer applications in areas of computer

sciencescienceTypical applications:Typical applications:•• Heaps for data ordering and faster access in Heaps for data ordering and faster access in

operating systemsoperating systems•• KK--d trees for multid trees for multi--dimensional database dimensional database

searchessearches•• B, B*, B+ trees for file accessesB, B*, B+ trees for file accesses•• Geometric data structures for geographical Geometric data structures for geographical

data representation and processingdata representation and processing•• Compression algorithms for remote access, Compression algorithms for remote access,

Internet, network transmission and securityInternet, network transmission and security•• Search heuristics for game strategy Search heuristics for game strategy

implementationimplementation

Page 8: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

More Advanced Applications More Advanced Applications

Data structures in Optimization and Data structures in Optimization and Computer SimulationComputer SimulationData structures in Image Processing and Data structures in Image Processing and Computer GraphicsComputer GraphicsData structures in GIS (Geographical Data structures in GIS (Geographical Information Systems) and statistical Information Systems) and statistical analysisanalysisData structures in biometricsData structures in biometrics

Page 9: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

•• Space partitioningSpace partitioning•• TreesTrees•• Geometric data Geometric data

structuresstructures

Part 1. Optimization and Part 1. Optimization and Computer ModelingComputer Modeling

Biological systems (plants, corals)Granular-type materials (silo, shaker, billiards)Molecular systems (fluids, lipid bilayers, protein docking)GIS terrain modeling

Page 10: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Pool of Data StructuresPool of Data StructuresPool of Data Structures

INCIRCLE P P P P( , , , )1 2 3 4 0> INCIRCLE P P P P( , , , )1 2 3 4 0= INCIRCLE P P P P( , , , )1 2 3 4 0<

P1P2

P3

P4

P1

P2

P3

P4

P1P2

P3

P4

Dynamic Delaunay triangulation

Spatial subdivisionsk cells

Segment trees

K-d treesInterval treesCombination of data structures

Page 11: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Collision detection optimizationCollision detection optimizationCollision detection optimization

Problem: Problem: A set of A set of nn moving particles is given in the plane or moving particles is given in the plane or 3D with equations of their motion. It is required to detect 3D with equations of their motion. It is required to detect and handle collisions between objects and/or boundaries. and handle collisions between objects and/or boundaries. Collisions are instantaneous and oneCollisions are instantaneous and one--onon--one only.one only.

Approach: Approach: Use dynamic data structures in the context of Use dynamic data structures in the context of timetime--step event oriented simulation model. step event oriented simulation model.

Data structures implemented are:Data structures implemented are:

dynamic generalized DTdynamic generalized DTregular spatial subdivisionregular spatial subdivisionregular spatial treeregular spatial treeset of segment treeset of segment tree

Page 12: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

The nearestThe nearest--neighbor problemneighbor problemTask:Task: To find the nearestTo find the nearest--neighbor in a system of circular objects neighbor in a system of circular objects

{Gavrilova 01}{Gavrilova 01}Approach:Approach: To use generalized To use generalized VoronoiVoronoi diagram in Manhattan and diagram in Manhattan and

power metric and kpower metric and k--d tree as a data structure.d tree as a data structure.TThe Initial Distribution Generator (IDG)he Initial Distribution Generator (IDG) module:module:

UUsedsed to create various to create various input input configurations: configurations: thethe uniform uniform distribution of sites in a square, distribution of sites in a square, the the uniform distribution of uniform distribution of sites in a circle, cross, ring, degenerate grid and degenerate sites in a circle, cross, ring, degenerate grid and degenerate circlecircle. The parameters for automatic generation are: . The parameters for automatic generation are: the the number of number of sitessites, the distribution of their radii, the size of the , the distribution of their radii, the size of the area, and the type of the distributionarea, and the type of the distribution..

TThe Nearesthe Nearest--Neighbour Monitor (NNM)Neighbour Monitor (NNM) module:module:The program constructs the additively weighted The program constructs the additively weighted supremumsupremumVD, the power diagram and the VD, the power diagram and the kk--dd tree in tree in supremumsupremum metricmetric; ; performs series of nearestperforms series of nearest--neighbour searchesneighbour searches and displays and displays statistics. statistics.

Tests:Tests: large data sets (10000 particles), silo modellarge data sets (10000 particles), silo model

Page 13: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Example: Example: supremumsupremum VD and DTVD and DTThe supremum weighted Voronoi diagram (left) and the The supremum weighted Voronoi diagram (left) and the corresponding Delaunay triangulation (right) for 1000 randomly corresponding Delaunay triangulation (right) for 1000 randomly distributed sites .distributed sites .

Page 14: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Application to Silo modelApplication to Silo modelSilo model: NewtonSilo model: Newton--Euler method, power, Euler method, power, supremumsupremum and kand k--d methods compared, simple and efficient solution to a d methods compared, simple and efficient solution to a problem. Analysis of pressure on cylinder boundaries is problem. Analysis of pressure on cylinder boundaries is performed. performed.

Silo: Query time vs. Number of Sites (1000 queries)

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0 2000 4000 6000 8000 10000 12000

Number of sites

Tim

e (s

ec.) Suprem

Pow er

k-d

Page 15: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Study of porous materials in 3dStudy of porous materials in 3dCollaborators:Collaborators: N.N. Medvedev, N.N. Medvedev, V.A.LuchnikovV.A.Luchnikov, V. P. , V. P. VoloshinVoloshin, ,

Russian Academy of Sciences, Novosibirsk [Russian Academy of Sciences, Novosibirsk [LuchnikovLuchnikov 01].01].Task:Task: To study the properties of the system of polydisperse spheres To study the properties of the system of polydisperse spheres

in 3D, confined inside a cylindrical container.in 3D, confined inside a cylindrical container.Approach:Approach: A boundary of a container is considered as one of the A boundary of a container is considered as one of the

elements of the system. elements of the system. To compute the Voronoi network for a set of balls in a cylinder To compute the Voronoi network for a set of balls in a cylinder we we use the modification of the known 3D incremental construction use the modification of the known 3D incremental construction technique, discussed in {Gavrilova et. al.} technique, discussed in {Gavrilova et. al.} The center of an empty sphere, which moves inside the system so The center of an empty sphere, which moves inside the system so that it touches at least three objects at any moment of time, that it touches at least three objects at any moment of time, defines an edge of the 3D Voronoi network.defines an edge of the 3D Voronoi network.

Tests: Tests: porous materials, molecular structuresporous materials, molecular structures

Page 16: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Example: 3D Euclidean Voronoi Example: 3D Euclidean Voronoi diagramdiagram

3D Euclidean 3D Euclidean VoronoiVoronoi diagram: hyperbolic arcs identify voids diagram: hyperbolic arcs identify voids ––empty spaces around items obtained by Monte Carlo empty spaces around items obtained by Monte Carlo method. method.

Page 17: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

ExperimentsExperiments

The approach was tested on The approach was tested on a system representing a system representing dense packing of 300 dense packing of 300 LennardLennard--Jones atoms. Jones atoms. The The largest channels of the largest channels of the VoronoiVoronoi network occur network occur near to the wall of the near to the wall of the cylinder.cylinder. A fraction of A fraction of large channels along the large channels along the wall is higher for the wall is higher for the model with themodel with the fixed fixed diameterdiameter (right) than for (right) than for the model with relaxed the model with relaxed diameter (left). diameter (left).

Page 18: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

•• Space partitioningSpace partitioning•• TreesTrees•• Geometric data Geometric data

structuresstructures•• CompressionCompression•• Search heuristicsSearch heuristics

Part 2. Image processing and Part 2. Image processing and Computer GraphicsComputer Graphics

Image reconstructionImage compressionMorphingDetail enhancementImage comparisonPattern recognition

Page 19: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Pattern MatchingPattern Matching

Aside from a problem of measuring Aside from a problem of measuring the distance, pattern matching the distance, pattern matching between the template and the given between the template and the given image is a very serious problem on image is a very serious problem on its own.its own.

Page 20: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Template Matching approach to Template Matching approach to Symbol RecognitionSymbol Recognition

Compare an image with each template and see which one gives the best mach (courtesy of Prof. Jim Parker, U of C)

Page 21: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Good MatchGood Match

Image

Template

Most of the pixels overlap means a good match (courtesy of Prof.Jim Parker, U of C)

Page 22: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Template comparisonTemplate comparisonThe most common methods are based on The most common methods are based on bitbit--map comparison techniques, scaling, map comparison techniques, scaling, rotating and modifying image to fit the rotating and modifying image to fit the template through the use of linear template through the use of linear operators, and extracting template operators, and extracting template boundaries or skeleton (also called medial boundaries or skeleton (also called medial axis) for the comparison purposes. axis) for the comparison purposes. In addition, template comparison methods In addition, template comparison methods also differ, being based on either pixel to also differ, being based on either pixel to pixel, important features positions, or pixel, important features positions, or boundary/skeleton comparison.boundary/skeleton comparison.

Page 23: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Distance transformDistance transform

Definition 1Definition 1. Given an . Given an n x mn x m binary image binary image II of white of white and black pixels, the and black pixels, the distance transformdistance transform of of II is a map is a map that assigns to each pixel the distance to the nearest that assigns to each pixel the distance to the nearest black pixel (a black pixel (a featurefeature).).

The distance transform method introduced in [Gavrilova The distance transform method introduced in [Gavrilova and and AlsuwayelAlsuwayel] is based on fast scans of image in the ] is based on fast scans of image in the toptop--bottom and leftbottom and left--right directions using a fast right directions using a fast polygonal chain maintenance algorithm.polygonal chain maintenance algorithm.After the distance transform is build, it can be used to After the distance transform is build, it can be used to visualize proximity information in a form of visualize proximity information in a form of temperature temperature mapmap..As the distance from the black pixels (As the distance from the black pixels (features) features) increases, the color intensity changes.increases, the color intensity changes.

Page 24: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Distance TransformDistance Transform

Given an Given an n x mn x m binary image binary image II of white and black of white and black pixels, the distance transform of pixels, the distance transform of II is a map that is a map that assigns to each pixel the distance to the nearest assigns to each pixel the distance to the nearest black pixel (a black pixel (a featurefeature).).

Page 25: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Medial axis transformMedial axis transform

The The medial axismedial axis, or , or skeletonskeleton of the of the set D, denoted M(D), is defined as set D, denoted M(D), is defined as the locus of points inside D which lie the locus of points inside D which lie at the centers of all closed discs (or at the centers of all closed discs (or spheres) which are maximal in D, spheres) which are maximal in D, together with the limit points of this together with the limit points of this locus.locus.

Page 26: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Medial axis transformMedial axis transform

Page 27: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

VoronoiVoronoi diagram in 3Ddiagram in 3D

Page 28: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

•• Space partitioningSpace partitioning•• GridsGrids•• Distance metricsDistance metrics•• Geometric data Geometric data

structuresstructures

Part 3. Social Sciences and GISPart 3. Social Sciences and GIS

Terrain visualizationTerrain modelingUrban planningCity planningGIS systems designNavigation and tracking problemsStatistical analysis

Page 29: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

GIS studies GIS studies -- SPARCS LabSPARCS Lab

Collaborators:Collaborators: S. Bertazzon, Dept. of Geography, S. Bertazzon, Dept. of Geography, C. Gold, Hong Kong Polytechnic, M. C. Gold, Hong Kong Polytechnic, M. GoodchildGoodchild, , Santa BarbaraSanta Barbara

Problem: Problem: study or patterns and correlation among study or patterns and correlation among attributed geographical entities, including attributed geographical entities, including health, demographic, education etc. statistics.health, demographic, education etc. statistics.

Approach:Approach: pattern analysis usingpattern analysis using 3D Voronoi 3D Voronoi diagram, spatial statistics and autocorrelation diagram, spatial statistics and autocorrelation using using LLpp metrics, pattern matching and metrics, pattern matching and visualizationvisualization

Page 30: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Terrain modelsTerrain models

Page 31: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Quantitative Map AnalysisQuantitative Map Analysis

0 100 Km.

Population, ’96

Page 32: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

DEM: Digital Elevation ModelDEM: Digital Elevation Model

• Contains only relative Height

• Regular interval

• Pixel color determine height

•Discrete resolution

Page 33: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

NonNon--PhotoPhoto--Realistic RealRealistic Real--time time 3D Terrain Rendering 3D Terrain Rendering

• Uses DEM as input of the application

•Generates frame coherent animated view in real-time

•Uses texturing, shades, particles etc. for layer visualization

Page 34: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

•• HashingHashing•• Space partitioningSpace partitioning•• TreesTrees•• Geometric data Geometric data

structuresstructures•• SearchingSearching

Part 4. BiometricsPart 4. Biometrics

Biometric identificationBiometric recognitionBiometric synthesis

Page 35: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

BackgroundBackgroundBiometrics refers to the automatic identification Biometrics refers to the automatic identification of a person based on his/her physiological or of a person based on his/her physiological or behavioral characteristics.behavioral characteristics.

Page 36: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

ThermogramThermogram vs. distance transformvs. distance transformThermogramThermogram of an ear (Brent Griffith, Infrared of an ear (Brent Griffith, Infrared

ThermographyThermography Laboratory, Lawrence Berkeley Laboratory, Lawrence Berkeley National LaboratoryNational Laboratory ))

Page 37: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Use of metricsUse of metricsRegularity of metric allows to measure the Regularity of metric allows to measure the distances from some distinct features of distances from some distinct features of the template more precisely, and ignore the template more precisely, and ignore minor discrepancies originated from noise minor discrepancies originated from noise and imprecise measurement while and imprecise measurement while obtaining the data.obtaining the data.We presume that the behavioral We presume that the behavioral identifiers, such as typing pattern, voice identifiers, such as typing pattern, voice and handwriting styles will be less and handwriting styles will be less susceptible to improvement using the susceptible to improvement using the proposed weighted distance methodology proposed weighted distance methodology than the physiological identifiers.than the physiological identifiers.

Page 38: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Geometric algorithms in biometricsGeometric algorithms in biometrics

The methodology is making its way to the core The methodology is making its way to the core methods of biometrics, such as fingerprint methods of biometrics, such as fingerprint identification, iris and retina matching, face identification, iris and retina matching, face analysis, ear geometry and others (see recent analysis, ear geometry and others (see recent works by [Xiao, Zhang, Burge]. works by [Xiao, Zhang, Burge]. The methods are using The methods are using VoronoiVoronoi diagram to diagram to partition the area of a studies image and partition the area of a studies image and compute some important features (such as areas compute some important features (such as areas of of VoronoiVoronoi region, boundary simplification etc.) region, boundary simplification etc.) and compare with similarly obtained and compare with similarly obtained characteristics of other biometric data.characteristics of other biometric data.

Page 39: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Nearest Neighbor ApproachNearest Neighbor Approach

VoronoiVoronoi diagramdiagram Directions of Directions of feature pointsfeature points

Page 40: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

DelaunayDelaunay Triangulation of Minutiae Triangulation of Minutiae PointsPoints

Page 41: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

(a) Binary Hand (b) Hand Contour

Page 42: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

Spatial InterpolationSpatial Interpolation using using RBF(RadialRBF(Radial Basis Functions) Basis Functions)

Deformation in 2D and 3D

Page 43: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

TopologyTopology--based solution to generating based solution to generating biometric informationbiometric information

Finally, one of the most challenging areas is a recently Finally, one of the most challenging areas is a recently emerged problem of generating biometric information, or emerged problem of generating biometric information, or soso--called called inverseinverse problem in biometrics. problem in biometrics. In order to verify the validity of algorithms being In order to verify the validity of algorithms being developed, and to ensure that the methods work efficiently developed, and to ensure that the methods work efficiently and with low error rates in realand with low error rates in real--life applications, a number life applications, a number of biometric data can be artificially created, resembling of biometric data can be artificially created, resembling samples taken from live subjects. samples taken from live subjects. In order to perform this procedure, a variety of methods In order to perform this procedure, a variety of methods should be used, but the idea that we explore is based on should be used, but the idea that we explore is based on the extraction of important topological information from the the extraction of important topological information from the relatively small set of samples (such as boundary, skeleton, relatively small set of samples (such as boundary, skeleton, important features etc), applying variety of computational important features etc), applying variety of computational geometry methods, and then using these geometric geometry methods, and then using these geometric samples to generate the adequate set of test data. samples to generate the adequate set of test data.

Page 44: Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf · Visualization Voronoi diagram ... Exact computation Computational methods in spatial

ConclusionConclusion

Data structures and algorithms Data structures and algorithms studies in the course are powerful studies in the course are powerful tools not only for basic operation of tools not only for basic operation of computer systems and networks but computer systems and networks but also a vast array of techniques for also a vast array of techniques for advancing the state of the research advancing the state of the research in various computer science in various computer science disciplines. disciplines.