Guillermo Perez Guillen
Created April 18, 2020 © CC BY-NC-ND

Deep Learning COVID-19 Detection with OpenCV

PC, Raspberry Pi and Jetson Nano: 1) Detecting COVID-19 in X-ray with OpenCV; and 2) Detecting COVID-19 Virus Cells with OpenCV

IntermediateFull instructions provided2 days210

Things used in this project

Hardware components

NVIDIA Jetson Nano Developer Kit
NVIDIA Jetson Nano Developer Kit
×1
Raspberry Pi 3 Model B+
Raspberry Pi 3 Model B+
×1
Raspberry Pi Touch Display
Raspberry Pi Touch Display
×1
Raspberry Pi Keyboard
Raspberry Pi Keyboard
×1
Raspberry Pi - Power supply
×1

Software apps and online services

Raspbian
Raspberry Pi Raspbian
OpenCV
OpenCV
Python 3.7.3 and/or Python 2.7.14
Anaconda 2020.02 for Windows Installer
NVIDIA JetPack

Hand tools and fabrication machines

PC Windows 10

Story

Read more

Schematics

Schematic Diagram

Code

covid-x-ray

Python
Code tested on my Windows 10 PC, and my Raspberry Pi 3B+ and Jetson Nano boards.
import numpy as np
import cv2

banana_cascade = cv2.CascadeClassifier('covid-x-ray.xml')

