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

Slides:



Advertisements
Similar presentations
A Graph based Geometric Approach to Contour Extraction from Noisy Binary Images Amal Dev Parakkat, Jiju Peethambaran, Philumon Joseph and Ramanathan Muthuganapathy.
Advertisements

QR Code Recognition Based On Image Processing
Medical Image Registration Kumar Rajamani. Registration Spatial transform that maps points from one image to corresponding points in another image.
電腦視覺 Computer and Robot Vision I
WFM 6202: Remote Sensing and GIS in Water Management © Dr. Akm Saiful IslamDr. Akm Saiful Islam WFM 6202: Remote Sensing and GIS in Water Management Akm.
Hierarchical Voronoi diagrams for spatial data indexing and paging Christopher Gold Dept. Computing & Mathematics, University of Glamorgan, Pontypridd.
Real-Time Rendering POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova.
Image Segmentation Image segmentation (segmentace obrazu) –division or separation of the image into segments (connected regions) of similar properties.
1st Meeting Industrial Geometry Computational Geometry ---- Some Basic Structures 1st IG-Meeting.
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
66: Priyanka J. Sawant 67: Ayesha A. Upadhyay 75: Sumeet Sukthankar.
Image Segmentation some examples Zhiqiang wang
Raster Based GIS Analysis
University of Wisconsin-Milwaukee Geographic Information Science Geography 625 Intermediate Geographic Information Science Instructor: Changshan Wu Department.
Spatial Information Systems (SIS)
Computational Geometry and Spatial Data Mining
Geometric Algorithms in Biometrics: Theory and Recent Developments Prof. Marina L. Gavrilova BT Laboratory Dept of Computer Science, University of Calgary,
CPSC 335 Geometric Data Structures in Computer Modeling and GIS Dr. Marina L. Gavrilova Assistant Professor Dept of Comp. Science, University of Calgary,
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
CPSC 601 Geometric Algorithms in Biometrics Dr. Marina L. Gavrilova.
Chapter 2: Pattern Recognition
Overview of Computer Vision CS491E/791E. What is Computer Vision? Deals with the development of the theoretical and algorithmic basis by which useful.
UNC Chapel Hill M. C. Lin Overview of Last Lecture About Final Course Project –presentation, demo, write-up More geometric data structures –Binary Space.
1 Street Generation for City Modeling Xavier Décoret, François Sillion iMAGIS GRAVIR/IMAG - INRIA.
GI Systems and Science January 23, Points to Cover  What is spatial data modeling?  Entity definition  Topology  Spatial data models Raster.
Face Recognition Using Neural Networks Presented By: Hadis Mohseni Leila Taghavi Atefeh Mirsafian.
Ch 5 Practical Point Pattern Analysis Spatial Stats & Data Analysis by Magdaléna Dohnalová.
Karthiknathan Srinivasan Sanchit Aggarwal
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
AdvisorStudent Dr. Jia Li Shaojun Liu Dept. of Computer Science and Engineering, Oakland University 3D Shape Classification Using Conformal Mapping In.
Algorithms and Modern Computer Science Dr. Marina L. Gavrilova Dept of Comp. Science, University of Calgary, AB, Canada, T2N1N4.
8. Geographic Data Modeling. Outline Definitions Data models / modeling GIS data models – Topology.
Intelligent Vision Systems ENT 496 Object Shape Identification and Representation Hema C.R. Lecture 7.
Shape Analysis and Retrieval Structural Shape Descriptors Notes courtesy of Funk et al., SIGGRAPH 2004.
Digital Image Processing CCS331 Relationships of Pixel 1.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
Non-Ideal Iris Segmentation Using Graph Cuts
Visual Computing Computer Vision 2 INFO410 & INFO350 S2 2015
1 Machine Vision. 2 VISION the most powerful sense.
1 Overview representing region in 2 ways in terms of its external characteristics (its boundary)  focus on shape characteristics in terms of its internal.
Robotics Chapter 6 – Machine Vision Dr. Amit Goradia.
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
1 Review and Summary We have covered a LOT of material, spending more time and more detail on 2D image segmentation and analysis, but hopefully giving.
Digital Elevation Models (DEMs)Constructing Grid DEMConstructing Contour Map Constructing TIN DEM Grid DEM Quality Metric A Digital Elevation Model (DEM)
Image-Guided Fracture David Mould University of Saskatchewan.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
Visual Information Processing. Human Perception V.S. Machine Perception  Human perception: pictorial information improvement for human interpretation.
Lecture 9 : Point Set Processing
Image Representation and Description – Representation Schemes
IT472: Digital Image Processing
Image Morphing © Zooface Many slides from Alexei Efros, Berkeley.
Hand Geometry Recognition
INTRODUCTION TO GEOGRAPHICAL INFORMATION SYSTEM
Improving the Performance of Fingerprint Classification
PRESENTED BY Yang Jiao Timo Ahonen, Matti Pietikainen
3D Graphics Rendering PPT By Ricardo Veguilla.
Fast Preprocessing for Robust Face Sketch Synthesis
3D Object Representations
CS475 3D Game Development Level Of Detail Nodes (LOD)
Mean Shift Segmentation
Statistical surfaces: DEM’s
Lecture 6 Implementing Spatial Analysis
Principles of GIS Geocomputation – Part II Shaowen Wang
Domain-Modeling Techniques
Cartographic and GIS Data Structures
Brief Review of Recognition + Context
Spatial interpolation
Algorithms and Modern Computer Science
Topological Signatures For Fast Mobility Analysis
Presentation transcript:

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

