# A Cascaded Ensemble of Sparse-and-Dense Dictionaries for Vehicle Detection
## 5 Experiments
### CESDD Classification  
Experiments on classification are conducted over image patch samples obtained from KITTI2017. Vehicle samples, including car type and van type, could be cropped out according to corresponding label information; each vehicle sample is cropped using a window with one of the two pre-set aspect ratios for detection. Background samples, except for VP, are obtained using both two aspect ratios, by randomly sampling in non-vehicle areas. To obtain VP, cropping windows are sampled around vehicle area, partially overlapping with the vehicles with proper extents. In total, we collected 21,556 training samples and 11,710 test samples for CESDD classification evaluation. We evaluate classification performance with four criteria: accuracy for vehicle category (veh acc), recall rate for vehicle category (veh recall), accuracy for background category (bkg acc), recall rate for background category (bkg recall). These criteria are calculated as:  
\[\text{veh acc} =\frac{N_{\text{tp}}}{N_{\text{tp}}+N_{\text{fp}}} \text{veh recall} =\frac{N_{\text{tp}}}{N_{\text{veh}}}\] \[\text{bkg acc} =\frac{N_{\text{tn}}}{N_{\text{m}}+N_{\text{fn}}} \text{bkg recall} =\frac{N_{\text{tn}}}{N_{\text{bkg}}}\]  
where \(N_{\text{tp}}\), \(N_{\text{fp}}\), \(N_{\text{tn}}\), \(N_{\text{fn}}\) denote the number of true positives, false positives, true negatives and false negatives in classifier predictions, and \(N_{\text{veh}}\), \(N_{\text{bkg}}\) denote the number of vehicle and background samples in the test set. Here, we regard classification to vehicle category as \"positive\" and classification to background category as \"negative\", and \"true\" indicates the classification is correct and \"false\" indicates incorrect.  
Firstly, classification performances of two types of subcategory divisions are evaluated, as is presented in Figure 5(a). Clearly, the scheme of an SDD ensemble constituted with multiple subcategories per category works better in classification, showing that the multi-subcategory scheme indeed gives better representation to the various vehicle appearances and background patterns.  
The effect of organizing SDD ensemble into cascade is evaluated also. The classification performances with and without cascade are shown in Figure 5(b). The test samples here include LO vehicles, thus is more difficult to discriminate. The application of cascade gives similar performance, but with decreased time cost.  
Experiments have also been conducted to examine the effect of downstream AdaBoost. The classification performances with and without downstream AdaBoost are shown in Figure 5(c). It could be seen that the downstream AdaBoost process improved classification accuracy of vehicle category greatly, which is very important to the robustness of vehicle detection.  
The classification performances of several choices of features are evaluated, as shown in Figure 5(d). Feature selection's effect on classification performance is also evaluated, as shown in Figure 5(e); it could be observed that the linear-SVM-based feature selection reduced dimensionality significantly while retaining almost the same classification performance as the original high-dimensional features.  
The CESDD classifier is compared with other classifiers which are strong counterparts and based on different methodologies. Comparison results with random forest [30], gradient boosted trees (gbtrees) [31], discrete AdaBoost (boost) [32], linear-SVM, and RBF-SVM [33] are presented in Figure 5(f). It could be seen that the CESDD classifier gives better performance than most counterparts and attains similar performance with the RBFSVM whose hyperparameters are heavily optimized during our experiment, using the same training and testing sample set. We also measured the training time of the counterpart approaches and our CESDD approach, as shown in Table 2. It could be observed that the training of CESDD is efficient, similar with the decision-tree-based counterparts (gradient boosted trees, discrete AdaBoost) and much faster than the SVMs.