US 8150216 B2
The present invention is an automated and extensible system for the analysis and retrieval of images based on region-of-interest (ROI) analysis of one or more true objects depicted by an image. The system uses a ROI database that is a relational or analytical database containing searchable vectors that represent the images stored in a repository. Entries in the ROI database are created by an image locator and ROI classifier that work in tandem to locate images within the repository and extract the relevant information. The ROI classifier analyzes objects in an image to arrive at the actual features of the true object, instead of merely describing the features of the image of that object. Graphical searches are performed by the collaborative workings of an image retrieval module, and an image search requestor that translates user or agent search requests into a language understood by an ROI query module.
1. A computerized system for automated retrieval of images from an unstructured repository comprising:
a region of interest (ROI) database that contains searchable entries representing images stored in the repository;
an image locator that automatically locates images for analysis within the repository to populate the ROI database;
an ROI classifier that segments images located by the image locator into a plurality of ROIs wherein each ROI contains image content associated with one or more actual features of a physical object in the ROI, the ROI classifier having a plurality of computer-implemented transform filters adapted to extract physical descriptors that describe the physical object from the image content for each ROI to be stored in the ROI database as a plurality of physical feature vectors, each physical descriptor corresponding to one of the one or more actual features of a physical object in the ROI associated with the image content, and each physical feature vector having a searchable data structure that includes at least an ROI type field and an ROI descriptor field for each physical descriptor;
an ROI query module that interrogates the ROI database by searching the ROI database for images containing content associated with at least one true physical object requested by a user search request;
an image search requestor that receives and formats the user search request for input to the ROI query module; and
an image retrieval module that utilizes the searchable entries in the ROI database to access the images stored in the repository that have content generally matching the true physical object requested by the user search request.
2. The system of
3. The system of
4. The system of
5. The system of
6. The system of
7. The system of
8. The system of
9. The system of
10. The system of
11. The system of
12. The system of
13. The system of
14. The system of
15. The system of
16. The system of
17. The system of
18. The system of
19. A computer-implemented method for automated retrieval of images from an unstructured repository comprising the steps of:
providing a region of interest (ROI) database containing searchable entries representing images stored in the repository;
automatically locating images for analysis within the repository;
populating the ROI database with the located images;
segmenting the located images into a plurality of regions of interest (ROIs) wherein each ROI contains content associated with one or more actual features of a physical object;
extracting at least one physical descriptor from the content for each ROI, wherein the physical descriptor corresponds to one or more of the actual features of a physical object in the ROI;
storing the at least one physical descriptor in the ROI database;
responsive to a user search request, interrogating the ROI database for physical descriptors associated with images containing content associated with at least one true object requested by the user search request; and
accessing the images stored in ROI database, the images having content generally matching the at least one true object requested by the user search request.
20. The method of
21. The method of
providing an ROI classifier that segments images located by the image locator into a plurality of ROIs, the ROI classifier having a plurality of computer-implemented transform filters adapted to extract physical descriptors from the content for each ROI to be stored in the ROI database, each physical descriptor corresponding to one of the one or more actual features associated with the content and having a searchable data structure that includes at least an ROI type field and an ROI descriptor field.
22. The method of
23. The method of
This application is a continuation of application Ser. No. 11/122,969 filed May 5, 2005, now U.S. Pat. No. 7,590,310, which claims the benefit of U.S. Provisional Application No. 60/568,412 filed May 5, 2004, each of which is hereby fully incorporated herein by reference.
This invention generally relates to query processing or search techniques for databases or files containing visual information or images. More specifically, the present invention is directed to an automated and extensible system for the analysis and retrieval of images based on region-of-interest (ROI) analysis of one or more true objects depicted by an image.
The proliferation of digital images and video has been a direct result of more efficient methods for gathering digital imagery. From recording devices such as digital cameras and digital video recorders, to digitizers for CCTV and broadcast media, to 2-D home and office scanners for producing digitized versions of photographs, the myriad digital recording methods has created an explosion of digital media.
For purposes of the present invention, the term “image” will signify a two-dimensional digital representation of a scene, typically created and digitized by an image capture device, signifying a standalone event or a momentary representation of a sequence of events. The term “object” will refer to a uniquely identifiable physical thing or item at least partially depicted in an image. The term “content” will refer to the subject matter of an image.
Along with the countless forms of digital imagery, many different methods have appeared that attempt to organize and structure the digital repositories in such a way that permit retrieval of images in a structured or semi-structured fashion. Unfortunately, providing some structure to the imagery requires conformance to a certain format, necessitates an input process that structures the information, or requires human interaction to annotate the imagery for later retrieval. The most popular examples of image search engines, such as Alta Vista and Google, for example, rely exclusively on annotations and/or file names associated with the images as the only basis for determining whether that image contains desired visual information.
Some image search systems have attempted to overcome the “input requirements” of an annotated image repository by automating the extraction of image features for objects depicted within the data set of the image that results in significantly-reduced representations of the contents of the image repository, thereby decreasing the search time for desired images. U.S. Pat. No. 6,438,130, for example, describes a multi-level filtering technique for reducing the data for content-based image searches. U.S. Pat. No. 6,271,840 discusses a browser interface for displaying reduced versions of images created by an integrated page renderer.
Several techniques exist for the indexing, categorization, and description of images that will be retrieved via a multitude of searching algorithms. Typical image indexing techniques utilize basic attributes like color, shape and texture to describe images or regions of interest within those images.
U.S. Pat. No. 6,778,697 discloses a color image processing method for retrieving a color feature descriptor for describing color features of an image. The color image processing method includes obtaining color vectors of an input image, classifying the color vectors to obtain dominant colors of the input image and their ratios, and representing the dominant colors and their ratios as a color feature descriptor of the input image to allow fast search and retrieval. U.S. Pat. No. 6,411,953 provides a perceptually-based system for pattern retrieval and matching which uses a predetermined vocabulary comprising one or more dimensions to extract color and texture information from an image selected by a user. The system then generates a distance measure characterizing the relationship of the selected image to another image stored in a database, by applying a grammar, comprising a set of predetermined rules, to the color and texture information extracted from the selected image and corresponding color and texture information associated with the stored image.
U.S. Pat. No. 5,802,361 discloses an analysis and retrieval system that uses image attributes to retrieve selected images from a database. The patent provides a fundamental description of the process required to search large image archives for desired images.
U.S. Pat. Nos. 5,893,095 and 5,911,139 describe a system for content-based search and retrieval that utilizes primitives to operate on visual objects. The fundamental approach taught in this patent is the comparison of visual objects and the ability to identify similarities in visual perception of the images. Another approach that utilizes similarity of images is described in U.S. Pat. Nos. 6,463,432 and 6,226,636 ('636). The '636 patent discloses a system that builds a database which stores data corresponding to a plurality of images by dividing each image into several regions. Then, the system calculates a histogram of each region. The database may then be used to determine images which are similar to a query image. U.S. Pat. No. 6,502,105 teaches a system that builds a database of image-related data by inputting a plurality of images, and for each image: dividing the image into a plurality of regions and generating a graph based on the regions, and storing data for the graph in the database. The database may then be used to determine whether a query image is similar to one or more of the plurality of images by dividing the query image into regions and generating a graph based on the regions, and comparing the generated graph to other graphs in the database that correspond to the plurality of images. U.S. Pat. No. 6,240,424 teaches a method and apparatus for classifying and querying a database of images, in which the images in the database are classified using primary objects as a clustering center.
U.S. Pat. No. 5,983,237 discloses an image analysis system consisting of a visual dictionary, a visual query processing method, an image database, a visual query processing system, and the creation of feature vectors. This system discusses the processing of imagery as an integral part of storing the image in the database, whereby both annotated text and feature vectors can be associated with the image. The subsequent searching of images can occur via text searches based on the annotation and on visual searches based on the feature vectors of that image.
U.S. Pat. No. 6,084,595 discloses a method of utilizing indexed retrieval to improve computational efficiency for searching large databases of objects such as images. The premise of the approach is to negate the requirement of a query engine to search all vectors for an image within a feature vector database.
U.S. Pat. No. 6,389,417 discloses a more advanced approach to image retrieval based on determining characteristics of images within regions, not for an entire image. The system is limited, however, to using query regions based on an image supplied by the user, thus limiting the invention to finding images that contain regions similar to a target region within a provided image.
U.S. Pat. No. 6,566,710 reveals a graphical search technique based on joint histograms. The invention discloses usable methods for achieving matches and/or near-matches of images based on similar joint histograms.
U.S. Pat. No. 6,574,378 describes a search and retrieval system based on “visual keywords derived using a learning technique from a plurality of visual tokens extracted across a predetermined number of visual elements.” As with the other systems and methods described above, this patent utilizes the analysis of the image and its contents, with no mention of understanding the various elements or objects that comprise the components within the scene.
U.S. Pat. No. 6,574,616 attempts to improve on image understanding of the preferences of a given user by using probability functions. The system suffers from the requirement that images must be iteratively selected by a user, with more images presented based on the iterative selections and the probability functions of the images.
U.S. Pat. No. 6,584,221 describes advances in image search and retrieval by separating images into regions of interest and making searches based on color and texture. While image color and texture of a region of interest are used in this patent, no attempt is made to determine the physical attributes of the objects depicted in the images.
U.S. Pat. No. 6,611,628 reveals an image feature-coding scheme that assigns a color and a relative area to regions within an image frame. This approach utilizes image and frame color for the feature coding, with no attempts made to interpret the actual color of the objects depicted in the images.
U.S. Pat. Nos. 5,579,471, 5,647,058, and 6,389,424 describe various techniques for creating high dimensional index structures that are used for content-based image retrieval. U.S. Pat. No. 5,647,058 discloses a high dimensional indexing method which takes a set of objects that can be viewed as N-dimensional data vectors and builds an indexed set of truncated transformed vectors which treats the objects like k-dimensional points. The set of truncated transformed vectors can be used to conduct a preliminary similarity search using the previously created index to retrieve the qualifying records.
U.S. Pat. No. 6,563,959 describes a perceptual similarity image retrieval system in which images are subdivided into spots with similar characteristics and each image is represented by a group of spot descriptors.
Techniques have been described for creating a so-called blobworld or regional representation of an image as part of a region-based image querying. See, Carson et al., “Region Base Image Querying,” Proc. of IEEE CVPR Workshop on Content-Based Access of Images and Video Libraries, 1997, Lui et al., “Scalable Object-Based Image Retrieval,” .pdf paper, Ozer et al., “A Graph Based Object Description for Information Retrieval in Digital Image and Video Libraries,” .pdf paper, Fan et al., “Automatic Model-Based Semantic Object Extraction Algorithm,” IEEE Trans. on Circuits and Systems for Video Technology, Vol. 11, No. 10, October 2001, pp. 1073, and Ardizzoni, et al., “Windsurf: Region-based image retrieval using wavelets,” Proc. of the 1st Int'l Workshop on Similarity Search, September 1999, pp. 167-173. These references describe different techniques for the creation, segmentation or hierarchical arrangement of representations of an image using a region-based, blobworld representation of that image.
Large image repositories will undoubtedly contain imagery from a multitude of input sources. Any image search and retrieval mechanism must be specifically designed to deal with the wide variation of attribute types that will result from the myriad input sources. For a repository as complex and diverse as the Internet, a flexible image search and retrieval engine should be able to interpret information from the original image independent of the type of input device or digitizer that was used to create the image.
Computer vision and image processing techniques alone are not adequate for robust image search and retrieval. In addition, implementing image retrieval on a large scale requires automated techniques for analyzing, tagging and managing the visual assets. What is needed for large-scale image search and retrieval that is an automated system that can operate on unstructured data. This automated system must utilize techniques beyond traditional image processing in order to increase the hit rate of image retrieval that demanding users will require. Furthermore, the system must be capable of dealing with a constantly changing target image set wherein the system has little or no control over the content placed within the image search space.
The present invention is an automated and extensible system for the analysis and retrieval of images based on region-of-interest (ROI) analysis of one or more true objects depicted by an image. The system uses a Regions Of Interest (ROI) database that is a relational or analytical database containing searchable vectors that represent the images stored in a repository. Entries in the ROI database are created by an image locator and ROI classifier that work in tandem to locate images within the repository and extract the relevant information that will be stored in the ROI database. Unlike existing region-of-interest search systems, the ROI classifier analyzes objects in an image to arrive at the actual features of the true object, instead of merely describing the features of the image of that object. Graphical searches are performed by the collaborative workings of an image retrieval module, an image search requestor and an ROI query module. The image search requestor is an abstraction layer that translates user or agent search requests into the language understood by the ROI query.
The ROI analysis of the present invention focuses on the actual features of an object, which are referred to for purposes of this invention as the “true object” or “physical object,” instead of the features as represented by the content of an image. For example, if an image of an object, such as a car, is shot at sunset, a person understands that the color features of that image will be distorted from the actual color of the true object. A red car may appear as a purple car or an orange car in the image, but the true physical object is still a red car. The ROI analysis preferably utilizes a combination of techniques to arrive at the features of the true object. In the case of color, for example, a fuzzy logic color filter technique is utilized to deduce the true color as a true or “physical” vector of a given object represented by a region of interest. For purposes of the present invention, the actual qualities or characteristics of an object derived by the ROI analysis will be referred to as the “physical feature vectors” associated with that true physical object.
Regions of interest representing an object in an image can be described in a multitude of types and formats. Examples of region of interest descriptions include, but are not limited to bounding boxes, polygons, and masks. Entries in the ROI database have an ROI type field that contains the type of the region of interest, and an ROI descriptor field that contains the description of the region of interest that is of the format indicated by the type. Since the number of bytes needed to describe a region of interest is quite diverse, the ROI descriptor field can be a small as a few bytes and can be as large as several kilobytes. Other fields in the ROI data structure for each entry in the ROI database are the physical color vector, physical shape vector and physical texture vector. Other physical vectors are also allowed within the data structure, including physical size vector, physical location vector and physical content vector.
Images will typically contain multiple regions of interest. The invention described herein allows search and retrieval at the region of interest level, not at the image level. This allows specific searches to be performed for desired objects without regard to other items that may appear in the imagery. This approach does not preclude searches for images that contain multiple objects. It merely confines the search criteria to the physical object level, leaving multi-object searches to a hierarchical layer above the object search layer.
The image locator preferably contains automated routines that continually search the repository for the existence of new imagery. Software utilized for searching can be web crawlers, spiders, or any other type of intelligent agent that can continuously search an unstructured network for the existence of new or updated files.
Any graphical search request will be initiated either by an intelligent agent or by a user. The user search request can originate from inside or outside the network on which the search will take place.
The systems described in the prior art disclosures have gone to great lengths to categorize, classify, locate and retrieve imagery based on image characteristics. Image attributes like texture, shape and color have proven to be fairly reliable in retrieving images based on selections of combinations of these attributes. The main drawback, however, has been the focus on utilizing image characteristics for search criteria.
As an example, assume an image exists for a red car. As long as the angle of the camera with respect to the car allows the image to show a strong shape component for a car, a shape search for car will yield reasonable results. Furthermore, if the image were taken on a sunny day the color in the image will contain a strong red component. If, however, the image were taken with the car sitting under a tree, the shape characteristic would be impacted by the outline of the tree, and the bright red finish of the car would be duller, and perhaps not even red. If the image's color space were RGB, the red component could possibly be the weakest of the three components.
In this example, a traditional search for “red car” would probably not yield a hit on this object because the shape of the object was compromised and because the color of the object was not well represented in the image. In contrast, the present invention represents searchable regions of interest not by their image attributes, but by their true physical object attributes.
Oftentimes the process of capturing imagery will add noise (which can impact the object's texture and/or shape) or will dramatically change the representative color of the imaged object. Imprecise or ill-controlled image capture techniques should not spoil the quality of the search and retrieval system. The present invention overcomes these problems by providing for an image search and retrieval system based on the actual characteristics of the physical object depicted by the image, not based on the characteristics contained within the image.
Determining physical vectors or attributes of true physical objects is a compute-intensive operation. These computations, however, are part of the image categorization phase, not the retrieval phase. The system described herein is designed to retrieve information very rapidly by utilizing simple searches for object attributes that have been created as part of the previously completed image categorization phase.
Large repositories like corporate intranets and the Internet have a multitude of sources for new and updated information. The system described herein utilizes a crawler, spider or other intelligent agent to constantly update the image categorization process of search information for all imagery. A limitation of the invention, at least with today's technology, is the image search space is confined to those images that have been processed by the image categorization classifier. A repository the size of the Internet might not be fully searchable until the classifier had been given sufficient time to locate and analyze most of the images in the available search space, which could require months of operation on a large farm of computers before a critical mass of image analysis had been performed to allow reasonably representative searches. It will be noted that the inputs to the classifier, however, can be directed to concentrate on certain pockets of information within the image domain to achieve the earliest functionality for the search and retrieval system.
Both the classification and the retrieval functionality of this invention are designed to operate on single computers, on multiple computers, or on a distributed network of computers. The system diagrams show a single Region Of Interest (ROI) database, but the system works just as well with multiple databases populated at several points throughout the network. If multiple ROI databases are utilized, there is no strict requirement that any synchronization exists between the different versions. It is possible, however, to have a completely separate or a fully integrated software program that searches the other ROI databases for new or updated ROI entries. These entries could then be replicated into the local ROI database.
Upon achieving the proper description of the image color space 15, the color filter transform 20 will be used to determine proper representation of the color 35 in the physical object color space 30. The physical object color space 30 is a 3-D volume that describes the range of colors for physical objects. Within the physical object color space 30, there is a multitude of overlapping volumes 40 that represent a portion of the physical object color space 30. These overlapping volumes 40 are each represented by fields within the physical color vector 50.
The fields in the physical color vector 50 may be single-bit or multi-bit fields. When multi-bit fields are used, the available quantum levels can represent: 1) the probability that the physical object is the designated color 40, 2) the percentage of the designated color volume 40 contained within the ROI physical color representation 35, 3) the distance from the center of mass of the ROI physical color representation 35 to the center of mass of the designated color volume 40, or some other measure that signifies the relative strength that the representative color 40 contributes to the physical color of the original true object.
The fields in the physical shape vector 90 may be single-bit or multi-bit fields. When multi-bit fields are used, the available quantum levels can represent the probability that the physical object is the designated shape, that it contains feature aspects of the designated shape, or that some other measure that signifies the relative strength that the representative shape contributes to the physical shape of the original object.
The physical object shape space 80 may or may not be expressed in the same coordinate system as the image shape space 60. The selection of coordinate system for the physical object shape space 80 will depend on the image type, the scene descriptors, the context type (single image, series of still images, digital video, etc.), etc.
The fields in the physical texture vector 130 may be single-bit or multi-bit fields. When multi-bit fields are used, the available quantum levels can represent the probability that the physical object is the designated texture, is in a similar class of textures, or some other measure that signifies the relative strength that the representative texture contributes to the physical texture of the original object.
Preferably, the physical texture vector will contain more than just texture representations. For example, adjectives like shiny, dull, metallic, transparent, translucent, and reflective can be represented by fields within the physical texture vector.
Entries in the ROI database 220 are created by the image locator 160 and the region of interest (ROI) classifier 170. These two modules work in tandem to locate images within the repository 140 via an interface 150 and extract the relevant information that will be stored in the ROI database 220. The image locator 160 contains automated routines that continually search the repository 140 for the existence of new imagery. Software utilized for searching can be web crawlers, spiders, or any other type of intelligent agent that can continuously search an unstructured network 140 for the existence of new or updated files.
The ROI classifier 170 takes newly located images and splits them into regions of interest using techniques including, but not limited to segmentation, blob analysis, high frequency filter and Fourier transforms. Most images will contain multiple regions of interest. Each region will be analyzed separately and will receive its own data structure representation within the ROI database 220.
Graphical searches are performed by the collaborative workings of image retrieval 190, the image search requestor 200 and the region of interest (ROI) query 210. Any graphical search request will be initiated either by an intelligent agent or by a user. The user search request can originate from inside or outside the network on which the search will take place. The image search requestor is an abstraction layer that translates user or agent search requests into the language understood by the ROI query 210.
As an example, assume that a graphical search user wishes to search for an “Irish Setter.” Since these are terms not utilized by the ROI query 210, the image search requestor 200 may format the search request as color=reddish-brown, texture=furry, and shape=dog. Upon submitting this search request, the ROI query 210 will search the ROI database 220 for a list of the files most likely to contain the desired object. Upon determining this list, the ROI query 210 will tell the image retrieval 190 to retrieve the files from the repository 140. The resulting files are retrieved via the interface 180 and returned to the image search requestor 200, which will format them for the user.
Another embodiment of the present invention eliminates the need for the image retrieval 190 and the associated interface to the repository 180. In this embodiment, the image search requestor 200 would simply pass the image file names to the user and allow the higher-level functionality to retrieve the desired files.
Another preferred embodiment includes multiple ROI databases 220. It is not necessary for all copies of the ROI database 220 to be in tight synchronization. Since the ROI databases 220 are continuously being modified by the ROI classifier 170, the constraint of requiring synchronized ROI databases 220 places unnecessary burdens on the system.
The file name field 235 contains the name of the file that contains the region of interest, and the file location field 240 stores the files location within the network. With a fluid medium like the Internet, graphical files can be changed frequently without any changes to the file name or location. When an ROI data structure is initially created, the cache key is created for the image that is a semi-unique qualifier for the image. The cache key field 245 retains the cache key for later use by the image locator 160 and the ROI query 210. Every time a file is retrieved from the repository the cache key is recomputed and compared to the cache key field 245 in the ROI data structure 230. A mismatch in the two values signifies that the image has been changed since the ROI classifier 170 operated on the original image.
Regions of interest can be described in a multitude of types and formats. Examples of region of interest descriptions include, but are not limited to bounding boxes, polygons, and masks. The ROI type field 250 contains the type of the region of interest, and the ROI descriptor field 255 contains the description of the region of interest that is of the format indicated by the type 250. Since the number of bytes needed to describe a region of interest is quite diverse, the ROI descriptor field 255 can be a small as a few bytes and can be as large as several kilobytes.
The next three fields in the ROI data structure 230 are the previously discussed fields of the physical color vector 50, physical shape vector 90 and physical texture vector 130. Other physical vectors are allowed within the data structure 230. Some possible options are the physical size vector 260, physical location vector 265 and the physical content vector 270.
In a preferred embodiment of the present invention, the ROI query 210 would be able to alter its search capabilities based on the versions contained with the vectors 50, 90, 130 in the ROI data structure. For example, more advanced versions of a shape vector may include higher-level descriptions of shapes, thus allowing more thorough searches based on higher-level shape constructs.
A preferred embodiment of the present invention allows the ROI classifier 170 to utilize vector versions 285, 305, 325 to compare with the latest versions of each of the vectors 50, 90, 130. When an image is retrieved by the image locator 160 that is already in the ROI database 220, the ROI classifier 170 would check the version numbers of all of the vectors and, when a type of vector is not constructed with the latest version, the ROI classifier 170 would reprocess all of the regions of interest for that image and update the vectors 50, 90, 130 to the latest versions.
As shown in
In this embodiment, a Fuzzy Logic Color Filter (FLCF) is applied to objects for all known or suspected color sets (combinations). The FLCF can be applied to different color sets in parallel. The FLCF can be accomplished with multiple processes on one CPU, or can be implemented within multiple CPUs within one box, or can be effected by a distributed processing approach.
The complete disclosures of the patents, patent applications and publications cited herein are incorporated by reference in their entirety as if each were individually incorporated. Various modifications and alterations to this invention will become apparent to those skilled in the art without departing from the scope and spirit of this invention. It should be understood that this invention is not intended to be unduly limited by the illustrative embodiments and examples set forth herein and that such examples and embodiments are presented by way of example only with the scope of the invention intended to be limited only by the claims set forth herein.