Agent Based Approach for Searching, Mining and Managing Enormous Paul Palathingal

advertisement
Agent Based Approach for Searching, Mining and Managing Enormous
Amounts of Spatial Image Data
Paul Palathingal
Oak Ridge National Laboratory
P.O. Box 2008 MS 6085
Oak Ridge, TN 37831-6085
palathingalp@ornl.gov
Thomas E. Potok
Oak Ridge National Laboratory
P.O. Box 2008 MS 6085
Oak Ridge, TN 37831-6085
potokte@ornl.gov
Abstract
Scientists and intelligence analysts are interested in quickly
discovering new results from the vast amount of available
geospatial data. The key issues that arise in this pursuit are
how to cope with new and changing information and how to
manage the steadily increasing amount of available data.
This paper describes a novel agent architecture that has
been developed and tested to address these issues by
combining innovative approaches from three distinct
research areas: software agents, georeferenced data
modeling, and content-based image retrieval (CBIR). The
overall system architecture is based on a multi-agent
paradigm where agents autonomously search for images
over the Internet, then convert the images to a vector used
for use in searching and retrieval. Results show that this
system is capable of significantly reducing the time and
management effort associated with large amounts of image
data.
Introduction
Enormous volumes of remote sensing image data are
being produced on a daily basis throughout the world.
This geographical data is then analyzed to create scientific,
military, and intelligence information.
This image
information is critical for scientific and national security
purposes. A significant challenge that exists in producing
this image information is managing the vast amount of
steadily increasing data (usgs 2000). For example, the
United States Geological Survey (USGS) has been
archiving enormous volumes of data and faces exponential
near- and long-term growth in digital data. The typical
process for managing geographical image information is to
manually create an archive of imagery data. Analysts must
continually update this archive with new and better
imagery. Within the archive, each image must be
normalized so that they can be readily merged, compared,
and analyzed with other images. Finally, these images
must be manually searched when new information is
required.
We have developed and tested a novel agent
architecture to address these issues by combining
innovative approaches from three distinct research areas:
software agents, georeferenced data modeling, and
Robert M. Patton
Oak Ridge National Laboratory
P.O. Box 2008 MS 6085
Oak Ridge, TN 37831-6085
pattonrm@ornl.gov
content-based image retrieval (CBIR).
This system
addresses the challenges of organizing and analyzing vast
volumes of image data, and of automating the existing
manual image analysis processes. The overall system
architecture is based on a multi-agent paradigm where
agents autonomously look for images over the Internet,
then convert the image to a vector used for searching and
retrieval.
In the next section, we give some background information
on related work. Then, we present our multi-agent
approach. Finally, we present performance results of two
multi-agent architectures used to retrieve and manage a set
of images from the Internet.
Background
Scientists and intelligence analysts are interested in
quickly discovering new results from the vast amount of
available geospatial data. The key issue that arises in this
pursuit is how to manage the steadily increasing amount of
available data. Clearly, this is an important problem, and
many important results exist.
Christopher et al. were able to show that with software
agents, it is possible to gather images from different
sensors into one repository (Christopher and William
1995). They make use of agents to look at different
vendors and download images that are constantly being
produced. However, the approach has a predetermined set
of vendors publishing images. It does not take into
account that there could potentially be a number of other
images on the internet that could be downloaded and is
useful for scientific, government or commercial
application.
MacLeod et al. describes a search mechanism to look
for images using simple server side applications that
enable scientists to find and evaluate image data
(MacLeod, Amorim and Valleau 2000). A web-hosting
server using Map Server technology and Web Map Server
(WMS) renders data in response to standard WMS
requests. The Data Access Protocol (DAP) protocol is
used to abstract different data formats to allow client
applications to work in whatever environment is required.
This provides a web services approach to data
management, but does not address the issues of analyzing
the data that has been retrieved.
Weber et al. present a network image search and
retrieval system that addresses the issue of vast amounts of
spatial data (Weber et al. 1999). The Chariot architecture
stores metadata about images and derived features. From
this metadata, similarity searches can be performed. The
metadata approach reduces the amount of storage needed,
if the image data does not change.
Zhu et al. implemented a neural network based system
for creating a digital library for georeferenced information
(Zhu et al. 1999). They describe a metadata approach
which loosely couple different media sources (textual,
image and numerical) for further analysis. This analysis
includes a self-organizing map (SOM) to find similar
georeferenced data, Gabor Filters for feature extraction,
and image compression to allow searching over different
image resolution. The metadata concept is extended to
other media types, with increased emphasis on automating
the analysis aspects. They do not address the challenge of
keeping up with enormous amounts of digital data being
produced.
Nolan et al. describes an approach for an agent based
distributed system for imagery and geospatial computing
(Nolan, Sood and Simon 2000). The approach centers on
the development of an ontology, agent architecture, and an
agent communication language.
The Agent-Based
Imagery and Geospatial processing Architecture (AIGA)
focuses on using agent technology to gather, store, locate,
index, process, and transmit imagery and geospatial data.
The main emphasis of the work is in resolving issues of
managing voluminous data.
While an interesting
architecture is described, the paper focuses on ontology
and agent communications issues, but does not provide
detail on the image analysis, searching and retrieval
processes.
While significant work has been done towards this
problem, a number of challenges remain. First, is the issue
of how to retrieve and manage continuously updated
imagery data, and secondly, how to distribute the analysis
of an image that have been found. The concept of a multiagent based approach appears to be a viable means of
addressing these two issues. Agents can be used to gather
data, and to work in parallel to automate various aspects of
the retrieval, content-based indexing and analysis process.
the storage or processing. As an alternative to this
centralized approach, agent technology was chosen.
Agents provide a novel approach for a variety of reasons.
First, agents use flexible peer-to-peer communication and
control topology to communicate with one or several other
agents, not just to a client or a server. In addition, agents
in our architecture send encapsulated messages to each
other through a blackboard coordination model, which
allows asynchronous communication. Furthermore, agents
communicate using a higher-level agent communication
language, as opposed to lower-level protocols of
traditional technology. Finally, agent technology provides
a means to easily distribute lightweight agents on different
machines thereby enabling a progression from a more
centralized to a distributed architecture.
Architecture
The overall architecture of our system is an integration
of the three main components: software multi-agent
technology, geoconformance modeling, and image
analysis. A high-level outline of the architecture is shown
in Figure 1. For the purposes of this paper, we are going
to focus exclusively on the multi-agent component of this
architecture. The multi-agent component is responsible for
retrieving, storing, and analyzing spatial data from the
Internet about the image. In this architecture, agents
search for images on the Internet. They store these images
and the corresponding metadata. Finally, they create
vectors for image analysis and retrieval.
Internet
Agent Subsystem
Images
Software
Agents
Metadata
Software
Agents
Interaction
Index and
Characterize
Images
Vectors
Retrieve
regions of
interest/similar
images
Image Analysis, Indexing
and Characterization
Subsystem
Client GUI
Approach
Historically, image repositories consist of centralized data
and processing architectures. For some applications, this is
acceptable. However, with the ever changing and growing
amount of image data today, a centralized architecture does
not work well due to a variety of bottlenecks that occur in
Fig 1. High Level Architecture Overview
Since our approach is based on multi agent technology,
we look at our agent development tool in the next section,
followed by the agent framework.
Agent Development Tool
All of the software agents in this system were developed
using the Oak Ridge Mobile Agent Community
(ORMAC). Figure 2 shows a conceptual view of how
ORMAC works.
The ORMAC framework allows
execution of mobile, distributed software agents, and
establishes communication among them. The ORMAC
framework provides a peer-to-peer communication and
control topology (i.e., one agent can communicate with
one or several other agents). This messaging approach
provides the ability for communication that is encapsulated
and asynchronous with a blackboard coordination model.
Messages are passed to a blackboard, and agents that are
subscribed to the blackboard receive the messages (Weiss
1999), (Huhns and Singh 1999). ORMAC enables an agent
community to be quickly created using a set of machines
with each machine executing the ORMAC agent host
software. The ORMAC agent host software allows agents
to migrate among machines. The ORMAC framework
uses the Foundation for Intelligent Physical Agent (FIPA)
compliant agent communication language (ACL)
messages. This allows any FIPA compliant agent, such as
SPAWAR’s TIIERA system, to be able to interact with an
ORMAC agent (Potok et al. 2003). Within the ORMAC
community, each agent host is registered with a name
server responsible for tracking where agents are currently
being hosted (Reed, Potok and Patton 2004).
Fig 2. Oak Ridge Multi-Agent Community (ORMAC)
framework
Agent Framework
To develop the image retrieval and management system,
the ORMAC framework was used to build a multi-agent
system. This system consists of several types of agents:
Crawler agent, Download agent, Markup agent, and
Extractor agent.
The Crawler agent performs a depth-first search for
image links on potential websites (in our case, only URL’s
ending with .edu, .gov and .net). Najork et al in their
paper describes a similar web crawler that is scalable and
extensible (Najork and Heydon 1999). When an agent
receives a URL to crawl as input, it looks for all potential
URL’s in the page. However since it does a depth first
search, it recursively keeps crawling down every link that
it traverses. A depth value is used as a cutoff point to stop
the crawling process. At this point, it has a collection of
all links that it just crawled.
The next type of agent is the Download agent. This
agent downloads images for all the image links generated
by the Crawler agent. An element of intelligence is added
to the download agent.
Before downloading, the
Download agent coordinates with the image repository to
ensure that the image is not already available. This is done
by generating a bounding box of the image to be
downloaded. If there is an image in the repository with the
same bounding box coordinates, then an image from the
same area is already present in the repository. The
bounding box coordinates are the coordinate pair values of
the four corners of a box that completely bounds the
image. If the image is already present in the repository,
then the agent checks to see if the image is newer or of a
higher resolution than what is already present. To check
for newer images the image compares the timestamp on the
image URL with the timestamp of the image in the
repository. In addition, most spatial data allow extraction
of image resolution from the image. This allows the agent
to compare the resolution of an image in the repository
with an image being downloaded. Therefore, if the image
does not already exist in the repository, or if the image is
newer or has a higher resolution than the existing one, then
the agent downloads the image to the repository. There are
a lot of images on the internet from small icons to personal
photographs and high resolution satellite images. The
download agent checks the size of the images and if it is
greater than 2 mega bytes, the image is downloaded. Also
most satellite and ortho images have an accompanying
metadata file called the world file. If a world file is found
along with the image file the image is downloaded with
certainty that it is spatial data.
The third type of agent is the Markup agent. This type
of agent creates XML files that have images marked up
with their properties and metadata (Potok et al. 2002). For
each image in the repository, this agent extracts image
properties like height, width, bit planes, etc. In addition,
this agent extracts geospatial information like the images
bounding box coordinates from the accompanying
metadata/ world file. After collecting this information, it
creates an XML file for each image in the image repository
using all of the above-deduced properties. These XML
files are stored in a separate XML Repository.
Finally, an Extractor agent performs preprocessing of
the images (Gleason et al. 2002). First, this agent monitors
the XML repository for new XML files. As new XML
files become available, it then begins processing the
corresponding image from the image repository. The
image is first segmented into 64 X 64 blocks segments.
Once the segments are created, a vector file describing
each segment is created by making use of the image
properties in the XML file. The vector files generated are
stored in the Vectors repository.
Figure 3 describes the process and information flow
among the four agents:
1.
The Crawler agent spiders the Internet looking
for new image links.
2.
When the Crawler agent has completed
crawling, it sends a message to the Download
agent containing a set of image links to the
download agent.
3.
4.
5.
The Download agent downloads these images
to a data repository. The repository can either
be local to the agent or a central repository as
will be described later.
Data Repository
Two variations of the multi-agent architecture were
developed and analyzed to address the problem of
managing vast amounts of images in a data repository.
The first approach uses a centralized repository as shown
in Figure 4. In this architecture, images are downloaded
by the download agents and brought into a central
repository. The Markup and extractor agents work on
these images reading them from the repository and creating
metadata files and vectors.
Centralized
Repository
Agents
Images
Agents
Agents
.
.
.
The Markup agent monitors the repository and
every time a new image is downloaded, it
creates an XML metadata file, which contains
tags with image properties. The metadata file
is stored in an XML repository.
The Extractor agent monitors the XML
repository and every time a new XML file is
created, it reads it and the corresponding image
and creates vectors that characterize the image.
The vectors are stored in a vectors repository.
XML
Files
Internet
Vectors
Agents
Fig 4. Centralized Repository Architecture
In the second approach, data are stored on separate
machines where agents can process the images, as shown
in Figure 5.
Internet
Internet
3
1
2
Crawler
Agent
Image
Repository
3
5
5
Vectors
Repository
Download
Agent
4
Extractor
Agent
5
5
Markup
Agent
4
XML
Repository
Agents
Images
XML Files
Agents
Images
XML Files
Agents
Images
XML Files
Images
XML Files
.
.
.
Agents
Centralized
Repository
Vectors
Fig 3. Process Flow Overview
Fig 5. Distributed Repository Architecture
Results & Analysis
The agent framework for image retrieval and analysis
was tested against a set of images from the Oak Ridge
Reservation area. A web server hosting eight, 32megabyte images from the Oak Ridge Reservation area
was established. The images are in the .tiff format and
represent quadrangles from the reservation area. To
demonstrate the scalability and advantages of a distributed
system, we ran the multi agent system on 1, 2, 3, 4, 5
processors to compare the times take. One run included
crawling, downloading the images, creating XML files and
then generating vectors.
The two architectural approaches were tested. In the
first, images are downloaded to a central repository and
then distributed to the different processors. In the other
approach, images are downloaded directly to a processor
and are processed upon locally. The times taken between
the two were compared and contrasted. The PCs used are
2 gigahertz and 512 mb RAM.
Table 1 shows the time taken for a single run on 1, 2, 3,
4, 5 processors in the centralized and distributed
approaches. Figure 6 shows a graph representing the
speedup.
Table. 1. Times (in hours) for the centralized and distributed
approach
Processors
Centralized
Distributed
1
1.725
1.701
2
1.311
1.121
3
1.150
0.820
4
1.029
0.662
5
0.924
0.502
The results show a speedup factor of about 100% when
incorporating a distributed processing and storage
architecture. In addition, the system is very scalable as the
number of processors can be increased with a minimum of
effort. The distributed architecture is more reliable with
the data being distributed among different machines.
Fig 6. Times (in hours) vs. number of processors
Future Work
This architecture is further being researched in two
areas. The first is in trying to reduce data transfer
overhead while moving images and metadata. Figure 7
shows how the two architectures vary from the ideal
performance curve. This is due to the I/O time it takes for
moving large images and their accompanying data around.
The ideal curve is determined assuming it would take time
proportional to the number of processors.
Another area of research is to break the image into an
equal number of pieces depending on the number of
processors. A separate agent processes each sub image.
This would speed up the overall processing time by almost
a factor equal to the number of processors. It would be
ideal in a situation where there are not too many new
images, but it is essential that the final vectors be generated
as quickly as possible.
Christopher, T., William, M.,, October1. 1995, “Satellite Image
Dissemination via Software Agents”, IEEE Intelligent Systems
10(05) p.44-51.
MacLeod, Ian N., Amorim, R., Valleau, N. 2000, “DAP – Large
Volume spatial data discovery and distribution over networks”,
Geosoft Inc.
Weber, R., Bolliger, J., Gross, T., Schek, Hong J. 1999,
“Architecture of a Networked Image Search and Retrieval
System”, Eight International Conference on Information and
Knowledge Management, Kansas City, Missouri, USA.
Zhu, B., Ramsey, M., Ng, Tobun D., Chen, H., Schatz, B. 1999,
“Creating a Large-Scale Digital Library for Georeferenced
Information”, D-Lib Magazine, Volume 5, Number 7/8.
Fig 7. Comparison of the architectures to the ideal state
Nolan, James J., Sood, Arun K., Simon, R 2000, “An Agent-based
Architecture for Distributed Imagery & Geospatial Computing”,
George Mason University.
Weiss, G. ed. 1999, “Multiagent Systems”, The MIT Press,
Cambridge, Massachusetts.
Conclusion
Image and remote sensing information is of critical
importance to the scientific community and for national
security purposes. Staggering increases in the volume of
remote sensing image data are being produced and made
widely available. We have focused on two key issues in
processing this type of data. 1) Retrieving and updating
this vast amount of data, and 2) Automating the
management process.
The current work in the field has a strong focus on
managing and performing analysis on a closed set of
images. Many of the proposed techniques do not scale
well, and do not consider how new images will be found
and incorporated into the system. We have developed a
system that uses software agents to gather new images
from the internet, update image archives using “better”
images, and to parallelize aspects of the image region and
feature extraction process.
We have been able to
demonstrate the ability to manage vast amounts of image
data, and to automate the manual processing of this data.
This is a significant step forward in image mining and
management.
References
United
States
Geological
Survey.
2000,
“http://vangogh.cse.buffalo.edu:8080/digital/digital/node4.html”,
Multimedia Research Group, Department of CSE, SUNY at
Bufffalo.
Huhns, M., Singh, M. 1999, “Readings in AGENTS”, Morgan
Kaufman Publishers, San Francisco, California.
Potok, T., Elmore, M., Reed, J. and Sheldon, F.T. 2003, "VIPAR:
Advanced Information Agents Discovering Knowledge in an
Open and Changing Environment", Proc. 7th World
Multiconference on Systemics, Cybernetics and Informatics
Special Session on Agent-Based Computing, Orlando FL, pp. 2833.
Reed, J.W., Potok, T.E., and Patton, R.M. 2004, “A Multi-Agent
System for Distributed Cluster Analysis”, 3rd International
Workshop on Software Engineering for Large-Scale Multi-Agent
Systems.
Najork, M., Heydon, A. 1999, “Mercator: A Scalable, Extensible
Web Crawler”, Compaq Systems Research Center.
Potok, T., Elmore, M., Reed, J., and Samatova, N. 2002, “An
Ontology-based HTML to XML Conversion Using Intelligent
Agents”, Proceedings of the Hawaii International Conference On
System Sciences.
Gleason, S., Ferrell, R., Karnowski, T., Tobin, K. 2002,
“Detection of semiconductor defects using a novel fractal
encoding algorithm”, Design, Process Integration, and
Diagnostics in IC Manufacturing, Proceedings of the SPIE Vol.
4692.
Download