Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf ·...
Transcript of Algorithms and Modern Computer Sciencepages.cpsc.ucalgary.ca/~marina/331/Future Topics 331.pdf ·...
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
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
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
Data Structures to be StudiedData Structures to be Studied
Hashing and hash tablesHashing and hash tablesTreesTreesSpatial subdivisionsSpatial subdivisionsGraphsGraphsFlow networksFlow networksGeometric data structuresGeometric data structures
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
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
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
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
•• 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
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
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
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
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 .
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
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
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.
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).
•• 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
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.
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)
Good MatchGood Match
Image
Template
Most of the pixels overlap means a good match (courtesy of Prof.Jim Parker, U of C)
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.
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.
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).).
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.
Medial axis transformMedial axis transform
VoronoiVoronoi diagram in 3Ddiagram in 3D
•• 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
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
Terrain modelsTerrain models
Quantitative Map AnalysisQuantitative Map Analysis
0 100 Km.
Population, ’96
DEM: Digital Elevation ModelDEM: Digital Elevation Model
• Contains only relative Height
• Regular interval
• Pixel color determine height
•Discrete resolution
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
•• HashingHashing•• Space partitioningSpace partitioning•• TreesTrees•• Geometric data Geometric data
structuresstructures•• SearchingSearching
Part 4. BiometricsPart 4. Biometrics
Biometric identificationBiometric recognitionBiometric synthesis
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.
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 ))
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.
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.
Nearest Neighbor ApproachNearest Neighbor Approach
VoronoiVoronoi diagramdiagram Directions of Directions of feature pointsfeature points
DelaunayDelaunay Triangulation of Minutiae Triangulation of Minutiae PointsPoints
(a) Binary Hand (b) Hand Contour
Spatial InterpolationSpatial Interpolation using using RBF(RadialRBF(Radial Basis Functions) Basis Functions)
Deformation in 2D and 3D
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.
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.