# Patent

## Title
Method for object recongnition using multi-layered swarm sweep algorithms

## Abstract

Described is a system for multi-layered object detection which presents a unified way of processing an entire field-of-view (FOV) using cognitive swarms of software agents and classifier cascades by partitioning the FOV into layers and processing the closest layer first. A plurality of software agents operate as a cooperative swarm to search the first layer of the field-of-view to locate an objective function optima according to particle swarm optimization dynamics, wherein the objective function optima corresponds to a location of an object in the image in a layer of the field-of-view. The other layers are then sequentially swept to detect other objects in the FOV. In another aspect, the layers correspond to layers of increasing resolution in a hierarchical image pyramid. By using the cooperative swarm to search the coarser resolution layers first, objects can be detected more rapidly. A method and computer program product are also described.

## Background
PRIORITY CLAIM
The present application is a Continuation-in-Part Application of U.S. patent Ser. No. 10/918,336, filed Aug. 14, 2004, entitled, “Object Recognition System Incorporating Swarming Domain Classifiers” which claims the benefit of priority of U.S. Provisional Patent Application No. 60,541,557, filed Feb. 3, 2004, entitled, “Object Recognition Using Swarming Image Classifiers.”


BACKGROUND OF THE INVENTION
(1) Field of Invention
The present invention relates to a system for multi-layered object detection and, more particularly, to a system for multi-layered object detection which utilizes particle swarm optimization and hierarchical representation schemes.
(2) Description of Related Art
In typical object recognition systems, a classifier is used exhaustively either at all potential locations of a scene or at locations cued by other sensors such as radar-based, LIDAR, or stereo sensors. For an exhaustive search case, the objects are processed in the entire field-of-view using the same parameter sets and classifiers. This limitation burdens the system to find the most suitable choice of parameters across the entire field-of-view.
Particle swarm optimization (PSO) is a relatively new optimization method with unique attributes making it especially suitable for feature selection and optimization. An advantage of PSO is the simple and natural way that candidate solutions are represented as points in a separable space. This feature allows almost any feature to be represented and provides great flexibility in specifying regions of the solution space to be explored. Another advantage is PSO's superior performance due to its good balancing of cooperation and competition, which arises from the use of swarm intelligence principles.
PSO is a simple but powerful population-based algorithm that is effective for optimization of a wide range of functions as described by Kennedy et al. in “Swarm Intelligence”, San Francisco: Morgan Kaufmann Publishers, 2001, and by Eberhart and Shi in “Particle Swarm Optimization: Developments, Applications, and Resources”, 2001, which is incorporated by reference as though fully set forth herein.
PSO models the exploration of a multi-dimensional solution space by a “swarm” of software agents, or particles, where the success of each agent has an influence on the dynamics of other members of the swarm. Each particle in the swarm resides in a multi-dimensional solution space. The positions of the particles represent candidate problem solutions. Additionally, each particle has a velocity vector that allows it to explore the space in search of an objective function optima. Each particle i keeps track of a position vector {right arrow over (y)}i that represents the current best solution the particle has found. Another position vector {right arrow over (y)}g is used to store the current global best solution found by all of the particles. The velocity and position vectors for particle i are then changed probabilistically according to the following set of dynamic update equations:

{right arrow over (vi)}(t+1)=w{right arrow over (vi)}(t)+c1q1[{right arrow over (yi)}(t)]+c2q2[{right arrow over (yg)}(t)−{right arrow over (xi)}(t)]{right arrow over (xi)}(t+1)={right arrow over (xi)}(t)+X{right arrow over (vi)}(t+1),

where {right arrow over (xi)}(t) and {right arrow over (vi)}(t) are the position and velocity vectors at time t of the i-th particle and c1 and c2 are parameters that weight the influence of the “individual best” {right arrow over (y)} and “swarm best” {right arrow over (y)}g terms. w is a momentum constant that prevents premature convergence, and x is a constriction factor which also influences the convergence of PSO. q1 and q2 are random variables that allow the particles to better explore the solution space. The described dynamics cause the swarm to concentrate on promising regions of solution space very quickly with sparse sampling of the solution space.