img = cv2.imread('covid-005.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

bananas = banana_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in bananas:
    img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

covid-x-ray

XML
Classifier tested on my Windows 10 PC, and my Raspberry Pi 3B+ and Jetson Nano boards.
<?xml version="1.0"?>
<opencv_storage>
<covid_19 type_id="opencv-haar-classifier">
  <size>
    24 24</size>
  <stages>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  3 6 18 9 -1.</_>
                <_>
                  9 6 6 9 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.2133259028196335</threshold>
            <left_val>-1.</left_val>
            <right_val>0.9607846140861511</right_val></_></_></trees>
      <stage_threshold>0.9607846140861511</stage_threshold>
      <parent>-1</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  5 4 12 20 -1.</_>
                <_>
                  5 14 12 10 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1490872055292130</threshold>
            <left_val>-1.</left_val>
            <right_val>0.9607846140861511</right_val></_></_></trees>
      <stage_threshold>0.9607846140861511</stage_threshold>
      <parent>0</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 0 12 13 -1.</_>
                <_>
                  3 0 6 13 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0241470094770193</threshold>
            <left_val>1.</left_val>
            <right_val>-1.</right_val></_></_></trees>
      <stage_threshold>1.</stage_threshold>
      <parent>1</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 0 6 12 -1.</_>
                <_>
                  0 0 3 6 2.</_>
                <_>
                  3 6 3 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0183937903493643</threshold>
            <left_val>0.7247707247734070</left_val>
            <right_val>-0.8681321740150452</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  6 4 12 10 -1.</_>
                <_>
                  10 4 4 10 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1809709966182709</threshold>
            <left_val>-0.8367444276809692</left_val>
            <right_val>0.7226861119270325</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  2 14 8 2 -1.</_>
                <_>
                  2 14 8 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-3.7392480298876762e-003</threshold>
            <left_val>0.6402646899223328</left_val>
            <right_val>-0.8947182893753052</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  20 3 2 17 -1.</_>
                <_>
                  20 3 1 17 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-4.8656691797077656e-003</threshold>
            <left_val>0.3811357915401459</left_val>
            <right_val>-0.6965746879577637</right_val></_></_></trees>
      <stage_threshold>-1.7367390394210815</stage_threshold>
      <parent>2</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  4 4 14 20 -1.</_>
                <_>
                  4 14 14 10 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.3018527030944824</threshold>
            <left_val>-0.7500000000000000</left_val>
            <right_val>0.8125002980232239</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  20 13 4 10 -1.</_>
                <_>
                  22 13 2 5 2.</_>
                <_>
                  20 18 2 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>4.5558889396488667e-003</threshold>
            <left_val>-0.8476597070693970</left_val>
            <right_val>0.6516762971878052</right_val></_></_></trees>
      <stage_threshold>-0.0983237028121948</stage_threshold>
      <parent>3</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  3 14 6 10 -1.</_>
                <_>
                  3 19 6 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0380644612014294</threshold>
            <left_val>-0.9268292784690857</left_val>
            <right_val>0.6440681219100952</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  12 5 12 13 -1.</_>
                <_>
                  15 5 6 13 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.1351915001869202</threshold>
            <left_val>0.4854010045528412</left_val>
            <right_val>-0.7948297262191773</right_val></_></_></trees>
      <stage_threshold>-0.4414283037185669</stage_threshold>
      <parent>4</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 0 8 8 -1.</_>
                <_>
                  0 0 4 4 2.</_>
                <_>
                  4 4 4 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0182769000530243</threshold>
            <left_val>0.7281553745269775</left_val>
            <right_val>-0.7731962203979492</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  5 4 14 18 -1.</_>
                <_>
                  5 13 14 9 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.2553361952304840</threshold>
            <left_val>-0.6858050823211670</left_val>
            <right_val>0.8399590253829956</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  3 8 2 9 -1.</_>
                <_>
                  4 8 1 9 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-1.9365870393812656e-003</threshold>
            <left_val>0.6924542188644409</left_val>
            <right_val>-0.8988903164863586</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  8 6 9 17 -1.</_>
                <_>
                  11 6 3 17 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0901547074317932</threshold>
            <left_val>-1.</left_val>
            <right_val>0.5009123086929321</right_val></_></_></trees>
      <stage_threshold>-0.3312151134014130</stage_threshold>
      <parent>5</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 12 4 12 -1.</_>
                <_>
                  0 12 2 6 2.</_>
                <_>
                  2 18 2 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0113987103104591</threshold>
            <left_val>-0.8039215803146362</left_val>
            <right_val>0.8367350101470947</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  12 0 1 12 -1.</_>
                <_>
                  8 4 1 4 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0254460591822863</threshold>
            <left_val>0.6072736978530884</left_val>
            <right_val>-0.8671488165855408</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  6 21 7 2 -1.</_>
                <_>
                  6 22 7 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.6079569468274713e-004</threshold>
            <left_val>-0.9884678721427918</left_val>
            <right_val>0.8090885281562805</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  11 3 3 11 -1.</_>
                <_>
                  12 3 1 11 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>2.6120259426534176e-003</threshold>
            <left_val>-0.9906905293464661</left_val>
            <right_val>0.0929101184010506</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  10 2 3 11 -1.</_>
                <_>
                  11 2 1 11 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>2.4570499081164598e-003</threshold>
            <left_val>-0.9924414753913879</left_val>
            <right_val>0.7468308806419373</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  7 18 14 2 -1.</_>
                <_>
                  14 18 7 1 2.</_>
                <_>
                  7 19 7 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-1.6961399524006993e-004</threshold>
            <left_val>0.3068206906318665</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  3 5 18 18 -1.</_>
                <_>
                  3 14 18 9 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.3440099060535431</threshold>
            <left_val>-0.9910461902618408</left_val>
            <right_val>0.8710855245590210</right_val></_></_></trees>
      <stage_threshold>-0.3726303875446320</stage_threshold>
      <parent>6</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  3 4 18 15 -1.</_>
                <_>
                  9 9 6 5 9.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.3212423026561737</threshold>
            <left_val>-0.9780219793319702</left_val>
            <right_val>0.8165140151977539</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 3 24 1 -1.</_>
                <_>
                  6 3 12 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-1.9816830754280090e-003</threshold>
            <left_val>1.</left_val>
            <right_val>-0.9550700187683106</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  1 20 14 4 -1.</_>
                <_>
                  1 22 14 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>9.8993838764727116e-004</threshold>
            <left_val>-0.9930992722511292</left_val>
            <right_val>0.8202378749847412</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  14 1 4 14 -1.</_>
                <_>
                  16 1 2 7 2.</_>
                <_>
                  14 8 2 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.8266590349376202e-003</threshold>
            <left_val>-0.9965900182723999</left_val>
            <right_val>1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 0 2 1 -1.</_>
                <_>
                  1 0 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.</threshold>
            <left_val>0.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  22 0 2 1 -1.</_>
                <_>
                  22 0 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.</threshold>
            <left_val>0.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  8 13 2 5 -1.</_>
                <_>
                  8 13 1 5 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-4.0002018213272095e-003</threshold>
            <left_val>1.</left_val>
            <right_val>-0.9999995231628418</right_val></_></_></trees>
      <stage_threshold>-0.3149079978466034</stage_threshold>
      <parent>7</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  10 14 6 2 -1.</_>
                <_>
                  12 16 2 2 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>3.7095050793141127e-003</threshold>
            <left_val>-1.</left_val>
            <right_val>0.7699118256568909</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  14 0 10 4 -1.</_>
                <_>
                  19 0 5 2 2.</_>
                <_>
                  14 2 5 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.6397258304059505e-003</threshold>
            <left_val>0.9004145860671997</left_val>
            <right_val>-0.9427242279052734</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  12 1 4 3 -1.</_>
                <_>
                  11 2 4 1 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>1.6032929997891188e-003</threshold>
            <left_val>-0.9494389891624451</left_val>
            <right_val>0.7750664949417114</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  4 7 20 12 -1.</_>
                <_>
                  14 7 10 6 2.</_>
                <_>
                  4 13 10 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-8.3830421790480614e-003</threshold>
            <left_val>0.0344925485551357</left_val>
            <right_val>-0.9274371862411499</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  7 6 9 18 -1.</_>
                <_>
                  10 12 3 6 9.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1311606019735336</threshold>
            <left_val>-1.</left_val>
            <right_val>0.8703575134277344</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  18 0 6 1 -1.</_>
                <_>
                  20 0 2 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>2.1594041027128696e-003</threshold>
            <left_val>-0.9561275839805603</left_val>
            <right_val>0.6180478930473328</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  1 8 18 14 -1.</_>
                <_>
                  1 15 18 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.1909036934375763</threshold>
            <left_val>-1.</left_val>
            <right_val>1.0000079870223999</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  22 0 2 1 -1.</_>
                <_>
                  22 0 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.</threshold>
            <left_val>0.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  1 0 18 18 -1.</_>
                <_>
                  10 0 9 18 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0526154600083828</threshold>
            <left_val>-1.</left_val>
            <right_val>1.0000079870223999</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  22 0 2 1 -1.</_>
                <_>
                  22 0 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.</threshold>
            <left_val>0.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  8 10 4 3 -1.</_>
                <_>
                  10 10 2 3 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>2.0491359755396843e-003</threshold>
            <left_val>-1.</left_val>
            <right_val>1.0000089406967163</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  22 0 2 1 -1.</_>
                <_>
                  22 0 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.</threshold>
            <left_val>0.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  2 7 3 11 -1.</_>
                <_>
                  3 7 1 11 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-3.3524239552207291e-004</threshold>
            <left_val>1.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  16 5 2 15 -1.</_>
                <_>
                  16 5 1 15 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-1.0410250397399068e-003</threshold>
            <left_val>0.6958544254302979</left_val>
            <right_val>-0.9999989867210388</right_val></_></_></trees>
      <stage_threshold>0.0899865031242371</stage_threshold>
      <parent>8</parent>
      <next>-1</next></_></stages></covid_19>
</opencv_storage>

covid-virus

Python
Code tested on my Windows 10 PC, and my Raspberry Pi 3B+ and Jetson Nano boards.
import numpy as np
import cv2

banana_cascade = cv2.CascadeClassifier('covid-virus.xml')

img = cv2.imread('covid-004.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

bananas = banana_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in bananas:
    img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

covid-virus

XML
Classifier tested on my Windows 10 PC, and my Raspberry Pi 3B+ and Jetson Nano boards.
<?xml version="1.0"?>
<opencv_storage>
<covid_virus type_id="opencv-haar-classifier">
  <size>
    24 24</size>
  <stages>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  4 0 16 24 -1.</_>
                <_>
                  4 6 16 12 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.2562044858932495</threshold>
            <left_val>-0.4887219071388245</left_val>
            <right_val>0.9701496958732605</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  22 11 2 11 -1.</_>
                <_>
                  22 11 1 11 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0221729092299938</threshold>
            <left_val>1.</left_val>
            <right_val>0.0427955090999603</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  2 11 11 2 -1.</_>
                <_>
                  2 11 11 1 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0180189702659845</threshold>
            <left_val>0.9623864889144898</left_val>
            <right_val>-0.2788248956203461</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  16 12 6 5 -1.</_>
                <_>
                  16 12 3 5 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>0.0419427603483200</threshold>
            <left_val>-0.1780610978603363</left_val>
            <right_val>0.4852786064147949</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  1 3 8 16 -1.</_>
                <_>
                  5 3 4 16 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0728465318679810</threshold>
            <left_val>-0.5397710800170898</left_val>
            <right_val>0.7963129281997681</right_val></_></_></trees>
      <stage_threshold>-0.7792438268661499</stage_threshold>
      <parent>-1</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 16 12 8 -1.</_>
                <_>
                  0 16 6 4 2.</_>
                <_>
                  6 20 6 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0227754507213831</threshold>
            <left_val>0.7011495232582092</left_val>
            <right_val>-0.5398232936859131</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  7 2 13 8 -1.</_>
                <_>
                  7 6 13 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0474698804318905</threshold>
            <left_val>-0.3279379904270172</left_val>
            <right_val>0.7356668114662170</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  2 17 6 4 -1.</_>
                <_>
                  5 17 3 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0127182696014643</threshold>
            <left_val>0.8982080221176148</left_val>
            <right_val>-0.4422946870326996</right_val></_></_></trees>
      <stage_threshold>-0.2464511990547180</stage_threshold>
      <parent>0</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  7 11 7 6 -1.</_>
                <_>
                  7 11 7 3 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>0.0778975710272789</threshold>
            <left_val>-0.4263567030429840</left_val>
            <right_val>0.7746483087539673</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  15 9 4 6 -1.</_>
                <_>
                  15 11 4 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>4.6354610822163522e-004</threshold>
            <left_val>-0.2892372012138367</left_val>
            <right_val>0.4208306968212128</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  5 9 4 6 -1.</_>
                <_>
                  5 11 4 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.4381200307980180e-003</threshold>
            <left_val>-0.4368512034416199</left_val>
            <right_val>0.6278401017189026</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  19 1 2 2 -1.</_>
                <_>
                  19 2 2 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.3550122538581491e-004</threshold>
            <left_val>0.1705294996500015</left_val>
            <right_val>-0.6783965826034546</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  3 1 2 2 -1.</_>
                <_>
                  3 2 2 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.0472769392654300e-004</threshold>
            <left_val>0.6105306744575501</left_val>
            <right_val>-0.4470756053924561</right_val></_></_></trees>
      <stage_threshold>-0.7189232110977173</stage_threshold>
      <parent>1</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 6 24 15 -1.</_>
                <_>
                  6 6 12 15 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.2962883114814758</threshold>
            <left_val>-0.4198473989963532</left_val>
            <right_val>0.7971019148826599</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  19 11 4 8 -1.</_>
                <_>
                  19 11 2 8 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0110882502049208</threshold>
            <left_val>-0.1691266000270844</left_val>
            <right_val>0.7143558263778687</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  1 11 4 8 -1.</_>
                <_>
                  3 11 2 8 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0124030699953437</threshold>
            <left_val>0.8005697727203369</left_val>
            <right_val>-0.4553914964199066</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  16 1 8 4 -1.</_>
                <_>
                  16 1 8 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-0.0464448891580105</threshold>
            <left_val>0.7795606255531311</left_val>
            <right_val>-0.1481202989816666</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  2 22 20 2 -1.</_>
                <_>
                  2 23 20 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.9481260096654296e-003</threshold>
            <left_val>-0.4682250022888184</left_val>
            <right_val>0.5970373153686523</right_val></_></_></trees>
      <stage_threshold>-0.7772284150123596</stage_threshold>
      <parent>2</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 5 24 16 -1.</_>
                <_>
                  6 5 12 16 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.2430941015481949</threshold>
            <left_val>-0.4590165019035339</left_val>
            <right_val>0.7179490923881531</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  20 11 4 6 -1.</_>
                <_>
                  20 11 2 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-7.9152313992381096e-003</threshold>
            <left_val>0.7061697840690613</left_val>
            <right_val>-0.2799310088157654</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  7 9 8 6 -1.</_>
                <_>
                  5 11 8 2 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>0.0377803407609463</threshold>
            <left_val>-0.3910241127014160</left_val>
            <right_val>0.8712394833564758</right_val></_></_></trees>
      <stage_threshold>-0.1438709050416946</stage_threshold>
      <parent>3</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  3 1 6 18 -1.</_>
                <_>
                  3 7 6 6 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0555945597589016</threshold>
            <left_val>-0.4634146988391876</left_val>
            <right_val>0.7402601242065430</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  6 12 18 12 -1.</_>
                <_>
                  15 12 9 6 2.</_>
                <_>
                  6 18 9 6 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-0.0346263907849789</threshold>
            <left_val>0.5417597293853760</left_val>
            <right_val>-0.4895595908164978</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  7 5 2 16 -1.</_>
                <_>
                  8 5 1 16 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.5558099839836359e-003</threshold>
            <left_val>-0.6578587889671326</left_val>
            <right_val>0.5545341968536377</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  12 12 3 9 -1.</_>
                <_>
                  9 15 3 3 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>0.0391585491597652</threshold>
            <left_val>-0.5207787156105042</left_val>
            <right_val>0.5032640099525452</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  5 16 12 8 -1.</_>
                <_>
                  5 16 6 4 2.</_>
                <_>
                  11 20 6 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-1.0742599988589063e-004</threshold>
            <left_val>0.6754720211029053</left_val>
            <right_val>-0.8132886886596680</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  12 1 6 22 -1.</_>
                <_>
                  15 1 3 11 2.</_>
                <_>
                  12 12 3 11 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-6.5437227021902800e-005</threshold>
            <left_val>0.2627558112144470</left_val>
            <right_val>-0.4503321945667267</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  2 0 16 2 -1.</_>
                <_>
                  6 0 8 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.7460687821730971e-004</threshold>
            <left_val>0.7732300758361816</left_val>
            <right_val>-0.5398429036140442</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  13 9 9 1 -1.</_>
                <_>
                  16 12 3 1 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>5.0194390496471897e-005</threshold>
            <left_val>-0.3247536122798920</left_val>
            <right_val>0.4475879073143005</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  11 0 2 3 -1.</_>
                <_>
                  11 0 1 3 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-4.4003000948578119e-004</threshold>
            <left_val>0.7585998773574829</left_val>
            <right_val>-0.6460316777229309</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  15 4 6 10 -1.</_>
                <_>
                  18 4 3 5 2.</_>
                <_>
                  15 9 3 5 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0259957294911146</threshold>
            <left_val>-0.2946102023124695</left_val>
            <right_val>0.8976250886917114</right_val></_></_></trees>
      <stage_threshold>-0.9305977821350098</stage_threshold>
      <parent>4</parent>
      <next>-1</next></_>
    <_>
      <trees>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  2 7 18 4 -1.</_>
                <_>
                  8 7 6 4 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>3.7178429192863405e-004</threshold>
            <left_val>-0.7678570747375488</left_val>
            <right_val>0.9772729873657227</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  10 15 12 1 -1.</_>
                <_>
                  10 15 6 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>7.7586606494151056e-005</threshold>
            <left_val>-0.8531979918479919</left_val>
            <right_val>0.8556699156761169</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 0 6 4 -1.</_>
                <_>
                  0 1 6 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-3.4526220406405628e-004</threshold>
            <left_val>1.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  20 1 2 4 -1.</_>
                <_>
                  20 3 2 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-1.4842460223007947e-004</threshold>
            <left_val>0.8420150876045227</left_val>
            <right_val>-0.8370851874351502</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  5 8 4 6 -1.</_>
                <_>
                  5 10 4 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>9.3660950369667262e-005</threshold>
            <left_val>-0.9026607275009155</left_val>
            <right_val>0.9660649895668030</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  17 18 4 2 -1.</_>
                <_>
                  17 19 4 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-3.1216608476825058e-005</threshold>
            <left_val>0.7350060939788818</left_val>
            <right_val>-0.9452276825904846</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  8 7 3 2 -1.</_>
                <_>
                  9 7 1 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.9123399397358298e-005</threshold>
            <left_val>-0.9549378752708435</left_val>
            <right_val>0.9999995827674866</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  12 0 7 4 -1.</_>
                <_>
                  11 1 7 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-8.5479900008067489e-004</threshold>
            <left_val>0.6226180195808411</left_val>
            <right_val>-0.9561765193939209</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  1 5 20 4 -1.</_>
                <_>
                  1 6 20 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>6.4194398873951286e-005</threshold>
            <left_val>-0.9679976105690002</left_val>
            <right_val>0.9999986886978149</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  12 8 3 3 -1.</_>
                <_>
                  13 9 1 1 9.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.5261810515075922e-004</threshold>
            <left_val>0.7344951033592224</left_val>
            <right_val>-0.9647787809371948</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  9 5 3 9 -1.</_>
                <_>
                  10 8 1 3 9.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>3.0030179914319888e-005</threshold>
            <left_val>-0.9567087292671204</left_val>
            <right_val>0.9603865146636963</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  10 0 10 12 -1.</_>
                <_>
                  10 4 10 4 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0381215699017048</threshold>
            <left_val>-0.9676638841629028</left_val>
            <right_val>1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 0 2 1 -1.</_>
                <_>
                  1 0 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.</threshold>
            <left_val>0.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  9 9 6 14 -1.</_>
                <_>
                  9 16 6 7 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.1901889704167843e-003</threshold>
            <left_val>1.</left_val>
            <right_val>-0.9999998807907105</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  4 3 3 2 -1.</_>
                <_>
                  5 3 1 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>6.7034103267360479e-005</threshold>
            <left_val>-0.9505786895751953</left_val>
            <right_val>1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  13 0 7 24 -1.</_>
                <_>
                  13 6 7 12 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.0216139499098063</threshold>
            <left_val>-0.9739121794700623</left_val>
            <right_val>1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 0 2 1 -1.</_>
                <_>
                  1 0 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.</threshold>
            <left_val>0.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  23 4 1 4 -1.</_>
                <_>
                  23 4 1 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>3.6868758616037667e-004</threshold>
            <left_val>-0.9623187780380249</left_val>
            <right_val>1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 0 2 4 -1.</_>
                <_>
                  0 0 1 2 2.</_>
                <_>
                  1 2 1 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>7.3006830643862486e-004</threshold>
            <left_val>-1.</left_val>
            <right_val>1.0000029802322388</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  22 0 2 1 -1.</_>
                <_>
                  22 0 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.</threshold>
            <left_val>0.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  8 8 4 2 -1.</_>
                <_>
                  9 9 2 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>2.9214489040896297e-004</threshold>
            <left_val>-0.9848924875259399</left_val>
            <right_val>1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  22 0 2 1 -1.</_>
                <_>
                  22 0 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-3.4605909604579210e-005</threshold>
            <left_val>1.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  5 10 3 8 -1.</_>
                <_>
                  5 14 3 4 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-5.2147359383525327e-005</threshold>
            <left_val>1.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  11 0 12 6 -1.</_>
                <_>
                  15 0 4 6 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.9584309775382280e-003</threshold>
            <left_val>-0.7701842784881592</left_val>
            <right_val>1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  3 0 4 8 -1.</_>
                <_>
                  4 0 2 8 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-3.4345869789831340e-004</threshold>
            <left_val>1.</left_val>
            <right_val>-1.0000009536743164</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  12 13 6 2 -1.</_>
                <_>
                  15 13 3 1 2.</_>
                <_>
                  12 14 3 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.9812791035510600e-004</threshold>
            <left_val>1.</left_val>
            <right_val>-0.8063606023788452</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 8 22 6 -1.</_>
                <_>
                  0 10 22 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>5.7243119226768613e-004</threshold>
            <left_val>-0.9409096837043762</left_val>
            <right_val>0.9999994039535523</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  10 16 6 3 -1.</_>
                <_>
                  12 17 2 1 9.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>2.4976261192932725e-004</threshold>
            <left_val>-0.9146463871002197</left_val>
            <right_val>1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 0 1 3 -1.</_>
                <_>
                  0 1 1 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.2143189198686741e-005</threshold>
            <left_val>1.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  14 6 3 12 -1.</_>
                <_>
                  15 6 1 12 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.4976261192932725e-004</threshold>
            <left_val>1.</left_val>
            <right_val>-0.8397995233535767</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  3 0 9 2 -1.</_>
                <_>
                  6 0 3 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-1.6981110093183815e-005</threshold>
            <left_val>1.</left_val>
            <right_val>-0.9671993255615234</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  13 3 8 2 -1.</_>
                <_>
                  13 3 4 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>1.3722529729420785e-005</threshold>
            <left_val>-0.3995836079120636</left_val>
            <right_val>0.8958265185356140</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  4 7 10 2 -1.</_>
                <_>
                  4 7 5 2 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>-3.0613439157605171e-003</threshold>
            <left_val>1.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  22 5 2 2 -1.</_>
                <_>
                  23 5 1 1 2.</_>
                <_>
                  22 6 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>1.3532770026358776e-005</threshold>
            <left_val>-0.6454011797904968</left_val>
            <right_val>0.8005411028862000</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  3 3 3 5 -1.</_>
                <_>
                  4 3 1 5 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>3.5378430766286328e-005</threshold>
            <left_val>-0.9879860877990723</left_val>
            <right_val>0.9999995827674866</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  21 0 3 1 -1.</_>
                <_>
                  22 0 1 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>8.9099332399200648e-005</threshold>
            <left_val>-1.</left_val>
            <right_val>1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 0 2 1 -1.</_>
                <_>
                  1 0 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>0.</threshold>
            <left_val>0.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  17 3 4 15 -1.</_>
                <_>
                  18 4 2 15 2.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>9.3142632977105677e-005</threshold>
            <left_val>-0.9528223872184753</left_val>
            <right_val>1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 0 1 3 -1.</_>
                <_>
                  0 1 1 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.1035749523434788e-004</threshold>
            <left_val>1.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  15 0 9 14 -1.</_>
                <_>
                  18 3 3 14 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>6.3318498432636261e-003</threshold>
            <left_val>-0.8127229213714600</left_val>
            <right_val>1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 0 8 4 -1.</_>
                <_>
                  0 2 8 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.1812409613630734e-005</threshold>
            <left_val>1.</left_val>
            <right_val>-1.</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  12 7 5 6 -1.</_>
                <_>
                  12 9 5 2 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-2.7811920153908432e-004</threshold>
            <left_val>1.</left_val>
            <right_val>-0.8343936800956726</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  9 0 14 9 -1.</_>
                <_>
                  6 3 14 3 3.</_></rects>
              <tilted>1</tilted></feature>
            <threshold>1.3384489575400949e-003</threshold>
            <left_val>-1.</left_val>
            <right_val>1.0000029802322388</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  21 0 3 24 -1.</_>
                <_>
                  22 8 1 8 9.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-4.1773528791964054e-003</threshold>
            <left_val>1.</left_val>
            <right_val>-0.9665595293045044</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  0 7 14 4 -1.</_>
                <_>
                  0 9 14 2 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>3.4526220406405628e-004</threshold>
            <left_val>-1.</left_val>
            <right_val>1.0000009536743164</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  23 0 1 2 -1.</_>
                <_>
                  23 1 1 1 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-8.3527120295912027e-005</threshold>
            <left_val>1.</left_val>
            <right_val>-0.9904683828353882</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  2 4 12 18 -1.</_>
                <_>
                  2 13 12 9 2.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-3.9857751107774675e-004</threshold>
            <left_val>1.</left_val>
            <right_val>-0.9822534918785095</right_val></_></_>
        <_>
          <_>
            <feature>
              <rects>
                <_>
                  15 6 6 3 -1.</_>
                <_>
                  15 7 6 1 3.</_></rects>
              <tilted>0</tilted></feature>
            <threshold>-6.8601642851717770e-005</threshold>
...

This file has been truncated, please download it to see its full contents.

Project repository: "Deep Learning COVID-19 detection with OpenCV"

Folders: Virus-Cells (Detecting COVID-19 Virus Cells with OpenCV) X-ray (Detecting COVID-19 in X-ray with OpenCV)

Credits

Guillermo Perez Guillen

Guillermo Perez Guillen

53 projects • 61 followers
Electronics and Communications Engineer (ECE): 12 prizes in Hackster / Hackaday Prize Finalist 2021-22-23 / 3 prizes in element14

Comments