modified facedetect to properly display very oblong objects and optionally flip image...
authorVadim Pisarevsky <vadim.pisarevsky@itseez.com>
Wed, 22 Aug 2012 11:48:57 +0000 (15:48 +0400)
committerVadim Pisarevsky <vadim.pisarevsky@itseez.com>
Wed, 22 Aug 2012 11:48:57 +0000 (15:48 +0400)
data/lbpcascades/lbpcascade_profileface.xml [new file with mode: 0755]
data/lbpcascades/lbpcascade_silverware.xml [new file with mode: 0755]
samples/c/facedetect.cpp

diff --git a/data/lbpcascades/lbpcascade_profileface.xml b/data/lbpcascades/lbpcascade_profileface.xml
new file mode 100755 (executable)
index 0000000..a9e8437
--- /dev/null
@@ -0,0 +1,1275 @@
+<!--\r
+    This is 20x34 detector of profile faces using LBP features.\r
+    It was created by Attila Novak during GSoC 2012.\r
+    Note that the detector only detects faces rotated to the right,\r
+    so you may want to run it on the original and on\r
+    the flipped image to detect different profile faces.\r
+-->\r
+<?xml version="1.0"?>\r
+<opencv_storage>\r
+<cascade>\r
+  <stageType>BOOST</stageType>\r
+  <featureType>LBP</featureType>\r
+  <height>34</height>\r
+  <width>20</width>\r
+  <stageParams>\r
+    <boostType>GAB</boostType>\r
+    <minHitRate>9.9500000476837158e-001</minHitRate>\r
+    <maxFalseAlarm>3.0000001192092896e-001</maxFalseAlarm>\r
+    <weightTrimRate>9.4999999999999996e-001</weightTrimRate>\r
+    <maxDepth>1</maxDepth>\r
+    <maxWeakCount>100</maxWeakCount></stageParams>\r
+  <featureParams>\r
+    <maxCatCount>256</maxCatCount>\r
+    <featSize>1</featSize></featureParams>\r
+  <stageNum>16</stageNum>\r
+  <stages>\r
+    <!-- stage 0 -->\r
+    <_>\r
+      <maxWeakCount>4</maxWeakCount>\r
+      <stageThreshold>-5.9480339288711548e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 114 -2360321 -82228595 -771518211 -713436773\r
+            -1060447799 -810385271 -2004135683 -2566104</internalNodes>\r
+          <leafValues>\r
+            -8.0942183732986450e-001 5.9530025720596313e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 54 -649134608 -1060077114 1375916272 -719981432\r
+            1073801352 33024 281198795 -5246465</internalNodes>\r
+          <leafValues>\r
+            -7.7979278564453125e-001 5.4052764177322388e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 12 -960266913 -495857599 -1068498864 -867970987\r
+            457398579 -1174173695 1749041235 1849162079</internalNodes>\r
+          <leafValues>\r
+            -8.0028575658798218e-001 5.0435048341751099e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 120 -1228145793 -807247727 18059735 -138644520\r
+            998980043 -41250583 673112549 -1930366540</internalNodes>\r
+          <leafValues>\r
+            -7.7902388572692871e-001 4.9006074666976929e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 1 -->\r
+    <_>\r
+      <maxWeakCount>6</maxWeakCount>\r
+      <stageThreshold>-5.4879629611968994e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 6 -254346881 -746143606 -1039596583 1963430479\r
+            -263790449 -1073545213 698505999 -1349357</internalNodes>\r
+          <leafValues>\r
+            -6.6315788030624390e-001 6.0000002384185791e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 112 -134225985 -684228389 -988213089 -684716007\r
+            -1966960899 -896630615 152815840 -864497420</internalNodes>\r
+          <leafValues>\r
+            -7.0195454359054565e-001 5.8843690156936646e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 53 -35923461 520818827 -1862167847 856916291 68141197\r
+            2072530978 304306417 526079163</internalNodes>\r
+          <leafValues>\r
+            -6.4593964815139771e-001 5.7274609804153442e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 101 -2097665 -1781432163 588321018 -1677405808\r
+            -1968469982 -1450147831 -1467632684 -593693808</internalNodes>\r
+          <leafValues>\r
+            -7.2959578037261963e-001 4.9470889568328857e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 79 -205847273 -1088716541 285266431 1393693056\r
+            293931101 -1634205688 -452263692 -111136684</internalNodes>\r
+          <leafValues>\r
+            -7.0331865549087524e-001 5.2564400434494019e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 126 579801457 -670613495 -1065269989 -117095565\r
+            -1295163359 -779534335 -1744220101 -1355860</internalNodes>\r
+          <leafValues>\r
+            -7.5121974945068359e-001 4.5217981934547424e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 2 -->\r
+    <_>\r
+      <maxWeakCount>4</maxWeakCount>\r
+      <stageThreshold>-4.3886357545852661e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 20 -346563793 1217040543 -1324639677 206303367\r
+            -260894653 1165249072 1359168335 1652518863</internalNodes>\r
+          <leafValues>\r
+            -8.3054625988006592e-001 5.5417186021804810e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 69 -925898078 -917290147 -2147368790 -1995968378\r
+            1203961890 1765910571 789128481 -4201473</internalNodes>\r
+          <leafValues>\r
+            -7.5220447778701782e-001 6.1290657520294189e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 7 -425790473 -368916470 -1065172848 -1877712894\r
+            -1067360254 -847191997 1342400518 -680037517</internalNodes>\r
+          <leafValues>\r
+            -7.8469508886337280e-001 5.9731280803680420e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 5 -260315918 -1567751150 -805289977 1721229843\r
+            1644296976 1954742530 824530213 -8392601</internalNodes>\r
+          <leafValues>\r
+            -7.3686408996582031e-001 5.6347119808197021e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 3 -->\r
+    <_>\r
+      <maxWeakCount>6</maxWeakCount>\r
+      <stageThreshold>-4.6629825234413147e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 111 -67634177 -72175593 -246181185 -144772036\r
+            -1465917455 -1426934837 -345249307 -539041852</internalNodes>\r
+          <leafValues>\r
+            -7.1692305803298950e-001 5.5034482479095459e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 47 -1048705 -96415158 -1996126927 67301684 -659873481\r
+            1800863745 -402143413 1647570815</internalNodes>\r
+          <leafValues>\r
+            -7.6134461164474487e-001 4.7370144724845886e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 119 1905247351 -1111526689 1426654203 -116427277\r
+            1731664419 -81052249 1051905317 -1628448513</internalNodes>\r
+          <leafValues>\r
+            -5.9460461139678955e-001 6.1952447891235352e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 2 578486263 -2115313530 -788268733 -1122507629\r
+            -343408719 2127242147 -85406399 -37295</internalNodes>\r
+          <leafValues>\r
+            -6.0801470279693604e-001 5.8719038963317871e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 127 -1147176065 52139167 21156225 -540503783 -771529299\r
+            -33325024 -671045243 -1913073360</internalNodes>\r
+          <leafValues>\r
+            -7.4383884668350220e-001 5.1643568277359009e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 93 -319091633 -58633529 1166906391 1854443149\r
+            1267403009 -1198817246 1208634960 -35661669</internalNodes>\r
+          <leafValues>\r
+            -6.8595260381698608e-001 5.5931246280670166e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 4 -->\r
+    <_>\r
+      <maxWeakCount>8</maxWeakCount>\r
+      <stageThreshold>-6.0948312282562256e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 102 -747899393 -543522675 545333467 -34230241\r
+            -1572626245 -17790840 -1182162691 -1078427420</internalNodes>\r
+          <leafValues>\r
+            -6.0826772451400757e-001 4.6491229534149170e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 38 -103812609 503024467 -2121908081 722834075\r
+            1375757518 2022089353 197321677 2077719203</internalNodes>\r
+          <leafValues>\r
+            -6.2948691844940186e-001 4.8044654726982117e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 19 -774429826 -607461158 1158791644 -971587409\r
+            -1732167611 2015560010 -1278549257 -159911361</internalNodes>\r
+          <leafValues>\r
+            -5.9694272279739380e-001 4.7999730706214905e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 122 735837495 -875325281 152208339 -741020481\r
+            -1471817477 -1165246433 -1450830159 -1696546384</internalNodes>\r
+          <leafValues>\r
+            -6.4947181940078735e-001 4.2661586403846741e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 104 -629063145 -49708711 50692231 1973945160 157637120\r
+            2056259593 1771350547 -78911181</internalNodes>\r
+          <leafValues>\r
+            -6.2496536970138550e-001 4.4524449110031128e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 67 -74189973 -803307502 688005268 1600057378 -131870050\r
+            -1600503318 571446250 -386668002</internalNodes>\r
+          <leafValues>\r
+            -5.5046343803405762e-001 5.6090569496154785e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 81 586347861 -2071051852 -250078020 -1455374076\r
+            546287843 1216708619 -1853707673 -35130912</internalNodes>\r
+          <leafValues>\r
+            -6.3877129554748535e-001 4.7911971807479858e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 22 -1436568057 1555188001 164315 2084672259 1809869105\r
+            1132626050 1223430266 -596124761</internalNodes>\r
+          <leafValues>\r
+            -6.4428490400314331e-001 4.7921949625015259e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 5 -->\r
+    <_>\r
+      <maxWeakCount>8</maxWeakCount>\r
+      <stageThreshold>-5.4387503862380981e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 44 -783680003 -771883143 -302055943 -5898247 -253370375\r
+            -1996628131 1625947386 -2004157446</internalNodes>\r
+          <leafValues>\r
+            -5.2870607376098633e-001 5.9474670886993408e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 49 -586034977 -41205679 352424062 -163145456 151126042\r
+            -1171652503 1208036058 -9019322</internalNodes>\r
+          <leafValues>\r
+            -5.6763833761215210e-001 4.8789894580841064e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 39 1402589836 1363509256 103583 823365787 -1861443377\r
+            412131360 539718283 1002160350</internalNodes>\r
+          <leafValues>\r
+            -5.9899079799652100e-001 4.9562713503837585e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 113 -783429121 -1559215981 286355953 -794820602\r
+            461510679 -611662910 -2136237584 -96429424</internalNodes>\r
+          <leafValues>\r
+            -6.3842493295669556e-001 4.3330931663513184e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 99 -1365839532 -1291265163 1091604493 965968977\r
+            147472779 -1466925055 -2013090821 -1410703205</internalNodes>\r
+          <leafValues>\r
+            -5.8633142709732056e-001 5.0152444839477539e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 26 1846469631 -788479850 268796195 -754872317\r
+            1630603451 -896532480 1208092751 -72652777</internalNodes>\r
+          <leafValues>\r
+            -5.9243172407150269e-001 4.7917708754539490e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 85 -715395062 -113037167 1342198133 -552594287\r
+            411123713 11059209 -2012512153 -877809205</internalNodes>\r
+          <leafValues>\r
+            -6.9079184532165527e-001 4.2610234022140503e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 100 -526391817 -921022135 -1593630697 671093393\r
+            -2004270453 -1962835840 -1870413655 -1597095644</internalNodes>\r
+          <leafValues>\r
+            -6.5030521154403687e-001 4.4748127460479736e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 6 -->\r
+    <_>\r
+      <maxWeakCount>8</maxWeakCount>\r
+      <stageThreshold>-6.3195121288299561e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 109 -674761315 -581726065 352407899 -83717423\r
+            -660870145 -1165915966 -326837763 -927182608</internalNodes>\r
+          <leafValues>\r
+            -7.3185729980468750e-001 3.3258172869682312e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 97 860755579 -707063662 1361264863 1065505299\r
+            -1022866435 -1776123776 -1865661700 -1615196136</internalNodes>\r
+          <leafValues>\r
+            -6.1147916316986084e-001 3.7205791473388672e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 15 -678435969 -106962866 268652561 -826396597\r
+            -802066313 1931092070 1208025439 1211582847</internalNodes>\r
+          <leafValues>\r
+            -6.8679082393646240e-001 3.6285603046417236e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 86 -1573074550 -2080337595 299991 110482176 268552379\r
+            -310373944 596185787 -1428952165</internalNodes>\r
+          <leafValues>\r
+            -6.4654982089996338e-001 4.1456297039985657e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 30 -72637790 -1258143612 1342937104 -544352374\r
+            -1046875163 -121076606 -786059128 -71702400</internalNodes>\r
+          <leafValues>\r
+            -5.2772462368011475e-001 4.9787566065788269e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 89 -683288417 -218031996 33734999 -16115386 -2013259561\r
+            -2008907509 -1978533232 -352342880</internalNodes>\r
+          <leafValues>\r
+            -5.2718847990036011e-001 5.2839303016662598e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 10 -268764033 -1078984772 -65537 -281182212 -524291 -1\r
+            -8489090 -4227265</internalNodes>\r
+          <leafValues>\r
+            -5.0513482093811035e-001 5.8522778749465942e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 82 -570445845 784662143 -268435661 -1292701712\r
+            -436263043 -1367507075 -671091243 -751108132</internalNodes>\r
+          <leafValues>\r
+            -5.2438414096832275e-001 5.4709094762802124e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 7 -->\r
+    <_>\r
+      <maxWeakCount>8</maxWeakCount>\r
+      <stageThreshold>-5.9874147176742554e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 27 -721421649 -1001940437 2300046 -720004829 -792686333\r
+            1908900882 -160055232 -134763633</internalNodes>\r
+          <leafValues>\r
+            -5.7692307233810425e-001 3.7921348214149475e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 78 -1764279809 -1755824061 1937871313 -42069793\r
+            -1241158993 -1196293937 -1576828673 -70371296</internalNodes>\r
+          <leafValues>\r
+            -4.7039109468460083e-001 4.8607903718948364e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 29 -795875130 432079111 285457049 -620658641 -780072971\r
+            1158283432 -226254016 1839935243</internalNodes>\r
+          <leafValues>\r
+            -6.2938809394836426e-001 4.1353255510330200e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 33 -37236389 1654493543 202129823 1788182787\r
+            -1186162321 1912913933 -122942838 1968176815</internalNodes>\r
+          <leafValues>\r
+            -5.9031385183334351e-001 4.1488575935363770e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 88 1903888863 -286828472 -2125248034 -623115882\r
+            -268301806 -894826357 -2046633148 -696873056</internalNodes>\r
+          <leafValues>\r
+            -6.3875061273574829e-001 4.0209171175956726e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 123 -87223501 -1873424249 -1878929092 -586710990\r
+            -643825151 -1039040192 -285122488 -264093</internalNodes>\r
+          <leafValues>\r
+            -5.4196298122406006e-001 4.5856228470802307e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 52 -780030833 1363755203 -385150929 25502018 1214818435\r
+            -1020786271 -1870036478 1200354241</internalNodes>\r
+          <leafValues>\r
+            -5.2826374769210815e-001 5.3351372480392456e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 84 -1724706499 -184429355 620844509 -179010317\r
+            -1610327896 -341801844 -1190328066 1755915264</internalNodes>\r
+          <leafValues>\r
+            -5.7672232389450073e-001 4.4138705730438232e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 8 -->\r
+    <_>\r
+      <maxWeakCount>9</maxWeakCount>\r
+      <stageThreshold>-5.4533123970031738e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 48 -254347649 -565919658 1079050328 1090502875\r
+            1895985446 2013437961 -916419445 -53481573</internalNodes>\r
+          <leafValues>\r
+            -5.8105266094207764e-001 3.3599999547004700e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 65 2030928895 1438877010 1124143121 258207763\r
+            1361199276 1527410834 2072519624 1004267991</internalNodes>\r
+          <leafValues>\r
+            -5.9629368782043457e-001 3.6112698912620544e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 45 -247204964 -242712316 54544644 892459288 1888023456\r
+            -2138044280 -802615208 13199500</internalNodes>\r
+          <leafValues>\r
+            -6.5467655658721924e-001 3.0486112833023071e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 3 -430509345 -1865653973 554091143 -1069121312\r
+            1091180718 50577994 -1031731181 -211321225</internalNodes>\r
+          <leafValues>\r
+            -5.8759629726409912e-001 3.9526104927062988e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 106 -741412064 -255623164 1090945848 -1687760764\r
+            42428760 -1064762741 -1861683196 -81029101</internalNodes>\r
+          <leafValues>\r
+            -6.5875691175460815e-001 3.4154877066612244e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 128 -464010241 762112 285299147 -589082223 1373135017\r
+            -2138955645 1057005712 -526876236</internalNodes>\r
+          <leafValues>\r
+            -6.5968728065490723e-001 3.3614772558212280e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 80 -666744719 -635780797 33637339 -887860848\r
+            -1073532217 -108904320 440608996 -1100753973</internalNodes>\r
+          <leafValues>\r
+            -5.0520354509353638e-001 4.4810971617698669e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 28 -1580738774 -1506653838 302055688 -721223615\r
+            1427604224 -1566332144 1078565791 -558431977</internalNodes>\r
+          <leafValues>\r
+            -5.5560898780822754e-001 4.3426483869552612e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 103 957796629 538644536 352997725 80838797 453085387\r
+            -1165492198 285346042 1487077737</internalNodes>\r
+          <leafValues>\r
+            -5.5915868282318115e-001 4.0778505802154541e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 9 -->\r
+    <_>\r
+      <maxWeakCount>9</maxWeakCount>\r
+      <stageThreshold>-6.7299038171768188e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 0 -882973185 -620584737 279035921 -673986422\r
+            -1568464349 -2105466877 1468391879 -38825</internalNodes>\r
+          <leafValues>\r
+            -5.7544225454330444e-001 3.4235453605651855e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 90 -1820101795 -1336770299 285245717 -57216724\r
+            -502134548 -1425341984 -1475618680 -1195896480</internalNodes>\r
+          <leafValues>\r
+            -6.6810834407806396e-001 2.7653357386589050e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 9 -100197449 -457893579 200991 1964749325 -754875920\r
+            1897044675 1669843618 -70792821</internalNodes>\r
+          <leafValues>\r
+            -4.9064287543296814e-001 4.3120625615119934e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 117 -792114173 -544111547 537001999 2034569362\r
+            -1065213888 1630052634 -1450583484 -532405661</internalNodes>\r
+          <leafValues>\r
+            -6.4218991994857788e-001 3.6113587021827698e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 107 -1564241697 -1429683702 -2062974587 -1900539448\r
+            -1040078205 -394262006 -188628336 -390485984</internalNodes>\r
+          <leafValues>\r
+            -5.9181970357894897e-001 3.5756480693817139e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 4 1893434787 -1945108258 82458 -318734161 -939347837\r
+            684196040 1078496869 2133023515</internalNodes>\r
+          <leafValues>\r
+            -6.1955446004867554e-001 3.4674292802810669e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 31 -196247204 1964277780 -1810886012 21827851\r
+            -364280891 -1062338560 -536741128 -362562814</internalNodes>\r
+          <leafValues>\r
+            -5.2849757671356201e-001 4.1380330920219421e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 61 -1929140897 353472529 -721412674 -1228123782\r
+            -392951233 -1442693096 672800826 -232914898</internalNodes>\r
+          <leafValues>\r
+            -5.7934975624084473e-001 3.9208874106407166e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 72 -1004361296 -1069243858 268710018 1393598601\r
+            213956864 417530145 -912735606 1327495627</internalNodes>\r
+          <leafValues>\r
+            -7.5585323572158813e-001 2.6728668808937073e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 10 -->\r
+    <_>\r
+      <maxWeakCount>9</maxWeakCount>\r
+      <stageThreshold>-7.1303337812423706e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 23 -557797393 1524138462 277074064 -737259367\r
+            -1878818960 -81600384 -1740109301 -59267505</internalNodes>\r
+          <leafValues>\r
+            -6.7397260665893555e-001 1.9793814420700073e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 42 -1222377543 960610456 -2013138684 -989277927\r
+            -1010064731 -802979830 -645806439 -885143219</internalNodes>\r
+          <leafValues>\r
+            -4.5935314893722534e-001 4.1904711723327637e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 124 -783292542 -728791016 1342570700 1481418249\r
+            1258825942 -1580563964 -1178136688 -272306640</internalNodes>\r
+          <leafValues>\r
+            -6.3012123107910156e-001 2.9463621973991394e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 46 1369396573 -188563225 22085642 -1005861886\r
+            2023260232 -1123842045 -2146991925 1245170171</internalNodes>\r
+          <leafValues>\r
+            -5.2092707157135010e-001 3.9743596315383911e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 64 1540188400 1976259599 -805025279 864127692 544944\r
+            1484935304 -2147056504 1002584738</internalNodes>\r
+          <leafValues>\r
+            -6.5315401554107666e-001 3.1758561730384827e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 77 -188606981 -1873391210 16842830 -117157654\r
+            -1576842600 -1454767992 -518835576 -1625272280</internalNodes>\r
+          <leafValues>\r
+            -5.8580338954925537e-001 3.4936144948005676e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 18 -473497030 -477572088 16842905 -12164860 184698994\r
+            1350566019 -2143169323 1405313030</internalNodes>\r
+          <leafValues>\r
+            -6.0962837934494019e-001 3.0044576525688171e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 92 -528022006 -611028904 1075937757 -577660920\r
+            1073809492 -1341620207 -1475846395 -162412743</internalNodes>\r
+          <leafValues>\r
+            -6.6547930240631104e-001 3.1993752717971802e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 116 -2062347245 35311783 406966429 -640155632\r
+            -1904205761 -2012610494 399245455 -937752211</internalNodes>\r
+          <leafValues>\r
+            -4.8515367507934570e-001 4.3642494082450867e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 11 -->\r
+    <_>\r
+      <maxWeakCount>10</maxWeakCount>\r
+      <stageThreshold>-1.1831332445144653e+000</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 115 -912525479 -2146793066 247327 -554139184 320582141\r
+            -1442774971 1552517769 -1464330096</internalNodes>\r
+          <leafValues>\r
+            -7.2892564535140991e-001 1.2876711785793304e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 41 -182757566 -683667118 268566545 -540408959\r
+            1547915506 2014497074 1817806103 -549486525</internalNodes>\r
+          <leafValues>\r
+            -5.6024330854415894e-001 2.8734233975410461e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 13 -1396013057 -175218480 536903951 -35946104 -92067077\r
+            956498056 -200474487 1331907188</internalNodes>\r
+          <leafValues>\r
+            -5.5237007141113281e-001 3.2844060659408569e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 17 2110443855 1547702666 -1874853670 1083212172\r
+            -2004008413 -498614008 572624451 1179093527</internalNodes>\r
+          <leafValues>\r
+            -7.2481799125671387e-001 2.6627025008201599e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 43 -1751428966 -1626324992 -1073540847 -783806124\r
+            -2146909454 -913440767 -2138941303 -558233160</internalNodes>\r
+          <leafValues>\r
+            -4.4304186105728149e-001 4.1505634784698486e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 37 -576405461 -1625709950 1627439763 1116373274\r
+            1622902452 1107834529 975868423 2074176171</internalNodes>\r
+          <leafValues>\r
+            -5.6509882211685181e-001 3.5433205962181091e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 118 1171205664 1426522307 49281 563122240 -791985520\r
+            -930869245 -364148081 -590624140</internalNodes>\r
+          <leafValues>\r
+            -5.6250953674316406e-001 3.3341854810714722e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 76 1162033968 1180991656 16859165 230787289 -2104786299\r
+            -1819967351 1118240928 -343561865</internalNodes>\r
+          <leafValues>\r
+            -4.7331553697586060e-001 4.1576251387596130e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 110 -2147085315 -1228897088 -2146839339 -1751314339\r
+            -531605907 -393183232 1804153563 -1399324416</internalNodes>\r
+          <leafValues>\r
+            -5.8979070186614990e-001 3.7525305151939392e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 55 1581887865 999817729 151311688 331546624 -991625824\r
+            -938834941 1837335184 852075394</internalNodes>\r
+          <leafValues>\r
+            -5.4071021080017090e-001 4.0077716112136841e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 12 -->\r
+    <_>\r
+      <maxWeakCount>10</maxWeakCount>\r
+      <stageThreshold>-6.4480733871459961e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 16 -510660401 -884555766 272896026 -12189566\r
+            -1685363509 -662568805 1073840823 -545105785</internalNodes>\r
+          <leafValues>\r
+            -5.3361344337463379e-001 2.7807486057281494e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 48 -557408354 2115155922 -2130669353 1616707591\r
+            693193240 -1569554175 -1743918878 1983596555</internalNodes>\r
+          <leafValues>\r
+            -5.3364741802215576e-001 3.1411096453666687e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 108 -413278733 83935516 536961502 1452278484\r
+            -2004277212 -391683967 -1426466672 -85395040</internalNodes>\r
+          <leafValues>\r
+            -7.4530494213104248e-001 2.3025059700012207e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 32 -938623022 1469386887 822151432 421593370\r
+            -1433793568 -1602191360 -527916919 680112651</internalNodes>\r
+          <leafValues>\r
+            -4.6078306436538696e-001 4.0021440386772156e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 50 1619785226 -1004367410 1417725137 126732357\r
+            148062614 -625983352 -712398335 -412918226</internalNodes>\r
+          <leafValues>\r
+            -4.9818846583366394e-001 3.6678382754325867e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 24 -1064322531 1351938204 196691 -561840073 -1978859471\r
+            -649944954 -2003664885 -1172094197</internalNodes>\r
+          <leafValues>\r
+            -4.7309580445289612e-001 4.2868506908416748e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 96 -1878961904 1360035888 -1073721317 -1051487863\r
+            -431841087 1628112896 -2112640640 -1829440828</internalNodes>\r
+          <leafValues>\r
+            -6.9250243902206421e-001 2.8783574700355530e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 62 67496095 391741589 -2146154237 96245592 -893992548\r
+            982687872 571488264 278906307</internalNodes>\r
+          <leafValues>\r
+            -6.4613574743270874e-001 3.0145862698554993e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 73 -415771792 1208487966 339825796 1792117580\r
+            1128517807 144965669 -536376816 732856538</internalNodes>\r
+          <leafValues>\r
+            -6.9449120759963989e-001 3.0338683724403381e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 40 -1991530440 324215457 -2080275930 -1857940798\r
+            1342685625 721420800 1250592988 1493903457</internalNodes>\r
+          <leafValues>\r
+            -7.0043331384658813e-001 2.5916099548339844e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 13 -->\r
+    <_>\r
+      <maxWeakCount>10</maxWeakCount>\r
+      <stageThreshold>-6.0248321294784546e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 21 -16537745 2114438797 1409323561 1691064397\r
+            -207434939 822260754 -384857461 2031088579</internalNodes>\r
+          <leafValues>\r
+            -6.1256545782089233e-001 1.7948718369007111e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 1 -95427858 67117166 -1308426467 -1962693439 601886855\r
+            924320187 1661215701 2078945158</internalNodes>\r
+          <leafValues>\r
+            -6.8756872415542603e-001 2.2317354381084442e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 121 -1853361185 -619857007 16793601 -184516476\r
+            -1422775873 -488996831 1476610285 -926297672</internalNodes>\r
+          <leafValues>\r
+            -5.2260422706604004e-001 3.2479336857795715e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 105 -267171326 1436635177 1937772829 -2092859315\r
+            -769638067 -2122268534 1502103583 -18894227</internalNodes>\r
+          <leafValues>\r
+            -5.2588832378387451e-001 3.4061828255653381e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 83 1880187281 -1862250368 303299 960921986 -2002701917\r
+            -1593343958 -334888263 1058018448</internalNodes>\r
+          <leafValues>\r
+            -6.9037044048309326e-001 2.7262538671493530e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 34 -2125487365 1347551377 -1861970752 1368654274\r
+            -1064675233 436275211 327448684 2068015115</internalNodes>\r
+          <leafValues>\r
+            -5.3338903188705444e-001 3.2425448298454285e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 36 1192659162 235536712 1078002258 428089414\r
+            -2138651204 -1937242101 507742421 1932739127</internalNodes>\r
+          <leafValues>\r
+            -6.4654779434204102e-001 3.0722403526306152e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 14 -805047416 -1962622822 -2013265442 2030239751\r
+            1082134810 1744963592 -1836871485 -249326965</internalNodes>\r
+          <leafValues>\r
+            -5.7250964641571045e-001 3.1499111652374268e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 75 -650653297 170234379 -2063527695 448823424\r
+            -2139088862 319586315 -2067685344 -1347692410</internalNodes>\r
+          <leafValues>\r
+            -5.4618871212005615e-001 3.8171616196632385e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 56 -168821125 -1107300354 -536871052 -1125515426\r
+            -1795721360 -1672085508 1845358040 -2114327569</internalNodes>\r
+          <leafValues>\r
+            -4.2669427394866943e-001 5.0532561540603638e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 14 -->\r
+    <_>\r
+      <maxWeakCount>11</maxWeakCount>\r
+      <stageThreshold>-1.1912760734558105e+000</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 11 -1043414305 -1735900650 268517385 -1137929054\r
+            -1048411462 -2011152253 -1957405841 -497557425</internalNodes>\r
+          <leafValues>\r
+            -5.7042253017425537e-001 2.1933962404727936e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 71 -233469310 1360073157 376971 626087057 -1180588024\r
+            -1191067261 -1474310132 830601690</internalNodes>\r
+          <leafValues>\r
+            -5.3927713632583618e-001 2.9026004672050476e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 35 -1599643389 42074270 -1811918838 -949960625\r
+            1564707361 289538187 1204527649 -112006873</internalNodes>\r
+          <leafValues>\r
+            -6.0980087518692017e-001 2.8851604461669922e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 59 585529126 -1100070936 -1342177537 833961983\r
+            1306961797 1986559992 -810088568 -1082149201</internalNodes>\r
+          <leafValues>\r
+            -3.2345715165138245e-001 5.5635309219360352e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 95 1107806555 2030223765 17039707 -1224163308\r
+            -1073053535 -1291837432 822618633 -121972608</internalNodes>\r
+          <leafValues>\r
+            -6.5054124593734741e-001 3.1912675499916077e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 51 -171583461 -1660890605 268504396 453157697\r
+            -1065215606 -1740602879 1824636801 1940062923</internalNodes>\r
+          <leafValues>\r
+            -4.7275745868682861e-001 4.2362514138221741e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 87 -799546379 -2097769968 293605405 -21571376 285294733\r
+            136347650 -930405536 -69420863</internalNodes>\r
+          <leafValues>\r
+            -5.5549502372741699e-001 3.3842340111732483e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 60 -594509036 -267114166 35413 -1052598126 545325639\r
+            -1207959408 -1073643381 682827807</internalNodes>\r
+          <leafValues>\r
+            -5.4805672168731689e-001 3.7224516272544861e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 63 1513710022 194882313 1109000450 28010496 -601835264\r
+            -645791614 -1041880446 1561822180</internalNodes>\r
+          <leafValues>\r
+            -5.3384119272232056e-001 3.7635508179664612e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 125 -754581391 -246595569 -2113336948 -1855323709\r
+            1090531337 -931133310 950984 -3971805</internalNodes>\r
+          <leafValues>\r
+            -5.2334308624267578e-001 4.0167775750160217e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 58 -361268680 662383988 2147483638 -209756289\r
+            -1375932428 -1895890954 -1744855042 -1142215109</internalNodes>\r
+          <leafValues>\r
+            -3.4343415498733521e-001 6.1590969562530518e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 15 -->\r
+    <_>\r
+      <maxWeakCount>10</maxWeakCount>\r
+      <stageThreshold>-7.7425497770309448e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 66 -716447302 -602037376 1090519043 -150261760\r
+            342934202 -2034138749 1141152394 -351301493</internalNodes>\r
+          <leafValues>\r
+            -4.8867926001548767e-001 3.4062498807907104e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 98 -2071985592 -700120831 1078417460 672719121\r
+            1082264136 -209075063 -1438988203 -1465205245</internalNodes>\r
+          <leafValues>\r
+            -7.1539443731307983e-001 2.4058867990970612e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 74 872558624 331821072 1610649929 -1181384552\r
+            -2130081587 -92209146 -612134248 -1199562344</internalNodes>\r
+          <leafValues>\r
+            -4.4142067432403564e-001 3.7935256958007813e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 68 -791554721 -737771072 2425605 740044819 1208549387\r
+            973897998 1124108962 802102203</internalNodes>\r
+          <leafValues>\r
+            -4.6558478474617004e-001 4.2193859815597534e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 8 1893114270 -1013792636 360523 -586362838 -1073151001\r
+            -2146917824 -2104934391 -875596965</internalNodes>\r
+          <leafValues>\r
+            -5.0676107406616211e-001 3.5864940285682678e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 91 574816266 -2011773950 1476495634 580227538\r
+            -2146781128 -2147448830 1901535891 -692616573</internalNodes>\r
+          <leafValues>\r
+            -6.1020326614379883e-001 3.0061775445938110e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 70 2125429880 2080309246 -285282561 2142961407\r
+            -1259516274 1073741823 754945025 867497448</internalNodes>\r
+          <leafValues>\r
+            -4.3854746222496033e-001 4.7815895080566406e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 94 -1727736509 -1979678624 285229334 1115689064\r
+            537927788 -1207402368 1098914016 -91503488</internalNodes>\r
+          <leafValues>\r
+            -6.8697202205657959e-001 3.5183742642402649e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 57 -528465144 -707035113 -1048575869 1372127361 8651416\r
+            -526909310 -1845360374 -1451016182</internalNodes>\r
+          <leafValues>\r
+            -4.5901125669479370e-001 4.5875525474548340e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 25 -2076984798 -533130869 -1060954112 1639977472\r
+            828440586 1792508680 -1693988801 -13285232</internalNodes>\r
+          <leafValues>\r
+            -4.8493441939353943e-001 4.3403539061546326e-001</leafValues></_></weakClassifiers></_></stages>\r
+  <features>\r
+    <_>\r
+      <rect>\r
+        0 1 1 9</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 1 4 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 2 2 6</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 2 2 10</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 2 3 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 3 3 8</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 4 1 8</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 5 2 9</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 7 1 8</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 7 5 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 9 1 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 9 2 6</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 10 3 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 11 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 12 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 13 3 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 14 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 14 3 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 16 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 19 3 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 20 3 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 21 3 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 22 2 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 25 3 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 25 4 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 0 5 10</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 2 1 9</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 4 4 8</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 4 5 9</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 6 3 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 9 2 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 11 2 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 15 3 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 20 3 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 28 2 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 0 2 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 0 3 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 0 4 8</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 3 4 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 4 5 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 5 2 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 7 5 9</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 8 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 12 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 13 3 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 14 2 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 16 3 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 18 3 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 22 2 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 31 3 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 0 2 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 1 3 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 1 3 8</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 2 3 6</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 8 4 6</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 10 2 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 14 2 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 16 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 18 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 19 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 19 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 31 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        4 4 4 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        4 5 2 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        4 6 2 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        4 6 3 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        4 7 2 8</rect></_>\r
+    <_>\r
+      <rect>\r
+        4 12 3 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        4 19 2 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        5 0 5 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        5 3 4 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        5 3 5 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        5 5 2 8</rect></_>\r
+    <_>\r
+      <rect>\r
+        5 12 4 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        5 22 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 21 3 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 26 2 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 30 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 31 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 31 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        7 0 2 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        7 9 3 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        7 17 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        7 31 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        7 31 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        8 0 4 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        8 5 2 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        8 10 3 6</rect></_>\r
+    <_>\r
+      <rect>\r
+        8 16 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        8 25 3 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        8 30 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 0 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 0 3 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 0 3 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 15 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 24 3 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 29 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 31 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        10 4 2 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        10 8 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        10 15 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        10 26 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        10 30 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        10 31 3 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        11 0 3 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        11 1 3 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        11 5 3 8</rect></_>\r
+    <_>\r
+      <rect>\r
+        11 14 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        11 23 2 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        11 27 2 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        11 31 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        12 22 2 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        12 29 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        13 23 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        13 24 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        13 29 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        13 31 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        14 1 2 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        14 1 2 6</rect></_>\r
+    <_>\r
+      <rect>\r
+        14 2 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        14 24 2 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        14 26 2 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        14 28 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        15 4 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        15 24 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        17 0 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        17 3 1 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        17 23 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        17 27 1 1</rect></_></features></cascade>\r
+</opencv_storage>\r
diff --git a/data/lbpcascades/lbpcascade_silverware.xml b/data/lbpcascades/lbpcascade_silverware.xml
new file mode 100755 (executable)
index 0000000..33aa443
--- /dev/null
@@ -0,0 +1,1279 @@
+<!--\r
+    This is 12x80 detector of the silverware (forks, spoons, knives) using LBP features.\r
+    It was created by Attila Novak during GSoC 2012.\r
+    Note that the detector only detects vertically oriented silverware,\r
+    so you should care of the proper image orientation\r
+    (probably should run detector several times).\r
+    It also assumes the "top view" when the camera optical axis is orthogonal to the table plane.\r
+-->\r
+<?xml version="1.0"?>\r
+<opencv_storage>\r
+<cascade>\r
+  <stageType>BOOST</stageType>\r
+  <featureType>LBP</featureType>\r
+  <height>80</height>\r
+  <width>12</width>\r
+  <stageParams>\r
+    <boostType>GAB</boostType>\r
+    <minHitRate>9.9500000476837158e-001</minHitRate>\r
+    <maxFalseAlarm>3.0000001192092896e-001</maxFalseAlarm>\r
+    <weightTrimRate>9.4999999999999996e-001</weightTrimRate>\r
+    <maxDepth>1</maxDepth>\r
+    <maxWeakCount>100</maxWeakCount></stageParams>\r
+  <featureParams>\r
+    <maxCatCount>256</maxCatCount>\r
+    <featSize>1</featSize></featureParams>\r
+  <stageNum>16</stageNum>\r
+  <stages>\r
+    <!-- stage 0 -->\r
+    <_>\r
+      <maxWeakCount>4</maxWeakCount>\r
+      <stageThreshold>-8.2867860794067383e-002</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 99 -268435521 -486543361 -258 1659633406 -134217857\r
+            1702887279 -134217929 -184549377</internalNodes>\r
+          <leafValues>\r
+            -7.5000000000000000e-001 8.6380833387374878e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 39 -540541017 -1060113913 -781245688 -477121697\r
+            -1818664155 1105186857 -505961467 -152575569</internalNodes>\r
+          <leafValues>\r
+            -7.9976779222488403e-001 7.5056612491607666e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 101 -479208497 -353380921 -855254781 -1566689761\r
+            -454302869 1893310787 -271591561 -134222965</internalNodes>\r
+          <leafValues>\r
+            -7.1062028408050537e-001 7.7380746603012085e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 41 -338958865 -925383977 -1438297681 -981777969\r
+            -882901177 1913369038 -135286729 1995959223</internalNodes>\r
+          <leafValues>\r
+            -7.8616768121719360e-001 6.9309240579605103e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 1 -->\r
+    <_>\r
+      <maxWeakCount>5</maxWeakCount>\r
+      <stageThreshold>-7.7058833837509155e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 14 -34089161 -2245 1878980471 -8687769 -134316045\r
+            1744797563 -8388737 1795146607</internalNodes>\r
+          <leafValues>\r
+            -6.1089491844177246e-001 7.3594772815704346e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 32 -707274321 1896302609 1132560802 -183140351 17019099\r
+            830472347 -1993621429 1440074510</internalNodes>\r
+          <leafValues>\r
+            -6.4869755506515503e-001 5.6941097974777222e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 4 -1055898237 -104492975 -1795141251 1464975384\r
+            -1602043461 -914358144 1111543953 -2067496448</internalNodes>\r
+          <leafValues>\r
+            -6.0432785749435425e-001 5.5685383081436157e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 96 -520160401 2063466495 -65665 -134217729 -50462805\r
+            1761476478 1693969709 1910503031</internalNodes>\r
+          <leafValues>\r
+            -5.6237226724624634e-001 6.2263637781143188e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 6 -1479564374 -954482597 16859161 -799804534 268468874\r
+            713187329 1108033665 -714619755</internalNodes>\r
+          <leafValues>\r
+            -6.9048601388931274e-001 5.3264212608337402e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 2 -->\r
+    <_>\r
+      <maxWeakCount>5</maxWeakCount>\r
+      <stageThreshold>-7.1249550580978394e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 21 -34638473 -553976197 -134217865 -159715533\r
+            -142901385 -272629761 -8421377 -956303361</internalNodes>\r
+          <leafValues>\r
+            -6.4170038700103760e-001 7.0683228969573975e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 100 -8389777 -185860353 -277 -2097152001 -161\r
+            -209780865 -1 -529006609</internalNodes>\r
+          <leafValues>\r
+            -5.5270516872406006e-001 6.9983023405075073e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 118 -545259537 -276857217 -1258291302 1652358910\r
+            -134236308 1735819126 -16812809 -221249673</internalNodes>\r
+          <leafValues>\r
+            -5.6243920326232910e-001 6.2150186300277710e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 19 -342885713 -1369882213 -2079215310 -765214587\r
+            -2113207945 1074365452 1393631959 1409022707</internalNodes>\r
+          <leafValues>\r
+            -6.8943935632705688e-001 5.3469669818878174e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 23 -506991005 1360417115 -1844809365 -821575604\r
+            21178499 986120459 1347943419 -969541850</internalNodes>\r
+          <leafValues>\r
+            -6.7428857088088989e-001 5.5008578300476074e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 3 -->\r
+    <_>\r
+      <maxWeakCount>6</maxWeakCount>\r
+      <stageThreshold>-3.0183684825897217e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 31 -144703505 -143130625 -17 -134381841 -143130625\r
+            2012741567 -134218802 -134217841</internalNodes>\r
+          <leafValues>\r
+            -5.3079712390899658e-001 7.5616836547851563e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 35 -137887809 -1924805943 1363218446 -817782134\r
+            1099022547 1082327168 -1279204784 1128784467</internalNodes>\r
+          <leafValues>\r
+            -6.4090979099273682e-001 5.3444361686706543e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 15 -786433589 -515129128 277173650 -132673121\r
+            -884037451 1137229866 1938662135 -676336865</internalNodes>\r
+          <leafValues>\r
+            -5.2920126914978027e-001 5.9623366594314575e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 92 -1897400451 -1627924747 -335548553 -1 1257762559\r
+            -2113929417 -419433067 -235309193</internalNodes>\r
+          <leafValues>\r
+            -5.5294114351272583e-001 5.8814722299575806e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 112 -187176146 1743897116 -1878957040 542033563\r
+            1372582934 823282242 -158609727 -779295046</internalNodes>\r
+          <leafValues>\r
+            -6.8665105104446411e-001 4.4378995895385742e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 9 1676637640 1887961346 16875658 1977614736 1682145753\r
+            813744265 -842338550 1930548135</internalNodes>\r
+          <leafValues>\r
+            -7.5830078125000000e-001 3.9562159776687622e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 4 -->\r
+    <_>\r
+      <maxWeakCount>8</maxWeakCount>\r
+      <stageThreshold>-3.9228534698486328e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 25 -167774345 -6689161 -2097153 -4194541 -282329093 -1\r
+            -1 -352323601</internalNodes>\r
+          <leafValues>\r
+            -4.7727271914482117e-001 7.4114018678665161e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 2 -1051598753 -1005571964 1900827102 2065404120\r
+            -1207262247 -120553331 -1725955392 -494812414</internalNodes>\r
+          <leafValues>\r
+            -5.2365595102310181e-001 5.3981113433837891e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 116 -2142770433 -1601462143 16842760 -804892128 1032369\r
+            268763273 1091011104 -1142957585</internalNodes>\r
+          <leafValues>\r
+            -4.7790464758872986e-001 5.4881525039672852e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 87 -532155537 1351188929 1073823759 -1253637875\r
+            -721321497 -662691837 -955278809 1623500836</internalNodes>\r
+          <leafValues>\r
+            -6.8072116374969482e-001 3.7135115265846252e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 113 -1996457508 -2146282492 -1728016135 -578347007\r
+            -1609004859 193626505 1153570968 -1920333632</internalNodes>\r
+          <leafValues>\r
+            -5.7289212942123413e-001 4.6210876107215881e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 56 -972008109 -691003372 -2147413749 2098355010\r
+            143009971 -1744174583 -1073051430 617488921</internalNodes>\r
+          <leafValues>\r
+            -5.9549087285995483e-001 4.8842963576316833e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 48 26 1971388449 419479901 2080931848 -1140292918\r
+            -1719074813 -2130476842 -268398592</internalNodes>\r
+          <leafValues>\r
+            -5.8355164527893066e-001 4.7890499234199524e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 57 -1052266874 167813132 -2130690045 -703061621\r
+            -131874777 -662142838 -1064730555 1119947703</internalNodes>\r
+          <leafValues>\r
+            -6.9379311800003052e-001 3.9936643838882446e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 5 -->\r
+    <_>\r
+      <maxWeakCount>9</maxWeakCount>\r
+      <stageThreshold>-6.6581231355667114e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 29 2080314175 -112910205 805323551 1024016674\r
+            1073891387 -2137847805 1653140111 -7676933</internalNodes>\r
+          <leafValues>\r
+            -5.5957448482513428e-001 5.4044550657272339e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 94 -1358956801 -100880986 -1887436809 1073741823\r
+            -1896350220 -838860811 268434686 -1912602633</internalNodes>\r
+          <leafValues>\r
+            -4.3124794960021973e-001 5.6135851144790649e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 76 -26230993 1357905647 -1358958674 -135266305 -524434\r
+            -176291841 -142622837 -1005125829</internalNodes>\r
+          <leafValues>\r
+            -4.6799373626708984e-001 5.1660954952239990e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 30 -313836176 -742240245 16818511 -1391787262\r
+            1632363443 -156630911 -83631445 248984215</internalNodes>\r
+          <leafValues>\r
+            -6.2023061513900757e-001 3.9792594313621521e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 91 -612895966 591778561 1073812490 369347088\r
+            -1870223303 556335107 553910792 1907094058</internalNodes>\r
+          <leafValues>\r
+            -6.2148678302764893e-001 4.1758581995964050e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 46 -1430257749 -672663689 -218104082 -135266322\r
+            -1493174275 -873463809 -276826113 -690006715</internalNodes>\r
+          <leafValues>\r
+            -5.1617449522018433e-001 5.2012032270431519e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 123 1088746207 1489289603 16781456 -443461355\r
+            -762795606 -670564192 -1465814774 -101527550</internalNodes>\r
+          <leafValues>\r
+            -5.0202989578247070e-001 5.0987190008163452e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 53 -1001679641 -955695103 25248080 -738078457 671123502\r
+            193003713 -1836523327 -216026117</internalNodes>\r
+          <leafValues>\r
+            -5.2692401409149170e-001 5.3243070840835571e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 89 2147417937 -1048642 -1039 -1766457361 -134236382\r
+            -1922646177 -16777473 -1534591162</internalNodes>\r
+          <leafValues>\r
+            -4.6150138974189758e-001 5.6634509563446045e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 6 -->\r
+    <_>\r
+      <maxWeakCount>8</maxWeakCount>\r
+      <stageThreshold>-1.2349532842636108e+000</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 67 -142902409 -67142273 1878982639 -1182802113 -75841\r
+            -274219146 -88604929 -31817921</internalNodes>\r
+          <leafValues>\r
+            -4.5625588297843933e-001 5.7534247636795044e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 128 -808330661 1390004234 1107406871 -2098932967\r
+            -767440829 1208655939 -1971196977 1351600587</internalNodes>\r
+          <leafValues>\r
+            -5.7236993312835693e-001 4.1942635178565979e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 0 -805307409 -1052697 -65684 -4233 -134217745 -4194453\r
+            -696778831 -708062879</internalNodes>\r
+          <leafValues>\r
+            -4.5485407114028931e-001 5.5909335613250732e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 119 -169888509 1150652435 1074791064 541757442\r
+            -645182635 989929472 1262741126 1963976639</internalNodes>\r
+          <leafValues>\r
+            -6.4869618415832520e-001 3.9796143770217896e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 38 -912524801 811171970 33644801 -717151469 -2108956437\r
+            294158344 1109713681 1900266000</internalNodes>\r
+          <leafValues>\r
+            -5.0387507677078247e-001 5.1329559087753296e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 20 -746687625 -200802301 1073872962 285491202\r
+            1208512717 -2138664446 -1837102693 1174835902</internalNodes>\r
+          <leafValues>\r
+            -5.9465301036834717e-001 4.4057011604309082e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 16 -442903927 -988184502 -717209211 1443168395\r
+            -1465793521 1252524168 1107337938 -1050414557</internalNodes>\r
+          <leafValues>\r
+            -5.9043467044830322e-001 4.3687704205513000e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 104 -1692667790 -612286452 -1056931520 437452806\r
+            -2136309078 -401536992 -1987928929 -1033981310</internalNodes>\r
+          <leafValues>\r
+            -5.0495445728302002e-001 4.9910807609558105e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 7 -->\r
+    <_>\r
+      <maxWeakCount>9</maxWeakCount>\r
+      <stageThreshold>-5.4583048820495605e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 97 -419954689 -570949699 2147417599 -1 -872415749\r
+            -301989897 -872433670 -268443689</internalNodes>\r
+          <leafValues>\r
+            -4.0734556317329407e-001 7.1092438697814941e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 3 -1062674253 1929486475 197402 1841550219 135268235\r
+            -1165491808 956369290 1258896162</internalNodes>\r
+          <leafValues>\r
+            -5.4886269569396973e-001 4.1644170880317688e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 37 -620271105 -901300206 1359008346 -603537150\r
+            1355455189 596312193 -247999129 -728767550</internalNodes>\r
+          <leafValues>\r
+            -5.1914668083190918e-001 3.9419922232627869e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 17 -1072700149 546031429 12798103 1881656595 35238042\r
+            682232321 176931799 1148695251</internalNodes>\r
+          <leafValues>\r
+            -5.4100900888442993e-001 4.0588796138763428e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 71 -522857685 1350893957 17339597 1999601732 -779974469\r
+            -359071607 1879296642 -1236927697</internalNodes>\r
+          <leafValues>\r
+            -4.9249285459518433e-001 4.4877073168754578e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 93 2037497904 492944831 -2013291075 -754983169\r
+            1837104414 -671812233 -1660989976 -973105033</internalNodes>\r
+          <leafValues>\r
+            -4.6483671665191650e-001 4.8267844319343567e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 33 -553943182 -100663369 -1327169 -181207174 -805896236\r
+            -16777225 -32770 -344459717</internalNodes>\r
+          <leafValues>\r
+            -3.9679497480392456e-001 5.6408804655075073e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 44 -8439301 -9502850 2147412095 2134171367 1467968283\r
+            -555876513 1719612907 -959121</internalNodes>\r
+          <leafValues>\r
+            -3.7275579571723938e-001 6.2219065427780151e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 62 -2086686357 -2143072184 1073745988 -1878839231\r
+            1221503177 -2113732606 1133091218 1470880455</internalNodes>\r
+          <leafValues>\r
+            -5.5160778760910034e-001 4.4197219610214233e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 8 -->\r
+    <_>\r
+      <maxWeakCount>8</maxWeakCount>\r
+      <stageThreshold>-4.9482953548431396e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 124 803987455 -1207959557 -1073747969 -3 -1879048193\r
+            -1720221705 -1073744641 -1212159499</internalNodes>\r
+          <leafValues>\r
+            -4.2883211374282837e-001 5.8106172084808350e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 1 -1520569905 -125497088 1360134399 -49444069\r
+            -1065189105 -612134877 -1497194288 -1006112575</internalNodes>\r
+          <leafValues>\r
+            -4.8296096920967102e-001 4.3431344628334045e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 108 -67112229 -797503462 268623881 1083056391\r
+            -1874187198 1879638016 -804355463 1985162053</internalNodes>\r
+          <leafValues>\r
+            -6.1597704887390137e-001 3.4508374333381653e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 26 -686760009 1468434576 1140918535 -880733942 12599987\r
+            -1304752000 -1593784081 115557220</internalNodes>\r
+          <leafValues>\r
+            -5.7973521947860718e-001 4.0324980020523071e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 115 -753405796 4259842 -872415136 85172613 154534824\r
+            8454145 -2147292968 1094185899</internalNodes>\r
+          <leafValues>\r
+            -4.7171372175216675e-001 4.6018373966217041e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 64 -737160572 2107229470 1478238399 386729999 46739708\r
+            -1717532540 134302191 1502456202</internalNodes>\r
+          <leafValues>\r
+            -4.7625115513801575e-001 4.6307522058486938e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 63 574973114 1079378118 151608 -1089433600 683881170\r
+            1234370560 25761968 1305471639</internalNodes>\r
+          <leafValues>\r
+            -5.4804503917694092e-001 4.2817059159278870e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 126 -913048353 -1333444591 303141015 1107341569\r
+            -1727960821 1644167297 -1190753878 1418524891</internalNodes>\r
+          <leafValues>\r
+            -6.3843786716461182e-001 3.2018747925758362e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 9 -->\r
+    <_>\r
+      <maxWeakCount>10</maxWeakCount>\r
+      <stageThreshold>-4.7552201151847839e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 54 -17825929 -8718489 -34111631 -135004289 -1358954497\r
+            -16814213 -151556225 -285220369</internalNodes>\r
+          <leafValues>\r
+            -4.1965106129646301e-001 5.5681818723678589e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 88 -1856526326 -645691871 337711324 1464176998\r
+            -1602581814 -1710751608 168420078 -1341468062</internalNodes>\r
+          <leafValues>\r
+            -4.0517404675483704e-001 4.9981650710105896e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 45 -741223945 -1627185101 822169913 407916675\r
+            -897447857 589300224 540099855 -1156899883</internalNodes>\r
+          <leafValues>\r
+            -4.4794428348541260e-001 4.3524059653282166e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 66 258608606 -1120993285 -419517441 -578240642\r
+            -1879056401 -1101037569 -13383 -28301584</internalNodes>\r
+          <leafValues>\r
+            -3.9371734857559204e-001 5.2872020006179810e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 117 -350280689 -829730738 -1073461695 38377489\r
+            -645158785 839057410 -1249137694 1882566387</internalNodes>\r
+          <leafValues>\r
+            -5.7474929094314575e-001 3.8859930634498596e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 34 1536523031 -952168281 -1855975139 -854621937\r
+            -939095838 -1744699368 -796270511 1582955555</internalNodes>\r
+          <leafValues>\r
+            -5.4318642616271973e-001 4.1631007194519043e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 51 1393782562 319525363 8471383 1368384004 889651722\r
+            1921550554 -1836930098 1660195204</internalNodes>\r
+          <leafValues>\r
+            -7.2387772798538208e-001 2.8236424922943115e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 78 1675075922 637567168 -2130116204 -1890844654\r
+            34255055 167907336 1091555477 -2142773065</internalNodes>\r
+          <leafValues>\r
+            -5.3113341331481934e-001 3.7920853495597839e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 7 1164149387 1433912608 16876979 1595080980 1275865262\r
+            -1446313974 1241665562 173580528</internalNodes>\r
+          <leafValues>\r
+            -5.0643980503082275e-001 4.4159597158432007e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 129 -111949961 -783789413 268583504 -923765997\r
+            -1073657336 -1340440574 -394149886 1216081042</internalNodes>\r
+          <leafValues>\r
+            -5.0880813598632813e-001 4.1170257329940796e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 10 -->\r
+    <_>\r
+      <maxWeakCount>11</maxWeakCount>\r
+      <stageThreshold>-6.9445723295211792e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 106 -487588613 -118095873 -1 2109472735 -1258291202\r
+            -101712129 -33832963 -67652237</internalNodes>\r
+          <leafValues>\r
+            -4.0311419963836670e-001 6.2951332330703735e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 49 -268435473 -353372166 2138045906 -4121 -276824105\r
+            1317007308 -41945099 -134484017</internalNodes>\r
+          <leafValues>\r
+            -3.5493713617324829e-001 5.5815106630325317e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 5 1460877355 -15613689 558207061 -1623109371\r
+            -1926723379 244908044 -113047169 1414649856</internalNodes>\r
+          <leafValues>\r
+            -5.8201593160629272e-001 3.5618588328361511e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 103 -669296387 189940185 -1860046723 -1760460773\r
+            -1740078915 -931100536 276828352 -1917868015</internalNodes>\r
+          <leafValues>\r
+            -4.2647001147270203e-001 4.6035429835319519e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 107 -2109233498 -602287230 -1054785005 1360101827\r
+            1099137177 -318504822 -1341497202 232232049</internalNodes>\r
+          <leafValues>\r
+            -4.9850422143936157e-001 4.4256457686424255e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 40 -54286241 -1608934766 286327519 -1270398764\r
+            1267376258 1636335746 542720627 1966594122</internalNodes>\r
+          <leafValues>\r
+            -5.5573022365570068e-001 3.9825862646102905e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 18 -904213325 1133543618 67508251 -714997735 1094779186\r
+            160088201 872654991 -903019733</internalNodes>\r
+          <leafValues>\r
+            -5.2738076448440552e-001 3.8662704825401306e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 70 1275766299 1347454976 150995380 -217382907\r
+            1661501627 -788494333 1259046051 -1006600122</internalNodes>\r
+          <leafValues>\r
+            -4.6260216832160950e-001 4.6852749586105347e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 121 -367803633 420562962 36765796 -502050533 1380984391\r
+            268601345 536897573 -995624251</internalNodes>\r
+          <leafValues>\r
+            -5.2821987867355347e-001 4.4226339459419250e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 68 -470086117 1069514507 -268472471 1936420849\r
+            -1904232854 1475346303 -160432647 -258802070</internalNodes>\r
+          <leafValues>\r
+            -4.5063796639442444e-001 5.2728754281997681e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 85 -698610339 -1504477166 1267372697 822280328\r
+            -909606742 -561903583 -1658732533 962675013</internalNodes>\r
+          <leafValues>\r
+            -5.5067950487136841e-001 3.9346820116043091e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 11 -->\r
+    <_>\r
+      <maxWeakCount>9</maxWeakCount>\r
+      <stageThreshold>-7.5511032342910767e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 27 -485801045 -1031585761 285212749 -1013038975\r
+            427848842 -1006632832 -1039468406 -162905189</internalNodes>\r
+          <leafValues>\r
+            -4.8945146799087524e-001 4.7218933701515198e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 114 -962887670 1547862275 -1827077881 1140871689\r
+            -536829941 -763363328 -264142181 1112595267</internalNodes>\r
+          <leafValues>\r
+            -6.1379230022430420e-001 3.4447920322418213e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 111 -784109321 320069633 1073811463 1074292770\r
+            -2138957664 -2130001880 -2147252214 315289683</internalNodes>\r
+          <leafValues>\r
+            -5.6861025094985962e-001 3.7049382925033569e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 80 -679857295 -17928596 -328961 991442748 1064728144\r
+            -357040523 -1082493190 -1368229638</internalNodes>\r
+          <leafValues>\r
+            -3.9095887541770935e-001 6.0248941183090210e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 82 175736687 -17072405 2130705262 -218107907\r
+            -1358978530 1692925804 787824558 -672137257</internalNodes>\r
+          <leafValues>\r
+            -4.0445902943611145e-001 6.0857713222503662e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 47 -985116365 -553647839 420626839 1968635918\r
+            -1576924981 -360119808 142606465 -795508656</internalNodes>\r
+          <leafValues>\r
+            -4.8094493150711060e-001 5.1770961284637451e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 50 -1459109750 33792144 21514342 1343230978 1124110539\r
+            50364672 441024643 -202393597</internalNodes>\r
+          <leafValues>\r
+            -5.2261912822723389e-001 4.6680617332458496e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 98 -259008926 1378975745 -1476362162 1888485505\r
+            1082744897 571146241 1367392642 -1073229683</internalNodes>\r
+          <leafValues>\r
+            -6.1712646484375000e-001 3.8970091938972473e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 125 34318799 1090695442 25199491 1342177299 -2060943181\r
+            143360000 -2097010032 -907873592</internalNodes>\r
+          <leafValues>\r
+            -5.3400212526321411e-001 4.4268184900283813e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 12 -->\r
+    <_>\r
+      <maxWeakCount>10</maxWeakCount>\r
+      <stageThreshold>-4.8388049006462097e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 120 -1477443585 -1140940929 -1342185476 1308588029\r
+            -1376256001 218070525 1073741181 -41951875</internalNodes>\r
+          <leafValues>\r
+            -5.0602412223815918e-001 5.5081558227539063e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 36 -73936261 -2137816955 -1073659749 -553533419\r
+            -1073706765 -30799693 -972443088 1998113303</internalNodes>\r
+          <leafValues>\r
+            -4.8420175909996033e-001 4.5527526736259460e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 77 454566983 420696071 16777221 -2130608117 -1719576352\r
+            -644874174 -2111166071 577795078</internalNodes>\r
+          <leafValues>\r
+            -6.1467814445495605e-001 3.4610831737518311e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 60 -1592753970 -251404269 570458176 486621571\r
+            -2130476982 -1207431030 25803086 -2029039551</internalNodes>\r
+          <leafValues>\r
+            -5.2004736661911011e-001 4.5498979091644287e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 72 694105913 1907355278 -37129 821280759 931135417\r
+            -923336907 1073716718 -68419540</internalNodes>\r
+          <leafValues>\r
+            -4.1492795944213867e-001 5.7309722900390625e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 79 1393265851 -1032732526 264196 -920530793 754211\r
+            169623560 1149456611 1135983235</internalNodes>\r
+          <leafValues>\r
+            -5.1638025045394897e-001 4.7242832183837891e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 73 706130001 -1708251305 1056944760 1006373626\r
+            -1303178409 -813991949 -1183128387 -604048669</internalNodes>\r
+          <leafValues>\r
+            -4.1649991273880005e-001 5.9589266777038574e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 95 -904859491 -134017015 1090589192 -587038719\r
+            -167673709 -897449815 152141841 886696449</internalNodes>\r
+          <leafValues>\r
+            -6.4827072620391846e-001 3.5843926668167114e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 90 -717057392 690163912 822149263 65803 -1706982525\r
+            -1736400884 534537 -1630082545</internalNodes>\r
+          <leafValues>\r
+            -5.0309199094772339e-001 5.1634097099304199e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 12 -1366843350 -2126376671 1041 -566034432 142770176\r
+            12583104 51712 1116198165</internalNodes>\r
+          <leafValues>\r
+            -7.9860860109329224e-001 3.1541401147842407e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 13 -->\r
+    <_>\r
+      <maxWeakCount>10</maxWeakCount>\r
+      <stageThreshold>-5.6616169214248657e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 28 -143395977 2004844407 -32897 1840447419 -852257\r
+            -4097 -272630497 -1165502065</internalNodes>\r
+          <leafValues>\r
+            -4.4186046719551086e-001 5.1379764080047607e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 8 -519577109 -427718635 -1862262703 -65943231 9163380\r
+            1112064264 553714225 1157599521</internalNodes>\r
+          <leafValues>\r
+            -6.9529622793197632e-001 2.9373377561569214e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 109 990036221 -1392408495 85 -1455423472 537079956\r
+            -1451032448 -2121658180 -1917118335</internalNodes>\r
+          <leafValues>\r
+            -4.6548900008201599e-001 4.4904062151908875e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 83 -307263958 1726969598 602799716 -587284627\r
+            -2110304757 -1500547078 1400237979 -194002951</internalNodes>\r
+          <leafValues>\r
+            -4.4492045044898987e-001 5.2867370843887329e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 84 -696132137 331497536 -1868546039 -1859480056\r
+            1753940107 -1029504896 -1341584891 937520647</internalNodes>\r
+          <leafValues>\r
+            -4.9129620194435120e-001 4.4696673750877380e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 61 -1056718371 -912911872 67113021 1498447874 134777514\r
+            -1412955989 -2138406733 1082270464</internalNodes>\r
+          <leafValues>\r
+            -5.8106380701065063e-001 4.1291686892509460e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 43 -648808770 -703963135 -2147401712 -1858043831\r
+            1073823883 1074266248 159924795 1879588907</internalNodes>\r
+          <leafValues>\r
+            -5.2166140079498291e-001 4.6159252524375916e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 65 538123210 285607041 -2122121208 -1651965941\r
+            -1047953261 1661077920 591915 1689841382</internalNodes>\r
+          <leafValues>\r
+            -7.4180144071578979e-001 3.0022916197776794e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 55 805390529 407044123 285213203 211421255 -1702852378\r
+            -1919942528 -2134294375 2066729839</internalNodes>\r
+          <leafValues>\r
+            -4.8658525943756104e-001 5.4231238365173340e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 69 -490280822 -1274937328 268439820 1359003776\r
+            -931126870 1220674050 268681287 1997226373</internalNodes>\r
+          <leafValues>\r
+            -5.6268626451492310e-001 4.5061412453651428e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 14 -->\r
+    <_>\r
+      <maxWeakCount>10</maxWeakCount>\r
+      <stageThreshold>-9.9649858474731445e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 122 -1745100805 -1209164803 -1073770531 -436207891\r
+            -1090560009 234354687 -1610664449 -1082138881</internalNodes>\r
+          <leafValues>\r
+            -4.0143370628356934e-001 5.6573116779327393e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 11 -644493203 -1021149047 16847288 -804977263\r
+            1074438223 1375879170 1099505907 -233072125</internalNodes>\r
+          <leafValues>\r
+            -4.9022576212882996e-001 4.1356840729713440e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 110 -1092637138 -1127253650 -604013462 309325799\r
+            511047567 -562074754 -700452946 -763371997</internalNodes>\r
+          <leafValues>\r
+            -4.2038223147392273e-001 5.0647193193435669e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 24 1223739637 -1419051417 1043595135 -215335105\r
+            376670206 -167870465 -4194306 -222771398</internalNodes>\r
+          <leafValues>\r
+            -4.0432786941528320e-001 5.9335744380950928e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 75 -1761937577 -1076383745 -286361737 -9060559\r
+            2013197781 2013265783 -98370 -1002109842</internalNodes>\r
+          <leafValues>\r
+            -4.4517979025840759e-001 5.2503407001495361e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 102 1359075611 -233766656 65681 -1878048735 -1610570746\r
+            1379991688 -1073689784 -221669373</internalNodes>\r
+          <leafValues>\r
+            -4.9918147921562195e-001 4.6203434467315674e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 52 1186053495 -36241670 -268451888 519745529 175382495\r
+            788381687 2147319804 1327036346</internalNodes>\r
+          <leafValues>\r
+            -4.6265572309494019e-001 5.1841813325881958e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 59 -1040035797 1946189894 50247 -1862266624 1090519113\r
+            268961800 679544907 757613389</internalNodes>\r
+          <leafValues>\r
+            -5.5006593465805054e-001 4.4656375050544739e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 10 1610993732 -939524096 1073877397 -267910919\r
+            151167146 537427968 -769096510 -181428117</internalNodes>\r
+          <leafValues>\r
+            -5.6329357624053955e-001 4.2267900705337524e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 86 -1596021624 2047393801 -2130673584 -1856700352\r
+            327207619 272728192 -2004808112 491069440</internalNodes>\r
+          <leafValues>\r
+            -6.3942277431488037e-001 3.8081073760986328e-001</leafValues></_></weakClassifiers></_>\r
+    <!-- stage 15 -->\r
+    <_>\r
+      <maxWeakCount>8</maxWeakCount>\r
+      <stageThreshold>-5.5261385440826416e-001</stageThreshold>\r
+      <weakClassifiers>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 13 -648185009 -1315897313 -2139077632 1367998985\r
+            1744840211 -1005502457 -935198613 -74777841</internalNodes>\r
+          <leafValues>\r
+            -5.3191488981246948e-001 4.0654698014259338e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 105 1699432742 -1890377581 1343232064 -1039957887\r
+            -2142687167 637566976 -2122282989 -460871217</internalNodes>\r
+          <leafValues>\r
+            -5.4315727949142456e-001 3.6683899164199829e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 81 -67160267 2105388843 -1619001345 1937768302\r
+            -1359003974 -1098989786 -805322771 -1874678652</internalNodes>\r
+          <leafValues>\r
+            -3.9974156022071838e-001 5.5645257234573364e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 58 -1072656189 1095241792 16777487 -352059374 4718723\r
+            1109393544 1074438486 -1848987381</internalNodes>\r
+          <leafValues>\r
+            -5.0869542360305786e-001 4.9633875489234924e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 22 226493774 -1911816127 1091108968 26214662 26222970\r
+            -1123287032 -1987040599 -882898875</internalNodes>\r
+          <leafValues>\r
+            -6.0312920808792114e-001 3.5752627253532410e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 127 -259153461 -805273578 50364730 -1060208632\r
+            -1708161014 947912705 -2147450710 80388754</internalNodes>\r
+          <leafValues>\r
+            -6.9576680660247803e-001 3.3376914262771606e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 42 -800800303 1368954882 75795 2031108096 -2013069281\r
+            212336778 538680 2064105488</internalNodes>\r
+          <leafValues>\r
+            -5.6596046686172485e-001 4.3809539079666138e-001</leafValues></_>\r
+        <_>\r
+          <internalNodes>\r
+            0 -1 74 -2108215089 1260109955 -1207926768 268812673\r
+            -2146893693 167788680 55189712 -140564306</internalNodes>\r
+          <leafValues>\r
+            -5.1393473148345947e-001 4.8148322105407715e-001</leafValues></_></weakClassifiers></_></stages>\r
+  <features>\r
+    <_>\r
+      <rect>\r
+        0 0 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 0 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 0 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 0 2 11</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 0 3 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 0 4 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 1 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 1 3 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 2 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 2 4 17</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 3 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 4 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 4 1 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 4 1 18</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 4 2 21</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 5 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 5 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 5 1 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 5 2 11</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 6 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 7 1 15</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 7 2 18</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 13 3 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 13 3 19</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 14 2 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 14 2 14</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 16 3 17</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 17 1 6</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 17 2 9</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 18 1 6</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 19 2 17</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 21 4 13</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 21 4 16</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 22 2 8</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 36 1 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 40 2 12</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 43 1 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 46 2 10</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 48 1 9</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 48 2 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 50 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 56 2 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 71 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 74 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 77 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        0 77 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 0 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 0 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 0 3 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 2 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 4 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 4 3 23</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 5 2 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 9 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 10 2 15</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 12 2 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 14 2 9</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 25 2 18</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 39 2 10</rect></_>\r
+    <_>\r
+      <rect>\r
+        1 71 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 0 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 0 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 3 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 4 1 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 16 3 8</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 18 3 14</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 21 2 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 22 1 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 24 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        2 64 1 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 0 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 1 3 25</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 2 3 6</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 3 2 11</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 6 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 17 1 11</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 22 3 17</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 23 1 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 42 1 10</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 52 1 6</rect></_>\r
+    <_>\r
+      <rect>\r
+        3 77 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        4 0 2 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        4 1 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        4 2 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        5 7 2 20</rect></_>\r
+    <_>\r
+      <rect>\r
+        5 12 2 19</rect></_>\r
+    <_>\r
+      <rect>\r
+        5 14 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        5 19 2 15</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 0 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 0 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 1 2 13</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 5 2 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 7 2 17</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 10 2 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 13 2 10</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 14 2 13</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 16 2 14</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 19 2 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 36 1 8</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 39 2 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 41 2 9</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 44 2 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 51 2 6</rect></_>\r
+    <_>\r
+      <rect>\r
+        6 77 2 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        7 0 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        7 9 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        7 20 1 9</rect></_>\r
+    <_>\r
+      <rect>\r
+        7 23 1 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        7 45 1 7</rect></_>\r
+    <_>\r
+      <rect>\r
+        7 77 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        8 0 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        8 47 1 11</rect></_>\r
+    <_>\r
+      <rect>\r
+        8 53 1 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        8 77 1 1</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 0 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 0 1 15</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 0 1 20</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 2 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 3 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 6 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 9 1 13</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 13 1 2</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 13 1 8</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 19 1 16</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 20 1 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 25 1 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 43 1 5</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 48 1 4</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 59 1 3</rect></_>\r
+    <_>\r
+      <rect>\r
+        9 61 1 5</rect></_></features></cascade>\r
+</opencv_storage>\r
index a641a74..69b9e99 100644 (file)
@@ -3,6 +3,7 @@
 #include "opencv2/imgproc/imgproc.hpp"
 
 #include <iostream>
