A Database Management System For Vision Applications



Similar documents
J. P. Oakley and R. T. Shann. Department of Electrical Engineering University of Manchester Manchester M13 9PL U.K. Abstract

Frsq: A Binary Image Coding Method

4. How many integers between 2004 and 4002 are perfect squares?

In: Proceedings of RECPAD th Portuguese Conference on Pattern Recognition June 27th- 28th, 2002 Aveiro, Portugal

FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM

A Method of Caption Detection in News Video

Locating and Decoding EAN-13 Barcodes from Images Captured by Digital Cameras

The Scientific Data Mining Process

Circle Object Recognition Based on Monocular Vision for Home Security Robot

Similarity Search in a Very Large Scale Using Hadoop and HBase

Binary Image Scanning Algorithm for Cane Segmentation

Data Mining. Cluster Analysis: Advanced Concepts and Algorithms

DYNAMIC DOMAIN CLASSIFICATION FOR FRACTAL IMAGE COMPRESSION

Jiří Matas. Hough Transform

Image Compression through DCT and Huffman Coding Technique

Multi-dimensional index structures Part I: motivation

A Genetic Algorithm-Evolved 3D Point Cloud Descriptor

FCE: A Fast Content Expression for Server-based Computing

Classification of Fingerprints. Sarat C. Dass Department of Statistics & Probability

Solutions to Exercises, Section 5.1

2 SYSTEM DESCRIPTION TECHNIQUES

A System for Capturing High Resolution Images

Tracking Groups of Pedestrians in Video Sequences

Visibility optimization for data visualization: A Survey of Issues and Techniques

Jan F. Prins. Work-efficient Techniques for the Parallel Execution of Sparse Grid-based Computations TR91-042

Knowledge Discovery and Data Mining. Structured vs. Non-Structured Data

Parallel Data Selection Based on Neurodynamic Optimization in the Era of Big Data

In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data.

Factoring Patterns in the Gaussian Plane

1 File Processing Systems

Visual Structure Analysis of Flow Charts in Patent Images

Introduction to Computer Graphics

Neovision2 Performance Evaluation Protocol

Scheduling Shop Scheduling. Tim Nieberg

Computer Vision for Quality Control in Latin American Food Industry, A Case Study

DM810 Computer Game Programming II: AI. Lecture 11. Decision Making. Marco Chiarandini

MVA ENS Cachan. Lecture 2: Logistic regression & intro to MIL Iasonas Kokkinos Iasonas.kokkinos@ecp.fr

HSI BASED COLOUR IMAGE EQUALIZATION USING ITERATIVE n th ROOT AND n th POWER

Assessment. Presenter: Yupu Zhang, Guoliang Jin, Tuo Wang Computer Vision 2008 Fall

Environmental Remote Sensing GEOG 2021

Vector storage and access; algorithms in GIS. This is lecture 6

Analecta Vol. 8, No. 2 ISSN

ANIMATION a system for animation scene and contents creation, retrieval and display

Decision Trees from large Databases: SLIQ

The process of database development. Logical model: relational DBMS. Relation

Effective Data Retrieval Mechanism Using AML within the Web Based Join Framework

Memory Allocation Technique for Segregated Free List Based on Genetic Algorithm

DBMS / Business Intelligence, SQL Server

Speed Performance Improvement of Vehicle Blob Tracking System

Lecture 10: Regression Trees

A Cognitive Approach to Vision for a Mobile Robot

Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification

Component visualization methods for large legacy software in C/C++


Computational Geometry. Lecture 1: Introduction and Convex Hulls

5. Binary objects labeling

LOCAL SURFACE PATCH BASED TIME ATTENDANCE SYSTEM USING FACE.

Efficiency of algorithms. Algorithms. Efficiency of algorithms. Binary search and linear search. Best, worst and average case.

Integrating Pattern Mining in Relational Databases

Automatic 3D Reconstruction via Object Detection and 3D Transformable Model Matching CS 269 Class Project Report

RN-coding of Numbers: New Insights and Some Applications

