Object Detection Basic 1
In computer vision area, object detection is the first step before we can do the object recognization. In this article, I will try to summarize my first knowledge about object detection techniques.
State-of-the-art
The cascade is the most successful detection technique first appeared in 2001. The idea is quite simple. The raw pixel is not used as the features, but instead cascade is building some features based on the rectange area. Physically, it defines the feature as the first two order of gradients. The feature dimension can be very large. They applied AdaBoost to reduce the feature dimension. After that, they apply the cascade algorithm to speed up the detection procedure.
Histogram of oriented gradient
In HOG, they have designed a new feature sets, which is based on the histogram of oriented gradient. Then apply the SVM to train the data.
DPM
DPM is the most recent one. There are many details inside. The basic idea is to encode the object information in two levels of hierarchy. The root filter is a coarse feature map. The part model is twice the spatial resolution relative to the features captured by the root.
Basic model
where is the concatenation of the root filter, the part filters and deformation cost weights. is the specification of the object, and and . Here we denote the model using the tuple where is the root filter, and each model is defined by 3-tuple , is the filter for the -th part, is anchor position, and is a 4-dimensional coefficients of the quadratic function defining the deformation cost model. So the objective function is
wphere p
is the displacement of the -th part relative to its anchor position and
are deformation features.
Matching
To detect the objects in the image, we compute the score for each root location according to best placement of parts,
Distance transforms (dynamic programming) can be used to compute the score efficiently. The computational procedure can be briefed as
Latent SVM
The model can be trained using SVM, which is
We should not that the object function is not convex. However it’s semi-convex since it’s convex for negative examples.
If there is a single possible latent value for each positive example, then is linear for a positive example and the loss due to each positive is convex, then the loss function is convex.
Optimization
Let specify a latent value for each positive example, we define ,
Algorithms
- relabel positive examples: Optimizae over by
- Optimize beta: Optimize .
Data-mining hard examples
There are enormous amounts of negative examples in the database. Hard-example can be used to speed up the training. The idea is that we can reduce the negative examples to hard example, but keep the optimal solution unchanged.