opencv
Version:
Node Bindings to OpenCV
1,504 lines (1,495 loc) • 1.38 MB
text/xml
<?xml version="1.0"?>
<!--
18x12 Right eye (in the image) detector computed with 7000 positive samples
//////////////////////////////////////////////////////////////////////////
| Contributors License Agreement
| IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
| By downloading, copying, installing or using the software you agree
| to this license.
| If you do not agree to this license, do not download, install,
| copy or use the software.
|
| Copyright (c) 2006, Modesto Castrillon-Santana (IUSIANI, University of
| Las Palmas de Gran Canaria, Spain).
| All rights reserved.
|
| Redistribution and use in source and binary forms, with or without
| modification, are permitted provided that the following conditions are
| met:
|
| * Redistributions of source code must retain the above copyright
| notice, this list of conditions and the following disclaimer.
| * Redistributions in binary form must reproduce the above
| copyright notice, this list of conditions and the following
| disclaimer in the documentation and/or other materials provided
| with the distribution.
| * The name of Contributor may not used to endorse or promote products
| derived from this software without specific prior written permission.
|
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
| CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
| EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
| PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
| PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
| LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
| NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
| SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Back to
| Top
//////////////////////////////////////////////////////////////////////////
RESEARCH USE:
If you are using any of the detectors or involved ideas please cite one of these papers:
@ARTICLE{Castrillon07-jvci,
author = "Castrill\'on Santana, M. and D\'eniz Su\'arez, O. and Hern\'andez Tejera, M. and Guerra Artal, C.",
title = "ENCARA2: Real-time Detection of Multiple Faces at Different Resolutions in Video Streams",
journal = "Journal of Visual Communication and Image Representation",
year = "2007",
vol = "18",
issue = "2",
month = "April",
pages = "130-140"
}
@INPROCEEDINGS{Castrillon07-swb,
author = "Castrill\'on Santana, M. and D\'eniz Su\'arez, O. and Hern\'andez Sosa, D. and Lorenzo Navarro, J. ",
title = "Using Incremental Principal Component Analysis to Learn a Gender Classifier Automatically",
booktitle = "1st Spanish Workshop on Biometrics",
year = "2007",
month = "June",
address = "Girona, Spain",
file = F
}
A comparison of this and other face related classifiers can be found in:
@InProceedings{Castrillon08a-visapp,
'athor = "Modesto Castrill\'on-Santana and O. D\'eniz-Su\'arez, L. Ant\'on-Canal\'{\i}s and J. Lorenzo-Navarro",
title = "Face and Facial Feature Detection Evaluation"
booktitle = "Third International Conference on Computer Vision Theory and Applications, VISAPP08"
year = "2008",
month = "January"
}
More information can be found at http://mozart.dis.ulpgc.es/Gias/modesto_eng.html or in the papers.
COMMERCIAL USE:
If you have any commercial interest in this work please contact
mcastrillon@iusiani.ulpgc.es
-->
<opencv_storage>
<ojoD type_id="opencv-haar-classifier">
<size>
18 12</size>
<stages>
<_>
<!-- stage 0 -->
<trees>
<_>
<!-- tree 0 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
3 0 12 12 -1.</_>
<_>
3 4 12 4 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.2442477047443390</threshold>
<left_val>0.6987577080726624</left_val>
<right_val>-0.6865804791450501</right_val></_></_>
<_>
<!-- tree 1 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
16 0 2 5 -1.</_>
<_>
16 0 1 5 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-7.8023127571213990e-005</threshold>
<left_val>0.1840998977422714</left_val>
<right_val>-0.1586786955595017</right_val></_></_>
<_>
<!-- tree 2 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
7 4 4 8 -1.</_>
<_>
7 8 4 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0618633292615414</threshold>
<left_val>-0.5806958079338074</left_val>
<right_val>0.4242902100086212</right_val></_></_>
<_>
<!-- tree 3 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
16 0 2 4 -1.</_>
<_>
16 0 1 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>1.0108880087500438e-004</threshold>
<left_val>-0.2148032933473587</left_val>
<right_val>0.2565456926822662</right_val></_></_>
<_>
<!-- tree 4 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 0 2 5 -1.</_>
<_>
1 0 1 5 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-9.1220928879920393e-005</threshold>
<left_val>0.3836745917797089</left_val>
<right_val>-0.6165490746498108</right_val></_></_>
<_>
<!-- tree 5 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
9 2 4 3 -1.</_>
<_>
10 3 2 3 2.</_></rects>
<tilted>1</tilted></feature>
<threshold>-0.0305094793438911</threshold>
<left_val>0.3936012983322144</left_val>
<right_val>-0.1342229992151260</right_val></_></_>
<_>
<!-- tree 6 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
1 0 4 2 -1.</_>
<_>
3 0 2 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-9.1780202637892216e-005</threshold>
<left_val>0.2778655886650085</left_val>
<right_val>-0.4300774037837982</right_val></_></_>
<_>
<!-- tree 7 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
9 2 4 3 -1.</_>
<_>
10 3 2 3 2.</_></rects>
<tilted>1</tilted></feature>
<threshold>0.0277718994766474</threshold>
<left_val>-0.0807764828205109</left_val>
<right_val>0.2831164002418518</right_val></_></_>
<_>
<!-- tree 8 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
9 2 3 4 -1.</_>
<_>
8 3 3 2 2.</_></rects>
<tilted>1</tilted></feature>
<threshold>-0.0296204704791307</threshold>
<left_val>0.4858390986919403</left_val>
<right_val>-0.1975446939468384</right_val></_></_>
<_>
<!-- tree 9 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
6 9 6 3 -1.</_>
<_>
8 9 2 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0228665992617607</threshold>
<left_val>0.1063619032502174</left_val>
<right_val>-0.7517626881599426</right_val></_></_>
<_>
<!-- tree 10 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
7 11 4 1 -1.</_>
<_>
8 11 2 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-4.1282488964498043e-003</threshold>
<left_val>-0.6706575751304627</left_val>
<right_val>0.1047971993684769</right_val></_></_>
<_>
<!-- tree 11 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
6 10 12 2 -1.</_>
<_>
6 11 12 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>4.9167869292432442e-005</threshold>
<left_val>-0.4347186088562012</left_val>
<right_val>0.1980224996805191</right_val></_></_>
<_>
<!-- tree 12 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
6 0 6 8 -1.</_>
<_>
6 2 6 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.1071999967098236</threshold>
<left_val>-0.0898068472743034</left_val>
<right_val>0.7468281984329224</right_val></_></_>
<_>
<!-- tree 13 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
4 1 10 6 -1.</_>
<_>
4 3 10 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.1007362976670265</threshold>
<left_val>0.5093917250633240</left_val>
<right_val>-0.1339354068040848</right_val></_></_></trees>
<stage_threshold>-1.8531819581985474</stage_threshold>
<parent>-1</parent>
<next>-1</next></_>
<_>
<!-- stage 1 -->
<trees>
<_>
<!-- tree 0 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
3 4 12 8 -1.</_>
<_>
3 8 12 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.1780235022306442</threshold>
<left_val>-0.7587028145790100</left_val>
<right_val>0.5346593260765076</right_val></_></_>
<_>
<!-- tree 1 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
3 0 12 12 -1.</_>
<_>
7 4 4 4 9.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.6557739973068237</threshold>
<left_val>0.6469265222549439</left_val>
<right_val>-0.4350259006023407</right_val></_></_>
<_>
<!-- tree 2 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 0 4 2 -1.</_>
<_>
2 0 2 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-4.0021299355430529e-005</threshold>
<left_val>0.2996597886085510</left_val>
<right_val>-0.5688586235046387</right_val></_></_>
<_>
<!-- tree 3 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
9 0 2 7 -1.</_>
<_>
9 0 1 7 2.</_></rects>
<tilted>1</tilted></feature>
<threshold>-0.0371546186506748</threshold>
<left_val>0.3491890132427216</left_val>
<right_val>-0.0255894307047129</right_val></_></_>
<_>
<!-- tree 4 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
4 2 10 6 -1.</_>
<_>
4 4 10 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.1217394024133682</threshold>
<left_val>0.6158639788627625</left_val>
<right_val>-0.2062674015760422</right_val></_></_>
<_>
<!-- tree 5 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
9 10 9 2 -1.</_>
<_>
9 11 9 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>5.2311879699118435e-005</threshold>
<left_val>-0.4364793896675110</left_val>
<right_val>0.2195827066898346</right_val></_></_>
<_>
<!-- tree 6 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
6 1 6 6 -1.</_>
<_>
6 3 6 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0808591768145561</threshold>
<left_val>-0.1994501054286957</left_val>
<right_val>0.6732668876647949</right_val></_></_>
<_>
<!-- tree 7 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
17 0 1 2 -1.</_>
<_>
17 1 1 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>4.0166039980249479e-005</threshold>
<left_val>-0.0456401109695435</left_val>
<right_val>0.1943069994449616</right_val></_></_>
<_>
<!-- tree 8 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 0 1 2 -1.</_>
<_>
0 1 1 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-3.1046951335156336e-005</threshold>
<left_val>0.2788721024990082</left_val>
<right_val>-0.3936826884746552</right_val></_></_>
<_>
<!-- tree 9 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
10 10 8 2 -1.</_>
<_>
10 11 8 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0447648614645004</threshold>
<left_val>0.0153042702004313</left_val>
<right_val>-0.5497850179672241</right_val></_></_>
<_>
<!-- tree 10 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 10 8 2 -1.</_>
<_>
0 11 8 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>4.1439689084654674e-005</threshold>
<left_val>-0.4088754951953888</left_val>
<right_val>0.2429337948560715</right_val></_></_>
<_>
<!-- tree 11 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
12 5 6 3 -1.</_>
<_>
14 5 2 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-6.8109878338873386e-003</threshold>
<left_val>0.2047584950923920</left_val>
<right_val>-0.1761040985584259</right_val></_></_>
<_>
<!-- tree 12 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 5 6 3 -1.</_>
<_>
2 5 2 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0119599401950836</threshold>
<left_val>0.3201091885566711</left_val>
<right_val>-0.2438212037086487</right_val></_></_>
<_>
<!-- tree 13 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
8 11 4 1 -1.</_>
<_>
9 11 2 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>4.1247010231018066e-003</threshold>
<left_val>0.1014249995350838</left_val>
<right_val>-0.6714876890182495</right_val></_></_>
<_>
<!-- tree 14 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
6 11 4 1 -1.</_>
<_>
7 11 2 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>4.8378468491137028e-003</threshold>
<left_val>0.1029687970876694</left_val>
<right_val>-0.7677686214447022</right_val></_></_>
<_>
<!-- tree 15 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
15 9 3 3 -1.</_>
<_>
15 10 3 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-6.9100200198590755e-003</threshold>
<left_val>-0.5312659144401550</left_val>
<right_val>0.1042772009968758</right_val></_></_>
<_>
<!-- tree 16 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
3 0 10 6 -1.</_>
<_>
3 2 10 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.1008033975958824</threshold>
<left_val>0.5077794194221497</left_val>
<right_val>-0.1302364021539688</right_val></_></_>
<_>
<!-- tree 17 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
6 2 6 9 -1.</_>
<_>
8 5 2 3 9.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.1996715962886810</threshold>
<left_val>0.3898678123950958</left_val>
<right_val>-0.1677277982234955</right_val></_></_></trees>
<stage_threshold>-1.7752469778060913</stage_threshold>
<parent>0</parent>
<next>-1</next></_>
<_>
<!-- stage 2 -->
<trees>
<_>
<!-- tree 0 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
3 4 12 8 -1.</_>
<_>
3 8 12 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.2577688097953796</threshold>
<left_val>-0.5834887027740479</left_val>
<right_val>0.5534026026725769</right_val></_></_>
<_>
<!-- tree 1 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 1 18 9 -1.</_>
<_>
6 4 6 3 9.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.7306826710700989</threshold>
<left_val>0.5579602718353272</left_val>
<right_val>-0.3256570100784302</right_val></_></_>
<_>
<!-- tree 2 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
6 5 6 3 -1.</_>
<_>
8 5 2 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0275345090776682</threshold>
<left_val>0.4805935025215149</left_val>
<right_val>-0.2384431064128876</right_val></_></_>
<_>
<!-- tree 3 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
14 10 4 1 -1.</_>
<_>
15 10 2 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-2.3275651037693024e-003</threshold>
<left_val>-0.3652119040489197</left_val>
<right_val>0.0450289994478226</right_val></_></_>
<_>
<!-- tree 4 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
1 0 2 1 -1.</_>
<_>
1 0 1 1 2.</_></rects>
<tilted>1</tilted></feature>
<threshold>1.1417310452088714e-003</threshold>
<left_val>-0.3495636880397797</left_val>
<right_val>0.2976998090744019</right_val></_></_>
<_>
<!-- tree 5 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
14 8 4 4 -1.</_>
<_>
14 10 4 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-3.3687320537865162e-003</threshold>
<left_val>-0.7028983831405640</left_val>
<right_val>0.1298096030950546</right_val></_></_>
<_>
<!-- tree 6 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 2 3 9 -1.</_>
<_>
0 5 3 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0246144495904446</threshold>
<left_val>0.1310756951570511</left_val>
<right_val>-0.5470896959304810</right_val></_></_>
<_>
<!-- tree 7 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
12 10 6 2 -1.</_>
<_>
12 11 6 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-5.8426922187209129e-003</threshold>
<left_val>-0.5864722132682800</left_val>
<right_val>0.0977318063378334</right_val></_></_>
<_>
<!-- tree 8 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 10 6 2 -1.</_>
<_>
0 11 6 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-5.4343082010746002e-003</threshold>
<left_val>-0.5732660889625549</left_val>
<right_val>0.1127808988094330</right_val></_></_>
<_>
<!-- tree 9 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
6 0 12 4 -1.</_>
<_>
9 0 6 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0220540799200535</threshold>
<left_val>-0.0928885713219643</left_val>
<right_val>0.1365782022476196</right_val></_></_>
<_>
<!-- tree 10 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
7 10 4 2 -1.</_>
<_>
9 10 2 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0153475897386670</threshold>
<left_val>-0.6442934274673462</left_val>
<right_val>0.0743546336889267</right_val></_></_>
<_>
<!-- tree 11 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
10 1 8 2 -1.</_>
<_>
12 1 4 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0505729615688324</threshold>
<left_val>5.6103519164025784e-003</left_val>
<right_val>-0.5007994771003723</right_val></_></_>
<_>
<!-- tree 12 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
5 11 6 1 -1.</_>
<_>
7 11 2 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0132617400959134</threshold>
<left_val>-0.7339289188385010</left_val>
<right_val>0.0654333606362343</right_val></_></_>
<_>
<!-- tree 13 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
9 6 3 1 -1.</_>
<_>
10 6 1 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-3.8969300221651793e-003</threshold>
<left_val>0.3148984909057617</left_val>
<right_val>-0.0814321637153625</right_val></_></_>
<_>
<!-- tree 14 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
8 4 3 3 -1.</_>
<_>
7 5 3 1 3.</_></rects>
<tilted>1</tilted></feature>
<threshold>-0.0248226597905159</threshold>
<left_val>0.3860459923744202</left_val>
<right_val>-0.1226689964532852</right_val></_></_>
<_>
<!-- tree 15 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
15 9 3 3 -1.</_>
<_>
15 10 3 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0110844299197197</threshold>
<left_val>-0.5629314184188843</left_val>
<right_val>0.0541458912193775</right_val></_></_>
<_>
<!-- tree 16 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
6 10 6 2 -1.</_>
<_>
8 10 2 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0183873008936644</threshold>
<left_val>0.0600279495120049</left_val>
<right_val>-0.6509069800376892</right_val></_></_>
<_>
<!-- tree 17 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
12 4 6 5 -1.</_>
<_>
14 4 2 5 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0271802507340908</threshold>
<left_val>0.2160355001688004</left_val>
<right_val>-0.0932569727301598</right_val></_></_>
<_>
<!-- tree 18 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 4 6 5 -1.</_>
<_>
2 4 2 5 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0181546900421381</threshold>
<left_val>0.2488728016614914</left_val>
<right_val>-0.1724843978881836</right_val></_></_>
<_>
<!-- tree 19 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
1 3 16 8 -1.</_>
<_>
5 3 8 8 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0744006186723709</threshold>
<left_val>0.2263507992029190</left_val>
<right_val>-0.1956623047590256</right_val></_></_>
<_>
<!-- tree 20 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
5 2 7 3 -1.</_>
<_>
5 3 7 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0255609806627035</threshold>
<left_val>-0.1158379018306732</left_val>
<right_val>0.3817107975482941</right_val></_></_>
<_>
<!-- tree 21 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
3 1 12 6 -1.</_>
<_>
3 3 12 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.1483628004789352</threshold>
<left_val>0.4417867958545685</left_val>
<right_val>-0.0909504368901253</right_val></_></_>
<_>
<!-- tree 22 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 0 1 2 -1.</_>
<_>
0 1 1 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>2.7006680611521006e-003</threshold>
<left_val>0.0779470279812813</left_val>
<right_val>-0.5542747974395752</right_val></_></_>
<_>
<!-- tree 23 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
7 10 4 2 -1.</_>
<_>
8 10 2 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-8.6278393864631653e-003</threshold>
<left_val>-0.6993731856346130</left_val>
<right_val>0.0498309284448624</right_val></_></_>
<_>
<!-- tree 24 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
4 5 6 4 -1.</_>
<_>
6 5 2 4 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0684392526745796</threshold>
<left_val>-0.0759785771369934</left_val>
<right_val>0.6204671263694763</right_val></_></_>
<_>
<!-- tree 25 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
7 0 4 3 -1.</_>
<_>
8 0 2 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0109751401469111</threshold>
<left_val>-0.6014745831489563</left_val>
<right_val>0.0712781772017479</right_val></_></_>
<_>
<!-- tree 26 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 6 3 4 -1.</_>
<_>
0 7 3 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0180992893874645</threshold>
<left_val>0.0516250692307949</left_val>
<right_val>-0.6182760000228882</right_val></_></_>
<_>
<!-- tree 27 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
15 0 3 3 -1.</_>
<_>
16 1 1 3 3.</_></rects>
<tilted>1</tilted></feature>
<threshold>-0.0334893018007278</threshold>
<left_val>-0.4786315858364105</left_val>
<right_val>0.0187696199864149</right_val></_></_></trees>
<stage_threshold>-1.6665699481964111</stage_threshold>
<parent>1</parent>
<next>-1</next></_>
<_>
<!-- stage 3 -->
<trees>
<_>
<!-- tree 0 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 0 18 12 -1.</_>
<_>
6 4 6 4 9.</_></rects>
<tilted>0</tilted></feature>
<threshold>-1.0777440071105957</threshold>
<left_val>0.6412066221237183</left_val>
<right_val>-0.4257067143917084</right_val></_></_>
<_>
<!-- tree 1 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
6 0 12 4 -1.</_>
<_>
9 0 6 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0914443284273148</threshold>
<left_val>-0.4795799851417542</left_val>
<right_val>0.0577692091464996</right_val></_></_>
<_>
<!-- tree 2 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 0 4 4 -1.</_>
<_>
2 0 2 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-7.4071469716727734e-003</threshold>
<left_val>0.2862192988395691</left_val>
<right_val>-0.4199469089508057</right_val></_></_>
<_>
<!-- tree 3 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
8 4 2 8 -1.</_>
<_>
8 8 2 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0470627583563328</threshold>
<left_val>-0.4361920058727264</left_val>
<right_val>0.2682892084121704</right_val></_></_>
<_>
<!-- tree 4 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
9 2 3 4 -1.</_>
<_>
8 3 3 2 2.</_></rects>
<tilted>1</tilted></feature>
<threshold>-0.0364041812717915</threshold>
<left_val>0.3589976131916046</left_val>
<right_val>-0.2142743021249771</right_val></_></_>
<_>
<!-- tree 5 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
7 9 4 3 -1.</_>
<_>
8 9 2 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>8.6630545556545258e-003</threshold>
<left_val>0.1466244012117386</left_val>
<right_val>-0.6770737767219544</right_val></_></_>
<_>
<!-- tree 6 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
4 0 3 4 -1.</_>
<_>
5 0 1 4 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>9.3371979892253876e-003</threshold>
<left_val>0.0512493513524532</left_val>
<right_val>-0.6235939860343933</right_val></_></_>
<_>
<!-- tree 7 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
9 7 3 2 -1.</_>
<_>
9 7 3 1 2.</_></rects>
<tilted>1</tilted></feature>
<threshold>-8.9909201487898827e-003</threshold>
<left_val>0.0186654794961214</left_val>
<right_val>-0.1294005066156387</right_val></_></_>
<_>
<!-- tree 8 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
3 1 1 3 -1.</_>
<_>
2 2 1 1 3.</_></rects>
<tilted>1</tilted></feature>
<threshold>6.0002477839589119e-003</threshold>
<left_val>0.1241246014833450</left_val>
<right_val>-0.4503139853477478</right_val></_></_>
<_>
<!-- tree 9 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
12 10 6 2 -1.</_>
<_>
12 11 6 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-4.1527119465172291e-003</threshold>
<left_val>-0.6131383180618286</left_val>
<right_val>0.1069767996668816</right_val></_></_>
<_>
<!-- tree 10 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 0 3 2 -1.</_>
<_>
0 1 3 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-9.4439463282469660e-005</threshold>
<left_val>0.1672407984733582</left_val>
<right_val>-0.2933245897293091</right_val></_></_>
<_>
<!-- tree 11 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
9 9 4 3 -1.</_>
<_>
10 9 2 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>7.7140098437666893e-003</threshold>
<left_val>0.0917944386601448</left_val>
<right_val>-0.5245196819305420</right_val></_></_>
<_>
<!-- tree 12 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
3 0 12 4 -1.</_>
<_>
3 1 12 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0292334090918303</threshold>
<left_val>-0.1565355956554413</left_val>
<right_val>0.3073590099811554</right_val></_></_>
<_>
<!-- tree 13 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
2 0 16 3 -1.</_>
<_>
6 0 8 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0287294797599316</threshold>
<left_val>0.2040888965129852</left_val>
<right_val>-0.1519030034542084</right_val></_></_>
<_>
<!-- tree 14 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 10 6 2 -1.</_>
<_>
0 11 6 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-9.4922380521893501e-003</threshold>
<left_val>-0.6557272076606751</left_val>
<right_val>0.0800310894846916</right_val></_></_>
<_>
<!-- tree 15 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
9 0 6 4 -1.</_>
<_>
8 1 6 2 2.</_></rects>
<tilted>1</tilted></feature>
<threshold>0.0152548598125577</threshold>
<left_val>-0.0707184970378876</left_val>
<right_val>0.1803774982690811</right_val></_></_>
<_>
<!-- tree 16 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
2 5 9 3 -1.</_>
<_>
5 5 3 3 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0850850269198418</threshold>
<left_val>-0.0871615931391716</left_val>
<right_val>0.5452963113784790</right_val></_></_>
<_>
<!-- tree 17 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
9 9 4 3 -1.</_>
<_>
10 9 2 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0124320797622204</threshold>
<left_val>-0.6059554815292358</left_val>
<right_val>0.0634162202477455</right_val></_></_>
<_>
<!-- tree 18 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
5 9 4 3 -1.</_>
<_>
6 9 2 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>7.8379884362220764e-003</threshold>
<left_val>0.0858781784772873</left_val>
<right_val>-0.4838706851005554</right_val></_></_>
<_>
<!-- tree 19 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
6 0 12 5 -1.</_>
<_>
10 0 4 5 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0306104104965925</threshold>
<left_val>-0.0859913006424904</left_val>
<right_val>0.1277828961610794</right_val></_></_>
<_>
<!-- tree 20 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 9 3 3 -1.</_>
<_>
0 10 3 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-7.8582251444458961e-003</threshold>
<left_val>-0.4712431132793427</left_val>
<right_val>0.0818758681416512</right_val></_></_>
<_>
<!-- tree 21 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
11 3 3 4 -1.</_>
<_>
12 4 1 4 3.</_></rects>
<tilted>1</tilted></feature>
<threshold>-0.0406207516789436</threshold>
<left_val>0.3408096134662628</left_val>
<right_val>-0.0697003379464149</right_val></_></_>
<_>
<!-- tree 22 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
2 0 12 4 -1.</_>
<_>
8 0 6 4 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.3847332894802094</threshold>
<left_val>9.9060591310262680e-004</left_val>
<right_val>-4.8748442382812500e+003</right_val></_></_>
<_>
<!-- tree 23 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
12 9 1 2 -1.</_>
<_>
12 9 1 1 2.</_></rects>
<tilted>1</tilted></feature>
<threshold>8.8061448186635971e-003</threshold>
<left_val>0.0215488392859697</left_val>
<right_val>-0.3819910883903503</right_val></_></_>
<_>
<!-- tree 24 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
6 9 2 1 -1.</_>
<_>
6 9 1 1 2.</_></rects>
<tilted>1</tilted></feature>
<threshold>-9.8602060461416841e-005</threshold>
<left_val>0.1434576958417893</left_val>
<right_val>-0.2561168968677521</right_val></_></_>
<_>
<!-- tree 25 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
11 3 3 4 -1.</_>
<_>
12 4 1 4 3.</_></rects>
<tilted>1</tilted></feature>
<threshold>0.0441750586032867</threshold>
<left_val>-0.0352665185928345</left_val>
<right_val>0.5083830952644348</right_val></_></_>
<_>
<!-- tree 26 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 0 2 2 -1.</_>
<_>
1 0 1 2 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>1.6760559519752860e-003</threshold>
<left_val>0.0922279134392738</left_val>
<right_val>-0.4089589118957520</right_val></_></_>
<_>
<!-- tree 27 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
11 3 3 4 -1.</_>
<_>
12 4 1 4 3.</_></rects>
<tilted>1</tilted></feature>
<threshold>-0.0203842706978321</threshold>
<left_val>0.1131026968359947</left_val>
<right_val>-0.0671710297465324</right_val></_></_>
<_>
<!-- tree 28 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
7 3 4 3 -1.</_>
<_>
6 4 4 1 3.</_></rects>
<tilted>1</tilted></feature>
<threshold>-0.0283244606107473</threshold>
<left_val>0.3251419067382813</left_val>
<right_val>-0.1122096031904221</right_val></_></_>
<_>
<!-- tree 29 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
16 9 2 3 -1.</_>
<_>
16 10 2 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0111482404172421</threshold>
<left_val>0.0437063910067081</left_val>
<right_val>-0.5629075765609741</right_val></_></_>
<_>
<!-- tree 30 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 9 16 3 -1.</_>
<_>
4 9 8 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0612310208380222</threshold>
<left_val>0.3229255080223084</left_val>
<right_val>-0.1184210032224655</right_val></_></_>
<_>
<!-- tree 31 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
16 9 2 3 -1.</_>
<_>
16 10 2 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-2.5340579450130463e-003</threshold>
<left_val>-0.2856656908988953</left_val>
<right_val>0.0971375629305840</right_val></_></_>
<_>
<!-- tree 32 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 9 2 3 -1.</_>
<_>
0 10 2 1 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>9.4344420358538628e-003</threshold>
<left_val>0.0558381788432598</left_val>
<right_val>-0.6130396723747253</right_val></_></_>
<_>
<!-- tree 33 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
5 0 8 2 -1.</_>
<_>
5 1 8 1 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0249963607639074</threshold>
<left_val>0.3737947940826416</left_val>
<right_val>-0.0954389572143555</right_val></_></_>
<_>
<!-- tree 34 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
3 1 2 3 -1.</_>
<_>
2 2 2 1 3.</_></rects>
<tilted>1</tilted></feature>
<threshold>-0.0155799295753241</threshold>
<left_val>-0.4332109987735748</left_val>
<right_val>0.0820814818143845</right_val></_></_>
<_>
<!-- tree 35 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
5 2 8 6 -1.</_>
<_>
5 4 8 2 3.</_></rects>
<tilted>0</tilted></feature>
<threshold>-0.0749959871172905</threshold>
<left_val>0.2219358980655670</left_val>
<right_val>-0.1562748998403549</right_val></_></_>
<_>
<!-- tree 36 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 0 18 12 -1.</_>
<_>
6 4 6 4 9.</_></rects>
<tilted>0</tilted></feature>
<threshold>-1.0779550075531006</threshold>
<left_val>-0.2700729966163635</left_val>
<right_val>0.1383638978004456</right_val></_></_>
<_>
<!-- tree 37 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
3 6 12 6 -1.</_>
<_>
3 9 12 3 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>0.0592220015823841</threshold>
<left_val>-0.3738270103931427</left_val>
<right_val>0.1169560030102730</right_val></_></_>
<_>
<!-- tree 38 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
0 5 2 5 -1.</_>
<_>
1 5 1 5 2.</_></rects>
<tilted>0</tilted></feature>
<threshold>-8.6024785414338112e-003</threshold>
<left_val>0.2768104970455170</left_val>
<right_val>-0.1252626031637192</right_val></_></_>
<_>
<!-- tree 39 -->
<_>
<!-- root node -->
<feature>
<rects>
<_>
7 0 4 3 -1.</_