CS1112 Spring 2014 Project 4. Objectives. 3 Pixelation for Identity Protection. due Thursday, 3/27, at 11pm

2695 P a g e. IV Semester M.Tech (DCN) SJCIT Chickballapur Karnataka India

Non-negative Matrix Factorization (NMF) in Semi-supervised Learning Reducing Dimension and Maintaining Meaning

degrees of freedom and are able to adapt to the task they are supposed to do [Gupta].

Detection and Restoration of Vertical Non-linear Scratches in Digitized Film Sequences

An Introduction to Point Pattern Analysis using CrimeStat

Part-Based Recognition

Linear Codes. Chapter Basics

PHOTOGRAMMETRIC TECHNIQUES FOR MEASUREMENTS IN WOODWORKING INDUSTRY

Oracle8i Spatial: Experiences with Extensible Databases

Adaptive Safe Regions for Continuous Spatial Queries over Moving Objects

JPEG Image Compression by Using DCT

PartJoin: An Efficient Storage and Query Execution for Data Warehouses

REAL TIME TRAFFIC LIGHT CONTROL USING IMAGE PROCESSING

Data Tool Platform SQL Development Tools

Natural Language to Relational Query by Using Parsing Compiler

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Load Balancing on a Grid Using Data Characteristics

Application of XML Tools for Enterprise-Wide RBAC Implementation Tasks

QUALITY TESTING OF WATER PUMP PULLEY USING IMAGE PROCESSING

College Tuition: Data mining and analysis

Dataset Preparation and Indexing for Data Mining Analysis Using Horizontal Aggregations

Statistical Data Mining. Practical Assignment 3 Discriminant Analysis and Decision Trees

Barcode Based Automated Parking Management System

SPATIAL DATA CLASSIFICATION AND DATA MINING

Computing Cubic Fields in Quasi-Linear Time

Morphological segmentation of histology cell images

Performance Analysis and Comparison of JM 15.1 and Intel IPP H.264 Encoder and Decoder

Vision based Vehicle Tracking using a high angle camera

Machine Learning for Medical Image Analysis. A. Criminisi & the InnerEye MSRC

Methods for Firewall Policy Detection and Prevention

A Generic Model for Querying Multiple Databases in a Distributed Environment Using JDBC and an Uniform Interface

CS 534: Computer Vision 3D Model-based recognition

Chapter 13: Query Processing. Basic Steps in Query Processing

Least-Squares Intersection of Lines

Ensemble Methods. Knowledge Discovery and Data Mining 2 (VU) ( ) Roman Kern. KTI, TU Graz

CS231M Project Report - Automated Real-Time Face Tracking and Blending

A Software Tool for. Automatically Veried Operations on. Intervals and Probability Distributions. Daniel Berleant and Hang Cheng

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

Transcription:

A Database Management System For Vision Applications John Oakley, Richard Shann, Darryl Davis, and Laurent Hugueville. Multi-Media Research Group, Electrical Engineering, Manchester University, Oxford Road, Manchester, Ml3 9PL, U.K. Abstract The Manchester Content Addressable Image Database is ageneric tool which has been designed for image informatics and computer vision problems. The system stores pre-compuied feature tokens, which are obtained by conventional processing of the input images, into a database which is accessed by a specialised query language (M VQL [1 ]). The M VQL is based on the creation and refinement of groups of features by computing attributes. We illustrate the system with an application concerned with the detection and classification of microfossil images. We use the MVQL to express a projective circular Hough Transform for microfossil detection. We also address the problem of classifying detected structures into six broad morphological groups. This is achieved using MVQL to define "structure" measures from the distribution of curve tokens in a circular region around each microfossil. 1. Introduction. The aim of this paper is to present a simple database management system (dbms), which includes a data entry system, query interface and some graphical capability, which has been specifically designed for vision research. The work is particularly motivated by the need for content addressing of large volumes of image data. Over the last decade vision research has moved away from analysis of single images in constrained environments towards processing of bulk data in less constrained environments, for example image sequences from surveillance cameras. However the most common infrastructure is still a C (or C++) compiler together with (sometimes) a library of vision algorithms. A good example of the usefulness of indexing tools in machine vision are the various tree structures [3,4]. While 2-D arrays for data (reflecting 2-D spatial organisauon) are common the more general techniques are less widespread because of the need to re-code for each application. The problem of storage and retrieval of image data, both image intensities and structures derived from images, is now of central importance [5,6,7]. BMVC 1994 doi:10.5244/c.8.62