SUMMARY OF THE INVENTION
The present invention relates to a system for multi-layered object detection utilizing particle swarm optimization. The system comprises one or more processors that are configured to perform operations of first partitioning a field-of-view of an image captured by a sensor into a plurality of layers. A plurality of software agents then operate as a cooperative swarm to sequentially search each of the plurality of layers to locate an objective function optima according to particle swarm optimization dynamics, wherein the objective function corresponds to a location of an object of interest in the layer being searched. Finally, an object of interest is extracted from at least one layer for presentation to a user.
In another aspect, the system is configured to perform operations of searching a first layer for the objective function optima corresponding to the location of an object of interest, the first layer being the layer closest to the sensor. Upon detection of an object of interest in the first layer, a region of the image is masked resulting in at least one masked region and at least one unmasked region. The at least one masked region corresponds to a region in the field-of-view of the image behind the object of interest. The system is further configured to search succeeding layers of the field-of-view for an object of interest until the entire field-of-view has been searched for at least one object of interest, wherein the plurality of software agents are distributed in at least one unmasked region of the field-of-view.
In yet another aspect, the system further performs operations of employing a cascade of classifiers at each layer of the field-of-view for object detection, wherein the cascade of classifiers comprises a plurality of classifier stages, and wherein each software agent implements a cascade which classifies a local region in each layer.
In another aspect the cascade of classifiers is employed in a layer-specific manner, such that a distinct set of classifier stages is used for each layer.
In another aspect, the system is further configured to perform operations of selecting a plurality of software agents and a set of parameters for each layer of the field-of-view, wherein each layer provides a context for the selection of the software agents and set of parameters.
In another aspect, the system is further configured to generate an image pyramid of the image, wherein the plurality of layers correspond to a plurality of levels in the image pyramid. The image pyramid comprises a hierarchical structure having a plurality of levels representing distinct image resolutions of the image. The plurality of levels comprise a coarsest level having a coarsest image resolution, a finest level having a finest image resolution, and at least one level between the coarsest level and the finest level. A swarm having relatively fewer software agents is used to search the coarsest level of the image pyramid first to locate at least one region which contains the object of interest. A swarm having a relatively greater number of software agents is used to search levels having increasing image resolutions along the image pyramid in order to locate the object of interest.
As can be appreciated by one in the art, the present invention also comprises a method for causing a processor to perform the operations described herein.
Finally, the present invention also comprises a computer program product comprising computer-readable instruction means stored on a computer-readable medium that are executable by a computer having a processor for causing the processor to perform said operations described herein.



BRIEF DESCRIPTION OF THE DRAWINGS
The objects, features and advantages of the present invention will be apparent from the following detailed descriptions of the various aspects of the invention in conjunction with reference to the following drawings, where:
FIG. 1 illustrates a diagram of a multi-layered swarm sweep approach according to the present invention;
FIG. 2 illustrates an image pyramid where layers in a field-of-view correspond to levels in an image pyramid according to the present invention;
FIG. 3 is a flow diagram illustrating multi-layered object detection utilizing particle swarm optimization according to the present invention;
FIG. 4 is an illustration of a data processing system according to the present invention; and
FIG. 5 is an illustration of a computer program product according to the present invention.



