master 3d94928960f7 cached
26 files
3.2 MB
852.8k tokens
115 symbols
1 requests
Download .txt
Showing preview only (3,411K chars total). Download the full file or copy to clipboard to get everything.
Repository: charlielito/snapchat-filters-opencv
Branch: master
Commit: 3d94928960f7
Files: 26
Total size: 3.2 MB

Directory structure:
gitextract_75b8m8g9/

├── .gitattributes
├── .gitignore
├── LICENSE
├── README.md
├── facial_features.py
├── facial_landmarks.py
├── filters/
│   ├── Mouth.xml
│   ├── Nose.xml
│   ├── haarcascade_eye.xml
│   ├── haarcascade_frontalface_default.xml
│   ├── haarcascade_profileface.xml
│   └── haarcascade_smile.xml
├── main.py
├── main_dlib.py
├── pyfakewebcam/
│   ├── __init__.py
│   ├── pyfakewebcam.py
│   └── v4l2.py
├── requirements.txt
└── scripts/
    ├── background_substraction.py
    ├── blur_face.py
    ├── canny.py
    ├── color_space.py
    ├── dense_optflow.py
    ├── invisibility_cloak.py
    ├── optical_flow.py
    └── video_loop.py

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
imgs/zoom-cool-filters.gif filter=lfs diff=lfs merge=lfs -text
imgs/zoom-snapchat-filters.gif filter=lfs diff=lfs merge=lfs -text


================================================
FILE: .gitignore
================================================
*.pyc

================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2017 charlielito

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README.md
================================================
# Snapchat-like filters with Python OpenCV/dlib and TKinter
Basic desktop application to play around with Snapchat-alike filters like hat, moustache and glasses automatic in-face superposition in real time.

![alt text][s1] ![alt text][s11]


It uses [Haar features](https://en.wikipedia.org/wiki/Haar-like_features) and the [Viola–Jones object detection framework
](https://en.wikipedia.org/wiki/Viola%E2%80%93Jones_object_detection_framework) implemented in OpenCV to detect mainly faces positions and inside the faces, eyes and mouth position. It uses then this information to add different accessories to the faces (hat, moustache, etc).

The files containing the Haar Filters descriptions were taken from http://alereimondo.no-ip.org/OpenCV/34 and ftp://mozart.dis.ulpgc.es/pub/Software/HaarClassifiers/FaceFeaturesDetectors.zip.

The Dlib implementation of this app uses a [Histogram of Oriented Gradients (HOG)](https://en.wikipedia.org/wiki/Histogram_of_oriented_gradients) feature combined with a linear classifier, an image pyramid, and sliding window detection scheme to detect faces. Then it finds the 68 facial landmarks using an Ensemble of Regression Trees described in the paper [One Millisecond Face Alignment with an Ensemble of Regression Trees](https://pdfs.semanticscholar.org/d78b/6a5b0dcaa81b1faea5fb0000045a62513567.pdf).


## Requirements
* OpenCV 3.0+ <4.0 with python bindings
* Python 2.7
     * pillow
     * numpy
     * imutils
     * tkinter
* Python bindings of dlib.


#### Easy install
Build `OpenCV` or install the light version with `sudo apt-get install libopencv-dev python-opencv`. For Windows users it is always easier to just download the binaries of OpenCV and execute them, see [this web page](http://docs.opencv.org/trunk/d5/de5/tutorial_py_setup_in_windows.html). For `TKinter` in Linux just execute: `apt-get install python-tk` or `apt-get install python3-tk` (python binaries in windows usually have Tkinter already installed).

For python dependences just execute:

```
pip install -r requirements.txt
```

***Dlib installation***: For Windows Users it can be very hard to compile dlib with python bindings, just follow this simple [instruction on how to install dlib in windows the easy way](https://github.com/charlielito/install-dlib-python-windows).

For Linux Users make sure you have the prerequisites:
```
sudo apt-get install -y build-essential cmake libgtk-3-dev libboost-all-dev
```
Finally just `pip install it` with: `pip install dlib`


### How it works
#### HaarClassifiers
The algorithm give us the rectangles where faces might be as it can be seen in the next picture. After that, specialized HaarClassifiers are used to find mouths, noses, and eyes inside the image recognized as a face. With that information it is relatively easy to put the different "gadgets" in superposition with the image. We just use the alpha channel (transparency) of the "accessories" to merge the images.

![alt text][s4]

To recreate this in real time with your WebCam just execute

```
python facial_features.py
```


#### Dlib face and landmarks detection
HarrCascades technique is very old, so detection is often not so good when the faces are slightly bent for example. It is not possible to estimate the inclination of the head for example. Detection of face characteristics (eyes, nose, mouth, eyebrows, etc) is also not robust with HaarClassifiers. Here comes into play more recent techniques implemented in the dlib library. If you compare the to detection schemes the dlib is more accurate and stable. As described, we can also get the main facial landmarks which are used to detect the face characteristics and to estimate the tilt angle of the face. That can be seen in the next picture.

![alt text][s5]

The 68 facial landmarks are numbered in the following form. With tha points we calculate the inclination so the "accessories" are also bent. Wth the points of the mouth can be detected when the mouth is open and then display some trick, like a rainbow coming out.

![alt text][s6]

To recreate this in real time with your WebCam just execute

```
python facial_landmarks.py
```

## Running the code with opencv or dlib
In Windows just double click de file `main.py` or execute in the console the following to run the HaarCascade version app (opencv)

```
python main.py
```

To use the dlib version with more interesting features run
```
python main_dlib.py
```
### UPDATE 2020 (LINUX USERS)
A new functionality was added for Linux users only, that allows you to create a virtual camera and stream the results there, so other applications can "see" that camera, i.e. zoom, meet, hangouts or any other videoconference app.

To use that, you need to install `v4l2loopback` with `apt-get install v4l2loopback-utils`. Then you need to create a virtual device with:
```
sudo modprobe v4l2loopback devices=1
```
Finally run:
```
python main_dlib.py --virtual_device 1
```
Note: The number of the virtual device must match with the one you created with `modprobe`

An Example in Zoom can be seen in the following animation:

![alt text][s7]


## Comparison between OpenCv HaarCascade Classifiers and Dlib algorithms
Here can be compared the performance in real time of the two techniques. As seen the opencv with HaarCascade  implementation is not so "stable" (i.e the hat moves a lot although the face is still). Also with the dlib version more fun things can be made and the accessories inclines with us.

### OpenCV
![alt text][s3]
### Dlib
![alt text][s2]

## Bonus Filters 2020 (LINUX ONLY)
I've implemented/gather some cool image level filters so it can be used in videoconference Apps (linux only). They are located in `scripts` directory. They are:
* Canny edge detection
* Blur faces
* Transform to HSV color space
* Dense optical flow
* Sparse optical follow
* Background substraction
* Harry Potter Red invisibility cloak

To run it simple use:
```
python scripts/canny.py --virtual_device 1
```

You can see some of them in the following zoom  call:

![alt text][s8]


[s1]: https://raw.githubusercontent.com/charlielito/snapchat-filters-opencv/master/imgs/opencv.gif "S"
[s11]: https://raw.githubusercontent.com/charlielito/snapchat-filters-opencv/master/imgs/dlib.gif "S"

[s2]: https://raw.githubusercontent.com/charlielito/mydata/master/dlibvideo.gif "S"

[s3]: https://raw.githubusercontent.com/charlielito/mydata/master/opencvvideo.gif "S"

[s4]: https://raw.githubusercontent.com/charlielito/snapchat-filters-opencv/master/imgs/features.png "S"
[s5]: https://raw.githubusercontent.com/charlielito/snapchat-filters-opencv/master/imgs/landmarks.png "S"

[s6]: https://raw.githubusercontent.com/charlielito/snapchat-filters-opencv/master/imgs/facial_landmarks_68markup.jpg "S"
[s7]: https://user-images.githubusercontent.com/8033598/87480423-ed2b0b00-c5f2-11ea-94c0-02df32062c72.gif "S"
[s8]: https://user-images.githubusercontent.com/8033598/87481014-1dbf7480-c5f4-11ea-9256-4aac4b1d38de.gif "S"


================================================
FILE: facial_features.py
================================================
import cv2
import sys
import numpy as np

def apply_Haar_filter(img, haar_cascade,scaleFact = 1.1, minNeigh = 5, minSizeW = 30):
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

    features = haar_cascade.detectMultiScale(
        gray,
        scaleFactor=scaleFact,
        minNeighbors=minNeigh,
        minSize=(minSizeW, minSizeW),
        flags=cv2.CASCADE_SCALE_IMAGE
    )
    return features


BLUE = (255,0,0)
GREEN = (0,255,0)
RED = (0,0,255)
YELL = (0,255,255)

#Filters path
haar_faces = cv2.CascadeClassifier('./filters/haarcascade_frontalface_default.xml')
haar_eyes = cv2.CascadeClassifier('./filters/haarcascade_eye.xml')
haar_mouth = cv2.CascadeClassifier('./filters/Mouth.xml')
haar_nose = cv2.CascadeClassifier('./filters/Nose.xml')


#config WebCam
video_capture = cv2.VideoCapture(0)
cv2.imshow('Video', np.empty((5,5),dtype=float))


while cv2.getWindowProperty('Video', 0) >= 0:
    # Capture frame-by-frame
    ret, frame = video_capture.read()

    #frame = cv2.imread('faceswap/lol2.jpg')

    faces = apply_Haar_filter(frame, haar_faces, 1.3 , 5, 30)

    for (x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x+w, y+h), BLUE, 2) #blue

        sub_img = frame[y:y+h,x:x+w,:]
        eyes = apply_Haar_filter(sub_img, haar_eyes, 1.3 , 10, 10)
        for (x2, y2, w2, h2) in eyes:
            cv2.rectangle(frame, (x+x2, y+y2), (x + x2+w2, y + y2+h2), YELL, 2)

        nose = apply_Haar_filter(sub_img, haar_nose, 1.3 , 8, 10)
        for (x2, y2, w2, h2) in nose:
            cv2.rectangle(frame, (x+x2, y+y2), (x + x2+w2, y + y2+h2), RED, 2) #red

        sub_img2 = frame[y + h/2:y+h,x:x+w,:] #only analize half of face for mouth
        mouth = apply_Haar_filter(sub_img2, haar_mouth, 1.3 , 10, 10)
        for (x2, y2, w2, h2) in mouth:
            cv2.rectangle(frame, (x+x2, y+h/2+y2), (x + x2+w2, y+h/2+y2+h2), GREEN, 2) #green
        #cv2.imshow('Face', sub_img)
        #cv2.imshow('Face/2', sub_img2)

    # Display the resulting frame
    cv2.imshow('Video', frame)

    key = cv2.waitKey(1) & 0xFF
    # if the `q` key was pressed, break from the loop
    if key == ord("q"):
    	break

# When everything is done, release the capture
video_capture.release()
cv2.destroyAllWindows()


================================================
FILE: facial_landmarks.py
================================================
from imutils import face_utils
import datetime
import imutils
import time
import dlib
import cv2, math
import numpy as np
from imutils import face_utils, rotate_bound


# initialize dlib's face detector (HOG-based) and then create
# the facial landmark predictor
print("[INFO] loading facial landmark predictor...")
model = "filters/shape_predictor_68_face_landmarks.dat"
detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor(model) # link to model: http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2

video_capture = cv2.VideoCapture(0)
cv2.imshow('Video', np.empty((5,5),dtype=float))

#points are tuples in the form (x,y)
# returns angle between points in degrees
def calculate_inclination(point1, point2):
    x1,x2,y1,y2 = point1[0], point2[0], point1[1], point2[1]
    incl = -180/math.pi*math.atan((float(y2-y1))/(x2-x1))
    return incl

def calculate_boundbox(list_coordinates):
    x = min(list_coordinates[:,0])
    y = min(list_coordinates[:,1])
    w = max(list_coordinates[:,0]) - x
    h = max(list_coordinates[:,1]) - y
    return (x,y,w,h)

def get_face_boundbox(points, face_part):
    if face_part == 1:
        (x,y,w,h) = calculate_boundbox(points[17:22]) #left eyebrow
    elif face_part == 2:
        (x,y,w,h) = calculate_boundbox(points[22:27]) #right eyebrow
    elif face_part == 3:
        (x,y,w,h) = calculate_boundbox(points[36:42]) #left eye
    elif face_part == 4:
        (x,y,w,h) = calculate_boundbox(points[42:48]) #right eye
    elif face_part == 5:
        (x,y,w,h) = calculate_boundbox(points[29:36]) #nose
    elif face_part == 6:
        (x,y,w,h) = calculate_boundbox(points[48:68]) #mouth
    return (x,y,w,h)

while cv2.getWindowProperty('Video', 0) >= 0:
    # Capture frame-by-frame
    ret, frame = video_capture.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    # detect faces in the grayscale frame
    rects = detector(gray, 0)

    # loop over the face detections
    for rect in rects:
    	# determine the facial landmarks for the face region, then
    	# convert the facial landmark (x, y)-coordinates to a NumPy array
        shape = predictor(gray, rect)

    	shape = face_utils.shape_to_np(shape)

        for i in range(1,7):
            (x,y,w,h) = get_face_boundbox(shape, i)
            cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 1)

        incl = calculate_inclination(shape[17], shape[26])

        img = cv2.imread("./sprites/doggy_ears.png")
        rows,cols = img.shape[0], img.shape[1]
        M = cv2.getRotationMatrix2D((cols/2,rows/2),incl,1)
        dst = cv2.warpAffine(img,M,(cols,rows))
        dst = rotate_bound(img, incl)
        cv2.imshow('sprite',dst)

        print "Pixels distance points in mouth: ", shape[66][1] - shape[62][1]

        x,y, w, h = rect.left(), rect.top(), rect.width(), rect.height()

        cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 0, 255), 2)

        # loop over the (x, y)-coordinates for the facial landmarks
    	# and draw them on the image
        for (x, y) in shape:
            cv2.circle(frame, (x, y), 1, (0, 0, 255), -1)

    cv2.imshow("Frame", frame)
    key = cv2.waitKey(1) & 0xFF
    # if the `q` key was pressed, break from the loop
    if key == ord("q"):
    	break

# When everything is done, release the capture
video_capture.release()
cv2.destroyAllWindows()


================================================
FILE: filters/Mouth.xml
================================================
<?xml version="1.0"?>
<!----------------------------------------------------------------------------
  25x15 Mouth 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>