630 Forty years of research into databases and associated algorithms has yielded many powerful tools. Of particular interest to vision workers are indexing, particularly spatial indexing storage management user interfaces query languages graphical databases. In our view there are three main reasons for the poor take-up of database technology in vision systems: 1. Restricted Accessibility Commercial database packages require a significant investment in terms of hardware/software cost and training requirements. The user must be something of an expert to arrange the data, the relations and the indexing in a way that would give rapid answers to the intended queries. 2. Flexibility Using a commercial database package is often seen as using a hammer to crack a nut. The benefits are only seen in near-market research. 3. Useability Although the SQL (and its new cousin Object-SQL) provides a standardised user interface, it is overly general, with a large syntax not well-matched to vision tasks. We have addressed these issues by designing a low cost dbms with a simple query language, the Manchester Visual Query Language (MVQL), and some graphics capabilities. The motivation for this development was a requirement for content addressing of image data. The idea is to use image processing to obtain sets of primitive features (for example edges, curves, lextons) from a large set of images and to store these as a kind of summary of the image content. Queries are then directed at the feature data in order to retrieve images of interest. For this reason we refer to the dbms as a Content Addressable Image Database (CAID) although is could be used in applications other than image retrieval. In section 2 we address three important aspects of the Manchester CAID: the query language, spatial indexing method, and the implementation. In section 3 we give an

631 example of how the CAID may be applied to the problem of analysis of geological samples through microfossil detection and classification. In this way we show that the dbms, and in particular the query language is sufficiently expressive for real vision applications. 2. The Manchester CAID In content addressing problems the number of primitive features can be quite large and have spatial, temporal and other aspects which will need to exploited to achieve a reasonable access to the image content To form these groupings of primitives we have developed a visual query language (the MVQL) based around a small set of set creation and refinement operations. Starting from sets of primitives the main operations defined are two pair operations (includes one, kd-pair which can exploit range restrictions), a partitioning operation that divides a set into non-overlapping subsets (called bins); and a selection operation. 2.1 The Basic MVOL Operators The MVQL PAIR operator creates a set of objects which have properties computed from their constituents (FIRST and SECOND). Likewise the parlioning operator BIN forms groups with properties (eg MEAN, MAX, SUM, COUNT) computed over the elements in the bin. To give some examples, we suppose our database to contain as primitive features arcs detected in the images. Each arc is assigned position coordinates (X,Y) (on the arc itself, rather than at the centre of curvature), orientation (Angle) and radius of curvature (Radius). A simple MVQL query for this database can be formed from the SELECT operation. For example the query largearcs:= (Arc) SELECT PI"SQR(Radius)> 50 defines largearcs as the set of Arcs forming part of circles with area greater than 50 square pixels. To illustrate forming a set of pairs, consider the query arc.l>airs:=l>air((arc,largearcs),{firstlangl l=secondlanglej)) SELECT'distance< 10 where we use the macro