DETAILED DESCRIPTION
The present invention relates to a system for multi-layered object detection and, more particularly, to a system for multi-layered object detection which utilizes particle swarm optimization. The following description is presented to enable one of ordinary skill in the art to make and use the invention and to incorporate it in the context of particular applications. Various modifications, as well as a variety of uses, in different applications will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to a wide range of embodiments. Thus, the present invention is not intended to be limited to the embodiments presented, but is to be accorded with the widest scope consistent with the principles and novel features disclosed herein.
In the following detailed description, numerous specific details are set forth in order to provide a more thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without necessarily being limited to these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.
The reader's attention is directed to all papers and documents which are filed concurrently with this specification and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference. All the features disclosed in this specification, (including any accompanying claims, abstract, and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features.
Furthermore, any element in a claim that does not explicitly state “means for” performing a specified function, or “step for” performing a specific function, is not to be interpreted as a “means” or “step” clause as specified in 35 U.S.C. Section 112, Paragraph 6. In particular, the use of “step of” or “act of” in the claims herein is not intended to invoke the provisions of 35 U.S.C. 112, Paragraph 6.
Please note, if used, the labels left, right, front, back, top, bottom, forward, reverse, clockwise and counter-clockwise have been used for convenience purposes only and are not intended to imply any particular fixed direction. Instead, they are used to reflect relative locations and/or directions between various portions of an object. As such, as the present invention is changed, the above labels may change their orientation.
(1) Principal Aspects
The present invention has three “principal” aspects. The first is a system for multi-layered object detection utilizing particle swarm optimization (PSO). The system is typically in the form of a computer system, computer component, or computer network operating software or in the form of a “hard-coded” instruction set. This system may take a variety of forms with a variety of hardware devices and may include computer networks, handheld computing devices, cellular networks, satellite networks, and other communication devices. As can be appreciated by one skilled in the art, this system may be incorporated into a wide variety of devices that provide different functionalities. The second principal aspect is a method for multi-layered object detection utilizing PSO, typically in the form of software, operated using a data processing system (computer or computer network). The third principal aspect is a computer program product. The computer program product generally represents computer-readable instruction means stored on a computer-readable medium such as an optical storage device, e.g., a compact disc (CD) or digital versatile disc (DVD), or a magnetic storage device such as a floppy disk or magnetic tape. Other, non-limiting examples of computer-readable media include hard disks, read-only memory (ROM), and flash-type memories.
The term “instruction means” as used with respect to this invention generally indicates a set of operations to be performed on a computer, and may represent pieces of a whole program or individual, separable, software modules. Non-limiting examples of “instruction means” include computer program code (source or object code) and “hard-coded” electronics (i.e. computer operations coded into a computer chip). The “instruction means” may be stored in the memory of a computer or on a computer-readable medium such as a floppy disk, a CD-ROM, and a flash drive. These aspects will be described in more detail below.
(2) Specific Details
By using PSO, one can search for objects of interest over multiple dimensions efficiently. The system described herein uses a parsimonious set of software agents, or particles, and parameter sets, which are appropriate for different layers of a field-of-view, to efficiently search for and detect objects of interest using PSO. The present invention presents a unified way of processing an entire field-of-view (FOV) using cognitive swarms of software agents, or particles, and classifier cascades by partitioning the FOV into layers and processing the closest layer first. The other layers are then sequentially swept to detect other objects in the FOV.
FIG. 1 illustrates a multi-layered swarm sweep approach to object detection according to the present invention. The FOV 100 is partitioned into a plurality of layers 102, with each layer 102 representing a depth zone in the FOV 100 of a sensor, non-limiting examples of which include a CCD or CMOS sensor of a camera 103. Layers 102 are intended to refer to zones in the three-dimensional world that vary from close to the camera 103 to very far from the camera 103. When mapped to the camera 103 image, the layers 102 can have different meanings depending on the camera 103 geometry. For instance, for a camera 103 mounted on a vehicle, the three-dimensional layers 102 (or zones) map to bands in the image with the lowest band corresponding to the layer 102 closest to the camera 103 and the highest band corresponding to the layer 102 furthest from the camera 103. For a camera 103 on an aerial platform, each of the three-dimensional layers 102 maps to the entire image.
The number of layers 102 used depends on the performance of a classifier cascade and the requirements, if any, of the system to detect objects closer than a certain range. The layered approach capitalizes on the characteristics of vision-based classifier cascades. For example, a given image is first processed with a large window of pixels and low complexity (and/or relaxed success criteria) for a set of classifiers. Since the first layer 104 includes objects 106 closest to the camera 103 (therefore having the most pixels on target), the classifier cascades perform most reliably. Non-limiting examples of classifiers include neural networks, decision trees, support vector machines, and k-nearest neighbors. Non-limiting examples of features employed by the classifier cascades include Haar or Viola wavelets that capture multi-scale edge information, edge symmetry features that capture edge information at multiple orientations, and histograms of oriented gradients that capture gradient information which is invariant to geometric and photometric transformations.
The specific classifier cascade chosen for detecting objects 106, such as humans, also results in a wide area around the center of the object 106 that has high confidence for the presence of the object 106. This area is referred to as the core of the object 106 and provides support to the presence of the object 106 in that region. The presence of a large core implies that fewer particles 108 are needed to search for the object 106. Furthermore, since there are plenty of pixels on target, all of the stages in the classifier cascade may not be needed to accurately identify the objects. It may be sufficient to just go down one or two stages in the cascade, thus saving computational time and resources. The first layer 104 is then searched for objects 106 using cognitive swarm algorithms, such as particle swarm optimization (PSO) algorithms. For example, if each particle 108 in a swarm is an image classifier, then in the first layer 104, fewer particles 108 are used with lower complexity classifiers and/or relaxed success criteria. The entire image (or FOV 100) is initially processed with the first layer 104 criteria.
Once the objects 106 are detected using the global and local swarms of particles 108, wide swaths 110 of regions that the detected objects 106 occlude behind them are masked out. In other words, the detection of objects 106 results in the corresponding pixels in the image being excluded from processing at the next layer 102. The presence of objects 106 in the closer layers (e.g., first layer 104) thus reduces the search space in outer layers significantly. This object mask 110 delineates the regions where no objects have yet been detected 111 and, hence, where additional objects could possibly be located. The detection of objects 106 results in more pixels being excluded from processing with the next layer's processing parameters.
As described above, the first layer 104 of the FOV 100 includes objects 106 closest to the camera 103, therefore having the most pixels on target. For the second layer 112, objects 113 in the FOV 100 have fewer pixels on target and the core sizes are also smaller. Additionally, there is a good possibility that false alarms are more numerous than in the first layer 104. This characteristic of the second layer 112 suggests the need to use more stages in the classifier cascade than before for increasing classifier accuracy.
In the case of an image with a ground plane, the first layer 104 is associated with pixels closest to the ground plane. Upper layers (e.g., the second layer 112) are associated with pixels further from the ground plane. Given such an image, the lowest set of pixels in the image (closest to the bottom of the image) is processed first with the first layer 104 parameters (e.g., image classifiers). Then, the other layer (e.g., the second layer 112) of pixels is processed, which may or may not involve different numbers of particles 108 with different classifier complexities and/or different classifier success criteria. The pixels of the upper layers (e.g., the second layer 112) which are processed are the pixels remaining after exclusion of the pixels corresponding to objects 106 detected in the processing of the first layer 104.
Furthermore, as shown in FIG. 1, more particles 108 are needed to search the larger area of the second layer 112 compared to the first layer 104 due to smaller core sizes. Increasing numbers of particles 108, each with a smaller window, higher complexity classifiers, and/or more stringent success criteria, are used as the layers 102 move outwards and away from the camera 103. The object mask 110 is used to generate the initial distribution of particles 108 in the unmasked regions 111 where no objects have yet been detected so that they are not wasted on regions where an object 106 has already been detected 110. All of the pixels in the image which were not excluded by the first layer 104 processing are examined. This approach is then continued onto other succeeding layers 102 until the entire FOV 100 has been processed, such that all pixels have been excluded, or some other predetermined criteria. Note that the entire parameter list, global and local swarm thresholds, and other sensitivity parameters can all be contextually adjusted, wherein each layer 102 being processed provides the context. Since the camera 103 geometry is already used in determining the layers 102, there is no need for an explicit heightmap as in previous approaches.
In a desired aspect, there is an extension to the camera FOV where objects enter or exit from the side of the FOV. The present invention can then be executed in layers that start at the sides and sweep inwards to the center of the FOV.
In another desired aspect, the present invention can be applied to the case of image pyramids where layers in a FOV correspond to levels in an image pyramid. An image pyramid is a hierarchical structure comprised of several levels of the same image of different resolutions. FIG. 2 illustrates an image pyramid 200 comprised of a plurality of levels 202. In the present example, the top level 204 corresponds to the coarsest level of the image pyramid 200 (i.e., the level with the lowest resolution), and the bottom level 206 corresponds to the level of the image pyramid 200 with the finest image resolution (i.e., the highest resolution). Swarms with few particles 208 are used to process the top level 204 of the image pyramid 200 and find potential regions that contain objects of interest. Increasing numbers of particles 208 are used to search the levels 202 as they increase in resolution along the image pyramid. In addition, an additional scan to find objects that were undetected from the coarser levels (e.g., top level 204) can also be incorporated.
FIG. 3 illustrates a system for multi-layered object detection utilizing particle swarm optimization. As described in detail above, in a first step 300, a field-of-view (FOV) of an image is first partitioned into several layers. In a second step 302, the first layer of the partitioned FOV is searched for an object using a layer-specific classifier cascade and a plurality of software agents that operate as a cooperative swarm to locate an objective function optima (e.g., location of an object in an image) according to particle swarm optimization (PSO) dynamics. The stages in the classifier cascade are progressively utilized throughout the layers in the FOV. As a non-limiting example, only the first two stages of the cascade may be used for detecting objects in the closest layer in the FOV, the first four stages for detecting objects in a middle layer, and the entire cascade for the farthest layer. In a third step 304, at least one region of the image corresponding to regions in the FOV behind detected objects is masked out. Finally, in a fourth step 306, succeeding layers for objects are searched according to PSO dynamics, wherein a plurality of software agents is distributed in unmasked regions of the FOV. Finally, an object of interest is extracted from the image 308 for presentation to a user.
FIG. 4 illustrates a block diagram depicting components of a data processing system 400 (e.g., computer) incorporating the operations of the method described above. The method utilizes a data processing system 400 for storing computer executable instruction means for causing a processor (or processors) to carry out the operations of the above described method. The data processing system 400 comprises an input 402 for receiving information from a user. Information received may include input from devices such as cameras, scanners, keypads, keyboards, microphone, other peripherals such as storage devices, other programs, etc. The input 402 may include multiple “ports.” An output 404 is connected with a processor 406 for providing information for transmission to other data processing systems, to storage devices, to display devices such as monitors, to generating information necessary for delivery, and to other mechanisms for presentation in user-usable forms. The input 402 and the output 404 are both coupled with the processor 406 (or processors), which may be a general-purpose computer processor or a specialized processor designed specifically for use with the present invention. The processor 406 is coupled with a memory 408 to permit storage of data and software to be manipulated by commands to the processor 406.
An illustrative diagram of a computer program product embodying the present invention is depicted in FIG. 5. As a non-limiting example, the computer program product is depicted as either a floppy disk 500 or an optical disk 502. However, as mentioned previously, the computer program product generally represents instruction means (i.e., computer readable code) stored on any compatible computer readable medium.
(3) Conclusion
The present invention is well suited for real-time applications that involve camera motion and where objects closest to the camera need to be detected rapidly so that any collisions can be avoided. This is achieved by using the fewest particles and classifier cascade stages. Furthermore, the present invention can be used to improve performance and add capabilities to a wide variety of automotive safety (e.g., backup warning, pre-crash sensing), factory automation, surveillance, force protection, and automatic target recognition.