+#include <iterator>
 #include <stdio.h>
 
 using namespace std;
@@ -11,36 +12,41 @@ using namespace cv;
 static void help()
 {
     cout << "\nThis program demonstrates the cascade recognizer. Now you can use Haar or LBP features.\n"
-            "This classifier can recognize many ~rigid objects, it's most known use is for faces.\n"
+            "This classifier can recognize many kinds of rigid objects, once the appropriate classifier is trained.\n"
+            "It's most known use is for faces.\n"
             "Usage:\n"
             "./facedetect [--cascade=<cascade_path> this is the primary trained classifier such as frontal face]\n"
                "   [--nested-cascade[=nested_cascade_path this an optional secondary classifier such as eyes]]\n"
-               "   [--scale=<image scale greater or equal to 1, try 1.3 for example>\n"
+               "   [--scale=<image scale greater or equal to 1, try 1.3 for example>]\n"
+               "   [--try-flip]\n"
                "   [filename|camera_index]\n\n"
             "see facedetect.cmd for one call:\n"
-            "./facedetect --cascade=\"../../data/haarcascades/haarcascade_frontalface_alt.xml\" --nested-cascade=\"../../data/haarcascades/haarcascade_eye.xml\" --scale=1.3 \n"
-            "Hit any key to quit.\n"
-            "Using OpenCV version " << CV_VERSION << "\n" << endl;
+            "./facedetect --cascade=\"../../data/haarcascades/haarcascade_frontalface_alt.xml\" --nested-cascade=\"../../data/haarcascades/haarcascade_eye.xml\" --scale=1.3\n\n"
+            "During execution:\n\tHit any key to quit.\n"
+            "\tUsing OpenCV version " << CV_VERSION << "\n" << endl;
 }
 