632 distance=sqrt(sqr(first[x]-second[x])+sqr(first[yj-second[y])) as an aid to legibility. The expression in curly braces is the pair-partition, which in this case has the effect that the processing to lake place will first form blocks of Arcs of the same orientation and. compute the distance only between elements in the blocks. The resultant set is a set of pairs of closely spaced parallel arcs, and the number of such pairs is reported on the console. An alternative version of the PAIR operator, the metric pair, exists to exploit situations in which the data can be spatially indexed. This is described in section 4 of this paper. To illustrate the BIN operator consider the task of grouping Arcs that belong to the same Image and fall in the same quadrant of that image. If our image was a 256x256 pixels image then the expression X DIV 128 take on the values 0 and 1 in the left and right halves of the image, and Y DIV 128 would lake on the values 0 and 1 in the top and bottom halves. So a partition of the data by image and by these expressions would yield the grouping required. As an example, the set arcctusters: = IilN((Arc), {image (XDIV25) (YDIV25)}) SELECTCOUNT> 10 groups Arcs by image and by position in a 10 by 10 grid of squares superimposed on the image (again assuming a 256x256 image). The resultant set is a set of groups of arcs, each group being associated with one square in one image, and each group having at least ten members. Set reduction is accomplished by SELECT and RANKing operations. The query language allows the operations to be nested and in this way quite complex groupings can be specified fairly simply. The running lime for a query can be calculated given the operations and the number of entities involved; it is linear in the number of partitions and, for pairing, quadratic in the number in the largest partition. 2.2. Dynamic Spatial Indexing The MVQL pair operator specifies a Cartesian product of two sets and hence the number of objects formed increase as N 2 if N is the number of elements in each set. For example if we have a db of 1000 images with 4000 features in each image then the number of possible pairs of features is 1.6xl() 13. However we are often interested only in pairs of features belonging to the same image. For example, if we were to form corner hypotheses by grouping line segments then it would make litlle sense to group a line from one image

with another line from a different image. In this case we only have4xlo 6 useful pairs. The MVQL allows partitioning of data in arbitrary blocks of compatible features in order to avoid a quadratic increase in cost with increasing N. Further gains in efficiency are obtained by exploiting range constraints. For example, it may not be necessary to form pairs of features which are well separated within an image. This can be achieved by spatial indexing of the features within a coordinate space using, for example, a k-d tree [3,4]. We have implemented a dynamic version of this strategy, where the query defines the coordinate space required, and gives the range constraints to be applied to the pairs. If N denotes the number of features in the partition then (to take the case of pairing a set with itself) searching a kd-tree of N items for matches with another set of N items take O(NlogN) time. Since the creation of the k-d tree also takes O(NlogN) time the asymptotic performance is not affected making the indexing dynamic. The MVQL syntax uses lists of expressions for the coordinates of the FIRST and SECOND objects and of the ranges, for example arcpairs := kd-pair((arc,largearcs),{first[angle]=secondlangle]},{first(x Y), SECOND(X Y), RANGES(distx disty)}) This constrains the X coordinates of the paired arcs to differ by less than distx, and the Y coordinates by disty. As an indication of the speed up this gives consider pairing 8000 arcs with themselves. In 2-D without spatial indexing the timing for finding 500 matches is 17.1 limes slower than with the indexing. In 4-D the benefit for a similar search is 22.5 times speed-up. Using uniformly distributed random values we found that the time to retrieve 500 matches from the 8000 pairs was 4.5+0.4 k log k seconds for dimensions k=l... 10 on an SUN-4 workstation. The dependence on k log k arises from the need to traverse an increasingly sparse tree and copy k values from it. 2.3 Comparison with SOL The MVQL PAIR BIN and SELECT operations correspond approximately to the join, project and select operations in a relational database. In SQL terms the equivalencies arc broadly 633 SQL MVQL SELECT FROM A,Ii... WHERE C AND D PAIR((A,B),{C}) SELECTD SELECT FROM A,«... WHERE C AND D AND E kd-palr((a,li),{c) {D})