<Boca_17stages type_id="opencv-haar-classifier">
  <size>
    25 15</size>
  <stages>
    <_>
      <!-- stage 0 -->
      <trees>
        <_>
          <!-- tree 0 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 14 9 -1.</_>
                <_>
                  0 3 14 3 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1192855015397072</threshold>
            <left_val>0.7854182124137878</left_val>
            <right_val>-0.4541360139846802</right_val></_></_>
        <_>
          <!-- tree 1 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  17 1 8 14 -1.</_>
                <_>
                  17 8 8 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0641647726297379</threshold>
            <left_val>-0.7407680749893189</left_val>
            <right_val>0.2652035951614380</right_val></_></_>
        <_>
          <!-- tree 2 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 3 11 6 -1.</_>
                <_>
                  7 5 11 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0910761803388596</threshold>
            <left_val>-0.2063370943069458</left_val>
            <right_val>0.8400946259498596</right_val></_></_>
        <_>
          <!-- tree 3 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 2 15 6 -1.</_>
                <_>
                  5 4 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1129330024123192</threshold>
            <left_val>0.8284121751785278</left_val>
            <right_val>-0.1866362988948822</right_val></_></_>
        <_>
          <!-- tree 4 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 4 11 6 -1.</_>
                <_>
                  6 6 11 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0741933435201645</threshold>
            <left_val>0.8354660272598267</left_val>
            <right_val>-0.1527701020240784</right_val></_></_>
        <_>
          <!-- tree 5 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  17 1 6 3 -1.</_>
                <_>
                  19 1 2 3 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>2.1404659491963685e-005</threshold>
            <left_val>-0.0716945603489876</left_val>
            <right_val>0.1858334988355637</right_val></_></_>
        <_>
          <!-- tree 6 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 0 15 6 -1.</_>
                <_>
                  5 2 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0996975302696228</threshold>
            <left_val>0.6870458126068115</left_val>
            <right_val>-0.1721730977296829</right_val></_></_>
        <_>
          <!-- tree 7 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 3 13 6 -1.</_>
                <_>
                  7 5 13 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0900413617491722</threshold>
            <left_val>0.7310237884521484</left_val>
            <right_val>-0.1368771940469742</right_val></_></_>
        <_>
          <!-- tree 8 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 3 6 5 -1.</_>
                <_>
                  8 3 3 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>2.5138311320915818e-004</threshold>
            <left_val>-0.3469826877117157</left_val>
            <right_val>0.3647777140140533</right_val></_></_>
        <_>
          <!-- tree 9 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 14 4 1 -1.</_>
                <_>
                  21 14 2 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.6144449546118267e-005</threshold>
            <left_val>-0.3085466027259827</left_val>
            <right_val>0.2320024073123932</right_val></_></_>
        <_>
          <!-- tree 10 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 3 3 12 -1.</_>
                <_>
                  0 7 3 4 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.9363909814273939e-005</threshold>
            <left_val>-0.3819856047630310</left_val>
            <right_val>0.2404107004404068</right_val></_></_>
        <_>
          <!-- tree 11 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 10 3 4 -1.</_>
                <_>
                  22 11 3 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>6.9673648104071617e-003</threshold>
            <left_val>0.0545878112316132</left_val>
            <right_val>-0.7487065792083740</right_val></_></_>
        <_>
          <!-- tree 12 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 10 3 4 -1.</_>
                <_>
                  0 11 3 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-4.7189309261739254e-003</threshold>
            <left_val>-0.7476686835289002</left_val>
            <right_val>0.1205869019031525</right_val></_></_></trees>
      <stage_threshold>-1.4372119903564453</stage_threshold>
      <parent>-1</parent>
      <next>-1</next></_>
    <_>
      <!-- stage 1 -->
      <trees>
        <_>
          <!-- tree 0 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 0 15 8 -1.</_>
                <_>
                  5 2 15 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1006335020065308</threshold>
            <left_val>0.7848083972930908</left_val>
            <right_val>-0.3866829872131348</right_val></_></_>
        <_>
          <!-- tree 1 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  20 0 5 9 -1.</_>
                <_>
                  20 3 5 3 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0366767607629299</threshold>
            <left_val>0.5453233718872070</left_val>
            <right_val>-0.4012677967548370</right_val></_></_>
        <_>
          <!-- tree 2 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 2 13 4 -1.</_>
                <_>
                  6 4 13 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0815562233328819</threshold>
            <left_val>-0.1315398067235947</left_val>
            <right_val>0.8084958195686340</right_val></_></_>
        <_>
          <!-- tree 3 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 2 15 6 -1.</_>
                <_>
                  7 4 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1064186021685600</threshold>
            <left_val>0.6782389879226685</left_val>
            <right_val>-0.2083356976509094</right_val></_></_>
        <_>
          <!-- tree 4 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 3 4 12 -1.</_>
                <_>
                  2 9 4 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0156307406723499</threshold>
            <left_val>-0.3749788105487824</left_val>
            <right_val>0.3150509893894196</right_val></_></_>
        <_>
          <!-- tree 5 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 1 14 6 -1.</_>
                <_>
                  6 3 14 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0711290463805199</threshold>
            <left_val>-0.1557385027408600</left_val>
            <right_val>0.7050542831420898</right_val></_></_>
        <_>
          <!-- tree 6 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 3 9 6 -1.</_>
                <_>
                  8 5 9 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0736639127135277</threshold>
            <left_val>-0.1547683030366898</left_val>
            <right_val>0.6715884804725647</right_val></_></_>
        <_>
          <!-- tree 7 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 0 4 6 -1.</_>
                <_>
                  21 3 4 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-1.0592950275167823e-004</threshold>
            <left_val>0.1365388035774231</left_val>
            <right_val>-0.2670182883739471</right_val></_></_>
        <_>
          <!-- tree 8 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 12 1 3 -1.</_>
                <_>
                  1 13 1 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-1.9239520188421011e-003</threshold>
            <left_val>-0.7261438965797424</left_val>
            <right_val>0.1364576965570450</right_val></_></_>
        <_>
          <!-- tree 9 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  23 12 1 3 -1.</_>
                <_>
                  23 13 1 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>2.3057300131767988e-003</threshold>
            <left_val>0.0706136971712112</left_val>
            <right_val>-0.6423184275627136</right_val></_></_>
        <_>
          <!-- tree 10 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 12 1 3 -1.</_>
                <_>
                  1 13 1 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.8073299434036016e-003</threshold>
            <left_val>0.1355642974376679</left_val>
            <right_val>-0.7050786018371582</right_val></_></_>
        <_>
          <!-- tree 11 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 7 11 8 -1.</_>
                <_>
                  7 9 11 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0664333626627922</threshold>
            <left_val>0.6158788204193115</left_val>
            <right_val>-0.1400263011455536</right_val></_></_>
        <_>
          <!-- tree 12 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 4 9 6 -1.</_>
                <_>
                  8 6 9 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0689277201890945</threshold>
            <left_val>0.6765924096107483</left_val>
            <right_val>-0.1224988028407097</right_val></_></_></trees>
      <stage_threshold>-1.5416599512100220</stage_threshold>
      <parent>0</parent>
      <next>-1</next></_>
    <_>
      <!-- stage 2 -->
      <trees>
        <_>
          <!-- tree 0 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 0 15 9 -1.</_>
                <_>
                  1 3 15 3 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1822655051946640</threshold>
            <left_val>0.5961514711380005</left_val>
            <right_val>-0.3195483088493347</right_val></_></_>
        <_>
          <!-- tree 1 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  9 0 11 15 -1.</_>
                <_>
                  9 5 11 5 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.2893281877040863</threshold>
            <left_val>-0.0240151602774858</left_val>
            <right_val>0.3762707114219666</right_val></_></_>
        <_>
          <!-- tree 2 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 8 3 4 -1.</_>
                <_>
                  0 9 3 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-4.2456621304154396e-003</threshold>
            <left_val>-0.7117397785186768</left_val>
            <right_val>0.1214720010757446</right_val></_></_>
        <_>
          <!-- tree 3 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 9 12 6 -1.</_>
                <_>
                  7 12 12 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0545681491494179</threshold>
            <left_val>-0.1822118014097214</left_val>
            <right_val>0.4597271978855133</right_val></_></_>
        <_>
          <!-- tree 4 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 5 2 6 -1.</_>
                <_>
                  0 7 2 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-4.4434829615056515e-003</threshold>
            <left_val>-0.5354676842689514</left_val>
            <right_val>0.1655835956335068</right_val></_></_>
        <_>
          <!-- tree 5 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  14 0 2 11 -1.</_>
                <_>
                  14 0 1 11 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0204923897981644</threshold>
            <left_val>-0.8770608901977539</left_val>
            <right_val>-0.0151639897376299</right_val></_></_>
        <_>
          <!-- tree 6 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 9 2 6 -1.</_>
                <_>
                  0 11 2 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-4.8007471486926079e-003</threshold>
            <left_val>-0.5431423187255859</left_val>
            <right_val>0.1356130987405777</right_val></_></_>
        <_>
          <!-- tree 7 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 0 24 12 -1.</_>
                <_>
                  13 0 12 6 2.</_>
                <_>
                  1 6 12 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1226660013198853</threshold>
            <left_val>0.1124472022056580</left_val>
            <right_val>-0.6574401855468750</right_val></_></_>
        <_>
          <!-- tree 8 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 3 4 -1.</_>
                <_>
                  0 2 3 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.5254979088203982e-005</threshold>
            <left_val>0.1536739021539688</left_val>
            <right_val>-0.3841981887817383</right_val></_></_>
        <_>
          <!-- tree 9 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 3 14 6 -1.</_>
                <_>
                  7 5 14 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1131860986351967</threshold>
            <left_val>0.4927195906639099</left_val>
            <right_val>-0.1094276010990143</right_val></_></_>
        <_>
          <!-- tree 10 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 3 15 4 -1.</_>
                <_>
                  5 5 15 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0792956873774529</threshold>
            <left_val>-0.1647461056709290</left_val>
            <right_val>0.4720517992973328</right_val></_></_>
        <_>
          <!-- tree 11 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 13 12 1 -1.</_>
                <_>
                  12 13 4 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0148729300126433</threshold>
            <left_val>0.0740143731236458</left_val>
            <right_val>-0.5926275849342346</right_val></_></_>
        <_>
          <!-- tree 12 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 3 12 6 -1.</_>
                <_>
                  8 3 6 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0538397915661335</threshold>
            <left_val>-0.2111544013023377</left_val>
            <right_val>0.3537890911102295</right_val></_></_>
        <_>
          <!-- tree 13 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 2 4 9 -1.</_>
                <_>
                  21 2 2 9 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0759592726826668</threshold>
            <left_val>0.5931801795959473</left_val>
            <right_val>-0.1090068966150284</right_val></_></_>
        <_>
          <!-- tree 14 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 2 13 6 -1.</_>
                <_>
                  6 4 13 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1158166006207466</threshold>
            <left_val>-0.0984905213117599</left_val>
            <right_val>0.5940334796905518</right_val></_></_>
        <_>
          <!-- tree 15 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 3 15 2 -1.</_>
                <_>
                  5 4 15 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0160826407372952</threshold>
            <left_val>0.3794195055961609</left_val>
            <right_val>-0.1654051989316940</right_val></_></_>
        <_>
          <!-- tree 16 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 11 5 3 -1.</_>
                <_>
                  0 12 5 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>6.7254770547151566e-003</threshold>
            <left_val>0.0937571078538895</left_val>
            <right_val>-0.7060937881469727</right_val></_></_>
        <_>
          <!-- tree 17 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  14 0 11 14 -1.</_>
                <_>
                  14 7 11 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0611884109675884</threshold>
            <left_val>-0.4381029903888702</left_val>
            <right_val>0.0796229690313339</right_val></_></_>
        <_>
          <!-- tree 18 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 10 4 1 -1.</_>
                <_>
                  3 11 2 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-5.5152038112282753e-003</threshold>
            <left_val>-0.7019357085227966</left_val>
            <right_val>0.0781789273023605</right_val></_></_>
        <_>
          <!-- tree 19 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 0 24 12 -1.</_>
                <_>
                  13 0 12 6 2.</_>
                <_>
                  1 6 12 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1988534033298492</threshold>
            <left_val>-0.6726130843162537</left_val>
            <right_val>0.0560497716069222</right_val></_></_>
        <_>
          <!-- tree 20 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 4 6 6 -1.</_>
                <_>
                  0 4 3 3 2.</_>
                <_>
                  3 7 3 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0194473192095757</threshold>
            <left_val>-0.1165110021829605</left_val>
            <right_val>0.4151527881622315</right_val></_></_>
        <_>
          <!-- tree 21 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  23 9 1 4 -1.</_>
                <_>
                  22 10 1 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-4.6706218272447586e-003</threshold>
            <left_val>-0.6090158820152283</left_val>
            <right_val>0.1049979999661446</right_val></_></_>
        <_>
          <!-- tree 22 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 9 4 1 -1.</_>
                <_>
                  3 10 2 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>4.0827528573572636e-003</threshold>
            <left_val>0.0689968466758728</left_val>
            <right_val>-0.5490871071815491</right_val></_></_>
        <_>
          <!-- tree 23 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  16 4 8 10 -1.</_>
                <_>
                  20 4 4 5 2.</_>
                <_>
                  16 9 4 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0201979596167803</threshold>
            <left_val>0.2884930074214935</left_val>
            <right_val>-0.1804888993501663</right_val></_></_>
        <_>
          <!-- tree 24 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 7 9 6 -1.</_>
                <_>
                  8 9 9 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0504430681467056</threshold>
            <left_val>-0.0897706300020218</left_val>
            <right_val>0.4609920978546143</right_val></_></_>
        <_>
          <!-- tree 25 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  11 12 4 3 -1.</_>
                <_>
                  12 12 2 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.0139562226831913e-003</threshold>
            <left_val>-0.4820869863033295</left_val>
            <right_val>0.0588099807500839</right_val></_></_>
        <_>
          <!-- tree 26 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 3 3 -1.</_>
                <_>
                  0 1 3 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>8.5741933435201645e-003</threshold>
            <left_val>0.0568646714091301</left_val>
            <right_val>-0.5979083180427551</right_val></_></_>
        <_>
          <!-- tree 27 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  11 9 14 2 -1.</_>
                <_>
                  11 9 7 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0121624497696757</threshold>
            <left_val>0.1446305960416794</left_val>
            <right_val>-0.1168325990438461</right_val></_></_>
        <_>
          <!-- tree 28 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  9 13 4 1 -1.</_>
                <_>
                  10 13 2 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-1.9329390488564968e-003</threshold>
            <left_val>-0.5450860857963562</left_val>
            <right_val>0.0609783902764320</right_val></_></_></trees>
      <stage_threshold>-1.5324319601058960</stage_threshold>
      <parent>1</parent>
      <next>-1</next></_>
    <_>
      <!-- stage 3 -->
      <trees>
        <_>
          <!-- tree 0 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 8 6 -1.</_>
                <_>
                  0 3 8 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0320550985634327</threshold>
            <left_val>0.4280030131340027</left_val>
            <right_val>-0.4258942902088165</right_val></_></_>
        <_>
          <!-- tree 1 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 1 15 6 -1.</_>
                <_>
                  5 3 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1231034025549889</threshold>
            <left_val>0.5121241807937622</left_val>
            <right_val>-0.2055584937334061</right_val></_></_>
        <_>
          <!-- tree 2 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 7 4 3 -1.</_>
                <_>
                  0 8 4 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.8588259853422642e-003</threshold>
            <left_val>-0.7101820707321167</left_val>
            <right_val>0.1075906008481979</right_val></_></_>
        <_>
          <!-- tree 3 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 3 20 6 -1.</_>
                <_>
                  8 3 10 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0977141335606575</threshold>
            <left_val>-0.1477957963943481</left_val>
            <right_val>0.4571174979209900</right_val></_></_>
        <_>
          <!-- tree 4 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 6 24 5 -1.</_>
                <_>
                  6 6 12 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0527394600212574</threshold>
            <left_val>0.3743767142295837</left_val>
            <right_val>-0.2183827012777329</right_val></_></_>
        <_>
          <!-- tree 5 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 5 9 6 -1.</_>
                <_>
                  8 7 9 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0584189109504223</threshold>
            <left_val>-0.1386294066905975</left_val>
            <right_val>0.4993282854557037</right_val></_></_>
        <_>
          <!-- tree 6 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 2 14 4 -1.</_>
                <_>
                  5 4 14 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0887569189071655</threshold>
            <left_val>-0.1315895020961762</left_val>
            <right_val>0.6216561794281006</right_val></_></_>
        <_>
          <!-- tree 7 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 8 3 6 -1.</_>
                <_>
                  22 10 3 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0145876696333289</threshold>
            <left_val>0.0915696695446968</left_val>
            <right_val>-0.5815675258636475</right_val></_></_>
        <_>
          <!-- tree 8 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 9 18 2 -1.</_>
                <_>
                  3 9 9 1 2.</_>
                <_>
                  12 10 9 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1044600009918213</threshold>
            <left_val>5.2740359678864479e-003</left_val>
            <right_val>-5.6644519531250000e+004</right_val></_></_>
        <_>
          <!-- tree 9 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 8 3 6 -1.</_>
                <_>
                  22 10 3 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-8.4322784096002579e-003</threshold>
            <left_val>-0.4866046011447907</left_val>
            <right_val>0.0979617610573769</right_val></_></_>
        <_>
          <!-- tree 10 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 24 6 -1.</_>
                <_>
                  0 0 12 3 2.</_>
                <_>
                  12 3 12 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0406559295952320</threshold>
            <left_val>0.1391579061746597</left_val>
            <right_val>-0.3656015992164612</right_val></_></_>
        <_>
          <!-- tree 11 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  14 11 4 4 -1.</_>
                <_>
                  15 11 2 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>6.3366899266839027e-003</threshold>
            <left_val>0.0641745477914810</left_val>
            <right_val>-0.6245471239089966</right_val></_></_>
        <_>
          <!-- tree 12 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 5 15 2 -1.</_>
                <_>
                  5 6 15 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0158455893397331</threshold>
            <left_val>-0.1791914999485016</left_val>
            <right_val>0.2889905869960785</right_val></_></_>
        <_>
          <!-- tree 13 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 4 15 6 -1.</_>
                <_>
                  5 6 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0746863335371017</threshold>
            <left_val>0.5424023270606995</left_val>
            <right_val>-0.1314727962017059</right_val></_></_>
        <_>
          <!-- tree 14 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 7 2 3 -1.</_>
                <_>
                  0 8 2 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>4.7695250250399113e-003</threshold>
            <left_val>0.0965340435504913</left_val>
            <right_val>-0.6561154723167419</right_val></_></_>
        <_>
          <!-- tree 15 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 6 13 6 -1.</_>
                <_>
                  6 8 13 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0535226687788963</threshold>
            <left_val>0.4636800885200501</left_val>
            <right_val>-0.1353430002927780</right_val></_></_>
        <_>
          <!-- tree 16 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 11 6 3 -1.</_>
                <_>
                  0 12 6 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-6.3648750074207783e-003</threshold>
            <left_val>-0.6624563932418823</left_val>
            <right_val>0.0684857368469238</right_val></_></_>
        <_>
          <!-- tree 17 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  11 0 14 14 -1.</_>
                <_>
                  11 7 14 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.2447337061166763</threshold>
            <left_val>-0.8181337118148804</left_val>
            <right_val>0.0450799688696861</right_val></_></_>
        <_>
          <!-- tree 18 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 13 4 1 -1.</_>
                <_>
                  8 13 2 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.4634969886392355e-003</threshold>
            <left_val>-0.7681804895401001</left_val>
            <right_val>0.0495845898985863</right_val></_></_>
        <_>
          <!-- tree 19 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 9 13 6 -1.</_>
                <_>
                  6 11 13 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0358034893870354</threshold>
            <left_val>0.3749603927135468</left_val>
            <right_val>-0.1447928994894028</right_val></_></_>
        <_>
          <!-- tree 20 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 9 4 4 -1.</_>
                <_>
                  0 10 4 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.6720529682934284e-003</threshold>
            <left_val>-0.6127536296844482</left_val>
            <right_val>0.0935847163200378</right_val></_></_>
        <_>
          <!-- tree 21 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 0 4 6 -1.</_>
                <_>
                  21 3 4 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0132687101140618</threshold>
            <left_val>0.2863784134387970</left_val>
            <right_val>-0.2551889121532440</right_val></_></_>
        <_>
          <!-- tree 22 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 12 6 3 -1.</_>
                <_>
                  0 13 6 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-6.2518939375877380e-003</threshold>
            <left_val>-0.5896773934364319</left_val>
            <right_val>0.0677111670374870</right_val></_></_>
        <_>
          <!-- tree 23 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  16 11 4 3 -1.</_>
                <_>
                  17 11 2 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>7.3092570528388023e-003</threshold>
            <left_val>0.0272198095917702</left_val>
            <right_val>-0.5714861154556274</right_val></_></_>
        <_>
          <!-- tree 24 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 7 10 8 -1.</_>
                <_>
                  0 7 5 4 2.</_>
                <_>
                  5 11 5 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0258194394409657</threshold>
            <left_val>-0.1326007992029190</left_val>
            <right_val>0.3050251901149750</right_val></_></_>
        <_>
          <!-- tree 25 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 2 3 8 -1.</_>
                <_>
                  22 2 3 4 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0211078803986311</threshold>
            <left_val>0.1200629025697708</left_val>
            <right_val>-0.1475265026092529</right_val></_></_>
        <_>
          <!-- tree 26 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 3 16 4 -1.</_>
                <_>
                  9 3 8 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0408483408391476</threshold>
            <left_val>-0.1736883074045181</left_val>
            <right_val>0.2530446052551270</right_val></_></_>
        <_>
          <!-- tree 27 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 13 24 2 -1.</_>
                <_>
                  13 13 12 1 2.</_>
                <_>
                  1 14 12 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0179475992918015</threshold>
            <left_val>-0.7117617130279541</left_val>
            <right_val>0.0583698004484177</right_val></_></_>
        <_>
          <!-- tree 28 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 5 4 10 -1.</_>
                <_>
                  6 5 2 10 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0138895902782679</threshold>
            <left_val>-0.6778132915496826</left_val>
            <right_val>0.0435630008578300</right_val></_></_>
        <_>
          <!-- tree 29 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  13 7 2 6 -1.</_>
                <_>
                  11 9 2 2 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-9.8488982766866684e-003</threshold>
            <left_val>0.1479212939739227</left_val>
            <right_val>-0.0897465273737907</right_val></_></_>
        <_>
          <!-- tree 30 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 9 8 6 -1.</_>
                <_>
                  8 12 8 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0659847036004066</threshold>
            <left_val>0.5683801770210266</left_val>
            <right_val>-0.0681742578744888</right_val></_></_>
        <_>
          <!-- tree 31 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  24 7 1 4 -1.</_>
                <_>
                  24 8 1 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-1.8370660254731774e-003</threshold>
            <left_val>-0.4986937940120697</left_val>
            <right_val>0.0779643580317497</right_val></_></_>
        <_>
          <!-- tree 32 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 7 15 6 -1.</_>
                <_>
                  5 9 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0277651809155941</threshold>
            <left_val>0.2679949104785919</left_val>
            <right_val>-0.1382624953985214</right_val></_></_>
        <_>
          <!-- tree 33 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 8 4 3 -1.</_>
                <_>
                  21 9 4 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>9.9889356642961502e-003</threshold>
            <left_val>0.0445619411766529</left_val>
            <right_val>-0.7317379117012024</right_val></_></_></trees>
      <stage_threshold>-1.4849940538406372</stage_threshold>
      <parent>2</parent>
      <next>-1</next></_>
    <_>
      <!-- stage 4 -->
      <trees>
        <_>
          <!-- tree 0 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 2 15 4 -1.</_>
                <_>
                  5 3 15 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0456383489072323</threshold>
            <left_val>0.6275423169136047</left_val>
            <right_val>-0.2494937032461166</right_val></_></_>
        <_>
          <!-- tree 1 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 4 15 3 -1.</_>
                <_>
                  6 5 15 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0310676805675030</threshold>
            <left_val>0.6427816152572632</left_val>
            <right_val>-0.1671900004148483</right_val></_></_>
        <_>
          <!-- tree 2 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 3 2 12 -1.</_>
                <_>
                  0 3 1 6 2.</_>
                <_>
                  1 9 1 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>3.0193419661372900e-003</threshold>
            <left_val>-0.2399346977472305</left_val>
            <right_val>0.3676818013191223</right_val></_></_>
        <_>
          <!-- tree 3 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 3 11 4 -1.</_>
                <_>
                  7 4 11 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0315676406025887</threshold>
            <left_val>-0.1147691980004311</left_val>
            <right_val>0.5750172734260559</right_val></_></_>
        <_>
          <!-- tree 4 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 6 6 -1.</_>
                <_>
                  0 3 6 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-6.4146341755986214e-003</threshold>
            <left_val>0.2154625058174133</left_val>
            <right_val>-0.3768770098686218</right_val></_></_>
        <_>
          <!-- tree 5 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  24 3 1 12 -1.</_>
                <_>
                  24 7 1 4 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.7010860182344913e-003</threshold>
            <left_val>-0.4533824026584625</left_val>
            <right_val>0.0946888476610184</right_val></_></_>
        <_>
          <!-- tree 6 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 24 12 -1.</_>
                <_>
                  0 0 12 6 2.</_>
                <_>
                  12 6 12 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1890300065279007</threshold>
            <left_val>0.0801155269145966</left_val>
            <right_val>-0.7184885144233704</right_val></_></_>
        <_>
          <!-- tree 7 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 1 24 14 -1.</_>
                <_>
                  13 1 12 7 2.</_>
                <_>
                  1 8 12 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1293978989124298</threshold>
            <left_val>0.1093719005584717</left_val>
            <right_val>-0.5197048783302307</right_val></_></_>
        <_>
          <!-- tree 8 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 3 8 4 -1.</_>
                <_>
                  5 3 8 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0657683908939362</threshold>
            <left_val>0.5003104209899902</left_val>
            <right_val>-0.1238735020160675</right_val></_></_>
        <_>
          <!-- tree 9 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  24 9 1 4 -1.</_>
                <_>
                  23 10 1 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-4.0884059853851795e-003</threshold>
            <left_val>-0.5118011236190796</left_val>
            <right_val>0.0594223700463772</right_val></_></_>
        <_>
          <!-- tree 10 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 7 11 8 -1.</_>
                <_>
                  7 9 11 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0306642707437277</threshold>
            <left_val>0.2964648902416229</left_val>
            <right_val>-0.1741248071193695</right_val></_></_>
        <_>
          <!-- tree 11 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  24 9 1 4 -1.</_>
                <_>
                  23 10 1 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>2.7700960636138916e-003</threshold>
            <left_val>0.0846907272934914</left_val>
            <right_val>-0.4009515047073364</right_val></_></_>
        <_>
          <!-- tree 12 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 6 1 9 -1.</_>
                <_>
                  0 9 1 3 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-6.2402039766311646e-003</threshold>
            <left_val>-0.5560923218727112</left_val>
            <right_val>0.0800850465893745</right_val></_></_>
        <_>
          <!-- tree 13 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 2 9 3 -1.</_>
                <_>
                  8 3 9 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0105152595788240</threshold>
            <left_val>-0.1309404969215393</left_val>
            <right_val>0.3612711131572723</right_val></_></_>
        <_>
          <!-- tree 14 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  9 4 7 4 -1.</_>
                <_>
                  9 5 7 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0181792695075274</threshold>
            <left_val>-0.1245180964469910</left_val>
            <right_val>0.3556562960147858</right_val></_></_>
        <_>
          <!-- tree 15 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 0 3 2 -1.</_>
                <_>
                  22 1 3 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.3037698380649090e-003</threshold>
            <left_val>0.0638220235705376</left_val>
            <right_val>-0.6178466081619263</right_val></_></_>
        <_>
          <!-- tree 16 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 13 14 -1.</_>
                <_>
                  0 7 13 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1947806030511856</threshold>
            <left_val>-0.7228901982307434</left_val>
            <right_val>0.0475768186151981</right_val></_></_>
        <_>
          <!-- tree 17 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 9 4 4 -1.</_>
                <_>
                  21 10 4 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>7.2230421938002110e-003</threshold>
            <left_val>0.0453382283449173</left_val>
            <right_val>-0.5460836291313171</right_val></_></_>
        <_>
          <!-- tree 18 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 9 4 4 -1.</_>
                <_>
                  0 10 4 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.0375838764011860e-003</threshold>
            <left_val>0.0804468318820000</left_val>
            <right_val>-0.4817472100257874</right_val></_></_>
        <_>
          <!-- tree 19 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 9 1 4 -1.</_>
                <_>
                  21 10 1 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-7.1934829466044903e-003</threshold>
            <left_val>-0.5018991827964783</left_val>
            <right_val>0.0128700295463204</right_val></_></_>
        <_>
          <!-- tree 20 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 9 4 1 -1.</_>
                <_>
                  4 10 2 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-4.4941599480807781e-003</threshold>
            <left_val>-0.5862709879875183</left_val>
            <right_val>0.0634675025939941</right_val></_></_>
        <_>
          <!-- tree 21 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  15 3 10 12 -1.</_>
                <_>
                  20 3 5 6 2.</_>
                <_>
                  15 9 5 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0874131396412849</threshold>
            <left_val>-0.0676202401518822</left_val>
            <right_val>0.4797031879425049</right_val></_></_>
        <_>
          <!-- tree 22 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 8 14 6 -1.</_>
                <_>
                  0 8 7 3 2.</_>
                <_>
                  7 11 7 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0377015694975853</threshold>
            <left_val>0.3913342952728272</left_val>
            <right_val>-0.0978809297084808</right_val></_></_>
        <_>
          <!-- tree 23 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  23 10 1 4 -1.</_>
                <_>
                  22 11 1 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>3.0070370994508266e-003</threshold>
            <left_val>0.0484924912452698</left_val>
            <right_val>-0.2472224980592728</right_val></_></_>
        <_>
          <!-- tree 24 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 3 10 12 -1.</_>
                <_>
                  0 3 5 6 2.</_>
                <_>
                  5 9 5 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0974098667502403</threshold>
            <left_val>-0.0669010728597641</left_val>
            <right_val>0.5813519954681397</right_val></_></_>
        <_>
          <!-- tree 25 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  23 0 2 1 -1.</_>
                <_>
                  23 0 1 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-4.0166568942368031e-003</threshold>
            <left_val>-0.5456554293632507</left_val>
            <right_val>0.0363924615085125</right_val></_></_>
        <_>
          <!-- tree 26 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 3 9 3 -1.</_>
                <_>
                  8 4 9 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0104924896731973</threshold>
            <left_val>-0.1087466031312943</left_val>
            <right_val>0.3253425061702728</right_val></_></_>
        <_>
          <!-- tree 27 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 5 11 4 -1.</_>
                <_>
                  7 6 11 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0249659996479750</threshold>
            <left_val>-0.1137896031141281</left_val>
            <right_val>0.3056510984897614</right_val></_></_>
        <_>
          <!-- tree 28 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 7 20 8 -1.</_>
                <_>
                  12 7 10 8 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1301030069589615</threshold>
            <left_val>-0.1220476999878883</left_val>
            <right_val>0.3035365939140320</right_val></_></_>
        <_>
          <!-- tree 29 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  12 5 9 8 -1.</_>
                <_>
                  15 5 3 8 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0843720883131027</threshold>
            <left_val>-0.6943122148513794</left_val>
            <right_val>0.0178856607526541</right_val></_></_>
        <_>
          <!-- tree 30 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 0 1 2 -1.</_>
                <_>
                  2 0 1 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-2.9267850331962109e-003</threshold>
            <left_val>-0.5401834845542908</left_val>
            <right_val>0.0564073212444782</right_val></_></_>
        <_>
          <!-- tree 31 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 3 4 4 -1.</_>
                <_>
                  22 4 2 4 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0206745099276304</threshold>
            <left_val>0.4180921018123627</left_val>
            <right_val>-0.0685340464115143</right_val></_></_>
        <_>
          <!-- tree 32 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  4 5 9 8 -1.</_>
                <_>
                  7 5 3 8 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0514506399631500</threshold>
            <left_val>-0.6289098262786865</left_val>
            <right_val>0.0529876984655857</right_val></_></_>
        <_>
          <!-- tree 33 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 10 3 2 -1.</_>
                <_>
                  22 10 3 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-8.9261196553707123e-003</threshold>
            <left_val>-0.4644356071949005</left_val>
            <right_val>0.0236550793051720</right_val></_></_>
        <_>
          <!-- tree 34 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 5 24 5 -1.</_>
                <_>
                  6 5 12 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0830484703183174</threshold>
            <left_val>0.3304196894168854</left_val>
            <right_val>-0.0938697606325150</right_val></_></_>
        <_>
          <!-- tree 35 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  9 7 7 3 -1.</_>
                <_>
                  9 8 7 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0113369999453425</threshold>
            <left_val>-0.0979600325226784</left_val>
            <right_val>0.3484053015708923</right_val></_></_>
        <_>
          <!-- tree 36 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 0 20 9 -1.</_>
                <_>
                  7 0 10 9 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0827779024839401</threshold>
            <left_val>-0.1159391030669212</left_val>
            <right_val>0.2680957913398743</right_val></_></_>
        <_>
          <!-- tree 37 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  11 2 8 9 -1.</_>
                <_>
                  13 2 4 9 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0478848814964294</threshold>
            <left_val>-0.6079211235046387</left_val>
            <right_val>0.0222362894564867</right_val></_></_>
        <_>
          <!-- tree 38 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 8 4 1 -1.</_>
                <_>
                  2 9 2 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-3.8582698907703161e-003</threshold>
            <left_val>-0.4688901007175446</left_val>
            <right_val>0.0554540418088436</right_val></_></_>
        <_>
          <!-- tree 39 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  19 5 6 10 -1.</_>
                <_>
                  22 5 3 5 2.</_>
                <_>
                  19 10 3 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0334531292319298</threshold>
            <left_val>0.4192667901515961</left_val>
            <right_val>-0.0631088465452194</right_val></_></_>
        <_>
          <!-- tree 40 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 5 6 10 -1.</_>
                <_>
                  0 5 3 5 2.</_>
                <_>
                  3 10 3 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0126036396250129</threshold>
            <left_val>-0.1227632984519005</left_val>
            <right_val>0.2175220996141434</right_val></_></_>
        <_>
          <!-- tree 41 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  10 10 9 2 -1.</_>
                <_>
                  13 10 3 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0262600891292095</threshold>
            <left_val>0.0162896700203419</left_val>
            <right_val>-0.5688759088516235</right_val></_></_></trees>
      <stage_threshold>-1.5437099933624268</stage_threshold>
      <parent>3</parent>
      <next>-1</next></_>
    <_>
      <!-- stage 5 -->
      <trees>
        <_>
          <!-- tree 0 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 2 15 2 -1.</_>
                <_>
                  5 3 15 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0197793096303940</threshold>
            <left_val>0.4472095072269440</left_val>
            <right_val>-0.2573797106742859</right_val></_></_>
        <_>
          <!-- tree 1 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 4 4 3 -1.</_>
                <_>
                  21 4 2 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-9.1997236013412476e-003</threshold>
            <left_val>0.4397894144058228</left_val>
            <right_val>-0.1382309943437576</right_val></_></_>
        <_>
          <!-- tree 2 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 5 15 4 -1.</_>
                <_>
                  1 6 15 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0222425796091557</threshold>
            <left_val>-0.1761150062084198</left_val>
            <right_val>0.3406811952590942</right_val></_></_>
        <_>
          <!-- tree 3 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 5 4 10 -1.</_>
                <_>
                  23 5 2 5 2.</_>
                <_>
                  21 10 2 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.3650550544261932e-003</threshold>
            <left_val>-0.1087490990757942</left_val>
            <right_val>0.1631094068288803</right_val></_></_>
        <_>
          <!-- tree 4 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 21 8 -1.</_>
                <_>
                  7 0 7 8 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.7425013780593872</threshold>
            <left_val>4.6233131433837116e-004</left_val>
            <right_val>-1.4172740478515625e+003</right_val></_></_>
        <_>
          <!-- tree 5 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 0 15 6 -1.</_>
                <_>
                  5 2 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1289999037981033</threshold>
            <left_val>0.4220936894416809</left_val>
            <right_val>-0.1264209002256393</right_val></_></_>
        <_>
          <!-- tree 6 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 2 21 3 -1.</_>
                <_>
                  9 2 7 3 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.4214023947715759</threshold>
            <left_val>3.0299068894237280e-003</left_val>
            <right_val>1.2071870117187500e+003</right_val></_></_>
        <_>
          <!-- tree 7 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 3 15 6 -1.</_>
                <_>
                  6 5 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1431712061166763</threshold>
            <left_val>0.5070012211799622</left_val>
            <right_val>-0.1091170981526375</right_val></_></_>
        <_>
          <!-- tree 8 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 5 4 10 -1.</_>
                <_>
                  0 5 2 5 2.</_>
                <_>
                  2 10 2 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>4.4366121292114258e-003</threshold>
            <left_val>-0.2218814045190811</left_val>
            <right_val>0.2446105927228928</right_val></_></_>
        <_>
          <!-- tree 9 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 10 1 4 -1.</_>
                <_>
                  21 11 1 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>3.0177310109138489e-003</threshold>
            <left_val>0.1072233989834786</left_val>
            <right_val>-0.3470205068588257</right_val></_></_>
        <_>
          <!-- tree 10 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 7 3 4 -1.</_>
                <_>
                  0 8 3 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-4.8220949247479439e-003</threshold>
            <left_val>-0.6534119248390198</left_val>
            <right_val>0.0803434476256371</right_val></_></_>
        <_>
          <!-- tree 11 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 3 24 3 -1.</_>
                <_>
                  7 3 12 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0362788289785385</threshold>
            <left_val>-0.2207075059413910</left_val>
            <right_val>0.2242490947246552</right_val></_></_>
        <_>
          <!-- tree 12 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 24 13 -1.</_>
                <_>
                  6 0 12 13 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1675994992256165</threshold>
            <left_val>0.4059072136878967</left_val>
            <right_val>-0.1054169982671738</right_val></_></_>
        <_>
          <!-- tree 13 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 3 15 4 -1.</_>
                <_>
                  5 4 15 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0509919412434101</threshold>
            <left_val>0.3452283143997192</left_val>
            <right_val>-0.1206474006175995</right_val></_></_>
        <_>
          <!-- tree 14 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 4 14 3 -1.</_>
                <_>
                  5 5 14 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0161635298281908</threshold>
            <left_val>-0.1465175002813339</left_val>
            <right_val>0.3696750998497009</right_val></_></_>
        <_>
          <!-- tree 15 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  23 8 2 4 -1.</_>
                <_>
                  22 9 2 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>8.3268675953149796e-003</threshold>
            <left_val>0.0642398297786713</left_val>
            <right_val>-0.5490669012069702</right_val></_></_>
        <_>
          <!-- tree 16 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 8 4 2 -1.</_>
                <_>
                  3 9 2 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-7.2614871896803379e-003</threshold>
            <left_val>-0.6105815768241882</left_val>
            <right_val>0.0538330897688866</right_val></_></_>
        <_>
          <!-- tree 17 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  9 8 9 6 -1.</_>
                <_>
                  9 10 9 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0427855290472507</threshold>
            <left_val>0.3435507118701935</left_val>
            <right_val>-0.1058441996574402</right_val></_></_>
        <_>
          <!-- tree 18 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 11 14 -1.</_>
                <_>
                  0 7 11 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0558885596692562</threshold>
            <left_val>-0.4213463068008423</left_val>
            <right_val>0.0855342373251915</right_val></_></_>
        <_>
          <!-- tree 19 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 0 24 12 -1.</_>
                <_>
                  13 0 12 6 2.</_>
                <_>
                  1 6 12 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1077039018273354</threshold>
            <left_val>0.0796676799654961</left_val>
            <right_val>-0.5105268955230713</right_val></_></_>
        <_>
          <!-- tree 20 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 3 4 -1.</_>
                <_>
                  0 2 3 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-4.8622798203723505e-005</threshold>
            <left_val>0.1164970993995667</left_val>
            <right_val>-0.3022361099720001</right_val></_></_>
        <_>
          <!-- tree 21 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 2 15 4 -1.</_>
                <_>
                  7 3 15 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0272718109190464</threshold>
            <left_val>-0.0831976532936096</left_val>
            <right_val>0.3410704135894775</right_val></_></_>
        <_>
          <!-- tree 22 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 10 4 1 -1.</_>
                <_>
                  3 11 2 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>2.7942128945142031e-003</threshold>
            <left_val>0.0836139172315598</left_val>
            <right_val>-0.4521746933460236</right_val></_></_>
        <_>
          <!-- tree 23 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 11 4 4 -1.</_>
                <_>
                  21 12 4 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.9649557806551456e-003</threshold>
            <left_val>-0.5814967751502991</left_val>
            <right_val>0.0588471181690693</right_val></_></_>
        <_>
          <!-- tree 24 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 7 12 8 -1.</_>
                <_>
                  1 7 6 4 2.</_>
                <_>
                  7 11 6 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0364551208913326</threshold>
            <left_val>0.2987614870071411</left_val>
            <right_val>-0.1163965016603470</right_val></_></_>
        <_>
          <!-- tree 25 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 8 11 6 -1.</_>
                <_>
                  7 11 11 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0560359284281731</threshold>
            <left_val>-0.1189749017357826</left_val>
            <right_val>0.3490499854087830</right_val></_></_>
        <_>
          <!-- tree 26 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 13 2 2 -1.</_>
                <_>
                  0 14 2 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.9068910041823983e-003</threshold>
            <left_val>0.0623399801552296</left_val>
            <right_val>-0.5222734212875366</right_val></_></_>
        <_>
          <!-- tree 27 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  10 3 8 6 -1.</_>
                <_>
                  12 3 4 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0314803011715412</threshold>
            <left_val>-0.5988280177116394</left_val>
            <right_val>0.0221100505441427</right_val></_></_>
        <_>
          <!-- tree 28 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 3 8 6 -1.</_>
                <_>
                  9 3 4 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0291779898107052</threshold>
            <left_val>-0.7628328204154968</left_val>
            <right_val>0.0378519818186760</right_val></_></_>
        <_>
          <!-- tree 29 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 6 3 3 -1.</_>
                <_>
                  22 7 3 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>9.3441819772124290e-003</threshold>
            <left_val>0.0293787997215986</left_val>
            <right_val>-0.5464184880256653</right_val></_></_>
        <_>
          <!-- tree 30 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 5 5 6 -1.</_>
                <_>
                  0 7 5 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.2941689928993583e-003</threshold>
            <left_val>-0.2152619063854218</left_val>
            <right_val>0.1293071061372757</right_val></_></_>
        <_>
          <!-- tree 31 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 7 9 6 -1.</_>
                <_>
                  8 9 9 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0399527512490749</threshold>
            <left_val>-0.0815632417798042</left_val>
            <right_val>0.3440327942371368</right_val></_></_>
        <_>
          <!-- tree 32 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 0 20 13 -1.</_>
                <_>
                  12 0 10 13 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.2579689919948578</threshold>
            <left_val>-0.0829713121056557</left_val>
            <right_val>0.2971759140491486</right_val></_></_>
        <_>
          <!-- tree 33 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  19 3 6 4 -1.</_>
                <_>
                  22 3 3 2 2.</_>
                <_>
                  19 5 3 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>8.3975978195667267e-003</threshold>
            <left_val>-0.1235759034752846</left_val>
            <right_val>0.3130742907524109</right_val></_></_>
        <_>
          <!-- tree 34 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 8 12 3 -1.</_>
                <_>
                  9 8 6 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0210481006652117</threshold>
            <left_val>0.2553890943527222</left_val>
            <right_val>-0.1077592000365257</right_val></_></_>
        <_>
          <!-- tree 35 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 3 2 5 -1.</_>
                <_>
                  22 3 1 5 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>0.0184192396700382</threshold>
            <left_val>-0.0348858311772347</left_val>
            <right_val>0.4613004922866821</right_val></_></_>
        <_>
          <!-- tree 36 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 7 8 8 -1.</_>
                <_>
                  8 7 4 8 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0335993207991123</threshold>
            <left_val>-0.6385626196861267</left_val>
            <right_val>0.0432357601821423</right_val></_></_>
        <_>
          <!-- tree 37 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  20 0 3 1 -1.</_>
                <_>
                  21 1 1 1 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-5.9369178488850594e-003</threshold>
            <left_val>-0.3381235003471375</left_val>
            <right_val>0.0261388104408979</right_val></_></_>
        <_>
          <!-- tree 38 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 0 1 3 -1.</_>
                <_>
                  4 1 1 1 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>7.4244509451091290e-003</threshold>
            <left_val>0.0416494794189930</left_val>
            <right_val>-0.6013135910034180</right_val></_></_>
        <_>
          <!-- tree 39 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 11 1 3 -1.</_>
                <_>
                  21 12 1 1 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-3.8341500330716372e-003</threshold>
            <left_val>-0.3147934973239899</left_val>
            <right_val>0.0227260906249285</right_val></_></_>
        <_>
          <!-- tree 40 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 4 4 3 -1.</_>
                <_>
                  3 4 2 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.9263929724693298e-003</threshold>
            <left_val>-0.0845179632306099</left_val>
            <right_val>0.2986125946044922</right_val></_></_>
        <_>
          <!-- tree 41 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  19 4 6 8 -1.</_>
                <_>
                  22 4 3 4 2.</_>
                <_>
                  19 8 3 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0194444190710783</threshold>
            <left_val>0.2213757932186127</left_val>
            <right_val>-0.0513583682477474</right_val></_></_>
        <_>
          <!-- tree 42 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 4 8 8 -1.</_>
                <_>
                  0 4 4 4 2.</_>
                <_>
                  4 8 4 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0187752693891525</threshold>
            <left_val>-0.1223364025354385</left_val>
            <right_val>0.2647691071033478</right_val></_></_>
        <_>
          <!-- tree 43 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 11 1 3 -1.</_>
                <_>
                  21 12 1 1 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>6.4857508987188339e-003</threshold>
            <left_val>0.0205634497106075</left_val>
            <right_val>-0.5246906280517578</right_val></_></_>
        <_>
          <!-- tree 44 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 1 24 14 -1.</_>
                <_>
                  0 1 12 7 2.</_>
                <_>
                  12 8 12 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.2598725855350494</threshold>
            <left_val>-0.6570193767547607</left_val>
            <right_val>0.0345496907830238</right_val></_></_>
        <_>
          <!-- tree 45 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  23 8 2 4 -1.</_>
                <_>
                  23 9 2 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.8150831609964371e-003</threshold>
            <left_val>-0.6595460772514343</left_val>
            <right_val>0.0302442405372858</right_val></_></_>
        <_>
          <!-- tree 46 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 3 15 4 -1.</_>
                <_>
                  5 4 15 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0261219404637814</threshold>
            <left_val>0.1870407015085220</left_val>
            <right_val>-0.1252924054861069</right_val></_></_>
        <_>
          <!-- tree 47 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 1 9 3 -1.</_>
                <_>
                  8 2 9 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.7821800000965595e-003</threshold>
            <left_val>0.2328509986400604</left_val>
            <right_val>-0.1182496026158333</right_val></_></_>
        <_>
          <!-- tree 48 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 8 2 4 -1.</_>
                <_>
                  0 9 2 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.9595640953630209e-003</threshold>
            <left_val>-0.4579938054084778</left_val>
            <right_val>0.0564655400812626</right_val></_></_>
        <_>
          <!-- tree 49 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  18 10 7 2 -1.</_>
                <_>
                  18 11 7 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0120882000774145</threshold>
            <left_val>-0.5189349055290222</left_val>
            <right_val>0.0244996603578329</right_val></_></_>
        <_>
          <!-- tree 50 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 11 12 4 -1.</_>
                <_>
                  6 12 12 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-8.8109169155359268e-003</threshold>
            <left_val>0.2570025026798248</left_val>
            <right_val>-0.0927671566605568</right_val></_></_>
        <_>
          <!-- tree 51 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  14 0 6 15 -1.</_>
                <_>
                  16 0 2 15 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0459428504109383</threshold>
            <left_val>-0.4479719102382660</left_val>
            <right_val>0.0299462303519249</right_val></_></_>
        <_>
          <!-- tree 52 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 10 7 2 -1.</_>
                <_>
                  0 11 7 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0100041404366493</threshold>
            <left_val>-0.6149634122848511</left_val>
            <right_val>0.0364212691783905</right_val></_></_>
        <_>
          <!-- tree 53 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  15 5 6 6 -1.</_>
                <_>
                  18 5 3 3 2.</_>
                <_>
                  15 8 3 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0116753997281194</threshold>
            <left_val>0.1172877028584480</left_val>
            <right_val>-0.0613474808633327</right_val></_></_>
        <_>
          <!-- tree 54 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 0 6 15 -1.</_>
                <_>
                  7 0 2 15 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0524668507277966</threshold>
            <left_val>-0.7613652944564819</left_val>
            <right_val>0.0306894704699516</right_val></_></_>
        <_>
          <!-- tree 55 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 7 9 4 -1.</_>
                <_>
                  8 8 9 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0182263404130936</threshold>
            <left_val>-0.0854801833629608</left_val>
            <right_val>0.2695373892784119</right_val></_></_>
        <_>
          <!-- tree 56 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 6 10 6 -1.</_>
                <_>
                  7 8 10 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0452684201300144</threshold>
            <left_val>0.3264470100402832</left_val>
            <right_val>-0.0773756429553032</right_val></_></_>
        <_>
          <!-- tree 57 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  19 11 1 3 -1.</_>
                <_>
                  18 12 1 1 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-8.1426883116364479e-003</threshold>
            <left_val>-0.4582937955856323</left_val>
            <right_val>9.3973511829972267e-003</right_val></_></_>
        <_>
          <!-- tree 58 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 11 3 1 -1.</_>
                <_>
                  7 12 1 1 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-5.3349281661212444e-003</threshold>
            <left_val>-0.5775498151779175</left_val>
            <right_val>0.0352523885667324</right_val></_></_>
        <_>
          <!-- tree 59 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  16 10 4 1 -1.</_>
                <_>
                  16 10 2 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-1.0754769900813699e-003</threshold>
            <left_val>0.1434753984212875</left_val>
            <right_val>-0.1015762984752655</right_val></_></_>
        <_>
          <!-- tree 60 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 1 2 -1.</_>
                <_>
                  0 1 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-3.5198600962758064e-003</threshold>
            <left_val>-0.6082041263580322</left_val>
            <right_val>0.0328880697488785</right_val></_></_>
        <_>
          <!-- tree 61 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 1 9 3 -1.</_>
                <_>
                  8 2 9 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0112483501434326</threshold>
            <left_val>-0.0905500426888466</left_val>
            <right_val>0.2323783040046692</right_val></_></_>
        <_>
          <!-- tree 62 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 6 5 3 -1.</_>
                <_>
                  0 7 5 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0119920196011662</threshold>
            <left_val>-0.5705332159996033</left_val>
            <right_val>0.0367036312818527</right_val></_></_>
        <_>
          <!-- tree 63 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 8 1 4 -1.</_>
                <_>
                  20 9 1 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0121055301278830</threshold>
            <left_val>-0.7086269259452820</left_val>
            <right_val>4.4598700478672981e-003</right_val></_></_></trees>
      <stage_threshold>-1.5637760162353516</stage_threshold>
      <parent>4</parent>
      <next>-1</next></_>
    <_>
      <!-- stage 6 -->
      <trees>
        <_>
          <!-- tree 0 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 1 15 6 -1.</_>
                <_>
                  5 3 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1112890988588333</threshold>
            <left_val>0.5214446783065796</left_val>
            <right_val>-0.2762526869773865</right_val></_></_>
        <_>
          <!-- tree 1 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  23 0 2 2 -1.</_>
                <_>
                  24 0 1 1 2.</_>
                <_>
                  23 1 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-3.1310080084949732e-003</threshold>
            <left_val>-0.6073393225669861</left_val>
            <right_val>0.0243980996310711</right_val></_></_>
        <_>
          <!-- tree 2 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 3 15 6 -1.</_>
                <_>
                  3 5 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0975013524293900</threshold>
            <left_val>0.5489286780357361</left_val>
            <right_val>-0.1652427017688751</right_val></_></_>
        <_>
          <!-- tree 3 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  19 0 6 9 -1.</_>
                <_>
                  19 3 6 3 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0652247071266174</threshold>
            <left_val>0.3402006924152374</left_val>
            <right_val>-0.2693930864334106</right_val></_></_>
        <_>
          <!-- tree 4 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 2 15 6 -1.</_>
                <_>
                  5 4 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1191802993416786</threshold>
            <left_val>-0.1123576015233994</left_val>
            <right_val>0.6395980119705200</right_val></_></_>
        <_>
          <!-- tree 5 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  17 3 8 3 -1.</_>
                <_>
                  17 4 8 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0140629801899195</threshold>
            <left_val>0.3342761993408203</left_val>
            <right_val>-0.1284538954496384</right_val></_></_>
        <_>
          <!-- tree 6 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  4 3 8 4 -1.</_>
                <_>
                  4 3 8 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0564025007188320</threshold>
            <left_val>0.3790628910064697</left_val>
            <right_val>-0.1554156988859177</right_val></_></_>
        <_>
          <!-- tree 7 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  16 4 6 2 -1.</_>
                <_>
                  16 5 6 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>7.1742408908903599e-003</threshold>
            <left_val>-0.1133088991045952</left_val>
            <right_val>0.1825089007616043</right_val></_></_>
        <_>
          <!-- tree 8 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 24 12 -1.</_>
                <_>
                  0 0 12 6 2.</_>
                <_>
                  12 6 12 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1259752959012985</threshold>
            <left_val>0.0945485532283783</left_val>
            <right_val>-0.4853444099426270</right_val></_></_>
        <_>
          <!-- tree 9 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 10 3 2 -1.</_>
                <_>
                  22 10 3 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>5.9177991934120655e-003</threshold>
            <left_val>0.0701321363449097</left_val>
            <right_val>-0.5377039909362793</right_val></_></_>
        <_>
          <!-- tree 10 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 3 6 6 -1.</_>
                <_>
                  4 5 6 2 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0439277403056622</threshold>
            <left_val>0.3950741887092590</left_val>
            <right_val>-0.1080185994505882</right_val></_></_>
        <_>
          <!-- tree 11 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  14 4 9 1 -1.</_>
                <_>
                  17 7 3 1 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-9.8314704373478889e-003</threshold>
            <left_val>0.0959606170654297</left_val>
            <right_val>-0.0468075983226299</right_val></_></_>
        <_>
          <!-- tree 12 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 10 2 3 -1.</_>
                <_>
                  3 10 1 3 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>5.6353402324020863e-003</threshold>
            <left_val>0.0943416282534599</left_val>
            <right_val>-0.5247716903686523</right_val></_></_>
        <_>
          <!-- tree 13 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  20 8 5 2 -1.</_>
                <_>
                  20 8 5 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0115382801741362</threshold>
            <left_val>-0.5154880285263062</left_val>
            <right_val>0.0138055300340056</right_val></_></_>
        <_>
          <!-- tree 14 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 9 16 6 -1.</_>
                <_>
                  0 9 8 3 2.</_>
                <_>
                  8 12 8 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0286462493240833</threshold>
            <left_val>-0.1382701992988586</left_val>
            <right_val>0.2750437855720520</right_val></_></_>
        <_>
          <!-- tree 15 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 2 13 3 -1.</_>
                <_>
                  6 3 13 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0138679798692465</threshold>
            <left_val>-0.1203586980700493</left_val>
            <right_val>0.3521435856819153</right_val></_></_>
        <_>
          <!-- tree 16 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 1 3 4 -1.</_>
                <_>
                  0 3 3 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-4.0469371015205979e-004</threshold>
            <left_val>0.1522637009620667</left_val>
            <right_val>-0.2590084075927734</right_val></_></_>
        <_>
          <!-- tree 17 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 0 9 12 -1.</_>
                <_>
                  8 6 9 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1594581007957459</threshold>
            <left_val>-0.6391854882240295</left_val>
            <right_val>0.0514649897813797</right_val></_></_>
        <_>
          <!-- tree 18 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  4 0 1 2 -1.</_>
                <_>
                  4 0 1 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-2.7928699273616076e-003</threshold>
            <left_val>-0.5840150713920593</left_val>
            <right_val>0.0542793795466423</right_val></_></_>
        <_>
          <!-- tree 19 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 3 15 3 -1.</_>
                <_>
                  5 4 15 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0183532107621431</threshold>
            <left_val>-0.1051151007413864</left_val>
            <right_val>0.3529815971851349</right_val></_></_>
        <_>
          <!-- tree 20 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 10 2 3 -1.</_>
                <_>
                  3 10 1 3 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-5.1810559816658497e-003</threshold>
            <left_val>-0.4741767942905426</left_val>
            <right_val>0.0798512324690819</right_val></_></_>
        <_>
          <!-- tree 21 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  19 4 6 4 -1.</_>
                <_>
                  22 4 3 2 2.</_>
                <_>
                  19 6 3 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>9.2321299016475677e-003</threshold>
            <left_val>-0.0759327188134193</left_val>
            <right_val>0.1852813959121704</right_val></_></_>
        <_>
          <!-- tree 22 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 3 8 4 -1.</_>
                <_>
                  0 3 4 2 2.</_>
                <_>
                  4 5 4 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0121171101927757</threshold>
            <left_val>-0.1117528975009918</left_val>
            <right_val>0.2853634953498840</right_val></_></_>
        <_>
          <!-- tree 23 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  19 10 5 3 -1.</_>
                <_>
                  19 11 5 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-7.2612818330526352e-003</threshold>
            <left_val>-0.5885108709335327</left_val>
            <right_val>0.0526883192360401</right_val></_></_>
        <_>
          <!-- tree 24 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 10 5 3 -1.</_>
                <_>
                  1 11 5 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.6134900078177452e-003</threshold>
            <left_val>0.0474684908986092</left_val>
            <right_val>-0.5394589900970459</right_val></_></_>
        <_>
          <!-- tree 25 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  12 1 13 14 -1.</_>
                <_>
                  12 8 13 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1945167928934097</threshold>
            <left_val>-0.5634222030639648</left_val>
            <right_val>0.0302108898758888</right_val></_></_>
        <_>
          <!-- tree 26 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 1 13 14 -1.</_>
                <_>
                  0 8 13 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.3550943136215210</threshold>
            <left_val>0.0630894526839256</left_val>
            <right_val>-0.4980587959289551</right_val></_></_>
        <_>
          <!-- tree 27 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  11 3 6 12 -1.</_>
                <_>
                  14 3 3 6 2.</_>
                <_>
                  11 9 3 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0331119708716869</threshold>
            <left_val>0.0346324704587460</left_val>
            <right_val>-0.5246484875679016</right_val></_></_>
        <_>
          <!-- tree 28 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  9 5 6 10 -1.</_>
                <_>
                  9 5 3 5 2.</_>
                <_>
                  12 10 3 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0342818088829517</threshold>
            <left_val>0.0431439802050591</left_val>
            <right_val>-0.6470713019371033</right_val></_></_>
        <_>
          <!-- tree 29 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  20 8 5 4 -1.</_>
                <_>
                  20 9 5 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-7.8256614506244659e-003</threshold>
            <left_val>-0.4688000977039337</left_val>
            <right_val>0.0402393713593483</right_val></_></_>
        <_>
          <!-- tree 30 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 8 5 4 -1.</_>
                <_>
                  0 9 5 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0111560495570302</threshold>
            <left_val>0.0401505008339882</left_val>
            <right_val>-0.6095538735389710</right_val></_></_>
        <_>
          <!-- tree 31 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 9 9 3 -1.</_>
                <_>
                  8 10 9 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0113630602136254</threshold>
            <left_val>-0.0827489867806435</left_val>
            <right_val>0.3811689019203186</right_val></_></_>
        <_>
          <!-- tree 32 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 10 6 4 -1.</_>
                <_>
                  9 10 2 4 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0204051006585360</threshold>
            <left_val>0.0425756387412548</left_val>
            <right_val>-0.7467774152755737</right_val></_></_>
        <_>
          <!-- tree 33 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 6 14 4 -1.</_>
                <_>
                  6 7 14 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0191116295754910</threshold>
            <left_val>-0.1239197030663490</left_val>
            <right_val>0.2226520031690598</right_val></_></_>
        <_>
          <!-- tree 34 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  9 6 5 4 -1.</_>
                <_>
                  9 7 5 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-7.3364898562431335e-003</threshold>
            <left_val>0.3034206926822662</left_val>
            <right_val>-0.0926956906914711</right_val></_></_>
        <_>
          <!-- tree 35 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 5 3 6 -1.</_>
                <_>
                  22 7 3 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-8.6538922041654587e-003</threshold>
            <left_val>-0.3351745009422302</left_val>
            <right_val>0.0585405789315701</right_val></_></_>
        <_>
          <!-- tree 36 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 5 3 6 -1.</_>
                <_>
                  0 7 3 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0347895994782448</threshold>
            <left_val>0.0337578095495701</left_val>
            <right_val>-0.7483453154563904</right_val></_></_>
        <_>
          <!-- tree 37 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  17 1 5 4 -1.</_>
                <_>
                  17 2 5 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0174188297241926</threshold>
            <left_val>0.2445363998413086</left_val>
            <right_val>-0.0698786973953247</right_val></_></_>
        <_>
          <!-- tree 38 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 1 6 4 -1.</_>
                <_>
                  3 2 6 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>3.5119079984724522e-003</threshold>
            <left_val>-0.1277886927127838</left_val>
            <right_val>0.2403315007686615</right_val></_></_>
        <_>
          <!-- tree 39 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 14 4 1 -1.</_>
                <_>
                  21 14 2 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.0669797929003835e-004</threshold>
            <left_val>-0.1169779002666473</left_val>
            <right_val>0.1439380049705505</right_val></_></_>
        <_>
          <!-- tree 40 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  4 8 3 2 -1.</_>
                <_>
                  5 9 1 2 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-5.9512741863727570e-003</threshold>
            <left_val>-0.5078160762786865</left_val>
            <right_val>0.0478522293269634</right_val></_></_>
        <_>
          <!-- tree 41 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  14 2 4 7 -1.</_>
                <_>
                  14 2 2 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0503778010606766</threshold>
            <left_val>2.9282520990818739e-003</left_val>
            <right_val>-0.7751696109771729</right_val></_></_>
        <_>
          <!-- tree 42 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 2 4 7 -1.</_>
                <_>
                  9 2 2 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>3.8862510118633509e-003</threshold>
            <left_val>-0.1550420969724655</left_val>
            <right_val>0.1570920050144196</right_val></_></_>
        <_>
          <!-- tree 43 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  9 3 8 5 -1.</_>
                <_>
                  11 3 4 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0385116301476955</threshold>
            <left_val>0.0230970401316881</left_val>
            <right_val>-0.6291617155075073</right_val></_></_>
        <_>
          <!-- tree 44 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 10 15 1 -1.</_>
                <_>
                  10 10 5 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.5746049620211124e-003</threshold>
            <left_val>0.1807070970535278</left_val>
            <right_val>-0.1298052966594696</right_val></_></_>
        <_>
          <!-- tree 45 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 6 21 9 -1.</_>
                <_>
                  9 6 7 9 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1266476064920425</threshold>
            <left_val>-0.0865593999624252</left_val>
            <right_val>0.2957325875759125</right_val></_></_>
        <_>
          <!-- tree 46 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 4 6 6 -1.</_>
                <_>
                  0 6 6 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.4126111790537834e-003</threshold>
            <left_val>-0.1528324931859970</left_val>
            <right_val>0.1662916988134384</right_val></_></_>
        <_>
          <!-- tree 47 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 12 24 3 -1.</_>
                <_>
                  7 12 12 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0361530818045139</threshold>
            <left_val>0.2797313034534454</left_val>
            <right_val>-0.1039886027574539</right_val></_></_>
        <_>
          <!-- tree 48 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 7 6 2 -1.</_>
                <_>
                  6 8 6 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>7.1673998609185219e-003</threshold>
            <left_val>-0.0945642217993736</left_val>
            <right_val>0.2778528034687042</right_val></_></_>
        <_>
          <!-- tree 49 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  13 8 2 4 -1.</_>
                <_>
                  13 8 2 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-6.7790350876748562e-003</threshold>
            <left_val>0.1679068058729172</left_val>
            <right_val>-0.0839543119072914</right_val></_></_>
        <_>
          <!-- tree 50 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 6 8 5 -1.</_>
                <_>
                  10 6 4 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0298676099628210</threshold>
            <left_val>-0.7236117124557495</left_val>
            <right_val>0.0346310697495937</right_val></_></_>
        <_>
          <!-- tree 51 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  11 5 6 4 -1.</_>
                <_>
                  11 6 6 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>6.5265512093901634e-003</threshold>
            <left_val>-0.1173760965466499</left_val>
            <right_val>0.1346033960580826</right_val></_></_>
        <_>
          <!-- tree 52 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 14 4 1 -1.</_>
                <_>
                  2 14 2 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>3.4080960176652297e-005</threshold>
            <left_val>-0.1753176003694534</left_val>
            <right_val>0.1322204023599625</right_val></_></_>
        <_>
          <!-- tree 53 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  16 2 4 13 -1.</_>
                <_>
                  17 2 2 13 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0176294595003128</threshold>
            <left_val>-0.5160853862762451</left_val>
            <right_val>0.0253861900418997</right_val></_></_>
        <_>
          <!-- tree 54 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 7 1 4 -1.</_>
                <_>
                  0 8 1 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-1.5446309698745608e-003</threshold>
            <left_val>-0.4142186045646668</left_val>
            <right_val>0.0513300895690918</right_val></_></_>
        <_>
          <!-- tree 55 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  24 0 1 2 -1.</_>
                <_>
                  24 1 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.1520429980009794e-003</threshold>
            <left_val>0.0366159491240978</left_val>
            <right_val>-0.3692800998687744</right_val></_></_>
        <_>
          <!-- tree 56 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 5 2 4 -1.</_>
                <_>
                  1 5 1 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.9612779617309570e-003</threshold>
            <left_val>0.2446188032627106</left_val>
            <right_val>-0.0842714235186577</right_val></_></_></trees>
      <stage_threshold>-1.5267670154571533</stage_threshold>
      <parent>5</parent>
      <next>-1</next></_>
    <_>
      <!-- stage 7 -->
      <trees>
        <_>
          <!-- tree 0 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 1 8 4 -1.</_>
                <_>
                  0 3 8 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0141031695529819</threshold>
            <left_val>0.2699790894985199</left_val>
            <right_val>-0.3928318023681641</right_val></_></_>
        <_>
          <!-- tree 1 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  15 11 10 4 -1.</_>
                <_>
                  20 11 5 2 2.</_>
                <_>
                  15 13 5 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.4714400321245193e-003</threshold>
            <left_val>-0.2269169986248016</left_val>
            <right_val>0.2749052047729492</right_val></_></_>
        <_>
          <!-- tree 2 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 5 11 3 -1.</_>
                <_>
                  7 6 11 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0166354794055223</threshold>
            <left_val>-0.1547908037900925</left_val>
            <right_val>0.3224202096462250</right_val></_></_>
        <_>
          <!-- tree 3 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 4 4 3 -1.</_>
                <_>
                  21 4 2 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-8.4477178752422333e-003</threshold>
            <left_val>0.3320780992507935</left_val>
            <right_val>-0.1249654963612557</right_val></_></_>
        <_>
          <!-- tree 4 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 5 4 1 -1.</_>
                <_>
                  2 5 2 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.4904569145292044e-003</threshold>
            <left_val>0.2900204956531525</left_val>
            <right_val>-0.1460298001766205</right_val></_></_>
        <_>
          <!-- tree 5 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 3 12 4 -1.</_>
                <_>
                  7 4 12 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0282104406505823</threshold>
            <left_val>-0.0831937119364738</left_val>
            <right_val>0.4805397987365723</right_val></_></_>
        <_>
          <!-- tree 6 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 6 7 3 -1.</_>
                <_>
                  8 7 7 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>9.3179903924465179e-003</threshold>
            <left_val>-0.1692426949739456</left_val>
            <right_val>0.3482030928134918</right_val></_></_>
        <_>
          <!-- tree 7 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  16 0 9 14 -1.</_>
                <_>
                  16 7 9 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0579102896153927</threshold>
            <left_val>-0.5040398836135864</left_val>
            <right_val>0.0840934887528419</right_val></_></_>
        <_>
          <!-- tree 8 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 24 6 -1.</_>
                <_>
                  0 0 12 3 2.</_>
                <_>
                  12 3 12 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0882126465439796</threshold>
            <left_val>0.0733099877834320</left_val>
            <right_val>-0.4883395135402679</right_val></_></_>
        <_>
          <!-- tree 9 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  23 13 2 1 -1.</_>
                <_>
                  23 13 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>6.0974380176048726e-005</threshold>
            <left_val>-0.1594507992267609</left_val>
            <right_val>0.1473277956247330</right_val></_></_>
        <_>
          <!-- tree 10 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 13 24 2 -1.</_>
                <_>
                  0 13 12 1 2.</_>
                <_>
                  12 14 12 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0142063600942492</threshold>
            <left_val>-0.6365684866905212</left_val>
            <right_val>0.0507153607904911</right_val></_></_>
        <_>
          <!-- tree 11 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  19 12 5 3 -1.</_>
                <_>
                  19 13 5 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-7.7181900851428509e-003</threshold>
            <left_val>-0.6330028772354126</left_val>
            <right_val>0.0328688994050026</right_val></_></_>
        <_>
          <!-- tree 12 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  9 7 7 4 -1.</_>
                <_>
                  9 8 7 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0120071703568101</threshold>
            <left_val>-0.1254525035619736</left_val>
            <right_val>0.2893699109554291</right_val></_></_>
        <_>
          <!-- tree 13 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  14 0 4 7 -1.</_>
                <_>
                  14 0 2 7 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>0.0707826167345047</threshold>
            <left_val>0.0305656604468822</left_val>
            <right_val>-0.5666698217391968</right_val></_></_>
        <_>
          <!-- tree 14 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  11 0 7 4 -1.</_>
                <_>
                  11 0 7 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0504123307764530</threshold>
            <left_val>-0.5089793801307678</left_val>
            <right_val>0.0710048824548721</right_val></_></_>
        <_>
          <!-- tree 15 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  9 4 14 2 -1.</_>
                <_>
                  9 5 14 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0220727995038033</threshold>
            <left_val>-0.1444841027259827</left_val>
            <right_val>0.2781184911727905</right_val></_></_>
        <_>
          <!-- tree 16 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 2 15 4 -1.</_>
                <_>
                  3 3 15 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0147649403661489</threshold>
            <left_val>-0.1283989995718002</left_val>
            <right_val>0.3290185928344727</right_val></_></_>
        <_>
          <!-- tree 17 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  19 12 5 3 -1.</_>
                <_>
                  19 13 5 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>6.8206568248569965e-003</threshold>
            <left_val>0.0654795467853546</left_val>
            <right_val>-0.5463265776634216</right_val></_></_>
        <_>
          <!-- tree 18 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 11 8 4 -1.</_>
                <_>
                  0 11 4 2 2.</_>
                <_>
                  4 13 4 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>2.0179790444672108e-003</threshold>
            <left_val>-0.2028342932462692</left_val>
            <right_val>0.1679659038782120</right_val></_></_>
        <_>
          <!-- tree 19 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 9 11 6 -1.</_>
                <_>
                  7 11 11 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0250812191516161</threshold>
            <left_val>-0.1104943975806236</left_val>
            <right_val>0.3191860020160675</right_val></_></_>
        <_>
          <!-- tree 20 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 11 7 4 -1.</_>
                <_>
                  0 12 7 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>8.9391358196735382e-003</threshold>
            <left_val>0.0734132081270218</left_val>
            <right_val>-0.5538399219512940</right_val></_></_>
        <_>
          <!-- tree 21 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  20 0 5 2 -1.</_>
                <_>
                  20 1 5 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-4.6396959805861115e-004</threshold>
            <left_val>0.1123031005263329</left_val>
            <right_val>-0.1697127074003220</right_val></_></_>
        <_>
          <!-- tree 22 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 10 3 2 -1.</_>
                <_>
                  6 11 1 2 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-8.5602197796106339e-003</threshold>
            <left_val>-0.7347347736358643</left_val>
            <right_val>0.0417169481515884</right_val></_></_>
        <_>
          <!-- tree 23 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  17 4 8 10 -1.</_>
                <_>
                  21 4 4 5 2.</_>
                <_>
                  17 9 4 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0389347188174725</threshold>
            <left_val>0.2292626947164536</left_val>
            <right_val>-0.0792299434542656</right_val></_></_>
        <_>
          <!-- tree 24 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 3 15 2 -1.</_>
                <_>
                  5 4 15 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0215415991842747</threshold>
            <left_val>0.3007172048091888</left_val>
            <right_val>-0.1152340024709702</right_val></_></_>
        <_>
          <!-- tree 25 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  16 4 5 2 -1.</_>
                <_>
                  16 5 5 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>4.9337721429765224e-003</threshold>
            <left_val>-0.1002838015556335</left_val>
            <right_val>0.1348572969436646</right_val></_></_>
        <_>
          <!-- tree 26 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 0 22 10 -1.</_>
                <_>
                  1 0 11 5 2.</_>
                <_>
                  12 5 11 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1615066975355148</threshold>
            <left_val>0.0588171891868114</left_val>
            <right_val>-0.5656744837760925</right_val></_></_>
        <_>
          <!-- tree 27 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  20 0 5 2 -1.</_>
                <_>
                  20 1 5 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0123260198161006</threshold>
            <left_val>-0.2823328077793121</left_val>
            <right_val>0.0187596306204796</right_val></_></_>
        <_>
          <!-- tree 28 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 5 2 -1.</_>
                <_>
                  0 1 5 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.2987951785326004e-003</threshold>
            <left_val>0.0524063482880592</left_val>
            <right_val>-0.5719032287597656</right_val></_></_>
        <_>
          <!-- tree 29 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  10 1 6 12 -1.</_>
                <_>
                  13 1 3 6 2.</_>
                <_>
                  10 7 3 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0289043206721544</threshold>
            <left_val>0.0477108694612980</left_val>
            <right_val>-0.4854584038257599</right_val></_></_>
        <_>
          <!-- tree 30 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 1 8 -1.</_>
                <_>
                  0 4 1 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0155697297304869</threshold>
            <left_val>0.0493178516626358</left_val>
            <right_val>-0.5100051760673523</right_val></_></_>
        <_>
          <!-- tree 31 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 0 13 6 -1.</_>
                <_>
                  6 2 13 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0938120707869530</threshold>
            <left_val>0.2564809024333954</left_val>
            <right_val>-0.1057069003582001</right_val></_></_>
        <_>
          <!-- tree 32 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  4 3 4 4 -1.</_>
                <_>
                  3 4 4 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0286933295428753</threshold>
            <left_val>0.5247043967247009</left_val>
            <right_val>-0.0509502515196800</right_val></_></_>
        <_>
          <!-- tree 33 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  20 8 5 3 -1.</_>
                <_>
                  20 9 5 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>7.2301640175282955e-003</threshold>
            <left_val>0.0583653002977371</left_val>
            <right_val>-0.4894312024116516</right_val></_></_>
        <_>
          <!-- tree 34 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 13 2 2 -1.</_>
                <_>
                  7 13 1 1 2.</_>
                <_>
                  8 14 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>8.2664839283097535e-005</threshold>
            <left_val>-0.1437218040227890</left_val>
            <right_val>0.1820268929004669</right_val></_></_>
        <_>
          <!-- tree 35 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  16 13 2 2 -1.</_>
                <_>
                  17 13 1 1 2.</_>
                <_>
                  16 14 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.5241750515997410e-003</threshold>
            <left_val>0.0201267991214991</left_val>
            <right_val>-0.3884589970111847</right_val></_></_>
        <_>
          <!-- tree 36 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 13 2 2 -1.</_>
                <_>
                  7 13 1 1 2.</_>
                <_>
                  8 14 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-6.5512307628523558e-005</threshold>
            <left_val>0.2280354052782059</left_val>
            <right_val>-0.1581206023693085</right_val></_></_>
        <_>
          <!-- tree 37 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  19 5 6 1 -1.</_>
                <_>
                  21 5 2 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>2.4175599683076143e-003</threshold>
            <left_val>-0.0890450775623322</left_val>
            <right_val>0.2839250862598419</right_val></_></_>
        <_>
          <!-- tree 38 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 8 6 6 -1.</_>
                <_>
                  0 10 6 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0343084894120693</threshold>
            <left_val>0.0391304790973663</left_val>
            <right_val>-0.6263393163681030</right_val></_></_>
        <_>
          <!-- tree 39 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 8 13 4 -1.</_>
                <_>
                  6 9 13 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0127667998895049</threshold>
            <left_val>-0.0984294191002846</left_val>
            <right_val>0.2857427895069122</right_val></_></_>
        <_>
          <!-- tree 40 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 10 8 1 -1.</_>
                <_>
                  7 10 4 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.7450299821794033e-003</threshold>
            <left_val>0.2090786993503571</left_val>
            <right_val>-0.1267945021390915</right_val></_></_>
        <_>
          <!-- tree 41 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  16 11 4 4 -1.</_>
                <_>
                  17 11 2 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-7.0629850961267948e-003</threshold>
            <left_val>-0.4784719944000244</left_val>
            <right_val>0.0229746792465448</right_val></_></_>
        <_>
          <!-- tree 42 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 6 15 2 -1.</_>
                <_>
                  5 7 15 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0109674101695418</threshold>
            <left_val>-0.1310741007328033</left_val>
            <right_val>0.1712857037782669</right_val></_></_>
        <_>
          <!-- tree 43 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 1 20 10 -1.</_>
                <_>
                  3 1 10 10 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1530689001083374</threshold>
            <left_val>0.2361073046922684</left_val>
            <right_val>-0.0965401679277420</right_val></_></_>
        <_>
          <!-- tree 44 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 4 3 3 -1.</_>
                <_>
                  2 5 3 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>2.1676090545952320e-003</threshold>
            <left_val>-0.1028804033994675</left_val>
            <right_val>0.2537584006786346</right_val></_></_>
        <_>
          <!-- tree 45 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  16 11 4 4 -1.</_>
                <_>
                  17 11 2 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0107051497325301</threshold>
            <left_val>0.0160892698913813</left_val>
            <right_val>-0.5868526101112366</right_val></_></_>
        <_>
          <!-- tree 46 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 11 4 4 -1.</_>
                <_>
                  6 11 2 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-6.1142919585108757e-003</threshold>
            <left_val>-0.6146798133850098</left_val>
            <right_val>0.0344046317040920</right_val></_></_>
        <_>
          <!-- tree 47 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  17 4 8 10 -1.</_>
                <_>
                  21 4 4 5 2.</_>
                <_>
                  17 9 4 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0160057693719864</threshold>
            <left_val>0.0954133197665215</left_val>
            <right_val>-0.0657811686396599</right_val></_></_>
        <_>
          <!-- tree 48 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 8 5 3 -1.</_>
                <_>
                  0 9 5 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>8.5541699081659317e-003</threshold>
            <left_val>0.0425793603062630</left_val>
            <right_val>-0.5490341186523438</right_val></_></_>
        <_>
          <!-- tree 49 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  23 13 2 1 -1.</_>
                <_>
                  23 13 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.5742941185599193e-005</threshold>
            <left_val>0.1505846977233887</left_val>
            <right_val>-0.0978325977921486</right_val></_></_>
        <_>
          <!-- tree 50 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 13 2 1 -1.</_>
                <_>
                  1 13 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>4.9888480134541169e-005</threshold>
            <left_val>-0.1522217988967896</left_val>
            <right_val>0.1464709937572479</right_val></_></_>
        <_>
          <!-- tree 51 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  10 1 7 3 -1.</_>
                <_>
                  10 2 7 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>9.3986131250858307e-003</threshold>
            <left_val>-0.0793018564581871</left_val>
            <right_val>0.2222844958305359</right_val></_></_>
        <_>
          <!-- tree 52 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 3 8 12 -1.</_>
                <_>
                  0 3 4 6 2.</_>
                <_>
                  4 9 4 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0445945896208286</threshold>
            <left_val>0.3217073082923889</left_val>
            <right_val>-0.0712599530816078</right_val></_></_>
        <_>
          <!-- tree 53 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 0 16 11 -1.</_>
                <_>
                  6 0 8 11 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.2763071060180664</threshold>
            <left_val>-0.0312894396483898</left_val>
            <right_val>0.4636780917644501</right_val></_></_>
        <_>
          <!-- tree 54 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 0 21 3 -1.</_>
                <_>
                  9 0 7 3 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0459242798388004</threshold>
            <left_val>0.2685551047325134</left_val>
            <right_val>-0.0946981832385063</right_val></_></_>
        <_>
          <!-- tree 55 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  23 1 2 12 -1.</_>
                <_>
                  23 1 2 6 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>0.0328284502029419</threshold>
            <left_val>0.0420088581740856</left_val>
            <right_val>-0.1909179985523224</right_val></_></_>
        <_>
          <!-- tree 56 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 0 1 2 -1.</_>
                <_>
                  2 0 1 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>5.8416211977601051e-003</threshold>
            <left_val>0.0443820804357529</left_val>
            <right_val>-0.5017232894897461</right_val></_></_>
        <_>
          <!-- tree 57 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  15 0 6 3 -1.</_>
                <_>
                  17 0 2 3 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0253127701580524</threshold>
            <left_val>7.6768198050558567e-003</left_val>
            <right_val>-0.4524691104888916</right_val></_></_>
        <_>
          <!-- tree 58 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 9 6 4 -1.</_>
                <_>
                  10 9 2 4 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0206803791224957</threshold>
            <left_val>-0.7082331180572510</left_val>
            <right_val>0.0277527105063200</right_val></_></_>
        <_>
          <!-- tree 59 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  20 5 5 6 -1.</_>
                <_>
                  20 7 5 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.9456259906291962e-003</threshold>
            <left_val>-0.1725641041994095</left_val>
            <right_val>0.0885240733623505</right_val></_></_>
        <_>
          <!-- tree 60 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 4 24 8 -1.</_>
                <_>
                  0 4 12 4 2.</_>
                <_>
                  12 8 12 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1318278014659882</threshold>
            <left_val>0.0378756709396839</left_val>
            <right_val>-0.5236573815345764</right_val></_></_>
        <_>
          <!-- tree 61 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 10 1 4 -1.</_>
                <_>
                  21 11 1 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-4.8449821770191193e-003</threshold>
            <left_val>-0.3831801116466522</left_val>
            <right_val>0.0295521095395088</right_val></_></_>
        <_>
          <!-- tree 62 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 0 11 3 -1.</_>
                <_>
                  7 1 11 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.3295581601560116e-003</threshold>
            <left_val>-0.1172816008329392</left_val>
            <right_val>0.1712217032909393</right_val></_></_>
        <_>
          <!-- tree 63 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 0 13 4 -1.</_>
                <_>
                  6 1 13 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0353284589946270</threshold>
            <left_val>0.3731549978256226</left_val>
            <right_val>-0.0650273412466049</right_val></_></_></trees>
      <stage_threshold>-1.4507639408111572</stage_threshold>
      <parent>6</parent>
      <next>-1</next></_>
    <_>
      <!-- stage 8 -->
      <trees>
        <_>
          <!-- tree 0 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 11 11 4 -1.</_>
                <_>
                  7 13 11 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0136478496715426</threshold>
            <left_val>-0.2802368998527527</left_val>
            <right_val>0.3575335144996643</right_val></_></_>
        <_>
          <!-- tree 1 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 3 4 12 -1.</_>
                <_>
                  23 3 2 6 2.</_>
                <_>
                  21 9 2 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0123078199103475</threshold>
            <left_val>-0.1484645009040833</left_val>
            <right_val>0.2714886069297791</right_val></_></_>
        <_>
          <!-- tree 2 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 4 21 6 -1.</_>
                <_>
                  9 6 7 2 9.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.4659403860569000</threshold>
            <left_val>-0.0705008506774902</left_val>
            <right_val>0.5868018865585327</right_val></_></_>
        <_>
          <!-- tree 3 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  23 3 2 10 -1.</_>
                <_>
                  24 3 1 5 2.</_>
                <_>
                  23 8 1 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.5693339519202709e-003</threshold>
            <left_val>-0.1150237023830414</left_val>
            <right_val>0.1375536024570465</right_val></_></_>
        <_>
          <!-- tree 4 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 3 2 10 -1.</_>
                <_>
                  0 3 1 5 2.</_>
                <_>
                  1 8 1 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>2.5176738854497671e-003</threshold>
            <left_val>-0.1778890937566757</left_val>
            <right_val>0.2172407060861588</right_val></_></_>
        <_>
          <!-- tree 5 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  24 10 1 4 -1.</_>
                <_>
                  23 11 1 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>4.5299702323973179e-003</threshold>
            <left_val>0.0458603501319885</left_val>
            <right_val>-0.5376703143119812</right_val></_></_>
        <_>
          <!-- tree 6 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 10 4 1 -1.</_>
                <_>
                  2 11 2 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>4.0295510552823544e-003</threshold>
            <left_val>0.0599071383476257</left_val>
            <right_val>-0.5803095102310181</right_val></_></_>
        <_>
          <!-- tree 7 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 10 9 4 -1.</_>
                <_>
                  8 11 9 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>9.0281656011939049e-003</threshold>
            <left_val>-0.0889611616730690</left_val>
            <right_val>0.3474006950855255</right_val></_></_>
        <_>
          <!-- tree 8 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 8 13 6 -1.</_>
                <_>
                  5 11 13 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0710994601249695</threshold>
            <left_val>0.4003205001354218</left_val>
            <right_val>-0.0876752585172653</right_val></_></_>
        <_>
          <!-- tree 9 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 0 15 4 -1.</_>
                <_>
                  5 2 15 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0905078798532486</threshold>
            <left_val>0.3202385008335114</left_val>
            <right_val>-0.1107280030846596</right_val></_></_>
        <_>
          <!-- tree 10 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 0 22 15 -1.</_>
                <_>
                  12 0 11 15 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.3949914872646332</threshold>
            <left_val>-0.0544822700321674</left_val>
            <right_val>0.4376561045646668</right_val></_></_>
        <_>
          <!-- tree 11 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  10 14 8 1 -1.</_>
                <_>
                  12 14 4 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>6.0021281242370605e-003</threshold>
            <left_val>0.0412968583405018</left_val>
            <right_val>-0.6277515888214111</right_val></_></_>
        <_>
          <!-- tree 12 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 3 8 4 -1.</_>
                <_>
                  1 4 8 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0126753300428391</threshold>
            <left_val>0.1864306032657623</left_val>
            <right_val>-0.1586595028638840</right_val></_></_>
        <_>
          <!-- tree 13 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  15 13 1 2 -1.</_>
                <_>
                  15 14 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.2523188060149550e-004</threshold>
            <left_val>-0.0737809464335442</left_val>
            <right_val>0.1131825000047684</right_val></_></_>
        <_>
          <!-- tree 14 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 2 15 6 -1.</_>
                <_>
                  5 4 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1519853025674820</threshold>
            <left_val>-0.0698502063751221</left_val>
            <right_val>0.5526459217071533</right_val></_></_>
        <_>
          <!-- tree 15 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  23 12 2 1 -1.</_>
                <_>
                  23 12 1 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-5.9174448251724243e-003</threshold>
            <left_val>-0.4224376976490021</left_val>
            <right_val>0.0234292708337307</right_val></_></_>
        <_>
          <!-- tree 16 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 12 1 2 -1.</_>
                <_>
                  2 12 1 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>5.1085697486996651e-004</threshold>
            <left_val>-0.1782114058732987</left_val>
            <right_val>0.1747542023658752</right_val></_></_>
        <_>
          <!-- tree 17 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 13 9 2 -1.</_>
                <_>
                  11 13 3 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0286266505718231</threshold>
            <left_val>-0.7806789875030518</left_val>
            <right_val>0.0430335216224194</right_val></_></_>
        <_>
          <!-- tree 18 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 0 8 2 -1.</_>
                <_>
                  8 1 8 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>3.2388539984822273e-003</threshold>
            <left_val>-0.1174874976277351</left_val>
            <right_val>0.2301342934370041</right_val></_></_>
        <_>
          <!-- tree 19 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  20 12 4 3 -1.</_>
                <_>
                  20 13 4 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-6.8310899659991264e-003</threshold>
            <left_val>-0.5170273780822754</left_val>
            <right_val>0.0224770605564117</right_val></_></_>
        <_>
          <!-- tree 20 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 0 18 10 -1.</_>
                <_>
                  3 0 9 5 2.</_>
                <_>
                  12 5 9 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1381812989711762</threshold>
            <left_val>-0.6718307137489319</left_val>
            <right_val>0.0339458398520947</right_val></_></_>
        <_>
          <!-- tree 21 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  10 12 6 3 -1.</_>
                <_>
                  12 12 2 3 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0129029303789139</threshold>
            <left_val>0.0190411508083344</left_val>
            <right_val>-0.4739249050617218</right_val></_></_>
        <_>
          <!-- tree 22 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 0 1 8 -1.</_>
                <_>
                  0 2 1 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>6.3398052006959915e-003</threshold>
            <left_val>0.0412811301648617</left_val>
            <right_val>-0.5821130871772766</right_val></_></_>
        <_>
          <!-- tree 23 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 5 3 4 -1.</_>
                <_>
                  22 6 3 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>8.4067512943875045e-005</threshold>
            <left_val>-0.2301639020442963</left_val>
            <right_val>0.1240853965282440</right_val></_></_>
        <_>
          <!-- tree 24 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 5 4 4 -1.</_>
                <_>
                  0 6 4 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0172388590872288</threshold>
            <left_val>0.0539665818214417</left_val>
            <right_val>-0.5818564891815186</right_val></_></_>
        <_>
          <!-- tree 25 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 0 14 10 -1.</_>
                <_>
                  13 0 7 5 2.</_>
                <_>
                  6 5 7 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0786773264408112</threshold>
            <left_val>-0.4061115086078644</left_val>
            <right_val>0.0569235086441040</right_val></_></_>
        <_>
          <!-- tree 26 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 12 4 3 -1.</_>
                <_>
                  1 13 4 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.5859591811895370e-003</threshold>
            <left_val>0.0368424393236637</left_val>
            <right_val>-0.5646867752075195</right_val></_></_>
        <_>
          <!-- tree 27 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  20 7 2 2 -1.</_>
                <_>
                  21 7 1 1 2.</_>
                <_>
                  20 8 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-6.1322399415075779e-004</threshold>
            <left_val>0.1785047054290772</left_val>
            <right_val>-0.0668883100152016</right_val></_></_>
        <_>
          <!-- tree 28 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 7 2 2 -1.</_>
                <_>
                  3 7 1 1 2.</_>
                <_>
                  4 8 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>7.9400849062949419e-004</threshold>
            <left_val>-0.0783978328108788</left_val>
            <right_val>0.3054557144641876</right_val></_></_>
        <_>
          <!-- tree 29 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  22 6 3 4 -1.</_>
                <_>
                  22 7 3 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0128271998837590</threshold>
            <left_val>0.0404374599456787</left_val>
            <right_val>-0.6479570865631104</right_val></_></_>
        <_>
          <!-- tree 30 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  9 6 7 3 -1.</_>
                <_>
                  9 7 7 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0119779799133539</threshold>
            <left_val>-0.0993791595101357</left_val>
            <right_val>0.2267276048660278</right_val></_></_>
        <_>
          <!-- tree 31 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  11 6 4 2 -1.</_>
                <_>
                  11 7 4 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-4.9378769472241402e-003</threshold>
            <left_val>0.2706328034400940</left_val>
            <right_val>-0.0839221030473709</right_val></_></_>
        <_>
          <!-- tree 32 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 6 5 4 -1.</_>
                <_>
                  0 7 5 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0203377306461334</threshold>
            <left_val>0.0400571115314960</left_val>
            <right_val>-0.6170961260795593</right_val></_></_>
        <_>
          <!-- tree 33 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 3 15 6 -1.</_>
                <_>
                  5 5 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1582631021738052</threshold>
            <left_val>0.3718011081218720</left_val>
            <right_val>-0.0776448771357536</right_val></_></_>
        <_>
          <!-- tree 34 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  4 4 5 2 -1.</_>
                <_>
                  4 5 5 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>4.5150578953325748e-003</threshold>
            <left_val>-0.1424572020769119</left_val>
            <right_val>0.1946897059679031</right_val></_></_>
        <_>
          <!-- tree 35 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  11 12 6 3 -1.</_>
                <_>
                  13 12 2 3 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0179421696811914</threshold>
            <left_val>-0.7258480787277222</left_val>
            <right_val>0.0292347799986601</right_val></_></_>
        <_>
          <!-- tree 36 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 0 1 3 -1.</_>
                <_>
                  2 1 1 1 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>5.2153151482343674e-003</threshold>
            <left_val>0.0460041500627995</left_val>
            <right_val>-0.4536756873130798</right_val></_></_>
        <_>
          <!-- tree 37 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 11 12 2 -1.</_>
                <_>
                  11 11 4 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-7.7863838523626328e-003</threshold>
            <left_val>0.1746426969766617</left_val>
            <right_val>-0.1098980978131294</right_val></_></_>
        <_>
          <!-- tree 38 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 8 4 4 -1.</_>
                <_>
                  0 9 4 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>9.4133447855710983e-003</threshold>
            <left_val>0.0346476286649704</left_val>
            <right_val>-0.5983666181564331</right_val></_></_>
        <_>
          <!-- tree 39 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 7 9 3 -1.</_>
                <_>
                  8 8 9 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>7.6218741014599800e-003</threshold>
            <left_val>-0.1057026013731957</left_val>
            <right_val>0.2037336975336075</right_val></_></_>
        <_>
          <!-- tree 40 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  8 8 9 6 -1.</_>
                <_>
                  8 10 9 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0216018799692392</threshold>
            <left_val>-0.0909303426742554</left_val>
            <right_val>0.2887038886547089</right_val></_></_>
        <_>
          <!-- tree 41 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  20 11 5 4 -1.</_>
                <_>
                  20 12 5 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0118230897933245</threshold>
            <left_val>-0.6303614974021912</left_val>
            <right_val>0.0240826196968555</right_val></_></_>
        <_>
          <!-- tree 42 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 5 8 3 -1.</_>
                <_>
                  9 5 4 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0202329792082310</threshold>
            <left_val>-0.7420278787612915</left_val>
            <right_val>0.0235212203115225</right_val></_></_>
        <_>
          <!-- tree 43 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  16 0 2 2 -1.</_>
                <_>
                  17 0 1 1 2.</_>
                <_>
                  16 1 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>6.4510147785767913e-004</threshold>
            <left_val>-0.0552557893097401</left_val>
            <right_val>0.1650166064500809</right_val></_></_>
        <_>
          <!-- tree 44 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 11 5 4 -1.</_>
                <_>
                  0 12 5 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-8.1876022741198540e-003</threshold>
            <left_val>-0.5770931839942932</left_val>
            <right_val>0.0352346412837505</right_val></_></_>
        <_>
          <!-- tree 45 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  16 0 2 2 -1.</_>
                <_>
                  17 0 1 1 2.</_>
                <_>
                  16 1 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-4.5044958824291825e-004</threshold>
            <left_val>0.1859780997037888</left_val>
            <right_val>-0.0824367776513100</right_val></_></_>
        <_>
          <!-- tree 46 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 9 6 6 -1.</_>
                <_>
                  7 9 2 6 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0273097790777683</threshold>
            <left_val>-0.7204548716545105</left_val>
            <right_val>0.0276838503777981</right_val></_></_>
        <_>
          <!-- tree 47 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  14 10 10 4 -1.</_>
                <_>
                  19 10 5 2 2.</_>
                <_>
                  14 12 5 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>7.3051019571721554e-003</threshold>
            <left_val>-0.0758159905672073</left_val>
            <right_val>0.1228180006146431</right_val></_></_>
        <_>
          <!-- tree 48 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 6 3 1 -1.</_>
                <_>
                  7 6 1 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>7.2118180105462670e-004</threshold>
            <left_val>-0.0847066268324852</left_val>
            <right_val>0.2212305068969727</right_val></_></_>
        <_>
          <!-- tree 49 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  16 6 3 2 -1.</_>
                <_>
                  17 6 1 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.5794708896428347e-004</threshold>
            <left_val>0.0922004431486130</left_val>
            <right_val>-0.0512673109769821</right_val></_></_>
        <_>
          <!-- tree 50 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 6 3 2 -1.</_>
                <_>
                  7 6 1 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-1.2906070332974195e-003</threshold>
            <left_val>0.2364850938320160</left_val>
            <right_val>-0.0856367424130440</right_val></_></_>
        <_>
          <!-- tree 51 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  13 3 8 4 -1.</_>
                <_>
                  12 4 8 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0234409496188164</threshold>
            <left_val>-0.3417592048645020</left_val>
            <right_val>0.0303556900471449</right_val></_></_>
        <_>
          <!-- tree 52 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 0 1 2 -1.</_>
                <_>
                  2 0 1 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>6.7003733420278877e-005</threshold>
            <left_val>-0.1778312027454376</left_val>
            <right_val>0.1098366007208824</right_val></_></_>
        <_>
          <!-- tree 53 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  21 0 2 1 -1.</_>
                <_>
                  21 0 1 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-2.0913260523229837e-003</threshold>
            <left_val>-0.3296548128128052</left_val>
            <right_val>0.0488219298422337</right_val></_></_>
        <_>
          <!-- tree 54 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  4 0 1 2 -1.</_>
                <_>
                  4 0 1 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>5.2883368916809559e-003</threshold>
            <left_val>0.0476020798087120</left_val>
            <right_val>-0.4229690134525299</right_val></_></_>
        <_>
          <!-- tree 55 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  13 1 8 6 -1.</_>
                <_>
                  11 3 8 2 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>0.1046722009778023</threshold>
            <left_val>0.0145577099174261</left_val>
            <right_val>-0.5163959860801697</right_val></_></_>
        <_>
          <!-- tree 56 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  12 3 4 8 -1.</_>
                <_>
                  13 4 2 8 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>0.0410936884582043</threshold>
            <left_val>0.0255694594234228</left_val>
            <right_val>-0.6734575033187866</right_val></_></_>
        <_>
          <!-- tree 57 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  3 0 20 15 -1.</_>
                <_>
                  3 0 10 15 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.4545299112796783</threshold>
            <left_val>-0.0473212711513042</left_val>
            <right_val>0.4647259116172791</right_val></_></_>
        <_>
          <!-- tree 58 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  9 0 7 3 -1.</_>
                <_>
                  9 1 7 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-4.4200271368026733e-003</threshold>
            <left_val>0.2172905951738358</left_val>
            <right_val>-0.0805237367749214</right_val></_></_>
        <_>
          <!-- tree 59 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  12 1 5 2 -1.</_>
                <_>
                  12 2 5 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-3.3253689762204885e-003</threshold>
            <left_val>0.1196364015340805</left_val>
            <right_val>-0.0847371667623520</right_val></_></_>
        <_>
          <!-- tree 60 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  6 1 13 3 -1.</_>
                <_>
                  6 2 13 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0152236903086305</threshold>
            <left_val>-0.0892436280846596</left_val>
            <right_val>0.2284111976623535</right_val></_></_>
        <_>
          <!-- tree 61 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  14 3 10 12 -1.</_>
                <_>
                  19 3 5 6 2.</_>
                <_>
                  14 9 5 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0312239099293947</threshold>
            <left_val>0.1464260965585709</left_val>
            <right_val>-0.1012998968362808</right_val></_></_>
        <_>
          <!-- tree 62 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  1 6 21 6 -1.</_>
                <_>
                  8 6 7 6 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0729675367474556</threshold>
            <left_val>0.1977909952402115</left_val>
            <right_val>-0.0998045280575752</right_val></_></_>
        <_>
          <!-- tree 63 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  12 0 10 12 -1.</_>
                <_>
                  12 0 5 12 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0434687100350857</threshold>
            <left_val>-0.0738932862877846</left_val>
            <right_val>0.1571179032325745</right_val></_></_>
        <_>
          <!-- tree 64 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 8 11 3 -1.</_>
                <_>
                  7 9 11 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>7.7427257783710957e-003</threshold>
            <left_val>-0.0907922536134720</left_val>
            <right_val>0.2449675947427750</right_val></_></_>
        <_>
          <!-- tree 65 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  2 5 22 10 -1.</_>
                <_>
                  2 5 11 10 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0834884494543076</threshold>
            <left_val>0.1732859015464783</left_val>
            <right_val>-0.1288128942251205</right_val></_></_>
        <_>
          <!-- tree 66 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  5 4 15 4 -1.</_>
                <_>
                  5 6 15 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0421115085482597</threshold>
            <left_val>-0.1475321054458618</left_val>
            <right_val>0.1373448967933655</right_val></_></_>
        <_>
          <!-- tree 67 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  7 1 15 6 -1.</_>
                <_>
                  7 3 15 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0966737270355225</threshold>
            <left_val>-0.0551961399614811</left_val>
            <right_val>0.3563303947448731</right_val></_></_>
        <_>
          <!-- tree 68 -->
          <_>
            <!-- root node -->
            <feature>
              <rects>
                <_>
                  0 8 2 6 -1.</_>
                <_>
                  0 10 2 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-8.8993981480598450e-003</threshold>
            <left_val>-0.5261930823326111</left_val>
            <right_val>0.0388906002044678</right_val></_></_>
        <_>
          <!-- tree 69 -->
          <_>
          