-void detectAndDraw( Mat& img,
-                   CascadeClassifier& cascade, CascadeClassifier& nestedCascade,
-                   double scale);
+void detectAndDraw( Mat& img, CascadeClassifier& cascade,
+                    CascadeClassifier& nestedCascade,
+                    double scale, bool tryflip );
 
-String cascadeName = "../../data/haarcascades/haarcascade_frontalface_alt.xml";
-String nestedCascadeName = "../../data/haarcascades/haarcascade_eye_tree_eyeglasses.xml";
+string cascadeName = "../../data/haarcascades/haarcascade_frontalface_alt.xml";
+string nestedCascadeName = "../../data/haarcascades/haarcascade_eye_tree_eyeglasses.xml";
 
 int main( int argc, const char** argv )
 {
     CvCapture* capture = 0;
     Mat frame, frameCopy, image;
-    const String scaleOpt = "--scale=";
+    const string scaleOpt = "--scale=";
     size_t scaleOptLen = scaleOpt.length();
-    const String cascadeOpt = "--cascade=";
+    const string cascadeOpt = "--cascade=";
     size_t cascadeOptLen = cascadeOpt.length();
-    const String nestedCascadeOpt = "--nested-cascade";
+    const string nestedCascadeOpt = "--nested-cascade";
     size_t nestedCascadeOptLen = nestedCascadeOpt.length();
-    String inputName;
+    const string tryFlipOpt = "--try-flip";
+    size_t tryFlipOptLen = tryFlipOpt.length();
+    string inputName;
+    bool tryflip = false;
 
     help();
 
@@ -68,6 +74,11 @@ int main( int argc, const char** argv )
                 scale = 1;
             cout << " from which we read scale = " << scale << endl;
         }