634 SELECTE SELECT FROM A, GROUP BY B HA VING C BIN(A, {B}) SELECT C The SQL is very much more general, a statement of what should be done than of 'how'. Nevertheless these three simple operators provide a powerful formalism for forward productions. The simplicity of the MVQL query structure has three advantages 1) enables efficient processing of large amounts of data and 2) queries can be easily costed. That is, it is easy to predict for a given MVQL specification the number of operations implied and hence the computational cost. 3) MVQL can be interpreted by a relatively simple query processor. 2.4 Implementation of the dbms Subject Relation Object Tagfields (32 bits) Image Arc HasWidtl HasX 512 42 I I I I I I I I I I I I I I I I I I I I I I I I I I I I i i i i i i i i i i i I i Figure 1. Triple store schema Our implementation is based on a triple store: each data item is entered as a the target of some relation to an entity in the form (subject,relation,object), sec figure 1. A general scheme that inserted the entities created by the user's queries (eg sets of features) into the triple store would require a fairly complex management system. (Typically the user needs to be kept informed of the space he is using, and needs to be able to remove unwanted triples). Instead we have a fixed number of lag fields in the triple store which can mark triples. User defined sets are then represented by tags at points in the triple store relevant to the entities grouped, rather than new triples, along with a representation of the processing needed to re-instantiate the sets. The time and space requirements for rc-instantialion of a set are reduced compared with the initial creation lime because only tagged triples arc processed, and because only those attributes actually needed are instantiated. To provide some modularity in the sysiem we have split the implementation into three broad parts. Fig 2 shows a block diagram of the system. At the lowest level we have C-routines to issue identifiers for nodes and relations, to convert Icxicals to identifiers and vice versa, and to insert triples in the triple store. These routines arc based on ihc Sierra 1 software from Essex University [8]. At the next level, linked by a procedural interface is a

635 C-program that takes a language (the Table Processing Language TPL) input. This language is specified as a Yacc grammar. The TPL creates temporary tables holding data extracted from the triple store. Various operations on the tables can be specified, including sorting on columns and triples tagged as specified. At this level the inheritance of attributes is implemented (single inheritance), and simple display routines provided. At the highest level is a Lisp program that reads the user's MVQL (again a Yacc specified grammar) and generates a series of TPL commands. 1 1 Mvql Interpreter Lisp C Lex Yacc TPL 1 1 Tpl Interpreter C Lex Yacc -O. TV' R *u- F -\ R A Sierra Access Routines C 1 ^ Triples 4 Lexical Store Triple S.t n rc Figure 2. Modules in the CAID For example the fragment* + R cos(theta) in an MVQL statement would cause a table with columns for the xji, and thela data to be created and a sequence of TPL commands to take the cosine of the data in theta column putting the result in a scratch-pad column, multiply this column by the R column etc. The result would be a column of values for the resultant attribute. It is the responsibility of the Lisp program to keep track of the meaning of the tags and tables. 3. Example Application Microfossil images are used in the dating of geological samples. We can use the CAID system to to detect and classify microfossils, and so go some way to providing an automated geological sample dating system. 3.1. Microfossil Detection The primitive features chosen were arcs, characterised by a position orientation and curvature; for each of 100 images 400 arcs were detected and stored. The images were annotated with areas of interest (AOI) by a geologist, each useful microfossil being assigned an AOI with associated position and radius.

636 Figure 4. Image showing microfossils. As the fossils tend to be associated with the arcs detected a very simple detector would group the arcs by image and by position on some coarse grid within the image. The arcs are thus made to "vote" for grid squares. We accept grid squares with many votes as possible detections. By pairing the possible detections with AOIs we can find the