## Claims

1. A system for multi-layered object detection, the system comprising one or more processors configured to perform operations of:
partitioning a field-of-view of an image captured by a sensor into a plurality of layers;
operating a plurality of software agents as a cooperative swarm to sequentially search each of the plurality of layers to locate an objective function optima according to particle swarm optimization dynamics, wherein the objective function corresponds to a location of an object of interest in each layer being searched;
extracting an object of interest from at least one layer for presentation to a user; and,
wherein the system is further configured to perform operations of:
searching a first layer for the objective function optima corresponding to the location of an object of interest, the first layer being the layer closest to the sensor;
masking a region of the image upon detection of an object of interest in the first layer resulting in at least one masked region and at least one unmasked region, wherein the at least one masked region corresponds to a region in the field-of-view of the image behind the object of interest; and
searching succeeding layers of the field-of-view for an object of interest until the entire field-of-view has been searched for at least one object of interest, wherein the plurality of software agents are distributed in at least one unmasked region of the field-of-view.

2. The system for multi-layered object detection as set forth in claim 1, wherein the system is further configured to perform operations of employing a cascade of classifiers at each layer of the field-of-view for object detection, wherein the cascade of classifiers comprises a plurality of classifier stages, and wherein each software agent implements a cascade which classifies a local region in each layer.