Download .txt
gitextract_75b8m8g9/

├── .gitattributes
├── .gitignore
├── LICENSE
├── README.md
├── facial_features.py
├── facial_landmarks.py
├── filters/
│   ├── Mouth.xml
│   ├── Nose.xml
│   ├── haarcascade_eye.xml
│   ├── haarcascade_frontalface_default.xml
│   ├── haarcascade_profileface.xml
│   └── haarcascade_smile.xml
├── main.py
├── main_dlib.py
├── pyfakewebcam/
│   ├── __init__.py
│   ├── pyfakewebcam.py
│   └── v4l2.py
├── requirements.txt
└── scripts/
    ├── background_substraction.py
    ├── blur_face.py
    ├── canny.py
    ├── color_space.py
    ├── dense_optflow.py
    ├── invisibility_cloak.py
    ├── optical_flow.py
    └── video_loop.py
Download .txt
SYMBOL INDEX (115 symbols across 13 files)

FILE: facial_features.py
  function apply_Haar_filter (line 5) | def apply_Haar_filter(img, haar_cascade,scaleFact = 1.1, minNeigh = 5, m...

FILE: facial_landmarks.py
  function calculate_inclination (line 23) | def calculate_inclination(point1, point2):
  function calculate_boundbox (line 28) | def calculate_boundbox(list_coordinates):
  function get_face_boundbox (line 35) | def get_face_boundbox(points, face_part):

FILE: main.py
  function put_sprite (line 33) | def put_sprite(num):
  function draw_sprite (line 46) | def draw_sprite(frame, sprite, x_offset, y_offset):
  function apply_Haar_filter (line 76) | def apply_Haar_filter(img, haar_cascade, scaleFact=1.1, minNeigh=5, minS...
  function adjust_sprite2head (line 91) | def adjust_sprite2head(sprite, head_width, head_ypos):
  function apply_sprite (line 109) | def apply_sprite(image, path2sprite, w, x, y):
  function apply_sprite2feature (line 115) | def apply_sprite2feature(
  function cvloop (line 157) | def cvloop(run_event, read_camera=0, virtual_camera=0):
  function terminate (line 319) | def terminate():

FILE: main_dlib.py
  function put_sprite (line 37) | def put_sprite(num):
  function draw_sprite (line 50) | def draw_sprite(frame, sprite, x_offset, y_offset):
  function adjust_sprite2head (line 78) | def adjust_sprite2head(sprite, head_width, head_ypos, ontop=True):
  function apply_sprite (line 98) | def apply_sprite(image, path2sprite, w, x, y, angle, ontop=True):
  function calculate_inclination (line 108) | def calculate_inclination(point1, point2):
  function calculate_boundbox (line 114) | def calculate_boundbox(list_coordinates):
  function get_face_boundbox (line 122) | def get_face_boundbox(points, face_part):
  function cvloop (line 139) | def cvloop(run_event, read_camera=0, virtual_camera=0):
  function terminate (line 323) | def terminate():

FILE: pyfakewebcam/pyfakewebcam.py
  class FakeWebcam (line 22) | class FakeWebcam:
    method __init__ (line 26) | def __init__(self, video_device, width, height, channels=3, input_pixf...
    method print_capabilities (line 85) | def print_capabilities(self):
    method schedule_frame (line 98) | def schedule_frame(self, frame):

FILE: pyfakewebcam/v4l2.py
  function _IOC (line 21) | def _IOC(dir_, type_, nr, size):
  function _IOC_TYPECHECK (line 29) | def _IOC_TYPECHECK(t):
  function _IO (line 33) | def _IO(type_, nr):
  function _IOW (line 37) | def _IOW(type_, nr, size):
  function _IOR (line 41) | def _IOR(type_, nr, size):
  function _IOWR (line 45) | def _IOWR(type_, nr, size):
  class timeval (line 61) | class timeval(ctypes.Structure):
  function v4l2_fourcc (line 92) | def v4l2_fourcc(a, b, c, d):
  function V4L2_FIELD_HAS_TOP (line 111) | def V4L2_FIELD_HAS_TOP(field):
  function V4L2_FIELD_HAS_BOTTOM (line 121) | def V4L2_FIELD_HAS_BOTTOM(field):
  function V4L2_FIELD_HAS_BOTH (line 131) | def V4L2_FIELD_HAS_BOTH(field):
  class v4l2_rect (line 205) | class v4l2_rect(ctypes.Structure):
  class v4l2_fract (line 214) | class v4l2_fract(ctypes.Structure):
  class v4l2_capability (line 225) | class v4l2_capability(ctypes.Structure):
  class v4l2_pix_format (line 266) | class v4l2_pix_format(ctypes.Structure):
  class v4l2_fmtdesc (line 368) | class v4l2_fmtdesc(ctypes.Structure):
  class v4l2_frmsize_discrete (line 394) | class v4l2_frmsize_discrete(ctypes.Structure):
  class v4l2_frmsize_stepwise (line 401) | class v4l2_frmsize_stepwise(ctypes.Structure):
  class v4l2_frmsizeenum (line 412) | class v4l2_frmsizeenum(ctypes.Structure):
    class _u (line 413) | class _u(ctypes.Union):
  class v4l2_frmival_stepwise (line 442) | class v4l2_frmival_stepwise(ctypes.Structure):
  class v4l2_frmivalenum (line 450) | class v4l2_frmivalenum(ctypes.Structure):
    class _u (line 451) | class _u(ctypes.Union):
  class v4l2_timecode (line 474) | class v4l2_timecode(ctypes.Structure):
  class v4l2_jpegcompression (line 499) | class v4l2_jpegcompression(ctypes.Structure):
  class v4l2_requestbuffers (line 522) | class v4l2_requestbuffers(ctypes.Structure):
  class v4l2_buffer (line 531) | class v4l2_buffer(ctypes.Structure):
    class _u (line 532) | class _u(ctypes.Union):
  class v4l2_framebuffer (line 569) | class v4l2_framebuffer(ctypes.Structure):
  class v4l2_clip (line 595) | class v4l2_clip(ctypes.Structure):
  class v4l2_window (line 603) | class v4l2_window(ctypes.Structure):
  class v4l2_captureparm (line 619) | class v4l2_captureparm(ctypes.Structure):
  class v4l2_outputparm (line 634) | class v4l2_outputparm(ctypes.Structure):
  class v4l2_cropcap (line 649) | class v4l2_cropcap(ctypes.Structure):
  class v4l2_crop (line 658) | class v4l2_crop(ctypes.Structure):
  class v4l2_standard (line 726) | class v4l2_standard(ctypes.Structure):
  class v4l2_dv_preset (line 741) | class v4l2_dv_preset(ctypes.Structure):
  class v4l2_dv_enum_preset (line 752) | class v4l2_dv_enum_preset(ctypes.Structure):
  class v4l2_bt_timings (line 791) | class v4l2_bt_timings(ctypes.Structure):
  class v4l2_dv_timings (line 821) | class v4l2_dv_timings(ctypes.Structure):
    class _u (line 822) | class _u(ctypes.Union):
  class v4l2_input (line 845) | class v4l2_input(ctypes.Structure):
  class v4l2_output (line 887) | class v4l2_output(ctypes.Structure):
  class v4l2_control (line 911) | class v4l2_control(ctypes.Structure):
  class v4l2_ext_control (line 918) | class v4l2_ext_control(ctypes.Structure):
    class _u (line 919) | class _u(ctypes.Union):
  class v4l2_ext_controls (line 936) | class v4l2_ext_controls(ctypes.Structure):
  function V4L2_CTRL_ID_MASK (line 952) | def V4L2_CTRL_ID_MASK():
  function V4L2_CTRL_ID2CLASS (line 956) | def V4L2_CTRL_ID2CLASS(id_):
  function V4L2_CTRL_DRIVER_PRIV (line 960) | def V4L2_CTRL_DRIVER_PRIV(id_):
  class v4l2_queryctrl (line 964) | class v4l2_queryctrl(ctypes.Structure):
  class v4l2_querymenu (line 978) | class v4l2_querymenu(ctypes.Structure):
  class v4l2_tuner (line 1400) | class v4l2_tuner(ctypes.Structure):
  class v4l2_modulator (line 1416) | class v4l2_modulator(ctypes.Structure):
  class v4l2_frequency (line 1451) | class v4l2_frequency(ctypes.Structure):
  class v4l2_hw_freq_seek (line 1460) | class v4l2_hw_freq_seek(ctypes.Structure):
  class v4l2_rds_data (line 1474) | class v4l2_rds_data(ctypes.Structure):
  class v4l2_audio (line 1500) | class v4l2_audio(ctypes.Structure):
  class v4l2_audioout (line 1516) | class v4l2_audioout(ctypes.Structure):
  class v4l2_enc_idx_entry (line 1536) | class v4l2_enc_idx_entry(ctypes.Structure):
  class v4l2_enc_idx (line 1549) | class v4l2_enc_idx(ctypes.Structure):
  class v4l2_encoder_cmd (line 1566) | class v4l2_encoder_cmd(ctypes.Structure):
    class _u (line 1567) | class _u(ctypes.Union):
      class _s (line 1568) | class _s(ctypes.Structure):
  class v4l2_vbi_format (line 1590) | class v4l2_vbi_format(ctypes.Structure):
  class v4l2_sliced_vbi_format (line 1607) | class v4l2_sliced_vbi_format(ctypes.Structure):
  class v4l2_sliced_vbi_cap (line 1625) | class v4l2_sliced_vbi_cap(ctypes.Structure):
  class v4l2_sliced_vbi_data (line 1634) | class v4l2_sliced_vbi_data(ctypes.Structure):
  class v4l2_mpeg_vbi_itv0_line (line 1655) | class v4l2_mpeg_vbi_itv0_line(ctypes.Structure):
  class v4l2_mpeg_vbi_itv0 (line 1664) | class v4l2_mpeg_vbi_itv0(ctypes.Structure):
  class v4l2_mpeg_vbi_ITV0 (line 1673) | class v4l2_mpeg_vbi_ITV0(ctypes.Structure):
  class v4l2_mpeg_vbi_fmt_ivtv (line 1685) | class v4l2_mpeg_vbi_fmt_ivtv(ctypes.Structure):
    class _u (line 1686) | class _u(ctypes.Union):
  class v4l2_format (line 1705) | class v4l2_format(ctypes.Structure):
    class _u (line 1706) | class _u(ctypes.Union):
  class v4l2_streamparm (line 1721) | class v4l2_streamparm(ctypes.Structure):
    class _u (line 1722) | class _u(ctypes.Union):
  class v4l2_dbg_match (line 1745) | class v4l2_dbg_match(ctypes.Structure):
    class _u (line 1746) | class _u(ctypes.Union):
  class v4l2_dbg_register (line 1761) | class v4l2_dbg_register(ctypes.Structure):
  class v4l2_dbg_chip_ident (line 1772) | class v4l2_dbg_chip_ident(ctypes.Structure):

FILE: scripts/background_substraction.py
  function bg_substraction (line 10) | def bg_substraction(image):

FILE: scripts/blur_face.py
  function anonymize_face_pixelate (line 11) | def anonymize_face_pixelate(image, blocks=3):
  function blur (line 46) | def blur(image):

FILE: scripts/canny.py
  function canny (line 6) | def canny(image):

FILE: scripts/color_space.py
  function color (line 7) | def color(image):

FILE: scripts/dense_optflow.py
  function dense_flow (line 14) | def dense_flow(image):

FILE: scripts/invisibility_cloak.py
  function invisibility (line 9) | def invisibility(image):

FILE: scripts/video_loop.py
  function get_snap_shot (line 31) | def get_snap_shot():
  function run_video_capture_pipeline (line 64) | def run_video_capture_pipeline(
Condensed preview — 26 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,525K chars).
[
  {
    "path": ".gitattributes",
    "chars": 130,
    "preview": "imgs/zoom-cool-filters.gif filter=lfs diff=lfs merge=lfs -text\nimgs/zoom-snapchat-filters.gif filter=lfs diff=lfs merge="
  },
  {
    "path": ".gitignore",
    "chars": 5,
    "preview": "*.pyc"
  },
  {
    "path": "LICENSE",
    "chars": 1068,
    "preview": "MIT License\n\nCopyright (c) 2017 charlielito\n\nPermission is hereby granted, free of charge, to any person obtaining a cop"
  },
  {
    "path": "README.md",
    "chars": 6968,
    "preview": "# Snapchat-like filters with Python OpenCV/dlib and TKinter\nBasic desktop application to play around with Snapchat-alike"
  },
  {
    "path": "facial_features.py",
    "chars": 2239,
    "preview": "import cv2\nimport sys\nimport numpy as np\n\ndef apply_Haar_filter(img, haar_cascade,scaleFact = 1.1, minNeigh = 5, minSize"
  },
  {
    "path": "facial_landmarks.py",
    "chars": 3356,
    "preview": "from imutils import face_utils\nimport datetime\nimport imutils\nimport time\nimport dlib\nimport cv2, math\nimport numpy as n"
  },
  {
    "path": "filters/Mouth.xml",
    "chars": 719950,
    "preview": "<?xml version=\"1.0\"?>\n<!----------------------------------------------------------------------------\n  25x15 Mouth detec"
  },
  {
    "path": "filters/Nose.xml",
    "chars": 294502,
    "preview": "<?xml version=\"1.0\"?>\n<!----------------------------------------------------------------------------\n  25x15 Nose detect"
  },
  {
    "path": "filters/haarcascade_eye.xml",
    "chars": 341406,
    "preview": "<?xml version=\"1.0\"?>\n<!--\n    Stump-based 20x20 frontal eye detector.\n    Created by Shameem Hameed (http://umich.edu/~"
  },
  {
    "path": "filters/haarcascade_frontalface_default.xml",
    "chars": 930127,
    "preview": "<?xml version=\"1.0\"?>\n<!--\n    Stump-based 24x24 discrete(?) adaboost frontal face detector.\n    Created by Rainer Lienh"
  },
  {
    "path": "filters/haarcascade_profileface.xml",
    "chars": 828514,
    "preview": "<?xml version=\"1.0\"?>\n<!--\n    20x20 profile face detector.\n    Contributed by David Bradley from Princeton University.\n"
  },
  {
    "path": "filters/haarcascade_smile.xml",
    "chars": 188650,
    "preview": "<?xml version=\"1.0\"?>\n<!----------------------------------------------------------------------------\n  Smile detector\n  "
  },
  {
    "path": "main.py",
    "chars": 10976,
    "preview": "from __future__ import absolute_import, print_function\n\nimport argparse\nimport os\nimport sys\nimport threading\nimport tim"
  },
  {
    "path": "main_dlib.py",
    "chars": 11505,
    "preview": "from __future__ import absolute_import, print_function\n\nimport argparse\nimport math\nimport os\nimport sys\nimport threadin"
  },
  {
    "path": "pyfakewebcam/__init__.py",
    "chars": 111,
    "preview": "from __future__ import absolute_import\n\n__version__ = \"0.1.0\"\nfrom pyfakewebcam.pyfakewebcam import FakeWebcam\n"
  },
  {
    "path": "pyfakewebcam/pyfakewebcam.py",
    "chars": 5027,
    "preview": "from __future__ import absolute_import\nimport os\nimport sys\nimport fcntl\nimport timeit\nimport sys\n\nimport numpy as np\nim"
  },
  {
    "path": "pyfakewebcam/v4l2.py",
    "chars": 50417,
    "preview": "# This code was taken from the seemingly defunct pypi package https://pypi.python.org/pypi/v4l2\n# Minor changes were mad"
  },
  {
    "path": "requirements.txt",
    "chars": 82,
    "preview": "pillow>=6.2.2,<7\nimutils\nnumpy\nopencv-python<4\nconcurrent_videocapture\npython_path"
  },
  {
    "path": "scripts/background_substraction.py",
    "chars": 447,
    "preview": "import cv2\n\nfrom video_loop import run_video_capture_pipeline\n\n\nkernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3"
  },
  {
    "path": "scripts/blur_face.py",
    "chars": 2638,
    "preview": "import cv2\nimport numpy as np\nfrom concurrent_videocapture import ConcurrentVideoCapture\n\nimport dlib\nfrom imutils impor"
  },
  {
    "path": "scripts/canny.py",
    "chars": 301,
    "preview": "import cv2\n\nfrom video_loop import run_video_capture_pipeline\n\n\ndef canny(image):\n    edges = cv2.Canny(cv2.cvtColor(ima"
  },
  {
    "path": "scripts/color_space.py",
    "chars": 291,
    "preview": "\nimport cv2\n\nfrom video_loop import run_video_capture_pipeline\n\n\ndef color(image):\n    # kernel_size = 5\n    # image = c"
  },
  {
    "path": "scripts/dense_optflow.py",
    "chars": 744,
    "preview": "import cv2\nimport numpy as np\n\nfrom video_loop import run_video_capture_pipeline, args\n\ncap = cv2.VideoCapture(args.read"
  },
  {
    "path": "scripts/invisibility_cloak.py",
    "chars": 1524,
    "preview": "import cv2\nimport numpy as np\n\nfrom video_loop import get_snap_shot, run_video_capture_pipeline\n\nbackground = get_snap_s"
  },
  {
    "path": "scripts/optical_flow.py",
    "chars": 2986,
    "preview": "import argparse\nimport time\n\nimport cv2\nimport numpy as np\nfrom concurrent_videocapture import ConcurrentVideoCapture\nfr"
  },
  {
    "path": "scripts/video_loop.py",
    "chars": 2659,
    "preview": "import argparse\nimport time\n\nimport cv2\nimport numpy as np\nfrom concurrent_videocapture import ConcurrentVideoCapture\nfr"
  }
]

About this extraction

This page contains the full source code of the charlielito/snapchat-filters-opencv GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 26 files (3.2 MB), approximately 852.8k tokens, and a symbol index with 115 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!