This application is based upon and claims the benefit of priority from prior Japanese Patent Applications No. 2005-054780, filed Feb. 28, 2005; and No. 2005-361921, filed Dec. 15, 2005, the entire contents of both of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to an object detection apparatus, learning apparatus, object detection system, object detection method and object detection program.
2. Description of the Related Art
There is a method of using the brightness difference value between two pixel areas as a feature value for detecting a particular object in an image (see, for example, Paul Viola and Michael Jones, “Rapid Object Detection using a Boosted Cascade of Simple Features”, IEEE conf. on Computer Vision and Pattern Recognition (CVPR), 2001). The feature value can be calculated efficiently if the pixel area is rectangular, and is therefore widely utilized. The method uses a classifier for determining whether the object is present or absent in a scanning sub-window. This classifier determines it by comparing, with a threshold value, a brightness difference value computed from rectangular areas. The accuracy of recognition acquired by the comparison process using the threshold value is not high. However, a high recognition accuracy can be acquired as a whole by combining a number of such classifiers.
Conventional classifiers perform determination based on a single brightness difference value computed from rectangular areas. Using such a single feature value, the correlation between features contained in an object, for example, symmetry of features of the object, cannot effectively be estimated, resulting in a low recognition accuracy. It is apparent that combination of such low-accuracy classifiers will not greatly enhance the recognition accuracy.
In accordance with a first aspect of the invention, there is provided an object detection apparatus comprising: a storage unit configured to store learned information learned previously with respect to a sample image extracted from an input image and including first information and second information, the first information indicating at least one combination of a given number of feature-area/feature-value groups selected from a plurality of feature-area/feature-value groups each including one of feature areas and one of quantized learned-feature quantities, the feature areas each having a plurality of pixel areas, and the quantized learned-feature quantities obtained by quantizing learned-feature quantities corresponding to feature quantities of the feature areas in the sample image, and the second information indicating whether the sample image is an object or a non-object; a feature-value computation unit configured to compute an input feature value of each of the feature areas belonging to the combination in the input image; a quantization unit configured to quantize the computed input feature value to obtain quantized input feature value; and a determination unit configured to determine whether the input image includes the object, using the quantized input feature value and the learned information.
In accordance with a second aspect of the invention, there is provided a learning apparatus comprising: a first storage unit configured to store at least two sample images, one of the sample images being an object as a detection target and the other sample image being a non-object as a non-detection target; a feature generation unit configured to generate a plurality of feature areas each of which includes a plurality of pixel areas, the feature areas being not more than a maximum number of feature areas which are arranged in each of the sample images; a feature computation unit configured to compute, for each of the sample images, a feature value of each of the feature areas; a probability computation unit configured to compute a probability of occurrence of the feature value corresponding to each of the feature areas, depending upon whether each of the sample images is the object, and then to quantize the feature value into one of a plurality of discrete values based on the computed probability; a combination generation unit configured to generate a plurality of combinations of the feature areas; a joint probability computation unit configured to compute, in accordance with each of the combinations, a joint probability with which the quantized feature quantities are simultaneously observed in each of the sample images, and generate tables storage the generated combinations, the computed joint probabilities, and information indicating whether each of the sample images is the object or the non-object; a determination unit configured to determine, concerning each of the combinations with reference to the tables, whether a ratio of a joint probability indicating the object sample image to a joint probability indicating the non-object sample image is higher than a threshold value, to determine whether each of the sample images is the object; a selector configured to select, from the combinations, a combination which minimizes number of errors in determination results corresponding to the sample images; and a second storage unit which stores the selected combination and one of the tables corresponding to the selected combination.
In accordance with a third aspect of the invention, there is provided a learning apparatus comprising: a first storage unit which stores at least two sample images, one of the sample images being an object as a detection target and the other sample image being a non-object as a non-detection target; an imparting unit configured to impart an initial weight to the stored sample images; a feature generation unit configured to generate a plurality of feature areas each of which includes a plurality of pixel areas, the feature areas being not more than a maximum number of feature areas which are arranged in each of the sample images; a feature computation unit configured to compute, for each of the sample images, a weighted sum of differently weighted pixel areas included in each of the feature areas, or an absolute value of the weighted sum, the weighted sum or the absolute value being used as a feature value corresponding to each of the feature areas; a probability computation unit configured to compute a probability of occurrence of the feature value corresponding to each of the feature areas, depending upon whether each of the sample images is the object, and then to quantize the feature value into one of a plurality of discrete values based on the computed probability; a combination generation unit configured to generate a plurality of combinations of the feature areas; a joint probability computation unit configured to compute, in accordance with each of the combinations, a joint probability with which the quantized feature quantities are simultaneously observed in each of the sample images, and generate tables storing the generated combinations, the quantized feature quantities, a plurality of values acquired by multiplying the computed joint probabilities by the initial weight, and information indicating whether each of the sample images is the object or the non-object; a determination unit configured to determine, concerning each of the combinations with reference to the tables, whether a ratio of a value acquired by multiplying a joint probability indicating the object sample image by the initial weight to a value acquired by multiplying a joint probability indicating the non-object sample image by the initial weight is higher than a threshold value, to determine whether each of the sample images is the object; a selector configured to select, from the combinations, a combination which minimizes number of errors in determination results corresponding to the sample images; a second storage unit which stores the selected combination and one of the tables corresponding to the selected combination; and an update unit configured to update a weight of any one of the sample images to increase the weight when the sample images are subjected to a determination based on the selected combination, and a determination result concerning the any one of the sample images indicating an error,
wherein: the joint probability computation unit generates tables storing the generated combinations, a plurality of values acquired by multiplying the computed joint probabilities by the updated weight, and information indicating whether each of the sample images is the object or the non-object; the determination unit performs a determination based on the values acquired by multiplying the computed joint probabilities by the updated weight; the selector selects, from a plurality of combinations determined based on the updated weight, a combination which minimizes number of errors in determination results corresponding to the sample images; and the second storage unit newly stores the combination selected by the selector, and one of the tables corresponding to the combination selected by the selector.
In accordance with a fourth aspect of the invention, there is provided an object detection system comprising a learning apparatus and an object detection apparatus,
the learning apparatus including: a first storage unit configured to store at least two sample images, one of the sample images being an object as a detection target and the other sample image being a non-object as a non-detection target; a feature generation unit configured to generate a plurality of feature areas each of which includes a plurality of pixel areas, the feature areas being not more than a maximum number of feature areas which are arranged in each of the sample images; a feature computation unit configured to compute, for each of the sample images, a feature value of each of the feature areas; a probability computation unit configured to compute a probability of occurrence of the feature value corresponding to each of the feature areas, depending upon whether each of the sample images is the object, and then to quantize the feature value into one of a plurality of discrete values based on the computed probability; a combination generation unit configured to generate a plurality of combinations of the feature areas; a joint probability computation unit configured to compute, in accordance with each of the combinations, a joint probability with which the quantized feature quantities are simultaneously observed in each of the sample images, and generate tables storing the generated combinations, the computed joint probabilities, and information indicating whether each of the sample images is the object or the non-object; a first determination unit configured to determine, concerning each of the combinations with reference to the tables, whether a ratio of a joint probability indicating the object sample image to a joint probability indicating the non-object sample image is higher than a threshold value, to determine whether each of the sample images is the object; a selector configured to select, from the combinations, a combination which minimizes number of errors in determination results corresponding to the sample images; and a second storage unit which stores the selected combination and one of the tables corresponding to the selected combination, and
the object detection apparatus including: a feature-value computation unit configured to compute an input feature value of each of the feature areas belonging to the combination in an input image; a quantization unit configured to quantize the computed input feature value to obtain quantized input feature value; and a second determination unit configured to determine whether the input image includes the object, using the quantized input feature value and the one of the tables stored in the second storage unit.
In accordance with a fifth aspect of the invention, there is provided an object detection system comprising a learning apparatus and an object detection apparatus,
the learning apparatus including: a first storage unit which stores at least two sample images, one of the sample images being an object as a detection target and the other sample image being a non-object as a non-detection target; an imparting unit configured to impart an initial weight to the stored sample images; a feature generation unit configured to generate a plurality of feature areas each of which includes a plurality of pixel areas, the feature areas being not more than a maximum number of feature areas which are arranged in each of the sample images; a first computation unit configured to compute, for each of the sample images, a weighted sum of differently weighted pixel areas included in each of the feature areas, or an absolute value of the weighted sum, the weighted sum or the absolute value being used as a feature value corresponding to each of the feature areas; a probability computation unit configured to compute a probability of occurrence of the feature value corresponding to each of the feature areas, depending upon whether each of the sample images is the object, and then to quantize the feature value into one of a plurality of discrete values based on the computed probability; a combination generation unit configured to generate a plurality of combinations of the feature areas; a joint probability computation unit configured to compute, in accordance with each of the combinations, a joint probability with which the quantized feature quantities are simultaneously observed in each of the sample images, and generate tables storing the generated combinations, the quantized feature quantities, a plurality of values acquired by multiplying the computed joint probabilities by the initial weight, and information indicating whether each of the sample images is the object or the non-object; a first determination unit configured to determine, concerning each of the combinations with reference to the tables, whether a ratio of a value acquired by multiplying a joint probability indicating the object sample image by the initial weight to a value acquired by multiplying a joint probability indicating the non-object sample image by the initial weight is higher than a threshold value, to determine whether each of the sample images is the object; a selector configured to select, from the combinations, a combination which minimizes number of errors in determination results corresponding to the sample images; a second storage unit which stores the selected combination and one of the tables corresponding to the selected combination; and an update unit configured to update a weight of any one of the sample images to increase the weight when the sample images are subjected to a determination based on the selected combination, and a determination result concerning the any one of the sample images indicates an error,
wherein: the joint probability computation unit generates tables storing the generated combinations, a plurality of values acquired by multiplying the computed joint probabilities by the updated weight, and information indicating whether each of the sample images is the object or the non-object; the first determination unit performs a determination based on the values acquired by multiplying the computed joint probabilities by the updated weight; the selector selects, from a plurality of combinations determined based on the updated weight, a combination which minimizes number of errors in determination results corresponding to the sample images; and the second storage unit newly stores the combination selected by the selector, and one of the tables corresponding to the combination selected by the selector,
the object detection apparatus including: a second computation unit configured to compute an input feature value of each of the feature areas belonging to the combination in an input image; a quantization unit configured to quantize the computed input feature value into one of the discrete values in accordance with the input feature value to obtain quantized input feature value; a second determination unit configured to determine whether the input image includes the object, referring to the selected combination and the one of the tables; and a total determination unit configured to determine whether the input image includes the object, using a weighted sum acquired by imparting weights to a plurality of determination results acquired by the second determination unit concerning the plurality of combinations.
In accordance with a sixth aspect of the invention, there is provided an object detection method comprising: storing learned information learned previously with respect to a sample image extracted from an input image and including first information and second information, the first information indicating at least one combination of a given number of feature-area/feature-value groups selected from a plurality of feature-area/feature-value groups each including one of feature areas and one of quantized learned-feature quantities, the feature areas each having a plurality of pixel areas, and the quantized learned-feature quantities obtained by quantizing learned-feature quantities corresponding to feature quantities of the feature areas in the sample image, and the second information indicating whether the sample images is an object or a non-object; computing an input feature value of each of the feature areas belonging to the combination in the input image; quantizing the computed input feature value to obtain quantized input feature value; and determining whether the input image includes the object, using the quantized input feature value and the learned information.
In accordance with a seventh aspect of the invention, there is provided a learning method comprising: storing at least two sample images, one of the sample images being an object as a detection target and the other sample image being a non-object as a non-detection target; generating a plurality of feature areas each of which includes a plurality of pixel areas, the feature areas being not more than a maximum number of feature areas which are arranged in each of the sample images; computing, for each of the sample images, a feature value of each of the feature areas; computing a probability of occurrence of the feature value corresponding to each of the feature areas, depending upon whether each of the sample images is the object, and then quantizing the feature value into one of a plurality of discrete values based on the computed probability; generating a plurality of combinations of the feature areas; computing, in accordance with each of the combinations, a joint probability with which the quantized feature quantities are simultaneously observed in each of the sample images, and generating tables storing the generated combinations, the computed joint probabilities, and information indicating whether each of the sample images is the object or the non-object; determining, concerning each of the combinations with reference to the tables, whether a ratio of a joint probability indicating the object sample image to a joint probability indicating the non-object sample image is higher than a threshold value, to determine whether each of the sample images is the object; selecting, from the combinations, a combination which minimizes number of errors in determination results corresponding to the sample images; and storing the selected combination and one of the tables corresponding to the selected combination.
In accordance with an eighth aspect of the invention, there is provided a learning method comprising: storing at least two sample images, one of the sample images being an object as a detection target and the other sample image being a non-object as a non-detection target; imparting an initial weight to the stored sample images; generating a plurality of feature areas, each of which includes a plurality of pixel areas, the feature areas being not more than a maximum number of feature areas which are arranged in each of the sample images; computing, for each of the sample images, a weighted sum of differently weighted pixel areas included in each of the feature areas, or an absolute value of the weighted sum, the weighted sum or the absolute value being used as a feature value corresponding to each of the feature areas; computing a probability of occurrence of the feature value corresponding to each of the feature areas, depending upon whether each of the sample images is the object, and then quantizing the feature value into one of a plurality of discrete values based on the computed probability; generating a plurality of combinations of the feature areas; computing, in accordance with each of the combinations, a joint probability with which the quantized feature quantities are simultaneously observed in each of the sample images, and generating tables storing the generated combinations, the quantized feature quantities, a plurality of values acquired by multiplying the computed joint probabilities by the initial weight, and information indicating whether each of the sample images is the object or the non-object; determining, concerning each of the combinations with reference to the tables, whether a ratio of a value acquired by multiplying a joint probability indicating the object sample image by the initial weight to a value acquired by multiplying a joint probability indicating the non-object sample image by the initial weight is higher than a threshold value, to determine whether each of the sample images is the object; selecting, from the combinations, a combination which minimizes number of errors in determination results corresponding to the sample images; storing the selected combination and one of the tables corresponding to the selected combination; updating a weight of any one of the sample images to increase the weight when the sample images are subjected to a determination based on the selected combination, and a determination result concerning the any one of the sample images indicating an error; generating tables storing the generated combinations, a plurality of values acquired by multiplying the computed joint probabilities by the updated weight, and information indicating whether each of the sample images is the object or the non-object; performing a determination based on the values acquired by multiplying the computed joint probabilities by the updated weight; selecting, from a plurality of combinations determined based on the updated weight, a combination which minimizes number of errors in determination results corresponding to the sample images; and newly storing the selected combination and one of the tables corresponding to the selected combination.
In accordance with a ninth aspect of the invention, there is provided an object detection program stored in a computer-readable medium using a computer, the program comprising: means for instructing the computer to store learned information learned previously with respect to a sample image extracted from an input image and including first information and second information, the first information indicating at least one combination of a given number of feature-area/feature-value groups selected from a plurality of feature-area/feature-value groups each including one of feature areas and one of quantized learned-feature quantities, the feature areas each having a plurality of pixel areas, and the quantized learned-feature quantities obtained by quantizing learned-feature quantities corresponding to feature quantities of the feature areas in the sample image, and the second information indicating whether the sample images is an object or a non-object; computation means for instructing the computer to compute an input feature value of each of the feature areas belonging to the combination in the input image; means for instructing the computer to quantize the computed input feature value to obtain quantized input feature value; and determination means for instructing the computer to determine whether the input image includes the object, using the quantized input feature value and the learned information stored.
In accordance with a tenth aspect of the invention, there is provided a learning program stored in a computer-readable medium, the program comprising: means for instructing a computer to store at least two sample images, one of the sample images being an object as a detection target and the other sample image being a non-object as a non-detection target; means for instructing the computer to generate a plurality of feature areas each of which includes a plurality of pixel areas, the feature areas being not more than a maximum number of feature areas which are arranged in each of the sample images; means for instructing the computer to compute, for each of the sample images, a feature value of each of the feature areas; means for instructing the computer to compute a probability of occurrence of the feature value corresponding to each of the feature areas, depending upon whether each of the sample images is the object, and then to quantize the feature value into one of a plurality of discrete values based on the computed probability; means for instructing the computer to generate a plurality of combinations of the feature areas; means for instructing the computer to compute, in accordance with each of the combinations, a joint probability with which the quantized feature quantities are simultaneously observed in each of the sample images, and generate tables storing the generated combinations, the computed joint probabilities, and information indicating whether each of the sample images is the object or the non-object; means for instructing the computer to determine, concerning each of the combinations with reference to the tables, whether a ratio of a joint probability indicating the object sample image to a joint probability indicating the non-object sample image is higher than a threshold value, to determine whether each of the sample images is the object; means for instructing the computer to select, from the combinations, a combination which minimizes number of errors in determination results corresponding to the sample images; and means for instructing the computer to store the selected combination and one of the tables corresponding to the selected combination.
In accordance with an eleventh aspect of the invention, there is provided a learning program stored in a computer-readable medium, the program comprising: means for instructing a computer to store at least two sample images, one of the sample images being an object as a detection target and the other sample image being a non-object as a non-detection target; means for instructing the computer to impart an initial weight to the stored sample images; means for instructing the computer to generate a plurality of feature areas each of which includes a plurality of pixel areas, the feature areas being not more than a maximum number of feature areas which are arranged in each of the sample images; means for instructing the computer to compute, for each of the sample images, a weighted sum of differently weighted pixel areas included in each of the feature areas, or an absolute value of the weighted sum, the weighted sum or the absolute value being used as a feature value corresponding to each of the feature areas; means for instructing the computer to compute a probability of occurrence of the feature value corresponding to each of the feature areas, depending upon whether each of the sample images is the object, and then to quantize the feature value into one of a plurality of discrete values based on the computed probability; means for instructing the computer to generate a plurality of combinations of the feature areas; acquisition means for instructing the computer to compute, in accordance with each of the combinations, a joint probability with which the quantized feature quantities are simultaneously observed in each of the sample images, and generate tables storing the generated combinations, the quantized feature quantities, a plurality of values acquired by multiplying the computed joint probabilities by the initial weight, and information indicating whether each of the sample images is the object or the non-object; determination means for instructing the computer to determine, concerning each of the combinations with reference to the tables, whether a ratio of a value obtained by multiplying a joint probability indicating the object sample image by the initial weight to a value obtained by multiplying a joint probability indicating the non-object sample image by the initial weight is higher than a threshold value, to determine whether each of the sample images is the object; selection means for instructing the computer to select, from the combinations, a combination which minimizes number of errors in determination results corresponding to the sample images; storing means for instructing the computer to store the selected combination and one of the tables corresponding to the selected combination; and means for instructing the computer to update a weight of any one of the sample images to increase the weight when the sample images are subjected to a determination based on the selected combination, and a determination result concerning the any one of the sample images indicating an error,
wherein: the acquisition means instructs the computer to generate tables storing the generated combinations, a plurality of values obtained by multiplying the computed joint probabilities by the updated weight, and information indicating whether each of the sample images is the object or the non-object; the determination means instructs the computer to perform a determination based on the values obtained by multiplying the computed joint probabilities by the updated weight; the selection means instructs the computer to select, from a plurality of combinations determined based on the updated weight, a combination which minimizes number of errors in determination results corresponding to the sample images; and the storing means instructs the computer to newly store the selected combination, and one of the tables corresponding to the selected combination.
In accordance with a twelfth aspect of the invention, there is provided a learning apparatus comprising: a first storage unit configured to store at least two sample images, one of the sample images being an object as a detection target and the other sample image being a non object as a non-detection target; an imparting unit configured to impart an initial weight to the stored sample images; a feature generation unit configured to generate a plurality of feature areas each of which includes a plurality of pixel areas, the feature areas being not more than a maximum number of feature areas which are arranged in each of the sample images; a feature computation unit configured to compute, for each of the sample images, a weighted sum of differently weighted pixel areas included in each of the feature areas, or an absolute value of the weighted sum, the weighted sum or the absolute value being used as a feature value corresponding to each of the feature areas; a probability computation unit configured to compute a probability of occurrence of the feature value corresponding to each of the feature areas, depending upon whether each of the sample images is the object, and then to quantize the feature value into one of a plurality of discrete values based on the computed probability; a combination generation unit configured to generate a plurality of combinations of the feature areas; a learning-route generation unit configured to generate a plurality of learning routes corresponding to the combinations; a joint probability computation unit configured to compute, in accordance with each of the combinations, a joint probability with which the quantized feature quantities are simultaneously observed in each of the sample images, and generate tables storing the generated combinations, the quantized feature quantities, a plurality of values acquired by multiplying the computed joint probabilities by the initial weight, and information indicating whether each of the sample images is the object or the non-object; a determination unit configured to determine, concerning each of the combinations with reference to the tables, whether a ratio of a value acquired by multiplying a joint probability indicating the object sample image by the initial weight to a value acquired by multiplying a joint probability indicating the non-object sample image by the initial weight is higher than a threshold value, to determine whether each of the sample images is the object; a first selector configured to select, from the combinations, a combination which minimizes number of errors in determination results corresponding to the sample images; a second storage unit configured to store the selected combination and one of the tables corresponding to the selected combination; an update unit configured to update a weight of any one of the sample images to increase the weight when the sample images are subjected to a determination based on the selected combination, and a determination result concerning the any one of the sample images indicating an error, a second computation unit configured to compute a plurality of losses caused by the combinations corresponding to the learning routes; and a second selector configured to select one of the combinations which exhibits a minimum one of the losses,
wherein: the joint probability computation unit generates tables storing the generated combinations, a plurality of values acquired by multiplying the computed joint probabilities by the updated weight, and information indicating whether each of the sample images is the object or the non-object, the determination unit performs a determination based on the values acquired by multiplying the computed joint probability by the updated weight, the first selector selects, from a plurality of combinations determined based on the updated weight, a combination which minimizes number of errors in determination results corresponding to the sample images, and the second storage unit newly stores the combination selected by the first selector, and one of the tables corresponding to the combination selected by the first selector.
In accordance with a thirteenth aspect of the invention, there is provided a learning apparatus comprising: a first storage unit configured to store at least two sample images, one of the sample images being an object as a detection target and the other sample image being a non object as a non-detection target; an imparting unit configured to impart an initial weight to the stored sample images; a feature generation unit configured to generate a plurality of feature areas each of which includes a plurality of pixel areas, the feature areas being not more than a maximum number of feature areas which are arranged in each of the sample images; a first computation unit configured to compute, for each of the sample images, a weighted sum of differently weighted pixel areas included in each of the feature areas, or an absolute value of the weighted sum, the weighted sum or the absolute value being used as a feature value corresponding to each of the feature areas; a probability computation unit configured to compute a probability of occurrence of the feature value corresponding to each of the feature areas, depending upon whether each of the sample images is the object, and then to quantize the feature value into one of a plurality of discrete values based on the computed probability; a combination generation unit configured to generate a plurality of combinations of the feature areas; a joint probability computation unit configured to compute, in accordance with each of the combinations, a joint probability with which the quantized feature quantities are simultaneously observed in each of the sample images, and generate tables storing the generated combinations, the quantized feature quantities, a plurality of values acquired by multiplying the computed joint probabilities by the initial weight, and information indicating whether each of the sample images is the object or the non-object; a determination unit configured to determine, concerning each of the combinations with reference to the tables, whether a ratio of a value acquired by multiplying a joint probability indicating the object sample image by the initial weight to a value acquired by multiplying a joint probability indicating the non-object sample image by the initial weight is higher than a threshold value, to determine whether each of the sample images is the object; a second computation unit configured to compute a first loss caused by one of the combinations, which minimizes number of errors in determination results corresponding to the sample images; an update unit configured to update a weight of any one of the sample images to increase the weight when the sample images are subjected to a determination based on the selected combination, and a determination result concerning the any one of the sample images indicating an error; a third computation unit configured to compute a second loss of a new combination of feature areas acquired when the update unit updates the weight based on one of sub-combinations included in the generated combinations, which minimizes the number of errors in the determination results corresponding to the sample images, and when another feature area is added to the sub-combination, number of feature areas included in the sub-combinations being smaller by one than number of feature areas included in the generated combinations; a comparison unit configured to compare the first loss with the second loss, and select a combination which exhibits a smaller one of the first loss and the second loss; and a second storage unit configured to store the combination selected by the comparison unit and one of the tables which corresponds to the combination selected by the comparison unit,
wherein: the joint probability computation unit generates tables storing the generated combinations, a plurality of values acquired by multiplying the computed joint probabilities by the updated weight, and information indicating whether each of the sample images is the object or the non-object, the determination unit performs a determination based on the values acquired by multiplying the computed joint probability by the updated weight, the selector selects, from a plurality of combinations determined based on the updated weight, a combination which minimizes number of errors in determination results corresponding to the sample images, and the second storage unit newly stores the combination selected by the first selector, and one of the tables corresponding to the combination selected by the first selector.
Referring to the accompanying drawings, a detailed description will be given of an object detection apparatus, learning apparatus, object detection system, object detection method and object detection program according to an embodiment of the invention.
The embodiment has been developed in light of the above, and aims to provide an object detection apparatus, learning apparatus, object detection system, object detection method and object detection program, which can detect and enable detection of an object with a higher accuracy than in the prior art.
The object detection apparatus, learning apparatus, object detection system, object detection method and object detection program of the embodiment can detect an object and enable detection of an object with a higher accuracy than in the prior art.
(Object Detection Apparatus)
Referring first to
As shown, the object detection apparatus comprises a scan unit 101, pre-process unit 102, classifier 103 and post-process unit 104.
The scan unit 101 receives an image and scans it with a window (scan window) of a predetermined size. The scan unit 101 moves the scan window with a predetermined step width from the point of origin on the input image.
The pre-process unit 102 performs a pre-process, such as smoothing or brightness correction, on an image acquired by the scan unit 101 in units of windows, and removes, from the image, noise, the influence of variation in illumination, etc. Concerning the pre-process, two cases can be considered. Namely, the pre-process is performed on a portion of the image contained in each scan window, or on the entire image. In the latter case, the order of the scan unit 101 and pre-process unit 102 is changed to enable the pre-process to be performed before scanning.
Specifically, the pre-process unit 102 performs a pre-process for acquiring, for example, the logarithm of the brightness value of the image. If the difference value of the logarithm of a brightness value instead of the brightness value itself is regarded as a feature value, the feature value can be reliably acquired even from, for example, an image of an object photographed in a dark place using a dynamic range, which differs from a sample used for learning. The pre-process unit 102 may perform, as well as the above, histogram smoothing in each scan window, or a process for adjusting brightness values to a certain mean and variance. These processes are effective as pre-processes for absorbing variations in photography conditions or photography system. Further, note that if the input image is processed by another means and can be directly input to the classifier 103, the scan unit 101 and pre-process unit 102 are not necessary.
The classifier 103 performs a process for determining whether a partial image in a scan window is an object. Upon detecting an object, the classifier 103 stores data indicating the position of the object. The classifier 103 will be described later in detail with reference to FIGS. 2 to 6.
After that, the object detection apparatus repeats the scan and determination processes until the last portion of the image is processed. In general, a plurality of detection positions can be acquired for a single object, although the number of detection positions depends upon the step width of scanning.
When a plurality of detection positions are acquired for a single object, the post-process unit 104 incorporates the detection positions into one to determine a single detection position for the single object, and outputs the resultant position. Where a plurality of detection positions are acquired for a single object, these positions are close to each other, and hence can be incorporated into one. The post-process unit 104 performs the post-process using the method described in, for example, H. A. Rowley, S. Baluja and T. Kanade, “Neural network-based face detection”, IEEE Trans. on PAMI, Vol. 20, No. 1, pp. 23-38 (1998).
(Classifier 103)
Referring to
The classifier 103 comprises a plurality of feature value computation sections 201, a plurality of quantization sections 202 and a classification section 203. Assume here that parameters, such as a group of pixel areas or threshold values used during detection by the object detection apparatus of the embodiment, are beforehand acquired by a learning apparatus that will be described later with reference to FIGS. 9 to 13.
Each feature value computation section 201 computes the weighted sum of pixel values for a combination of corresponding pixel areas.
Each quantization section 202 quantizes, into one of a plurality of discrete values, the weighted sum supplied from the corresponding feature value computation section 201 connected thereto.
The classification section 203 receives the output values of the quantization sections 202, determines from the combination of the output values whether the input image is a detection target, and outputs a determination result. The classification section 203 outputs two discrete values as output values. Specifically, when the input image is a detection target, a value of, for example, +1 is output, whereas when it is not a detection target, a value of, for example, −1 is output. Alternatively, the classification section 203 may output continuous values. For instance, the higher the possibility of the input image being regarded as a detection target, the closer to +1 (e.g., 0.8 or 0.9) the output, whereas the lower the probability, the closer to −1 the output.
<Feature Value Computation Sections 201>
Referring to
Each feature value computation section 201 computes the sum of the pixel values of each pixel area, and then computes a weighted sum D by multiplying each sum by a weight preset for each pixel area, and summing up the multiplication results. The weighted sum D is given by
where n is the number of pixel areas, wi is a weight set for each pixel area, and Ii is the sum of the pixel values of each pixel area. For instance, assuming that pixel areas are formed of white and black areas as shown in
D=wW·IW+wB·IB (2)
where wW and wB are weights imparted to white and black pixel areas, respectively, IW and IB are the sums of the pixel values of the white and black pixel areas, respectively. In particular, assuming that the numbers of the pixels of the white and black pixel areas are represented by AW and AB, respectively, the weights are defined by
At this time, the weighted sum D is the difference value of the average brightness of each pixel area. The weighted sum D varies depending upon the arrangement, size and/or configuration of each pixel area, and serves as a feature value that represents the feature of each pixel area. Hereinafter, the weighted sum D will be referred to as a “feature value”, and each combination of pixel areas will be referred to simply as a “feature” (or “feature area”). Further, in the description below, a case will be given where the difference value of the average brightness of each pixel area is used as a “feature value”. Note that the absolute value of the average brightness of each pixel area or the difference value of the logarithm of the average brightness of each pixel area may be used as a “feature value” instead of the difference value of the average brightness of each pixel area. Further, note that each pixel area can be formed of a single pixel at minimum, but in this case, each pixel area is easily influenced by noise. To avoid this, it is desirable to acquire the average brightness of a greater number of pixels.
Referring to
If the configurations of features are limited to rectangles as described above, the number of computations performed for acquiring the sum of pixel values can be reduced, utilizing “Integral Image” disclosed in the above-mentioned document by Paul Viola and Michael Jones, compared to the case of using pixel areas of arbitrary configurations. Further, if a combination of adjacent pixel areas is used as a feature, the increase/decrease inclination of the brightness of a local area can be estimated. For instance, when an object is detected in an image acquired by photography outside during the day, great variation in brightness may well occur at the surface of the object because of the influence of lighting. However, if attention is paid to only the increase/decrease inclination of the brightness of a local area, it is understood that the local area is relatively free from the influence of an absolute brightness change by lighting. A description will now be given of the case where a combination of adjacent rectangular areas is used as a feature in light of the advantages that this feature requires a small number of computations and is strong against variation in lighting condition.
Specifically, referring to
Reference numeral 501 denotes an image of a face as a detection target, which is photographed in front. Since faces photographed in front are substantially symmetrical, if two combinations of rectangular areas are arranged at and around both eyes as shown in a face sample 502, a correlation exists between the two combinations in the direction of a brightness inclination and the degree of brightness. The object detection apparatus of the embodiment utilizes such a correlation between features to enhance the accuracy of classification for classifying a detection target. Even if a detection target cannot be classified by a single feature, it can be classified using a plurality of features unique thereto.
Reference numeral 503 denotes a face sample in which a combination of three areas is arranged to cover both eyes, and a combination of two areas is arranged on the mouth. In general, the portion between the eyebrows is brighter than the eyes, and the mouth is darker than its periphery. Using the two combinations of rectangular areas, it can be estimated whether such face features are simultaneously included. Reference numerals 504 and 505 denote face samples in which three combinations of rectangular areas are arranged. If the number of combinations of rectangular areas and/or the types of combinations of rectangular areas is appropriately selected, combinations of features included only in a detection target can be detected, which enhances the accuracy of classification for classifying the detection object from the non-objects (e.g., background).
<Quantization Section 202>
Each quantization section 202 quantizes the feature value computed by a learning apparatus using preset features. For instance, the difference value (feature value) of the average brightness of rectangular areas acquired by equations 3 is a continuous value. Each quantization section 202 quantizes it into one of a plurality of discrete values. The threshold value or threshold values, based on which the discrete values for quantization are set, are predetermined by learning. For instance, when two discrete values are used as quantization values, the output of each quantization section 202 is, for example, 0 or 1.
<Classification Section 203>
The classification section 203 receives the feature quantities acquired by quantization by the quantization sections 202, and determines from their combination whether the input image is a detection object. Specifically, firstly, the probability (joint probability) of simultaneously observing values output from all quantization sections 202 is determined referring to probability tables acquired by learning. These tables are prepared by the learning apparatus for respective classes of objects (detection targets) and non-objects. The classification section 203 refers to two probability values. Subsequently, the classification section 203 compares the two values for the determination (classification), using the following expression. The probability is called likelihood.
where ht(x) is a classifying function for acquiring a classification result concerning an image x. Further, P(v1, . . . , vF|object) and P(v1, . . . , vF|non-object) are the likelihood of an object and that of a non-object acquired referring to the probability tables, respectively. vf (1≦f≦F, f is an integer) is the quantization value of a feature value computed from the output of the fth quantization section 202, i.e., the fth feature. λ is a threshold value preset by the learning apparatus for classification.
The classification section 203 outputs a label of +1, which indicates that the input image is a detection target, or a label of −1, which indicates that the input image is not a detection target. Further, the classification section 203 may output the ratio between probability values, i.e., (likelihood ratio), or the logarithm of the likelihood ratio. The logarithm of the likelihood ratio is a positive value if the input image is a detection target, and is a negative value if the input image is not a detection target.
The size of the probability tables to refer to is determined based on the number of features used, and the number of quantization stages (discrete values) prepared for each feature value. For example, in the classification section 203 using three features, if the feature value acquired from each feature is quantized into one of the two discrete values, the number of combinations of the values output from the quantization sections is 8 (=2×2×2). In general, in the case of F combinations of features in total, assuming that the feature value acquired from the fth feature is quantized into one of Lf discrete values, the number of combinations of the values output from the quantization sections is given by
In the above, the method of storing probability values in two tables and comparing them has been described. Alternatively, only comparison results may be stored in a single table, and this table be referred to. As the comparison results, class labels, such as +1 and −1, likelihood ratios as mentioned above, or the logarithms of the likelihood ratios may be used. It is more advantageous to store only comparison results in a table than to refer to probability values and perform comparison, since the required computation cost is smaller in the former than in the latter.
As described above, the object detection apparatus of the embodiment performs classification by using a plurality of combinations of pixel areas, and estimating a correlation between the feature quantities acquired from the combinations.
<<A Plurality of Classifiers>>
The above-described classifier 103 shown in
A uniting section 604 unites the outputs of the classification sections into a final classification result, and outputs it. For uniting, there is a method for acquiring H(x), given by the following equation, as the weighted majority decision of ht(x) values as the outputs of T classifiers:
where αt is a weight imparted to each classifier and preset by the learning apparatus. The uniting section 604 compares H(x) with a preset threshold value to finally determine whether the input image is a detection target. In general, “0” is used as the threshold value. Namely, the uniting section 604 estimates whether H(x) is a positive or negative value.
Referring then to
The scan unit 101 scans the input image with a scan window 702 beginning with the origin of the input image, thereby acquiring a partial image at each position and inputting it to the pre-process unit 102 and classifier 103. The classifier 103 repeats classification processing.
The scan unit 101 repeats the above-described scan, with the size of the scan window varied as indicated by reference numerals 703 and 704. If the face has substantially the same size as the scan window, it is determined that the partial image input at the position of the face corresponds to the face. If the partial image is acquired at any other position or the scan window does not have an appropriate size, it is determined that the partial image does not correspond to the face. The object apparatus may actually employ a method for performing classification by changing the size of rectangular areas used for feature extraction, together with the change of the scan window size, instead of extracting partial images. This method can omit the process of extracting partial images and copying them in a memory area secured to this end, thereby reducing the number of computations.
Instead of the method of changing the scan window, a method of changing the size of the input image may be employed. Referring to
In the case of
(Learning Apparatus)
Referring to
The learning apparatus comprises an image storage unit 901, feature generation unit 902, feature value computation unit 903, quantization unit 904, combination search unit 905, table computation unit 906, classifier selector 907 and storage unit 908.
The image storage unit 901 stores a large number of image samples of two classes, i.e., object images as detection targets and non-object images. Assume that the sample images have the same size, and in particular, concerning the image samples as object images, the position and size of an object in each sample image are normalized. A face image, for example, is normalized based on the positions of, for example, eyes, nose, etc. However, it is not always necessary for the image storage unit 901 to store normalized images. Alternatively, normalization means for normalizing the position and/or size of an object may be employed in addition to the image storage unit 901, and the images accumulated by the unit 901 be normalized by this means when learning is started. In this case, information, for example, concerning the position of a point referred to when the position and/or size of an object is normalized is required, therefore the image storage unit 901 is necessary to pre-store such information in relation to each sample image. In the description below, it is assumed that normalized images are accumulated.
In accordance with an image size (e.g., 20×20 pixels) stored in the image storage unit 901, the feature generation unit 902 generates all features (such image-area combinations as shown in
The feature value computation unit 903 acquires a feature value (e.g., the weighted sum of pixel values) corresponding to each feature generated by the feature generation unit 902. As the feature value, the difference value of the average brightness of each pixel area or the absolute value of the difference value can be used. The feature value computation unit 903 determines, for example, a threshold value (or threshold values) for quantization of all sample images after computing feature quantities for all sample images, which correspond to each feature.
Based on the threshold value(s) determined by the feature value computation unit 903, the quantization unit 904 quantizes, into one of discrete values, each of the feature quantities acquired by the feature value computation unit 903. The quantization unit 904 performs the same quantization on the feature quantities corresponding to another feature generated by the feature generation unit 902. After repeating this, the quantization unit 904 acquires quantized values related to the feature quantities and corresponding to a plurality of features.
The combination search unit 905 generates combinations of the features. The quantization unit 904 acquires the probability of occurrence of a feature value in units of feature areas, depending upon whether each sample image is the object, and determines, based on the acquired probability, how many discrete values the computed feature value should be quantized into.
The table computation unit 906 computes the probability with which the quantized feature quantities corresponding to each combination generated by the combination search unit 905 can be simultaneously observed, and then computes two probability tables used for classification, one for the object and the other for the non-object.
After repeating the above-described processes concerning various features of different positions and sizes and on all possible combinations of the features, the classifier selector 907 selects an optimal feature or an optimal combination of features. For facilitating the description, this selection may be paraphrased such that the classifier selector 907 selects an optimal classifier.
The storage unit 908 stores the optimal feature or optimal combination of features, and probability tables acquired therefrom. The object detection apparatus refers to these tables.
The operation of the learning apparatus of
The basic process of the learning apparatus is to compute feature quantities from all sample images in units of features that can be arranged in each sample image, and in units of combinations of the features, and to store an optimal feature for determining whether each sample image is a detection target, and probability tables corresponding thereto. The important point, which differs from the conventional method, lies in that information concerning a correlation between the features existing in object is extracted from the combinations of features, and used for classification. Concerning all features that can be arranged in an image, if all possible pixel areas of arbitrary configurations and arrangements are generated to search for all feature quantities, the number of computations becomes enormous and hence this is impractical. In light of this, the number of searches is reduced using, for example, combinations of rectangular areas as shown in
Firstly, the feature generation unit 902 generates a feature, and it is determined whether all features are generated (step S1001). If all features are not yet generated, the program proceeds to step S1002, whereas if all features are already generated, the program proceeds to step S1006. At step S1002, the feature generation unit 902 generates another feature. At this time, if the position of a rectangular area is shifted in units of pixels, and the size of the rectangular area is increased in units of pixels, the entire image can be scanned. Concerning the various features as shown in
Subsequently, the feature computation unit 903 refers to all images, and determines whether respective feature quantities are computed for all images (step S1003). If the feature quantities are already computed for all images, the program proceeds to step S1005, whereas if they are not yet computed for all images, the program proceeds to step S1004. At step S1004, the feature computation unit 903 computes the feature quantities of all sample images.
At step S1005, the quantization unit 904 performs quantization. Before quantization, the feature computation unit 903 acquires the respective probability density distributions of feature quantities for the object and the non-object.
After computing the feature quantities of all sample images concerning all features, and performing quantization on them, the program proceeds to step S1006. At step S1006, it is determined whether the combination search unit 905 has searched for all combinations of features. If all combinations of features are not yet searched for, the program proceeds to step S1007, whereas if all combinations of features are already searched for, the program proceeds to step S1009. At step S1007, the combination search unit 905 generates another combination of features. The combination search unit 905 generates such combinations of features as shown in
where a is the number of object sample images, and v1(i) is a value acquired from the ith sample image for the first feature. Further, v2(i) is a value acquired from the ith sample image for the second feature, and δ(y) is a function that assumes a value of 1 when y=0. Similarly, the table computation unit 906 computes P(v1, v2|non-object) from a non-object image sample, using the following equation:
where b is the number of non-object sample images. Assuming that, more in general, F combinations of features are used, the table computation unit 906 can compute the probabilities P(v1, . . . , vF|object) and P(v1, . . . , vF|non-object) using the following equations 9 and 10 that correspond to equations 7 and 8, respectively:
These are probabilities (likelihood values) with which v1, . . . , vF are simultaneously observed in the F combinations of features. A number of probabilities (likelihood values) given by equation 5 can be acquired. The table computation unit 906 computes these probabilities and stores them in the form of a probability table (step S1008). The classifier selector 907 checks a classifier using the probability table and equation 4, and makes the classifier to classify all learning samples and to count the number of classification errors. As a result, it can be determined whether each combination of features is appropriate. At step S1009, the classifier selector 907 selects a classifier in which the number of classification errors is minimum (i.e., the error rate is minimum). In other words, the selector 907 selects an optimal combination of features. The storage unit 908 stores a classifier in which the number of classification errors is minimum, thereby finishing the learning process (step S1010). In the above, for selection of a classifier, the minimum error rate is used as a criterion. Alternatively, estimation values, such as Bhattacharyya bound or a Kullback-Leibler divergence, may be utilized.
A description will be given of several combination methods that can be used at step S1007. The first one is a method of generating all possible combinations. If all possible combinations are checked, an optimal classifier (i.e., optimal combination of features) can be selected. However, in the case of checking all possible combinations, the number of combinations becomes enormous, therefore enormous amounts of time are required for learning.
The second one is a method of combining sequential forward selection (SFS) and sequential backward selection (SBS). In this method, firstly, an optimal one is selected from classifiers that use only one feature, then a classifier is generated by adding another feature to the selected feature, and this classifier is selected if it has a lower error rate than the selected classifier.
The third one is a “plus-l-minus-r” method. In this method, l features are added and the error rate is estimated. If the error rate is not reduced, r features are subtracted to re-estimate the error rate. In the second and third methods, the possibility of detecting an optimal classifier is lower than in the first method, but the number of searches can be reduced compared to the first method.
<<Learning Apparatus (Corresponding to a Plurality of Classifiers)>>
Referring now to
The learning apparatus of
The sample-weight initialization unit 1301 imparts weights to sample images accumulated in the image storage unit 901. For example, the sample-weight initialization unit 1301 imparts an equal weight as an initial value to all sample images.
The quantization unit 1302 generates a probability density distribution of feature quantities used for computing threshold values for quantization, acquires threshold values based on the probability density distribution, and quantizes each feature value generated by the feature value computation unit 903 into one of discrete values.
The sample-weight updating unit 1303 updates the weight to change the sample image set. Specifically, the sample-weight updating unit 1303 imparts a large weight to a sample image that could not be correctly classified by the classifier, and a small weight to a sample image that could be correctly classified.
The table computation unit 1304 performs computation of a probability table to compute probabilities. The table computation unit 1304 differs form the table computation unit 906 in that the former performs computation based on a weight Dt(i), described later, instead of the number of sample images on which the latter performs computation.
The learning apparatus of
Referring to the flowchart of
Firstly, the sample-weight initialization unit 1301 imparts an equal weight to all sample images stored in the image storage unit 901 (step S1401). Assuming that the weight imparted to the ith sample image is D0(i), it is given by
where N is the number of sample images, and N=a+b (the number a of object sample images and the number b of non-object sample images). Subsequently, the feature generation unit 902 sets t to 0 (t=0) (step S1402), and it is determined whether t is smaller than a preset T (step S1403). T corresponds to the number of repetitions of steps S1001 to S1004, step S1404, step S1006, step S1007, step S1405, step S1009, step S1010, step S1406 and step S1407, which are described later. Further, T corresponds to the number of classifiers 601, 602, . . . connected to the uniting section 604 in
After that, steps S1001 to S1004 are executed. At step S1401, the quantization unit 1302 generates a probability density distribution of feature quantities for computing a threshold value (threshold values) for quantization. After that, steps S1006 and S1007 are executed. At step S1405, the table computation unit 1304 computes a probability table, i.e., probabilities. At step S1008, probability computation is performed based on the number of samples, whereas at step S1405, it is performed based on the weight Dt(i). For instance, the table computation unit 1304 computes the joint probability of simultaneously observing quantized feature quantities, and acquires a value by multiplying the joint probability by the weight Dt(i). The classifier selector 907 selects ht(xi) the tth classifier (step S1009), the storage unit 908 stores it (step S1010), and the sample-weight updating unit 1303 updates the weight of each sample as indicated by the following equation:
where xi and yi are the ith sample image and its label (indicating whether the sample image is a detection target), and αt is a value given by the following equation using the error rate εt of ht(x)
Using equation 12, the sample-weight updating unit 1303 imparts a large weight to the sample that could not correctly be classified by ht(x), and a small weight to the sample that could correctly be classified by ht(x). Namely, the next classifier ht+1(x) exhibits a high classification performance to samples to which the previous classifier exhibits a low classification performance. As a result, a high accuracy classifier as a whole can be acquired. Zt in equation 12 is given by
The classifier finally acquired by the learning apparatus of
Instead of AdaBoost, another type of boosting can be employed. For instance, there is a scheme called Real AdaBoost (see R. E. Schapire and Y. Singer, “Improved Boosting Algorithms Using Confidence-rated Predictions”, Machine Learning, 37, pp. 297-336, 1999). In this scheme, the classifier ht(x) given by the following equation is used:
where Wjobject and Wjnon-object are the jth elements of the object-class and non-object-class probability tables, respectively, j indicating the index number of a table corresponding to a feature combination v1, . . . , vF acquired from an input image x. Further, e is a smoothing term of a small positive number used to deal with the case where Wjobject and/or Wjnon-object is 0. In AdaBoost, the classifier ht(x) that minimizes the error rate εt, while in Real AdaBoost, the classifier that minimizes Zt included in the following equation is selected:
In this case, the sample-weight updating unit 1303 updates the weight of each sample at step S1405 based on the following equation:
The equation for update does not contain αt, which differs from update equation 12 for AdaBoost. This is because in Real AdaBoost, each classifier outputs a continuous value shown in equation 14, instead of a class label. The classifier selector 907 selects the finally acquired classifier, using the following equation:
The classifier selector 907 compares H(x) with a threshold value (usually, 0). If H(x) is larger than the threshold value, it is determined that the sample image is an object, while if H(x) is smaller than the threshold value, the sample image is determined to be a non-object. Concerning non-detection and excessive detection, they can be dealt with by threshold-value adjustment as in AdaBoost.
(Modification of the Learning Apparatus)
Referring to FIGS. 15 to 19, a modification of the learning apparatus will be described.
The classifiers 1504 and 1506 are required to determine how many features should be combined. In a simple way, it is sufficient if a preset upper limit value is set for the number of features to be combined. The upper limit value is set based on, for example, the processing speed of the learning apparatus or the accuracy required for the object detection apparatus. In this case, all classifiers use the same number of features. However, there is a case where higher classification performance can be acquired if the classifiers use different numbers of features. Methods for dealing with such a case will now be described.
<First Method>
A first method for determining the number of features used by each classifier will firstly be described. Sample images independent of the sample images used for learning are newly needed. These are called verification samples. The verification samples include images of objects and non-objects, like the learning samples. The number of verification samples may not always be equal to that of learning samples. In general, part of the samples prepared for learning are used as verification samples, and learning is performed using the remaining samples. In parallel with the process of incrementing the number of features, classification is performed on N′ verification samples (xi′, yi′), thereby measuring the loss. The one of the numbers, not more than the upper limit value, of to-be-combined features, which minimizes the loss is selected. Alternatively, addition of a feature may be stopped when the loss is increased. xi′ and yi′ of the verification samples indicate the ith sample image and the class level (e.g., +1 indicates an object, and −1 indicates a non-object), respectively. As the loss, classification error rate εT′ acquired from the following equation (19) can be used:
The rate can be acquired by counting the number of verification samples erroneously classified. If a and b are assumed to be preset constants, I(x)=a (x is true), and I(x)=b (x is false). Further, HT′(x) is the classifier acquired until t=T′, and given by
The above is the case of AdaBoost. In the case of Real AdaBoost, the classifier can be easily derived from equation (18). Further, loss other than the classification error rate can be utilized. For instance, the exponential loss expressed by the following equation (21) can be utilized:
<Second Method>
Referring then to
Referring to
<Third Method>
The above-described method is generalized into a third method for determining the number of features combined. In the above-described method, each weak classifier is determined by considering two learning routes to the next weak classifier. However, the loss that may occur when the further next classifier is added is not considered. To acquire optimal classification accuracy, it is necessary to search all learning routes for a route of the minimum loss. A description will now be given of a learning apparatus using optimal classifiers selected by the search of all learning routes, and a learning method employed in the apparatus.
Firstly, the configuration of the learning apparatus will be described with reference to
Referring to the flowchart of
Since as described above, learning is performed while selecting routes that yield smaller losses, classifiers that can realize high classification accuracy using a smaller number of features (i.e., a lower computation cost) can be acquired.
As described above, in the embodiment, the object detection apparatus can perform, with a higher accuracy than in the prior art, a determination as to whether a detection image contains an object, from feature quantities computed by applying combinations of feature areas to the detection image, based on combinations of feature areas, quantized feature quantities corresponding to the combinations, joint probability, and information as to whether each sample image is an object, which are beforehand acquired by the learning apparatus. In other words, the embodiment provides the same detection accuracy as in the prior art, with a smaller number of computations.
The flow charts of the embodiments illustrate methods and systems according to the embodiments of the invention. It will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by computer program instructions. These computer program instructions may be loaded onto a computer or other programmable apparatus to produce a machine, such that the instructions which execute on the computer or other programmable apparatus create means for implementing the functions specified in the flowchart block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable apparatus to function in a particular manner, such that the instruction stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart block of blocks. The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2005-054780 | Feb 2005 | JP | national |
2005-361921 | Dec 2005 | JP | national |