3. The system for multi-layered object detection as set forth in claim 2, wherein the cascade of classifiers is employed in a layer-specific manner, such that a distinct set of classifier stages is used for each layer.

4. The system for multi-layered object detection as set forth in claim 3, wherein the system is further configured to perform operations of selecting a plurality of software agents and selecting a set of parameters for each layer of the field-of-view, wherein each layer provides a context for the selection of the software agents and set of parameters.

5. A system for multi-layered object detection, the system comprising one or more processors configured to perform operations of:
partitioning a field-of-view of an image captured by a sensor into a plurality of layers;
operating a plurality of software agents as a cooperative swarm to sequentially search each of the plurality of layers to locate an objective function optima according to particle swarm optimization dynamics, wherein the objective function corresponds to a location of an object of interest in each layer being searched;
extracting an object of interest from at least one layer for presentation to a user; and
generating an image pyramid of the image, wherein the plurality of layers correspond to a plurality of levels in the image pyramid, and wherein the image pyramid comprises a hierarchical structure having a plurality of levels representing distinct image resolutions of the image, wherein the plurality of levels comprise a coarsest level having a coarsest image resolution, a finest level having a finest image resolution, and at least one level between the coarsest level and the finest level;
wherein a swarm having relatively fewer software agents is used to search the coarsest level of the image pyramid first to locate at least one region which contains the object of interest; and
wherein a swarm having a relatively greater number of software agents is used to search levels having increasing image resolutions along the image pyramid in order to locate the object of interest.