My Research Interests Computer modeling and simulation Computer modeling and simulation Computational geometry Computational geometry Image processing Image processing Visualization Visualization Voronoi diagram and Delaunay triangulation Voronoi diagram and Delaunay triangulation Biometric technologies Biometric technologies Collision detection optimization Collision detection optimization Terrain modeling and visualization Terrain modeling and visualization Exact computation Exact computation Computational methods in spatial analysis and GIS Computational methods in spatial analysis and GIS

Affiliations Co-Founder, Biometric Technologies Laboratory, sponsored by CFI Grant, ES 221 Co-Founder, Biometric Technologies Laboratory, sponsored by CFI Grant, ES 221 Co-Founder, SPARCS Laboratory for Spatial Analysis and Computational Science, sponsored by GEOIDE, ICT 7 th floor Co-Founder, SPARCS Laboratory for Spatial Analysis and Computational Science, sponsored by GEOIDE, ICT 7 th floor

Data Structures to be Studied Hashing and hash tables Hashing and hash tables Trees Trees Spatial subdivisions Spatial subdivisions Graphs Graphs Flow networks Flow networks Geometric data structures Geometric data structures

Algorithms to be studies Search heuristics Search heuristics Encoding and compression techniques Encoding and compression techniques Linear programming Linear programming Dynamic programming Dynamic programming Game design techniques Game design techniques Randomized algorithms Randomized algorithms

Long-Term Goals of Research in Computer Science Provide a solution to a problem Provide a solution to a problem Decrease possibility of an error Decrease possibility of an error Improve methodology or invent a novel solution Improve methodology or invent a novel solution Make solution more robust Make solution more robust Make solution more efficient Make solution more efficient Make solution less memory consuming Make solution less memory consuming

Examples of data structures applications in areas of computer science Typical applications: Typical applications: Heaps for data ordering and faster access in operating systemsHeaps for data ordering and faster access in operating systems K-d trees for multi-dimensional database searchesK-d trees for multi-dimensional database searches B, B*, B+ trees for file accessesB, B*, B+ trees for file accesses Geometric data structures for geographical data representation and processingGeometric data structures for geographical data representation and processing Compression algorithms for remote access, Internet, network transmission and securityCompression algorithms for remote access, Internet, network transmission and security Search heuristics for game strategy implementationSearch heuristics for game strategy implementation

More Advanced Applications Data structures in Optimization and Computer Simulation Data structures in Optimization and Computer Simulation Data structures in Image Processing and Computer Graphics Data structures in Image Processing and Computer Graphics Data structures in GIS (Geographical Information Systems) and statistical analysis Data structures in GIS (Geographical Information Systems) and statistical analysis Data structures in biometrics Data structures in biometrics

Space partitioningSpace partitioning TreesTrees Geometric data structuresGeometric data structures Part 1. Optimization and Computer Modeling Biological systems (plants, corals) Granular-type materials (silo, shaker, billiards) Molecular systems (fluids, lipid bilayers, protein docking) GIS terrain modeling

Pool of Data Structures Dynamic Delaunay triangulation Spatial subdivisions k cells Segment trees K-d trees Interval trees Combination of data structures

Collision detection optimization Problem: A set of n moving particles is given in the plane or 3D with equations of their motion. It is required to detect and handle collisions between objects and/or boundaries. Collisions are instantaneous and one-on-one only. Approach: Use dynamic data structures in the context of time-step event oriented simulation model. Data structures implemented are: dynamic generalized DT dynamic generalized DT regular spatial subdivision regular spatial subdivision regular spatial tree regular spatial tree set of segment tree set of segment tree