637 numbers of those that lie on the fossils and those that lie off the fossils. By varying the threshold on the number of arcs voting for a detection we can form performance curves for the false positive rate against the true positive rate. However the performance of this scheme proved to be poor. This was partly because many of the microfossils have roughly circular walls with strong contrast but rather little high contrast texture in the centre. The circular Hough Transform is a better detector for most microfossils We can implement a projected circular Hough transform by making arcs vote for grid squares cut by a line segment normal to the arc covering the expected range of fossil radii. For a line segment of length minrad to maxrad we can use votes:= I'AIR( ((Array),(Arc)),{TRUE}) AT SECOND I Image] SELECTABS({gndX-arcX) *SIN(arcAngle) - (gridy-arcy) *COS(arcAngle)) < binsize AND AliS(ANGDIFF(ATAN2(gridY-arcYgridX-arcX),arcAnglc)) < PI/3 ANDSQR(gridX-arcX)+SQR(gridY-arcY) < SQR(maxrad) AND SQR(gridX-arcX) +SQR(gridY-arcY) > SQR(minrad) Here Array is a fixed set of Hough cells inserted in the database. The grid and arc position references used here arc the macros gridx=first[x] gridy=firsr(y] arcx=second[trunc((x DIV 51) *51.2) + 25] arcy=second[trunc((ydiv51)*51.2 The set votes associates each grid square in the array with the strong arcs in that square, regardless of image. We can group the votes by image using the bin operator, discarding low occupancy grid squares: occupancythresh = 15 hough:= BINfvoles, { Image FIRST[liase]}) AT Image SELECT COUNT > occupancythresh To find the grid squares that are close to AOIs we pair them together. Again we use macros for clarity: hx= SECOND[COMMONIgridXJ] hy= SECOND [COMMON[gridY]] aoix= F1RST[X] aoiy= FIRST[YJ aoirad= FIRST [Radius] in terms of these we can write the set of all detections as:

638 detects I'A1R( ((AOI).hough), {FIRST[lmageJ=SECOND[Image])) ATFIRST[lmage] SELECT SQR(hx-aoiX) +SQR(hy-aoiY) <SQR(aoiRad) The cardinality of this set is the total number of grid squares that lie close to fossils, so we can find the number of fossils detected from the cardinality of the following sct:- truepositives: = (AOI) SUPPORTING delects Fig 5 shows the detection of two fossils. Note that the graphics were generated by the graphical output facility of MVQL. The performance of this type of detector is discussed in [2J. Figure 5. Image showing detection of 2 microfossils using the protective circular hough transform.

4. Conclusion 639 We have developed an application-independent content addressable image database, that addresses image informatics and computer vision problems. The query language in this dbms allows the user to handle large data volumes with predictable performance. Application studies have shown that it facilitates machine vision research by providing a uniform interface to image data with tools to search and group the data efficiently. 5. Acknowledgements This work was done under a grant from the UK SERC. We acknowledge the IFS group at the Department of Computer Science of Essex University for the Sierra Software. Geological expertise and microfossil image annotation provided by Dr F.M. While of The Department of Geology, with funding provided by the University of Manchester. 6. References 1. J.P. Oakley, D.N. Davis & R.T. Shann, "The Manchester Visual Query Language", SPIE Proceedings, Vol. 1908, Storage and Retrieval for Image & Video Databases, pp. 104-114, 1993. 2. R.T. Shann, J.P. Oakley, D.N. Davis and F.M. While. Detection of circular arcs for content-based retrieval from an image database. I.E.E. Vision, Image & Signal Processing. Vol. 141, pp. 49-55,1994. 3. Bentley, J.L. [1975J, "Multidimensional binary search trees used for associative searching," Commun. Ass. Comput. Mach., vol. 19, pp.509-517, Sept. 1975. 4. Bentlcy, J.L. [1979], "Multidimensional binary search irees in Database applications," IEEE Trans. Soft. Eng., vol. SE-5, NO. 4, July 1979. 5. J.N.D. Hiblcr et C.H. Leung, K.L. Mannock and M.K. Mwara, A system for content based storage and retrieval in an image database, SPIE, Vol. 1662 Image storage, and retrieval systems, pp 80-92, 1992. 6. W. Niblack R. Barber W. Equitz M. Flickner E Glasman D Peikovic P Yankcr C Faloutsos G Taubin, The QBIC Project: Querying Images by Content Using Color, Texture and Shape SPIE 1908p!73-188 (1993) 1. M. H. O'Docherty C.N.Daskalakis, P.J.Crowthcr, C.A.Goblc. M.A.Ireton, J.P.Oakley and C S.Xydeas, The design and implementation of a multimedia information system with automatic content retrieval, Information Services & Use, vol 11, pp 345-385 Elscvicr, 1991 8. S.H. Lavington and J. Wang, "The external procedural interface (EPI) for the IFS/2," Dcpi. Computer Science, University Of Essex, Report CSM-164, June 1991.