Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Boosting (machine learning)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Object categorization in computer vision== {{Main|Object categorization from image search}} Given images containing various known objects in the world, a classifier can be learned from them to automatically [[Statistical classification|classify]] the objects in future images. Simple classifiers built based on some [[Feature (computer vision)|image feature]] of the object tend to be weak in categorization performance. Using boosting methods for object categorization is a way to unify the weak classifiers in a special way to boost the overall ability of categorization.{{Citation needed|date=January 2024}} ===Problem of object categorization=== [[Object categorization from image search|Object categorization]] is a typical task of [[computer vision]] that involves determining whether or not an image contains some specific category of object. The idea is closely related with recognition, identification, and detection. Appearance based object categorization typically contains [[feature extraction]], [[learning#3|learning]] a [[Classifier (mathematics)|classifier]], and applying the classifier to new examples. There are many ways to represent a category of objects, e.g. from [[Shape analysis (digital geometry)|shape analysis]], [[bag of words model]]s, or local descriptors such as [[Scale-invariant feature transform|SIFT]], etc. Examples of [[supervised learning|supervised classifiers]] are [[Naive Bayes classifier]]s, [[support vector machine]]s, [[mixtures of Gaussians]], and [[Artificial neural network|neural networks]]. However, research{{Which|date=October 2018}} has shown that object categories and their locations in images can be discovered in an [[Unsupervised learning|unsupervised manner]] as well.<ref>Sivic, Russell, Efros, Freeman & Zisserman, "Discovering objects and their location in images", ICCV 2005</ref> ===Status quo for object categorization=== The recognition of object categories in images is a challenging problem in [[computer vision]], especially when the number of categories is large. This is due to high intra class variability and the need for generalization across variations of objects within the same category. Objects within one category may look quite different. Even the same object may appear unalike under different viewpoint, [[Scaling (geometry)|scale]], and [[Illumination (image)|illumination]]. Background clutter and partial occlusion add difficulties to recognition as well.<ref>A. Opelt, A. Pinz, et al., "Generic Object Recognition with Boosting", IEEE Transactions on PAMI 2006</ref> Humans are able to recognize thousands of object types, whereas most of the existing [[object recognition]] systems are trained to recognize only a few,{{How many|date=October 2018}} e.g. [[Face|human faces]], [[car]]s, simple objects, etc.<ref>M. Marszalek, "Semantic Hierarchies for Visual Object Recognition", 2007</ref>{{Update inline|date=October 2018|reason=The source is from 2007 and computer vision is a lot more advanced now|?=yes}} Research has been very active on dealing with more categories and enabling incremental additions of new categories, and although the general problem remains unsolved, several multi-category objects detectors (for up to hundreds or thousands of categories<ref>{{Cite web|url=http://image-net.org/challenges/LSVRC/2017/|title=Large Scale Visual Recognition Challenge|date=December 2017}}</ref>) have been developed. One means is by [[Feature (computer vision)|feature]] sharing and boosting. ===Boosting for binary categorization=== AdaBoost can be used for face detection as an example of [[binary categorization]]. The two categories are faces versus background. The general algorithm is as follows: #Form a large set of simple features #Initialize weights for training images #For T rounds ##Normalize the weights ##For available features from the set, train a classifier using a single feature and evaluate the training error ##Choose the classifier with the lowest error ##Update the weights of the training images: increase if classified wrongly by this classifier, decrease if correctly #Form the final strong classifier as the linear combination of the T classifiers (coefficient larger if training error is small) After boosting, a classifier constructed from 200 features could yield a 95% detection rate under a <math>10^{-5}</math> [[Type I and type II errors|false positive rate]].<ref>P. Viola, M. Jones, "Robust Real-time Object Detection", 2001</ref> Another application of boosting for binary categorization is a system that detects pedestrians using [[patterns]] of motion and appearance.<ref>{{cite conference|first1=P.|last1=Viola|first2=M.|last2=Jones|first3=D.|last3=Snow|title=Detecting Pedestrians Using Patterns of Motion and Appearance|conference=ICCV|year=2003|url=http://www.merl.com/publications/docs/TR2003-90.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.merl.com/publications/docs/TR2003-90.pdf |archive-date=2022-10-09 |url-status=live}}</ref> This work is the first to combine both motion information and appearance information as features to detect a walking person. It takes a similar approach to the [[Viola–Jones object detection framework|Viola-Jones object detection framework]]. ===Boosting for multi-class categorization=== Compared with binary categorization, [[multi-class categorization]] looks for common features that can be shared across the categories at the same time. They turn to be more generic [[Edge detection|edge]] like features. During learning, the detectors for each category can be trained jointly. Compared with training separately, it [[Generalization|generalizes]] better, needs less training data, and requires fewer features to achieve the same performance. The main flow of the algorithm is similar to the binary case. What is different is that a measure of the joint training error shall be defined in advance. During each iteration the algorithm chooses a classifier of a single feature (features that can be shared by more categories shall be encouraged). This can be done via converting [[multi-class classification]] into a binary one (a set of categories versus the rest),<ref>A. Torralba, K. P. Murphy, et al., "Sharing visual features for multiclass and multiview object detection", IEEE Transactions on PAMI 2006</ref> or by introducing a penalty error from the categories that do not have the feature of the classifier.<ref>A. Opelt, et al., "Incremental learning of object detectors using a visual shape alphabet", CVPR 2006</ref> In the paper "Sharing visual features for multiclass and multiview object detection", A. Torralba et al. used [[GentleBoost]] for boosting and showed that when training data is limited, learning via sharing features does a much better job than no sharing, given same boosting rounds. Also, for a given performance level, the total number of features required (and therefore the run time cost of the classifier) for the feature sharing detectors, is observed to scale approximately [[logarithm]]ically with the number of class, i.e., slower than [[linear]] growth in the non-sharing case. Similar results are shown in the paper "Incremental learning of object detectors using a visual shape alphabet", yet the authors used [[AdaBoost]] for boosting.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)