6. A computer-implemented method for multi-layered object detection, the method comprising an act of causing a processor to perform operations of:
partitioning a field-of-view of an image captured by a sensor into a plurality of layers;
operating a plurality of software agents as a cooperative swarm to sequentially search each of the plurality of layers to locate an objective function optima according to particle swarm optimization dynamics, wherein the objective function corresponds to a location of an object of interest in the layer being searched;
extracting an object of interest from at least one layer for presentation to a user;
searching a first layer for the objective function optima corresponding to the location of an object of interest, the first layer being the layer closest to the sensor;
masking a region of the image upon detection of an object of interest in the first layer resulting in at least one masked region and at least one unmasked region, wherein the at least one masked region corresponds to a region in the field-of-view of the image behind the object of interest; and
searching succeeding layers of the field-of-view for an object of interest until the entire field-of-view has been searched for at least one object of interest, wherein the plurality of software agents are distributed in at least one unmasked region of the field-of-view.

7. The method for multi-layered object detection as set forth in claim 6, further comprising acts of employing a cascade of classifiers at each layer of the field-of-view for object detection, wherein the cascade of classifiers comprises a plurality of classifier stages, and wherein each software agent implements a cascade which classifies a local region in each layer.

8. The method for multi-layered object detection as set forth in claim 7, wherein the cascade of classifiers is employed in a layer-specific manner, such that a distinct set of classifier stages is used for each layer.

9. The method for multi-layered object detection as set forth in claim 8, wherein the method further comprises an act of selecting a plurality of software agents and selecting a set of parameters for each layer of the field-of-view, wherein each layer provides a context for the selection of the software agents and set of parameters.