The nearest-neighbor problem Task: To find the nearest-neighbor in a system of circular objects {Gavrilova 01} Approach: To use generalized Voronoi diagram in Manhattan and power metric and k-d tree as a data structure. The Initial Distribution Generator (IDG) module: Used to create various input configurations: the uniform distribution of sites in a square, the uniform distribution of sites in a circle, cross, ring, degenerate grid and degenerate circle. The parameters for automatic generation are: the number of sites, the distribution of their radii, the size of the area, and the type of the distribution. The Nearest-Neighbour Monitor (NNM) module: The program constructs the additively weighted supremum VD, the power diagram and the k-d tree in supremum metric; performs series of nearest-neighbour searches and displays statistics. Tests: large data sets (10000 particles), silo model

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

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

Study of porous materials in 3d Collaborators: N.N. Medvedev, V.A.Luchnikov, V. P. Voloshin, Russian Academy of Sciences, Novosibirsk [Luchnikov 01]. Task: To study the properties of the system of polydisperse spheres in 3D, confined inside a cylindrical container. Approach: A boundary of a container is considered as one of the elements of the system. To compute the Voronoi network for a set of balls in a cylinder we use the modification of the known 3D incremental construction technique, discussed in {Gavrilova et. al.} To compute the Voronoi network for a set of balls in a cylinder we use the modification of the known 3D incremental construction technique, discussed in {Gavrilova et. al.} The center of an empty sphere, which moves inside the system so that it touches at least three objects at any moment of time, defines an edge of the 3D Voronoi network. The center of an empty sphere, which moves inside the system so that it touches at least three objects at any moment of time, defines an edge of the 3D Voronoi network. Tests: porous materials, molecular structures

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

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

Space partitioningSpace partitioning TreesTrees Geometric data structuresGeometric data structures CompressionCompression Search heuristicsSearch heuristics Part 2. Image processing and Computer Graphics Image reconstruction Image compression Morphing Detail enhancement Image comparison Pattern recognition

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

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

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

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

Distance transform Definition 1. Given an n x m binary image I of white and black pixels, the distance transform of I is a map that assigns to each pixel the distance to the nearest black pixel (a feature). Definition 1. Given an n x m binary image I of white and black pixels, the distance transform of I is a map that assigns to each pixel the distance to the nearest black pixel (a feature). The distance transform method introduced in [Gavrilova and Alsuwayel] is based on fast scans of image in the top-bottom and left-right directions using a fast polygonal chain maintenance algorithm. The distance transform method introduced in [Gavrilova and Alsuwayel] is based on fast scans of image in the top-bottom and left-right directions using a fast polygonal chain maintenance algorithm. After the distance transform is build, it can be used to visualize proximity information in a form of temperature map. After the distance transform is build, it can be used to visualize proximity information in a form of temperature map. As the distance from the black pixels (features) increases, the color intensity changes. As the distance from the black pixels (features) increases, the color intensity changes.

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

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

Medial axis transform

Voronoi diagram in 3D

Space partitioningSpace partitioning GridsGrids Distance metricsDistance metrics Geometric data structuresGeometric data structures Part 3. Social Sciences and GIS Terrain visualization Terrain modeling Urban planning City planning GIS systems design Navigation and tracking problems Statistical analysis

GIS studies - SPARCS Lab Collaborators: S. Bertazzon, Dept. of Geography, C. Gold, Hong Kong Polytechnic, M. Goodchild, Santa Barbara Problem: study or patterns and correlation among attributed geographical entities, including health, demographic, education etc. statistics. Approach: pattern analysis using 3D Voronoi diagram, spatial statistics and autocorrelation using L p metrics, pattern matching and visualization

Terrain models

Quantitative Map Analysis

DEM: Digital Elevation Model Contains only relative Height Regular interval Pixel color determine height Discrete resolution

Non-Photo-Realistic Real-time 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 structuresGeometric data structures SearchingSearching Part 4. Biometrics Biometric identification Biometric recognition Biometric synthesis

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

Thermogram vs. distance transform Thermogram of an ear (Brent Griffith, Infrared Thermography Laboratory, Lawrence Berkeley National Laboratory )

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

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

Nearest Neighbor Approach Voronoi diagram Voronoi diagram Directions of feature points Directions of feature points

Delaunay Triangulation of Minutiae Points

(a) Binary Hand (b) Hand Contour

Spatial Interpolation using RBF(Radial Basis Functions) Deformation in 2D and 3D

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

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