Abstract:
A knowledge-based hierarchical method for detecting regions of interests (ROIs) uses prior knowledge of the targets and the image resolution in detecting ROIs. The result produces ROIs that contain only one target that is completely enclosed within the ROI. The detected ROI can conform to the shape of the target even if the target is of irregular shape. Furthermore, the method works well with images that contain connected targets or targets broken into pieces. The method is not sensitive to contrast levels and is robust to noise. Thus, this method effectively detects ROIs in common real world imagery that has a low resolution without costly processing while providing fast and robust results.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to the field of image processing and, more particularly, to detecting regions of interests (ROIs) in images.  
           [0003]    2. Description of the Related Art  
           [0004]    Detecting ROIs in images is a common step in many image processing systems. Conventional digital image recognition systems (DIRSs) detect ROIs by typically using some knowledge of a prototype. Generally, an image is composed of many objects that can be defined by pixels. A group of pixels is called a region. A target is an object of interest. A prototype contains information about a type of target. A DIRS may detect a region in an image that matches the prototype.  
           [0005]    Images may contain a lot of information. DIRSs may have different phases to more efficiently process information from an image, such as: a segmentation phase, a feature extraction phase and a classification phase. The function of the segmentation and feature extraction phases are to reduce the volume of data. In the feature extraction phase, some of the significant characteristics of each target are measured and taken together to form a vector. Thus, the image can be converted into a series of targets, each described by a vector. In the segmentation phase, each target is found and is isolated from the rest of the information in the image. The segmentation phase identifies the features to differentiate different prototypes, uses the detection algorithm to group pixels with similar features, and uses a merging algorithm to group regions of the image. Because these issues may impact the efficiency and effectiveness of a DIRS, the segmentation phase can affect the functionality of the entire process.  
           [0006]    The algorithms used in the segmentation phase are typically applied to an entire image to reduce the data dimension for subsequent processing purposes. Pixels with similar optical characteristics, such as color and intensity, are grouped together and separated from the others. Particular regions can then be chosen based upon features such as size and shape, and forwarded to successive processing units.  
           [0007]    Several problems hinder the segmentation process. First, because of the characteristics of the image, such as luminance, noise level, ROI position uncertainty, etc., it is difficult to determine the critical parameters for segmentation at different positions. Secondly, different objects in the image have different and distinctive features. Even when the pixels of the objects are accurately grouped and separated, other problems remain. For example, several objects may overlap one other, or one object may be broken into pieces and therefore, different regions may correspond to the same object.  
           [0008]    Sophisticated algorithms have been proposed to address some of these segmentation issues. However, the computational complexity associated with these algorithms may prohibit them from use in real-time applications. One solution is to quickly detect regions that may correspond to objects, and then apply dedicated algorithms to those regions. Another solution is to first transform the image, and then cluster the image to detect the ROIs. Yet another solution is to first threshold the image, and then take every “blob” as one region.  
           [0009]    All of these algorithms detect ROIs by grouping pixels with similar features. However, because the objects may be connected or broken, and portions of an object may be very close to the background, a ROI may correspond to several objects, or a portion of an object. These conventional solutions for segmentation focus on detecting regions of similar optical characteristics, each of which may be only part of one object, or a concatenation of several objects. Thus, these solutions may result in inaccurate, incomplete, or too general results in detecting ROIs. In addition, they are often computationally complex and usually do not work well with low quality images. Thus, there is a need for a method to detect ROIs that is more accurate, efficient, and faster than conventional methods.  
         SUMMARY OF THE INVENTION  
         [0010]    The present invention is a knowledge-based multi-resolution method for detecting ROIs in images. The present invention makes use of prior knowledge about targets using prototype information which can contain size and shape information about an object as well as object size information calculated from the imaging sensor parameters. Using prior knowledge, the present invention can detect ROIs and then apply segmentation to those ROIs. The present invention reduces the computational complexity of detecting ROIs and can provide quality ROI detection performance with poor-quality imagery. Moreover, the excellent detection performance can greatly improve the performance of subsequent processing techniques such as compression, segmentation, and recognition.  
           [0011]    The present invention can comprise four primary steps. First, prior knowledge is used to determine which objects should be detected and at what resolution. Prior knowledge typically consists of information about the general types of targets and information about the sensor which captured the image, in particular, the pixel resolution of the image. Second, for a given resolution, a region of candidacy (ROC) extraction is applied. This extraction includes feature selection, region merging and/or splitting, and using prior knowledge to determine which regions may possibly correspond to the targets. Third, the ROCs are fused from different prototype groups to make consolidated ROCs. Fourth, each consolidated ROC is extended if necessary and is assigned an area in the image to make an ROI.  
           [0012]    The present invention has several advantages over conventional methods. The use of prior knowledge in the present invention can be used for grouping prototypes, choosing features and the use of more efficient and simpler algorithms. The present invention also utilizes multi-resolution that allows for detecting groups of prototypes on the minimal resolution in which the prototypes are barely detectable which reduces the volume of data to be processed. The use of multi-resolution with different groups of prototypes reduces the risk of errors made in any one resolution from proliferating to other resolutions. The present invention solves many of the problems of conventional methods because of its use of prior knowledge and multi-resolutions. Furthermore, the present invention is not bound to detecting ROIs by symmetrical shapes like rectangles. The present invention may detect ROIs with irregular shapes (i.e. any shape and any positioning) that conform to the shape of the target. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]    [0013]FIG. 1 is an example of a method in accordance with the present invention.  
         [0014]    [0014]FIG. 2 is a schematic diagram illustrating a method in accordance with the present invention.  
         [0015]    [0015]FIG. 3( a )-( b ) shows a splitting function useful in the present invention FIG. 4( a )-( b ) shows a membership function useful in the present invention.  
         [0016]    [0016]FIG. 5( a )-( c ) shows an area extension function useful in the present invention.  
         [0017]    [0017]FIG. 6( a )-( l ) shows a series of images illustrating the progressive results using an embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0018]    The present invention is a knowledge-based hierarchical method for detecting potential ROIs in an image. The present invention may comprise four primary steps: i) processing prior knowledge to divide the prototypes into groups, and to decide how to detect each group of prototypes; ii) detecting ROCs for each group of prototypes in a properly assigned resolution; iii) competing ROCs for different prototype groups to make the consolidated ROCs; and iv) extending the area of the consolidated ROCs to get the regions of interest (ROIs). The first step is preferably run only once for multiple images, if the prototypes are the same for these images. The second step may run several times for each image. Each time focuses on one group of prototypes and on a particular resolution. The third and fourth steps typically run once for each image.  
         [0019]    In the preferred embodiment, prior knowledge consists of general information about the targets (i.e. as prototypes) and information about the sensor generating the image. The target is typically a type of object that may be found in the image. The prior knowledge does not need precise information about the target, such as exact dimensions or colors, but general size and shape information should suffice. The present invention allows for the target to be loosely defined. Thus, in the present invention, a user can easily change the type of target of interest by simply modifying the prior knowledge. These prototypes may be further classified into groups with similar optical properties and sizes.  
         [0020]    The sensor can be any device for generating, copying, recording, etc. an image such as video camera, a satellite, etc. The prior knowledge typically would know the pixel resolution of the image generated by the sensor. Accordingly, the present invention can determine approximately how many pixels correlates to a specific unit of measurement. For example, because of prior knowledge a system using the present invention would know that in a certain image 15 pixels would equal 10 feet. This allows the present invention to have a reference point when reviewing objects in images of different resolutions.  
         [0021]    1. Notation and Definitions  
         [0022]    Function D(x) is the definition domain of variable x; function N(X) is the number of elements in set X. A digital image I is defined on a two-dimension digital space and consists of a set of pixels p, i.e., D(I)=Z 2 , and I={p i |1≦i≦N(I)}. The underlying grid G of I can be 8-connected or 4-connected, or others.  
         [0023]    A region r is a subset of I. It is a connected component if, for any two pixels p i ,p j εr, there exists a sequence of pixels {q 0 ,q 1 ,q 2 , . . . , q M } such that q 0 =p i , q M =p j , and ∀1≦k≦M,(q k−1 , q k )εG.  
         [0024]    The input image I, in original resolution, is said to be in scale=0. I can be down-sampled by any of the factors, 2 i , i=1, 2, . . . . If it is down-sampled by 2 i , then the size of the resulted image is (1/2 i )-times the size of the original image, and the down-sampled image is said to be at scale i.  
         [0025]    A prototype, ptt i , 1≦i≦N(ptt), denotes a category of objects. For example, for types of military aircrafts, B-52H can be one prototype, and Mig-29 can be another. Additionally, one image may have more than one object derived from the same prototype. Furthermore, in the preferred embodiment, one or more prototypes may be re-arranged to form “groups,” g i , 1≦i≦N(g). Consequently,  
                 ⋃     g   i       =   ptt       i   =   1       N        (   g   )               (     1        a       )                     g   i     ⋂     g   j       =   0     ,     ∀     i   ≠     j   .                 (     1        b       )                               
 
         [0026]    In the present invention, the task is usually to automatically detect specific objects within an image. Therefore, without loss of generality, the present invention preferably assumes that the shape and size of the prototype, the resolution of the image, and other physical information is available to be used. With the size of the prototypes and the resolution of the image, the present invention can further calculate the size of the targets in the image. For example, a B-52H with physical size of 49 meters×56 meters (length times wingspan), in an image of resolution 0.5 meters/pixel, occupies 98 pixels×112 pixels in the image. With the size and resolution information, the present invention can derive the size of the prototypes at any down-sampled scale, i.e., S i (ptt j ), i=1,2, . . . ,L, j=1,2, . . . ,N(ptt). The size of thejth prototype at the ith scale satisfies  
         S i (ptt j )=S 0 (ptt j )/2 i   . (2)  
         [0027]    In consideration of orientation invariance, the “size” of a prototype refers to the largest projection that the prototype renders along any direction. To assign a proper resolution to an image that contains a prototype of interest, there is a threshold value associated with each prototype, ptt i , denoted by S exp  (ptt i ). Any object should have size (in pixels) no less than this to ensure reasonable detection and recognition.  
         [0028]    At scale i, the maximal size of an object in a prototype group, g j , is defined as  
                 S   i   max          (     g   j     )       =       max     k   ∈     g   j              {       S   i          (     ptt   k     )       }               (     3        a       )                               
 
         [0029]    and the minimal size is  
                 S   i   min          (     g   j     )       =       min     k   ∈     g   j              {       S   i          (     ptt   k     )       }               (     3        b       )                               
 
         [0030]    Every object in I is a potential target, t i , 1≦i≦N(t). Assume that the targets are not overlapping, but can be touching. Then,  
         D(t i ) ⊂ D(I)  (4a)  
           D ( t   i )∩ D ( t   j )=0 , ∀i≠j   (4b)  
         [0031]    The expected outcome of the present invention is a series of ROIs, roi i , 1≦i≦N(roi), which satisfy the following constraints:  
         D(roi i ) ⊂ D(I)  (5a)  
           D ( roi   i )∩ D (roi j )=0 , ∀i≠j   (5b)  
         [0032]    The objective of the present invention is therefore the following:  
         ∀1≦ i≦N ( t ),∃1 ≦j≦N ( roi ), such that D(t i ) ⊂ D(roi i )  (6a)  
         If D(t i ) ⊂ D(roi j ), then there is no k≠i, such that D(t k ) ⊂ D(roi i )  (6b)  
         [0033]    2. Prototype Grouping and Resolution Assignment  
         [0034]    Prior to any processing procedure on image I, the prototypes are preferably first classified into groups, each with similar optical characteristics and size. The prototype groups, ptt i , 1≦i≦N(ptt), are defined and specified in Equation (1).  
         [0035]    All prototypes in the same group have similar optical characteristics, size and other properties that are usually easy to measure, e.g., compactness. A series of detection algorithms may be used to detect the reproductions of the prototypes in the image. Each detection algorithm can focus on one group of prototypes, e.g., g i , and does not care about any other prototypes, e.g., p j ∉g i .  
         [0036]    The performance of the present invention is typically enhanced over conventional methods that use a big complex detection algorithm focusing on all prototypes, because, i) it is easier to choose dominant features for a subset of prototypes than all prototypes; ii) the number of reproductions corresponding to the prototypes of interest is smaller, and it is easier to determine the features, and iii) each group of prototypes can be detected at its lowest resolution for enhanced computation speed.  
         [0037]    Once the grouping is over, for each group of prototypes gi, a detection algorithm is designed. The detection algorithms for different prototype groups can be different. Some or all of the following procedures may be taken to render some of the parameters required for use in the present invention.  
         [0038]    i) Optical features: the features can be anything differentiating targets from non-targets, such as color, intensity, texture, edge, etc.  
         [0039]    ii) Classifier: the choice of classifier is subject to the available knowledge of the prototypes gi. For example, if plenty of training data is available, artificial neural networks are good choices, while if standard presentations of the prototypes are available, template matching can be used.  
         [0040]    iii) Scale of the image for processing: if the size of a reproduction of a prototype is too small, it may be difficult to correctly recognize the target. However, if the size of the reproduction is large, computation load is heavy. Because the size of the reproduction decreases as the scale of the image increases, there is a maximal acceptable scale such that recognition can be assured. The maximal scale is the “best” scale in terms of computation efficiency. The best scale for prototype group gi, B(g i ), is determined by the equation 
         B(gi)=arg max{Sj (pttk)&gt;Sexp (pttk), VPttk E gi}( 7 ) 
         [0041]    iv) Determined parameters for successive processing: the parameters may include (a) high level features (as contrast to optical features) not mentioned before, such as 
         [0042]    compactness, moments, etc., of the prototypes, and (b) the modified values for aforementioned parameters. An example of case (b) is, in an application, the resolution of the image may be 100±10 cm/pixel instead of exactly 100 cm/pixel. The noise of the image can make the reproduction larger or smaller. Therefore the maximal and minimal size of the targets should be modified to  
             S     i   ,   mod     max          (     g   j     )       =         (     1   +   δ     )            S   i   max          (     g   j     )                     and                     S     i   ,   mod     min          (     g   j     )         =       (     1   -   δ     )            S   i   min          (     g   j     )             ,                         
 
         [0043]    where δ is related to the accuracy of the resolution and the noise level. In the following, without confusion, the modified parameters follow the same convention as the original parameters. For example,  
         [0044]    [0044]         S   i   max          (     g   j     )                             
         [0045]    is in fact  
           S     i   ,   mod     max          (     g   j     )       .                         
 
         [0046]    Wavelet transformation is used to down-sample the image to different scales. Because the results of wavelet transformation can also be used in compression, which is a successive operation in many applications, the computational load added would be low. The image is down-sampled up to scale=max{B(g i )|1≦i≦N(g)}. Thus, in the preferred embodiment, multiple images may be produced at different resolutions (i.e. down-sampled) to be processed later by the present invention. A down-sampled image may require less computation than the original image. For example, a down-sampled image at ⅛th the resolution of the original image may require {fraction (1/64)} less computations than if performed on the original image.  
         [0047]    Generally, objects of a similar size are typically processed from the same down-sampled image. Usually the resolution used for a specific group is the lowest resolution in which all of the prototypes for that group are just detectable (e.g. the minimum size required to distinguish the shape of the prototype). The number of down-sampled images (i.e. levels) preferably varies on the number of different sized objects in the original image.  
         [0048]    In the example illustrated in FIG. 1 there are six prototypes. p={textured triangle, textured pentagon, black star, black octagon, white circle, white bar}. These prototypes are classified into four groups as shown in Table 1. In this example, there are two down-sampled images in addition to the original image. The prototypes of group g 1  (consisting of the triangle and pentagon) were grouped together because of their common optical feature, texture, and similar size. Likewise, prototype groups g 2 , g 3 , and g 4  were grouped together because of a common optical feature and similar size. Further processing of prototype groups g 1  and g 3  in this embodiment will be done using the down-sampled image at scale 1. Likewise, further processing of prototype group g 4  will be done using down-sampled image at scale 2, and further processing of prototype group g 2  will be done using the original image (i.e. scale=0).  
                               TABLE 1                       Prototype group   g 1     g 2     g 3     g 4                     Prototypes   Triangle,   Star   Octagon   Circle,           Pentagon           Bar       Feature   texture   black   white   white       Scale   1   0   1   2                  
 
         [0049]    The structure of the algorithm used in FIG. 1 is shown in FIG. 2. From knowledge  210 , the present invention forms four prototype groups  220 . An original image  200  is down-sampled by wavelet transformation to form three multi-resolution images  230 .  
         [0050]    3. ROC Detection for a Given Prototype Group  
         [0051]    The system extracts the optical features that distinguish a prototype group gi. The feature extraction is applied on the down-sampled image at scale b=B(g i ). In the preferred embodiment, as many objects as possible are identified and extracted. The extracted features are dichotomized using thresholding, namely the image will be labeled with “1” for target pixels with the identified features, and “0” for non-target pixels.  
         [0052]    The system further examines the connected components with labels of “1”. In the preferred embodiment, such connected components are referred to as “regions”, and “removing a region” refers to labeling the corresponding pixels to “0”. Some of the regions which are labeled with “1” can be removed based on prior information. For example, a thin and long region is unlikely to be a tank that is small and compact.  
         [0053]    For connecting objects, the size of the regions labeled with “1” may exceed  
           S   b   max          (     g   i     )       .                         
 
         [0054]    In the preferred embodiment, the present invention can split these regions by removing the pixels in the “weakest branch position” until all the sub-regions are equal to or smaller than  
           S   b   max          (     g   i     )       .                         
 
         [0055]    . A branch position/pixel is typically one that has more than two disjoint sets of pixels belonging to the other regions in its neighborhood, and it is weak if the number of pixels belonging to the same region in its neighborhood is small. In the preferred embodiment, to make the split, the weakest branch pixels of one region are removed. FIG. 3 is an example where a region may be split at its weakest branch position. Splitting can be repeated until all regions are not larger than the expected region size for a particular resolution.  
         [0056]    In many cases, especially when the quality of the image is poor, the targets are broken into pieces. Therefore, in the preferred embodiment, targets may be merged. The merging process can be done by grouping neighboring regions under the constraints that the resulted new region is smaller than  
         S   b   max          (     g   i     )                           
 
         [0057]    and the new region has a higher probability resembling a prototype. In the preferred embodiment, the merge is a two-step test. First, each region is checked to determine if it can be combined with a neighboring region and not exceed the expected target size for that particular resolution. If two or more regions can be combined in such a manner, the present invention can then determine if the ratio of the length to the total area is in the prescribed range, as determined by the prior knowledge. If so, the regions can be merged and treated as one object.  
         [0058]    After merging, if the size of a new region still is smaller than S b   min (g i ), then it is unlikely to be a prototype in g i  and hence can be removed. Therefore the sizes of all the resulted new regions, ROCs, are within  
         [         S   b   min          (     g   i     )       ,       S   b   max          (     g   i     )         ]     .                         
 
         [0059]    The detection, splitting and merging steps are illustrated in FIG. 1 and also in FIG. 2 as ROC detection  240 .  
         [0060]    In the preferred embodiment, edge is taken as the “basic feature.” In other words, the preferred embodiment will typically rely on edges when it does not have any specific information of the targets&#39; optical characteristics. To remove noise, prior to edge detection, a Gaussian filter is convolved with the image. In the preferred embodiment, the system then calculates the gradient by using a Sobel operator. In other embodiments, other operators such as Prewitt, Roberts, etc., may also be used. Then the gradient is binarized by thresholding. A threshold typically is predefined manually. However, this threshold is not critical, because a higher threshold, which renders under-segmentation, can be compensated by the merging operation, while a lower threshold will be compensated by the splitting operation.  
         [0061]    4. Multi-Voting  
         [0062]    An ROC detected under one resolution for a given prototype group g i  is designed to correspond to one prototype in g i . However, it may also correspond to portions or concatenations of prototypes other than those in g i . In other words, one pixel in the image may be occupied by several ROCs for different prototype groups. Therefore, in the present invention, an arbitrator may be used to eliminate redundant regions. The arbitration process may result in a voting procedure using all scales for a series of newly consolidated ROCs. An example of the consolidated ROCs is shown in FIG. 1 and also in FIG. 2 as consolidated ROC  250 . In the preferred embodiment, the two voting criteria are: i) no two ROCs should overlap one other; and ii) the total area of the consolidated ROCs should occupy the most number of pixels in the image.  
         [0063]    Finding a series of consolidated ROCs is subject to the two criteria i) and ii). It is a non-linear optimization problem. The computation required to find the global optimal solution is prohibitive. Therefore, a simplified algorithm is used to find a local optimal solution. In this algorithm, the ROCs are processed in sequence. An unconsolidated ROC, roc 0 , is considered a valid ROC only if its pixels are more than the sum of the currently consolidated ROCs, roc i , 1≦i≦N, that overlap with roc 0 . After roc 0  being declared the newly consolidated ROC, the overlapping ROCs, roc i , 1≦i≦N, are removed. Small targets are more likely to be concatenated to correspond to a big prototype than a big target to be split into small prototypes. Hence, ROCs corresponding to small prototypes preferably have a higher priority when consolidating. The algorithm used in the preferred embodiment is shown in Table 2.  
                     TABLE 2                       An algorithm for multi-voting.                                Step 1: Represent all the ROCs in the same resolution. Sort the ROCs in       ascending sequence according to the sizes of their corresponding       prototypes. Put this sequence in A 1 . Set A 0  to an empty set.       Step 2: Suppose roc 0  is the first ROC in A I . Then roc 0  corresponds to       the smallest prototype in A I . Find out all the ROCs in A 0  that overlap with       roc 0 , e.g., roc I , 1≦i≦N.       Step 3: If the pixels in roc 0  are more than the sum of pixels in roc I ,       1≦i ≦N, then remove roc i , 1 ≦i≦N from A 0  and move roc 0         from A I  to A 0 ; otherwise remove roc 0  from A I .       Step 4: If A I  is empty, stop the program; otherwise goto step 2.                  
 
         [0064]    The consolidated ROCs correspond to the reproductions of all prototypes in this image and are used as “hints” to find the complete targets.  
         [0065]    5. ROC Area Extension  
         [0066]    To get the complete targets in the preferred embodiment, the present invention integrates the pixels that are outside of the consolidated ROCs (roc i , 1≦i≦N(roc)) but that also correspond to the targets. Dilation is not used in the preferred embodiment because it may merge regions from adjacent objects before merging all the pixels in the same object. In the preferred embodiment, a probability-based membership function is used. An example of the membership function is shown in FIG. 4. The size of the smallest rectangle is S rec , which contains the roc, with size of w×h (width times height). Also, the maximum dimension of its associating prototype group is S. Therefore, S≧w and S≧h. By using the size information as existing knowledge, the entire object is assumed to be inside a padded box, S pad , which shares the same center as S rec . The width and the height of S pad  are (2S−w) and (2S−h), respectively. The relationship of S rec , S pad  and membership can be seen in FIG. 4.  
         [0067]    The probability of a pixel located at (x, y) belonging to consolidated roc i  is given by,  
               P        (     x   ,   y     )       =     {         DIS        {       (     x   ,   y     )          ,     1   ,            I   -     S   pad         }         DIS            {       (     x   ,   y     )     ,     I   -     S   pad         }     +     DIS        {       (     x   ,   y     )     ,     roc   i       }           0   ,           ,             (     x   ,   y     )        ε                   roc   i                     (     x   ,   y     )        ε                   S   pad       -     roc   i                     (     x   ,   y     )        ε                 I     -     S   pad                         (   8   )                               
 
         [0068]    where DIS {(x, y), roc i } is the minimal distance between a pixel at (x, y) and all the pixels in roc i .  
         [0069]    A pixel is assigned to the ROC that has the biggest membership value. In the preferred embodiment the newly extended regions from the consolidated ROCs, which also include the ROCs, are referred to as ROIs. To reduce computation, this membership, which is defined on 2-D space, can be approximated by memberships defined on 1-D space.  
         [0070]    An example of extending two ROCs to two ROIs is shown in FIG. 5. As FIG. 5( a ) illustrates, the use of a rectangular box would not provide the best description of this non-rectangular object because expansion may result in overlapping ROIs. The area extension shown in FIGS.  5 ( b ) and  5 ( c ) result in ROIs that are expanded without overlap because they conform more closely to the natural shape of the object.  
         [0071]    The present invention may produce several, one, or no ROIs depending on the content of the original image and the prototype information. Each ROI typically has one target and will conform to the shape of that target. Likewise, the target is usually completely enclosed within the ROI. The ROI can then be used further according to the needs of the relevant implementation.  
       6. EXAMPLE 1  
       [0072]    [0072]FIG. 6 illustrates an embodiment of the present invention on an image. In the original image, FIG. 6( a ), there are three targets (three prototypes) of interest. All of them are planes, but with different sizes and shapes. These prototypes are divided into two groups. In this example, edge is the optical feature used to distinguish these planes. FIG. 6 is summarized in  
                                 TABLE 3                       FIG.   Description                                6(a)       Original gray image with 8 bit/pixel, and with size of               1216 * 1404.       6(b)       The gradient is quantized to [0, 255] for better visual               effect.       6(c)       The thresholded gradient image where white pixels are of               interest.       6(d)       The initial regions which are derived from the edge               image. Each region is shown in gray bounding box.               There are 240 initial regions.       Group 1   6(e)   The regions after split. Some regions that are unlikely to               correspond to this group of prototypes are eliminated               before split. Then the survived regions are split until all               the resulted regions are smaller than S b   max  (g 1 ,).               The resulted regions are shown in white and with gray               bounding boxes, while the eliminated are shown in white               without bounding boxes.           6(f)   The regions after merging. The active regions, whose               sizes are within [S b   min  (g 1 ), S b   max  (g 1 )],               are shown in gray bounding boxes.           6(g)   The regions of candidate. The inactive regions have               already been removed. There are 66 ROC for prototype               group 1.       Group 2   6(h)   Same as group 1.           6(i)   Same as group 1.           6(j)   Same as group 1. There are 41 ROC for prototype               group 2.       6(k)       The consolidated ROCs. There are 82 consolidated               ROCs.       6(l)       The regions of interest.                  
 
         [0073]    In an alternative embodiment, feature detection can be accomplished by other optical characteristics such as color or intensity, texture, etc.  
         [0074]    In an alternative embodiment, the present invention can be used in various applications where detection of objects is needed especially when the quality of the original image is poor such as infrared images, medical imaging, satellite imaging, etc.  
         [0075]    In an alternative embodiment, the present invention may verify and improve the accuracy of ROI detection after performing the split and merge operations before proceeding with further processing by using supervisory information (orthogonal to the characteristics used in feature detection and the split and merge operations). For example, it may be possible to use the “average width” to determine if the ROI contains a certain object, where “average width” is defined as the ratio of the area of the object to the length of the boundary. Alternatively, an embodiment of the present invention can use the ratio of the number of pixels in the target&#39;s boundary to the number of pixels inside the target&#39;s smallest bounding box.  
         [0076]    Whereas the present invention has been described with respect to specific embodiments thereof, it will be understood that various changes and modifications will be suggested to one skilled in the art and it is intended that the invention encompass such changes and modifications as fall within the scope of the appended claims.