10. A computer-implemented method for multi-layered object detection, the method comprising an act of causing a processor to perform operations of:
partitioning a field-of-view of an image captured by a sensor into a plurality of layers;
operating a plurality of software agents as a cooperative swarm to sequentially search each of the plurality of layers to locate an objective function optima according to particle swarm optimization dynamics, wherein the objective function corresponds to a location of an object of interest in the layer being searched;
extracting an object of interest from at least one layer for presentation to a user;
generating an image pyramid of the image, wherein the plurality of layers correspond to a plurality of levels in the image pyramid, and wherein the image pyramid comprises a hierarchical structure having a plurality of levels representing distinct image resolutions of the image, wherein the plurality of levels comprise a coarsest level having a coarsest image resolution, a finest level having a finest image resolution, and at least one level between the coarsest level and the finest level;
wherein a swarm having relatively fewer software agents is used to search the coarsest level of the image pyramid first to locate at least one region which contains the object of interest; and
wherein a swarm having a relatively greater number of software agents is used to search levels having increasing image resolutions along the image pyramid in order to locate the object of interest.

11. A computer program product for multi-layered object detection, the computer program product comprising computer-readable instruction means stored on a non-transitory computer-readable medium that are executable by a computer having a processor for causing the processor to perform operations of:
partitioning a field-of-view of an image captured by a sensor into a plurality of layers;
operating a plurality of software agents as a cooperative swarm to sequentially search each of the plurality of layers to locate an objective function optima according to particle swarm optimization dynamics, wherein the objective function corresponds to a location of an object of interest in the layer being searched;
extracting an object of interest from at least one layer for presentation to a user;
searching a first layer for the objective function optima corresponding to the location of an object of interest, the first layer being the layer closest to the sensor;
masking a region of the image upon detection of an object of interest in the first layer resulting in at least one masked region and at least one unmasked region, wherein the at least one masked region corresponds to a region in the field-of-view of the image behind the object of interest; and
searching succeeding layers of the field-of-view for an object of interest until the entire field-of-view has been searched for at least one object of interest, wherein the plurality of software agents are distributed in at least one unmasked region of the field-of-view.

12. The computer program product for multi-layered object detection as set forth in claim 11, wherein the computer program product further comprises instruction means for causing the processor to perform operations of employing a cascade of classifiers at each layer of the field-of-view for object detection, wherein the cascade of classifiers comprises a plurality of classifier stages, and wherein each software agent implements a cascade which classifies a local region in each layer.

13. The computer program product for multi-layered object detection as set forth in claim 12, wherein the cascade of classifiers is employed in a layer-specific manner, such that a distinct set of classifier stages is used for each layer.

14. The computer program product for multi-layered object detection as set forth in claim 13, wherein the computer program product further comprises instruction means for causing the processor to perform operations of selecting a plurality of software agents and selecting a set of parameters for each layer of the field-of-view, wherein each layer provides a context for the selection of the software agents and set of parameters.

15. A computer program product for multi-layered object detection, the computer program product comprising computer-readable instruction means stored on a computer-readable medium that are executable by a computer having a processor for causing the processor to perform operations of:
partitioning a field-of-view of an image captured by a sensor into a plurality of layers;
operating a plurality of software agents as a cooperative swarm to sequentially search each of the plurality of layers to locate an objective function optima according to particle swarm optimization dynamics, wherein the objective function corresponds to a location of an object of interest in the layer being searched;
extracting an object of interest from at least one layer for presentation to a user;
generating an image pyramid of the image, wherein the plurality of layers correspond to a plurality of levels in the image pyramid, and wherein the image pyramid comprises a hierarchical structure having a plurality of levels representing distinct image resolutions of the image, wherein the plurality of levels comprise a coarsest level having a coarsest image resolution, a finest level having a finest image resolution, and at least one level between the coarsest level and the finest level;
wherein a swarm having relatively fewer software agents is used to search the coarsest level of the image pyramid first to locate at least one region which contains the object of interest; and
wherein a swarm having a relatively greater number of software agents is used to search levels having increasing image resolutions along the image pyramid in order to locate the object of interest.