+        else if( tryFlipOpt.compare( 0, tryFlipOptLen, argv[i], tryFlipOptLen ) == 0 )
+        {
+            tryflip = true;
+            cout << " will try to flip image horizontally to detect assymetric objects\n";
+        }
         else if( argv[i][0] == '-' )
         {
             cerr << "WARNING: Unknown option %s" << argv[i] << endl;
@@ -79,10 +90,7 @@ int main( int argc, const char** argv )
     if( !cascade.load( cascadeName ) )
     {
         cerr << "ERROR: Could not load classifier cascade" << endl;
-        cerr << "Usage: facedetect [--cascade=<cascade_path>]\n"
-            "   [--nested-cascade[=nested_cascade_path]]\n"
-            "   [--scale[=<image scale>\n"
-            "   [filename|camera_index]\n" << endl ;
+        help();
         return -1;
     }
 
@@ -123,7 +131,7 @@ int main( int argc, const char** argv )
             else
                 flip( frame, frameCopy, 0 );
 
-            detectAndDraw( frameCopy, cascade, nestedCascade, scale );
+            detectAndDraw( frameCopy, cascade, nestedCascade, scale, tryflip );
 
             if( waitKey( 10 ) >= 0 )
                 goto _cleanup_;
@@ -139,7 +147,7 @@ _cleanup_:
         cout << "In image read" << endl;
         if( !image.empty() )
         {
-            detectAndDraw( image, cascade, nestedCascade, scale );
+            detectAndDraw( image, cascade, nestedCascade, scale, tryflip );
             waitKey(0);
         }
         else if( !inputName.empty() )
@@ -160,7 +168,7 @@ _cleanup_:
                     image = imread( buf, 1 );
                     if( !image.empty() )
                     {
-                        detectAndDraw( image, cascade, nestedCascade, scale );
+                        detectAndDraw( image, cascade, nestedCascade, scale, tryflip );
                         c = waitKey(0);
                         if( c == 27 || c == 'q' || c == 'Q' )
                             break;
@@ -180,13 +188,13 @@ _cleanup_:
     return 0;
 }
 
-void detectAndDraw( Mat& img,
-                   CascadeClassifier& cascade, CascadeClassifier& nestedCascade,
-                   double scale)
+void detectAndDraw( Mat& img, CascadeClassifier& cascade,
+                    CascadeClassifier& nestedCascade,
+                    double scale, bool tryflip )
 {
     int i = 0;
     double t = 0;
-    vector<Rect> faces;
+    vector<Rect> faces, faces2;
     const static Scalar colors[] =  { CV_RGB(0,0,255),
         CV_RGB(0,128,255),
         CV_RGB(0,255,255),
@@ -209,6 +217,21 @@ void detectAndDraw( Mat& img,
         |CV_HAAR_SCALE_IMAGE
         ,
         Size(30, 30) );
+    if( tryflip )
+    {
+        flip(smallImg, smallImg, 1);
+        cascade.detectMultiScale( smallImg, faces2,
+                                 1.1, 2, 0
+                                 //|CV_HAAR_FIND_BIGGEST_OBJECT
+                                 //|CV_HAAR_DO_ROUGH_SEARCH
+                                 |CV_HAAR_SCALE_IMAGE
+                                 ,
+                                 Size(30, 30) );
+        for( vector<Rect>::const_iterator r = faces2.begin(); r != faces2.end(); r++ )
+        {
+            faces.push_back(Rect(smallImg.cols - r->x - r->width, r->y, r->width, r->height));
+        }
+    }
     t = (double)cvGetTickCount() - t;
     printf( "detection time = %g ms\n", t/((double)cvGetTickFrequency()*1000.) );
     for( vector<Rect>::const_iterator r = faces.begin(); r != faces.end(); r++, i++ )
@@ -218,10 +241,19 @@ void detectAndDraw( Mat& img,
         Point center;
         Scalar color = colors[i%8];
         int radius;
-        center.x = cvRound((r->x + r->width*0.5)*scale);
-        center.y = cvRound((r->y + r->height*0.5)*scale);
-        radius = cvRound((r->width + r->height)*0.25*scale);
-        circle( img, center, radius, color, 3, 8, 0 );
+        
+        double aspect_ratio = (double)r->width/r->height;
+        if( 0.75 < aspect_ratio && aspect_ratio < 1.3 )
+        {
+            center.x = cvRound((r->x + r->width*0.5)*scale);
+            center.y = cvRound((r->y + r->height*0.5)*scale);
+            radius = cvRound((r->width + r->height)*0.25*scale);
+            circle( img, center, radius, color, 3, 8, 0 );
+        }
+        else
+            rectangle( img, cvPoint(cvRound(r->x*scale), cvRound(r->y*scale)),
+                       cvPoint(cvRound((r->x + r->width-1)*scale), cvRound((r->y + r->height-1)*scale)),
+                       color, 3, 8, 0);
         if( nestedCascade.empty() )
             continue;
         smallImgROI = smallImg(*r);