diff --git a/modules/dpm/CMakeLists.txt b/modules/dpm/CMakeLists.txt new file mode 100644 index 000000000..65ef6095f --- /dev/null +++ b/modules/dpm/CMakeLists.txt @@ -0,0 +1,8 @@ +set(the_description "Object Detection") + +#uncomment the following line to enable parallel computing +#add_definitions(-DHAVE_TBB) + +ocv_define_module(dpm opencv_core opencv_imgproc opencv_objdetect OPTIONAL opencv_highgui WRAP python) + +ocv_warnings_disable(CMAKE_CXX_FLAGS /wd4512) # disable warning on Win64 diff --git a/modules/dpm/README.md b/modules/dpm/README.md new file mode 100644 index 000000000..2a8e64a42 --- /dev/null +++ b/modules/dpm/README.md @@ -0,0 +1,37 @@ +Cascade object detection with deformable part models +==================================================== +The object detector described below has been initially proposed by P.F. Felzenszwalb in [1]. It is based on a Dalal-Triggs detector that uses a single filter on histogram of oriented gradients (HOG) features to represent an object category. This detector uses a sliding window approach, where a filter is applied at all positions and scales of an image. The first innovation is enriching the Dalal-Triggs model using a star-structured part-based model defined by a "root" filter (analogous to the Dalal-Triggs filter) plus a set of parts filters and associated deformation models. The score of one of star models at a particular position and scale within an image is the score of the root filter at the given location plus the sum over parts of the maximum, over placements of that part, of the part filter score on its location minus a deformation cost easuring the deviation of the part from its ideal location relative to the root. Both root and part filter scores are defined by the dot product between a filter (a set of weights) and a subwindow of a feature pyramid computed from the input image. Another improvement is a representation of the class of models by a mixture of star models. The score of a mixture model at a particular position and scale is the maximum over components, of the score of that component model at the given location. + +The detector was dramatically speeded-up with cascade algorithm proposed by P.F. Felzenszwalb in [2]. The algorithm prunes partial hypotheses using thresholds on their scores. The basic idea of the algorithm is to use a hierarchy of models defined by an ordering of the original model's parts. For a model with (n+1) parts, including the root, a sequence of (n+1) models is obtained. The i-th model in this sequence is defined by the first i parts from the original model. +Using this hierarchy, low scoring hypotheses can be pruned after looking at the best configuration of a subset of the parts. Hypotheses that score high under a weak model are evaluated further using a richer model. + +In OpenCV there is an C++ implementation of DPM cascade detector. + +Usage +----- +``` +// load model from model_path +cv::Ptr detector = DPMDetector::create(vector(1, model_path)); +// read image from image_path +Mat image = imread(image_path); + +// detection +vector ds; +detector->detect(image, ds); +``` + +Examples +---------- +``` +// detect using web camera +./example_dpm_cascade_detect_camera + +// detect for an image sequence +./example_dpm_cascade_detect_sequence +``` + +References +---------- +[1]: P. Felzenszwalb, R. Girshick, D. McAllester, D. Ramanan Object Detection with Discriminatively Trained Part Based Models IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 32, No. 9, Sep. 2010. + +[2]: P. Felzenszwalb, R. Girshick, D. McAllester Cascade Object Detection with Deformable Part Models IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2010. diff --git a/modules/latentsvm/doc/latentsvm.bib b/modules/dpm/doc/dpm.bib similarity index 100% rename from modules/latentsvm/doc/latentsvm.bib rename to modules/dpm/doc/dpm.bib diff --git a/modules/latentsvm/include/opencv2/latentsvm.hpp b/modules/dpm/include/opencv2/dpm.hpp similarity index 85% rename from modules/latentsvm/include/opencv2/latentsvm.hpp rename to modules/dpm/include/opencv2/dpm.hpp index 18db8ca60..387a31123 100644 --- a/modules/latentsvm/include/opencv2/latentsvm.hpp +++ b/modules/dpm/include/opencv2/dpm.hpp @@ -10,7 +10,7 @@ // License Agreement // For Open Source Computer Vision Library // -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. +// Copyright (C) 2015, Itseez Inc, all rights reserved. // Third party copyrights are property of their respective owners. // // Redistribution and use in source and binary forms, with or without modification, @@ -29,7 +29,7 @@ // This software is provided by the copyright holders and contributors "as is" and // any express or implied warranties, including, but not limited to, the implied // warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, +// In no event shall the Itseez Inc or contributors be liable for any direct, // indirect, incidental, special, exemplary, or consequential damages // (including, but not limited to, procurement of substitute goods or services; // loss of use, data, or profits; or business interruption) however caused @@ -37,7 +37,8 @@ // or tort (including negligence or otherwise) arising in any way out of // the use of this software, even if advised of the possibility of such damage. // -// SVM implementation authors: +// Implementation authors: +// Jiaolong Xu - jiaolongxu@gmail.com // Evgeniy Kozinov - evgeniy.kozinov@gmail.com // Valentina Kustikova - valentina.kustikova@gmail.com // Nikolai Zolotykh - Nikolai.Zolotykh@gmail.com @@ -55,7 +56,7 @@ #include #include -/** @defgroup latentsvm Latent SVM +/** @defgroup dpm Deformable Part-based Models Discriminatively Trained Part Based Models for Object Detection --------------------------------------------------------------- @@ -85,19 +86,19 @@ Using this hierarchy, low scoring hypotheses can be pruned after looking at the of a subset of the parts. Hypotheses that score high under a weak model are evaluated further using a richer model. -In OpenCV there is an C++ implementation of Latent SVM. +In OpenCV there is an C++ implementation of DPM cascade detector. */ namespace cv { -namespace lsvm +namespace dpm { -/** @brief This is a C++ abstract class, it provides external user API to work with Latent SVM. +/** @brief This is a C++ abstract class, it provides external user API to work with DPM. */ -class CV_EXPORTS_W LSVMDetector +class CV_EXPORTS_W DPMDetector { public: @@ -116,10 +117,8 @@ public: (models) and corresponding confidence levels. @param image An image. @param objects The detections: rectangulars, scores and class IDs. - @param overlapThreshold Threshold for the non-maximum suppression algorithm. - */ - virtual void detect(cv::Mat const &image, CV_OUT std::vector &objects, - float overlapThreshold=0.5f ) = 0; + */ + virtual void detect(cv::Mat &image, CV_OUT std::vector &objects) = 0; /** @brief Return the class (model) names that were passed in constructor or method load or extracted from models filenames in those methods. @@ -130,20 +129,20 @@ public: */ virtual size_t getClassCount() const = 0; - /** @brief Load the trained models from given .xml files and return cv::Ptr\. + /** @brief Load the trained models from given .xml files and return cv::Ptr\. @param filenames A set of filenames storing the trained detectors (models). Each file contains one - model. See examples of such files here `/opencv_extra/testdata/cv/LSVMDetector/models_VOC2007/`. + model. See examples of such files here `/opencv_extra/testdata/cv/dpm/VOC2007_Cascade/`. @param classNames A set of trained models names. If it's empty then the name of each model will be constructed from the name of file containing the model. E.g. the model stored in "/home/user/cat.xml" will get the name "cat". */ - static cv::Ptr create(std::vector const &filenames, - std::vector const &classNames = std::vector()); + static cv::Ptr create(std::vector const &filenames, + std::vector const &classNames = std::vector()); - virtual ~LSVMDetector(){} + virtual ~DPMDetector(){} }; -} // namespace lsvm +} // namespace dpm } // namespace cv #endif diff --git a/modules/dpm/samples/cascade_detect_camera.cpp b/modules/dpm/samples/cascade_detect_camera.cpp new file mode 100644 index 000000000..a02d3b22e --- /dev/null +++ b/modules/dpm/samples/cascade_detect_camera.cpp @@ -0,0 +1,154 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2015, Itseez Inc, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Itseez Inc or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +// Author: Jiaolong Xu +//M*/ + +#include +#include +#include +#include +#include +#include + +#include +#include + +using namespace cv; +using namespace cv::dpm; +using namespace std; + +static void help() +{ + cout << "\nThis is a demo of \"Deformable Part-based Model (DPM) cascade detection API\" using web camera.\n" + "Call:\n" + "./example_dpm_cascade_detect_camera \n" + << endl; +} + +void drawBoxes(Mat &frame, + vector ds, + Scalar color, + string text); + +int main( int argc, char** argv ) +{ + const char* keys = + { + "{@model_path | | Path of the DPM cascade model}" + }; + + CommandLineParser parser(argc, argv, keys); + string model_path(parser.get(0)); + + if( model_path.empty() ) + { + help(); + return -1; + } + + cv::Ptr detector = \ + DPMDetector::create(vector(1, model_path)); + + // use web camera + VideoCapture capture(0); + capture.set(CV_CAP_PROP_FRAME_WIDTH, 320); + capture.set(CV_CAP_PROP_FRAME_HEIGHT, 240); + + if ( !capture.isOpened() ) + { + cerr << "Fail to open default camera (0)!" << endl; + return -1; + } + +#ifdef HAVE_TBB + cout << "Running with TBB" << endl; +#else +#ifdef _OPENMP + cout << "Running with OpenMP" << endl; +#else + cout << "Running without OpenMP and without TBB" << endl; +#endif +#endif + + Mat frame; + namedWindow("DPM Cascade Detection", 1); + // the color of the rectangle + Scalar color(0, 255, 255); // yellow + + while( capture.read(frame) ) + { + vector ds; + + Mat image; + frame.copyTo(image); + + double t = (double) getTickCount(); + // detection + detector->detect(image, ds); + // compute frame per second (fps) + t = ((double) getTickCount() - t)/getTickFrequency();//elapsed time + + // draw boxes + string text = format("%0.1f fps", 1.0/t); + drawBoxes(frame, ds, color, text); + + imshow("DPM Cascade Detection", frame); + + if ( waitKey(30) >= 0) + break; + } + + return 0; +} + +void drawBoxes(Mat &frame, + vector ds, + Scalar color, + string text) +{ + for (unsigned int i = 0; i < ds.size(); i++) + { + rectangle(frame, ds[i].rect, color, 2); + } + + // draw text on image + Scalar textColor(0,0,250); + putText(frame, text, Point(10,50), FONT_HERSHEY_PLAIN, 2, textColor, 2); +} diff --git a/modules/dpm/samples/cascade_detect_sequence.cpp b/modules/dpm/samples/cascade_detect_sequence.cpp new file mode 100644 index 000000000..be57912e9 --- /dev/null +++ b/modules/dpm/samples/cascade_detect_sequence.cpp @@ -0,0 +1,177 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2015, Itseez Inc, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Itseez Inc or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +// Author: Jiaolong Xu +//M*/ + +#include +#include +#include +#include + +#include +#include +#include + +using namespace cv; +using namespace cv::dpm; +using namespace std; + +int save_results(const string id, const vector ds, ofstream &out); + +static void help() +{ + cout << "\nThis example shows object detection on image sequences using \"Deformable Part-based Model (DPM) cascade detection API\n" + "Call:\n" + "./example_dpm_cascade_detect_sequence \n" + "The image names has to be provided in \"files.txt\" under .\n" + << endl; +} + +static bool readImageLists( const string &file, vector &imgFileList) +{ + ifstream in(file.c_str(), ios::binary); + + if (in.is_open()) + { + while (in) + { + string line; + getline(in, line); + imgFileList.push_back(line); + } + return true; + } + else + { + cerr << "Invalid image index file: " << file << endl; + return false; + } +} + +void drawBoxes(Mat &frame, + vector ds, + Scalar color, + string text); + +int main( int argc, char** argv ) +{ + const char* keys = + { + "{@model_path | | Path of the DPM cascade model}" + "{@image_dir | | Directory of the images }" + }; + + CommandLineParser parser(argc, argv, keys); + string model_path(parser.get(0)); + string image_dir(parser.get(1)); + string image_list = image_dir + "/files.txt"; + + if( model_path.empty() || image_dir.empty() ) + { + help(); + return -1; + } + + vector imgFileList; + if ( !readImageLists(image_list, imgFileList) ) + return -1; + +#ifdef HAVE_TBB + cout << "Running with TBB" << endl; +#else +#ifdef _OPENMP + cout << "Running with OpenMP" << endl; +#else + cout << "Running without OpenMP and without TBB" << endl; +#endif +#endif + + cv::Ptr detector = \ + DPMDetector::create(vector(1, model_path)); + + namedWindow("DPM Cascade Detection", 1); + // the color of the rectangle + Scalar color(0, 255, 255); // yellow + Mat frame; + + for (size_t i = 0; i < imgFileList.size(); i++) + { + double t = (double) getTickCount(); + vector ds; + + Mat image = imread(image_dir + "/" + imgFileList[i]); + frame = image.clone(); + + if (image.empty()) { + cerr << "\nInvalid image:\n" << imgFileList[i] << endl; + return -1; + } + + // detection + detector->detect(image, ds); + // compute frame per second (fps) + t = ((double) getTickCount() - t)/getTickFrequency();//elapsed time + + // draw boxes + string text = format("%0.1f fps", 1.0/t); + drawBoxes(frame, ds, color, text); + + // show detections + imshow("DPM Cascade Detection", frame); + + if ( waitKey(30) >= 0) + break; + } + + return 0; +} + +void drawBoxes(Mat &frame, \ + vector ds, Scalar color, string text) +{ + for (unsigned int i = 0; i < ds.size(); i++) + { + rectangle(frame, ds[i].rect, color, 2); + } + + // draw text on image + Scalar textColor(0,0,250); + putText(frame, text, Point(10,50), FONT_HERSHEY_PLAIN, 2, textColor, 2); +} diff --git a/modules/dpm/samples/data/inriaperson.xml b/modules/dpm/samples/data/inriaperson.xml new file mode 100644 index 000000000..0fe8c1a13 --- /dev/null +++ b/modules/dpm/samples/data/inriaperson.xml @@ -0,0 +1,691 @@ + + +8 +2 +32 +5 +5 +15 + + 32 + 6 +
d
+ + -0.126352 -0.251754 0.000162 -0.307732 0.001753 0.000000 + -0.107640 -0.147280 -0.126797 -0.011158 0.083754 0.000000 + -0.110775 -0.054764 -0.218856 0.177866 0.156714 0.000000 + -0.118092 0.061014 -0.194359 0.147161 0.251803 0.000000 + -0.151281 0.247370 -0.083790 -0.176683 0.397600 0.000000 + -0.147929 0.241083 0.095421 -0.158980 0.391605 0.000000 + -0.116576 0.059412 0.197200 0.149047 0.250757 0.000000 + -0.109158 -0.054815 0.219480 0.177534 0.151575 0.000000 + -0.106911 -0.146401 0.127344 -0.010968 0.079559 0.000000 + -0.126143 -0.249275 -0.001539 -0.307670 -0.000205 0.000000 + -0.108651 -0.149549 -0.131209 -0.010469 -0.075286 0.000000 + -0.112703 -0.058041 -0.227021 0.182907 -0.147237 0.000000 + -0.121120 0.056804 -0.206183 0.157054 -0.248257 0.000000 + -0.154138 0.240917 -0.093038 -0.173921 -0.402466 0.000000 + -0.150450 0.232438 0.093734 -0.154429 -0.397942 0.000000 + -0.119522 0.052840 0.201165 0.156374 -0.250198 0.000000 + -0.111659 -0.062961 0.223864 0.179763 -0.151304 0.000000 + -0.108686 -0.154411 0.130172 -0.015272 -0.077690 0.000000 + -0.223103 -0.364956 -0.001520 -0.370594 0.000681 0.000000 + -0.203424 -0.250927 -0.208393 -0.008980 0.006696 0.000000 + -0.206852 -0.092446 -0.339663 0.275083 0.006614 0.000000 + -0.222081 0.097062 -0.310669 0.239101 0.002267 0.000000 + -0.265546 0.340323 -0.121357 -0.200143 -0.005220 0.000000 + -0.261715 0.336879 0.131287 -0.183642 -0.004819 0.000000 + -0.219935 0.093374 0.311892 0.242094 0.001127 0.000000 + -0.204750 -0.096330 0.338401 0.273360 0.000739 0.000000 + -0.202781 -0.254320 0.207836 -0.012984 0.001870 0.000000 + -0.259609 -0.015209 -0.007047 0.000626 -0.007791 0.000000 + -0.260700 -0.017088 0.011097 -0.001094 0.011428 0.000000 + -0.259645 -0.015372 0.008475 0.001259 -0.008532 0.000000 + -0.260796 -0.017088 -0.009814 -0.000590 0.011747 0.000000 + 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 + +
+6 +-0.5000000000000000 + +-6.659495 -6.659495 + + + <_ type_id="opencv-matrix"> + 15 + 160 +
d
+ + 0.068140 -0.009553 -0.029626 -0.044845 0.015961 0.011180 -0.047270 -0.053032 -0.040501 0.018182 0.001276 -0.006370 -0.025556 0.022397 0.037253 -0.008807 -0.016904 -0.006897 0.054817 0.006889 -0.029269 -0.049491 0.022779 0.031837 -0.042138 -0.050557 -0.026430 -0.061115 0.000283 -0.020680 0.027314 -0.009670 0.007401 0.005270 0.022857 0.021595 0.049167 0.035256 0.002311 -0.023846 -0.037539 0.040376 0.007905 0.046480 0.021463 0.031339 0.014524 -0.050671 -0.030429 -0.022491 0.038177 0.036397 0.074311 0.049325 0.055395 0.022248 -0.048189 -0.038726 -0.047421 -0.016663 0.029055 -0.005605 0.059665 -0.009667 0.013302 -0.016244 -0.007858 -0.006133 0.024184 0.037767 0.025257 0.003032 0.003538 0.048365 -0.032054 -0.013482 0.026308 0.058520 0.052454 0.030932 -0.006515 -0.016205 0.045343 -0.029090 -0.015864 0.011571 0.069803 0.062798 0.060276 0.016956 0.006551 0.018778 0.039975 0.000684 0.046708 -0.003709 0.024794 -0.021387 -0.028795 -0.027813 0.015623 0.001262 -0.006907 -0.007536 0.032384 0.042302 -0.022589 -0.032911 -0.020574 0.016640 0.044733 0.027400 0.014219 -0.015965 0.036502 -0.032726 -0.062807 -0.045817 0.005227 0.026784 0.018727 0.003675 0.027947 0.011070 0.034234 -0.029763 0.000902 -0.003713 0.035544 -0.022931 -0.018055 0.000220 0.032455 0.001804 -0.034702 -0.002373 0.010749 0.015599 0.004384 0.007782 0.004234 0.017988 0.043088 -0.034601 -0.043803 -0.045896 0.019615 -0.002274 -0.012213 0.006196 0.013960 0.016352 -0.058873 -0.034917 -0.011496 0.001176 0.029205 -0.038255 -0.005569 -0.014922 + 0.057043 0.001617 -0.000480 -0.025184 0.015080 0.013821 -0.012989 -0.016157 -0.033569 0.005633 -0.043526 -0.047811 -0.045843 0.002655 0.001484 0.005111 0.003065 0.021356 0.039239 -0.038718 -0.037235 -0.053042 0.016661 0.008580 -0.002124 -0.009909 0.014568 -0.042022 -0.024888 0.003443 0.016942 0.004342 0.019122 0.013120 -0.003967 -0.002290 0.009155 0.006616 0.027775 0.057341 0.056987 0.038748 -0.016449 -0.004999 0.010282 -0.007851 -0.009807 -0.007090 0.013375 0.016850 0.047072 0.001760 0.008580 0.012458 0.004169 -0.008257 0.003440 0.049428 0.068541 0.015342 0.033014 0.015996 0.037904 0.004345 -0.021244 -0.013004 -0.011427 0.000161 0.013333 0.007543 0.008260 0.042437 0.049123 0.013991 0.007823 0.005170 0.023601 0.017914 -0.028295 -0.008662 0.012419 -0.000015 0.041254 0.012742 0.009396 0.008710 0.014876 0.003786 0.028244 0.044160 0.055982 0.011700 0.027023 0.004429 0.013005 0.010303 0.022234 0.024213 0.010843 -0.012987 0.012817 0.008591 -0.011587 0.015929 -0.001371 0.056766 -0.009289 -0.033632 -0.047433 -0.018183 -0.011580 -0.018981 -0.012982 0.003173 0.061885 0.024670 -0.015458 -0.055850 -0.030199 -0.010894 -0.013926 0.028499 0.024512 0.003145 0.011849 -0.016570 -0.009484 0.010299 0.021825 -0.025420 -0.011728 -0.003262 0.064364 0.035832 0.001544 -0.028108 -0.050468 0.003782 -0.013305 -0.028090 -0.026099 0.016603 0.014230 -0.035601 0.001966 -0.016734 0.012060 -0.020146 -0.035264 -0.015303 0.039655 0.012478 -0.022135 -0.024164 -0.034562 0.007289 0.016895 -0.038800 -0.022470 -0.000910 + 0.029640 0.001829 0.016931 0.038847 0.030058 0.022421 0.005887 0.017414 -0.005997 0.021909 -0.043247 -0.034392 -0.015132 -0.001477 -0.006589 0.003218 0.000682 0.005744 0.020033 -0.017765 0.008411 0.029477 0.026884 0.021363 -0.000235 0.013463 0.020696 0.010533 -0.020979 0.030481 0.021329 0.006037 -0.021082 0.006932 0.001872 0.050592 0.043405 -0.006976 0.029007 0.033694 0.052028 0.037282 0.009055 0.030068 0.051245 0.000453 -0.039992 0.006284 0.049777 0.016171 0.025080 0.040546 0.053214 0.070923 0.042800 -0.013486 0.034341 0.047261 0.070908 0.060244 0.022409 0.055190 0.027059 0.006040 0.000946 0.001199 0.022867 0.011592 0.032082 0.017506 0.033751 0.037385 0.026509 0.011567 0.007350 -0.003299 0.020538 -0.038279 -0.043271 -0.017231 0.016886 0.029006 0.035041 0.018041 0.015728 0.027384 0.008056 0.004562 0.026198 0.045662 0.046437 0.046807 0.005452 0.029669 -0.003155 0.011998 0.036643 0.048532 0.032543 0.004570 0.019716 0.023553 0.053549 0.063683 0.015756 0.010030 -0.014686 -0.009994 -0.027505 -0.055624 -0.019272 0.029358 0.029755 0.007434 0.041628 0.028158 0.017421 -0.020795 -0.028616 0.025544 0.098255 0.092944 0.031681 0.052304 0.026552 0.041797 -0.003726 0.011993 -0.006270 0.013135 0.003740 -0.018855 0.007595 -0.001976 -0.004907 0.032046 0.003898 0.036235 -0.012379 -0.012530 -0.006658 0.003263 -0.019383 0.007951 0.024669 -0.033363 0.022039 0.002134 -0.004578 -0.026130 -0.004704 -0.004733 -0.000905 0.054071 -0.017977 0.019199 0.009883 0.009650 -0.031091 0.000784 + 0.000311 0.012595 -0.003724 -0.016393 -0.003968 0.018663 -0.002783 0.013197 -0.031518 -0.024629 0.025460 0.014683 0.007149 -0.005943 -0.037165 0.001592 -0.012018 -0.028182 0.042371 0.043062 0.039090 0.016449 0.006748 -0.016301 0.008460 -0.002430 -0.046631 0.003846 -0.033188 0.000501 -0.005418 -0.005963 -0.053842 0.014600 0.022845 0.004670 -0.001109 -0.032655 0.000214 0.026107 -0.004821 -0.028084 0.000129 -0.000165 0.008456 -0.011027 -0.021400 0.016205 0.005560 -0.000106 0.001589 0.019675 0.024485 0.019211 0.011140 -0.032493 0.019793 0.022479 -0.005300 0.052262 -0.042923 -0.004304 -0.030689 -0.005960 -0.025240 0.003181 0.028170 0.012613 0.025635 -0.016738 -0.000101 0.006714 -0.026027 -0.040430 0.025070 -0.012488 0.001332 -0.018554 -0.035400 0.003984 0.001426 0.004916 -0.030590 0.007141 0.013362 0.004881 0.010103 -0.031920 0.011472 -0.012589 -0.042450 0.044763 -0.042027 0.022184 -0.054118 -0.000002 -0.037712 -0.024121 -0.017608 -0.035700 -0.019149 -0.026707 -0.041595 0.027745 0.022609 -0.015396 0.018685 0.004722 -0.002791 -0.011444 -0.018256 0.019313 0.006991 0.002332 -0.014162 -0.016634 -0.001485 -0.031752 -0.022612 -0.029215 0.018944 0.050985 0.013322 -0.001891 -0.033577 0.029692 -0.064031 -0.000007 -0.027220 -0.004722 0.005438 -0.042078 -0.015131 -0.009136 -0.033884 0.026482 0.045934 0.025151 -0.004228 -0.011495 -0.020495 -0.016545 -0.000698 0.045815 0.007082 0.005009 0.051111 -0.009230 -0.018173 -0.059655 -0.052053 -0.019064 0.018480 0.080820 0.060786 0.002819 -0.013012 0.026316 -0.027776 -0.011216 + -0.046375 0.004685 -0.032245 -0.034164 0.014131 0.035548 0.019533 -0.002193 -0.014299 0.012626 0.034105 0.014870 -0.030693 -0.031538 -0.011782 0.009951 0.002253 -0.042071 0.036614 0.029464 0.003190 -0.045947 -0.011291 0.009846 0.022165 -0.009970 -0.045808 -0.002508 -0.018558 -0.010542 -0.014429 -0.005963 -0.012604 0.019137 0.018476 -0.019515 -0.012536 -0.013653 -0.021617 0.010469 0.006393 -0.035276 -0.016879 -0.034260 -0.043987 -0.012579 -0.004460 0.032876 0.034555 0.030514 0.019624 0.002851 -0.020473 -0.046201 -0.015942 -0.013166 0.012840 0.031027 0.029266 0.032909 -0.002471 -0.025388 -0.040379 -0.005960 0.006093 -0.016366 -0.009649 -0.007816 -0.010302 -0.030799 -0.012240 -0.003581 -0.012099 -0.027165 0.017258 -0.012738 -0.008103 -0.012595 -0.016817 0.004793 0.007292 0.025793 0.006819 -0.015841 -0.020438 -0.018998 -0.031207 -0.052897 -0.017731 -0.015394 0.005659 0.010704 -0.019400 -0.009241 -0.038179 -0.000002 -0.013672 -0.037372 -0.041667 -0.031897 -0.008143 0.008794 -0.013284 -0.008196 0.002476 0.013486 0.058469 -0.000506 0.005548 -0.016997 -0.010286 -0.023247 -0.038423 -0.003403 0.032862 0.005932 -0.025982 -0.023179 -0.027094 -0.016704 -0.044242 -0.040605 -0.014547 -0.031706 -0.036196 0.012128 -0.018859 -0.000007 -0.017013 -0.003825 0.003006 -0.011057 -0.007716 0.016402 0.000450 0.012633 0.060208 0.011117 0.005466 -0.013144 0.005520 -0.033609 -0.023586 -0.016380 -0.031006 -0.017571 0.046391 0.006463 -0.013667 -0.001451 -0.030020 0.002838 -0.012918 -0.010998 0.049278 -0.016688 -0.008350 -0.002439 -0.000857 -0.011216 + -0.040753 0.005266 -0.015735 -0.028976 0.015863 0.038142 0.007393 -0.016940 -0.004691 0.001828 0.053650 0.033271 0.008104 -0.014934 0.009246 0.002725 0.009441 -0.034744 0.035355 0.055643 0.015926 -0.017295 -0.000197 0.038247 0.012972 -0.009877 -0.018287 0.004559 0.012838 -0.006356 0.002232 -0.005963 0.002774 0.057195 0.020744 0.014011 -0.003664 -0.016739 0.006276 -0.023745 -0.022229 -0.040589 0.004208 -0.014060 -0.007032 -0.007962 -0.009916 -0.005734 0.007255 0.015334 0.020275 0.035137 0.016344 0.002880 -0.004278 -0.021726 -0.005701 -0.003058 -0.002301 0.022480 0.028181 -0.026879 -0.035035 -0.005960 -0.010578 0.006288 -0.018064 -0.024140 -0.016589 -0.027701 -0.020007 -0.023323 -0.015471 -0.039294 0.038037 0.011722 0.007796 -0.041899 -0.034189 -0.017903 -0.014054 -0.005513 -0.013465 0.004024 -0.001518 -0.020610 -0.055130 -0.055278 -0.038432 -0.033171 -0.022163 -0.025914 -0.020575 -0.031475 -0.037474 -0.000002 -0.032887 0.030391 -0.032485 0.003784 -0.002492 -0.024525 -0.023295 -0.004344 0.012172 -0.007400 0.050523 0.003303 -0.011199 -0.021038 -0.006982 -0.001696 -0.004890 -0.009425 0.024103 0.029385 -0.004468 -0.002720 -0.026261 -0.028846 -0.027664 -0.017439 -0.001685 -0.040830 -0.034288 0.012193 0.024040 -0.000007 -0.017564 0.009492 0.011190 0.023265 0.016145 -0.007482 0.002626 0.002001 0.024208 0.023802 0.006328 0.004576 0.007014 0.002558 -0.009276 -0.023857 -0.003696 0.013802 0.069001 0.024481 0.014492 0.031054 0.014206 -0.009901 -0.022106 -0.012606 0.021096 0.001626 0.002771 0.012418 0.023316 -0.011216 + 0.003725 0.036825 -0.000821 -0.007256 0.023365 0.050676 0.001151 0.012046 0.030297 0.002621 0.041126 0.013602 0.000204 -0.011016 0.002153 -0.028029 -0.026589 -0.021058 0.063558 0.059299 0.018488 -0.010968 0.006115 0.048504 -0.019698 -0.009444 0.018583 0.017701 0.022819 0.011692 0.005780 -0.005963 0.005403 0.052454 -0.003593 0.012488 -0.000172 0.003513 -0.010781 -0.006082 -0.020292 -0.014968 0.012872 -0.006992 -0.009362 -0.005415 0.003588 -0.003479 -0.004325 0.012888 0.062116 0.052967 0.003119 -0.017033 0.004692 0.015836 -0.012558 -0.004076 -0.006995 0.014798 0.037958 -0.020547 -0.023843 -0.005960 -0.025578 0.020306 0.005447 -0.021178 -0.019897 0.000816 -0.004454 -0.022485 -0.015148 -0.057568 0.010680 -0.013176 0.004039 0.024652 -0.012665 -0.024110 -0.026477 -0.007288 -0.044177 0.004123 -0.006816 -0.021788 -0.000717 0.007313 -0.021334 -0.042848 -0.026884 -0.021896 -0.011765 -0.032406 -0.020711 -0.000002 -0.031176 0.022590 -0.000032 0.013707 -0.019036 -0.005708 -0.022960 0.012512 0.014809 -0.029796 0.021787 0.008517 0.003531 -0.020005 -0.051475 -0.019282 -0.010916 0.013216 -0.000265 0.013346 0.013025 -0.004382 -0.027508 -0.029188 -0.033446 -0.004362 0.013277 -0.032680 -0.041651 0.012826 0.014498 -0.000007 -0.020881 -0.001279 -0.008717 -0.013553 -0.019323 -0.018925 -0.017061 0.009155 0.034397 -0.013626 0.006918 -0.010776 -0.005833 0.018593 0.007162 -0.016535 0.000939 0.017611 0.060990 0.010002 -0.012827 -0.014993 0.009177 -0.005912 -0.037379 -0.000950 0.039241 -0.000232 -0.022822 0.001447 -0.002780 -0.011216 + 0.018274 0.031224 -0.006930 0.007110 0.003084 0.023425 -0.003910 0.011508 -0.003078 0.024702 0.043392 -0.015158 -0.008425 -0.035343 -0.011338 -0.009874 -0.013367 -0.002131 0.066308 0.040628 -0.017587 -0.007944 -0.019798 0.017815 -0.019667 0.004324 0.014249 -0.005769 0.002729 0.031556 -0.003456 -0.000615 0.006260 0.045454 0.017388 0.007047 -0.019124 -0.034737 -0.004709 0.008350 -0.001937 -0.000719 0.007365 -0.030165 -0.005775 -0.049876 -0.030692 -0.012981 -0.020306 -0.018831 0.061251 0.036160 -0.003508 0.008173 -0.016156 -0.021778 -0.016176 -0.013398 0.006737 -0.006740 0.006993 -0.035864 -0.029437 -0.000612 -0.029073 0.028438 0.017341 0.010645 0.009767 -0.013543 -0.006211 -0.015561 -0.021632 -0.026433 0.002211 -0.014534 -0.025540 -0.027290 -0.018238 -0.020337 -0.024284 -0.024375 -0.036039 0.008692 -0.001601 -0.005799 0.025991 0.002872 -0.016999 -0.040327 -0.039116 -0.010381 -0.019336 -0.031181 -0.032746 0.005346 -0.029989 -0.015232 0.009521 -0.004411 -0.004703 0.017273 -0.010975 0.001015 -0.011583 -0.023254 -0.004937 -0.010525 -0.036513 -0.036581 -0.024370 0.004709 0.004431 0.009079 -0.009405 0.001268 -0.001576 -0.017539 0.014323 0.020497 0.000405 0.002903 -0.010662 -0.036628 -0.042321 0.002948 -0.002744 0.005342 -0.002031 -0.014694 -0.010885 -0.002078 0.005904 0.018774 -0.008382 -0.007377 0.034212 0.035038 -0.016614 0.017974 -0.025486 -0.032810 -0.012142 -0.015246 -0.019346 0.034842 0.080173 -0.011300 0.013149 -0.022486 0.002488 0.018024 -0.023748 -0.012892 0.076564 -0.000698 -0.009623 -0.002503 0.003234 -0.005867 + 0.027086 0.032636 0.002529 -0.005594 -0.016573 0.011340 0.009837 0.016276 0.024095 0.011482 0.022181 0.005300 -0.010327 -0.017096 -0.002980 0.014130 -0.003025 0.021586 0.076625 0.038260 0.005215 -0.020679 0.007709 0.035286 0.009233 0.010740 0.035701 -0.005565 -0.010882 0.056371 0.027431 -0.008714 -0.003716 0.035604 0.033856 -0.005196 -0.039295 -0.011270 0.001425 0.029051 0.002562 -0.001404 -0.001292 -0.008535 0.004298 0.003574 -0.007085 0.000888 -0.007859 -0.002623 0.078395 0.021342 0.006590 -0.002151 -0.000021 -0.005175 -0.005629 0.014586 0.000731 0.013221 0.015246 -0.006191 -0.011442 -0.008711 -0.024022 0.010529 0.002277 -0.005766 -0.029955 -0.032043 -0.006163 0.013193 0.015400 -0.024778 0.014251 -0.016380 -0.023955 -0.013681 -0.020966 -0.011953 -0.027260 -0.016217 -0.007339 0.014964 0.001198 -0.027864 -0.006784 -0.026504 -0.027798 -0.012315 0.005422 -0.015006 -0.011860 -0.032995 -0.033235 -0.002753 -0.020752 -0.005602 0.012489 -0.008847 -0.022160 -0.014654 0.022094 -0.016802 -0.030442 -0.023995 0.014654 -0.027514 -0.027695 -0.006410 -0.026474 -0.011668 -0.011497 0.015279 0.034524 0.025496 -0.003686 -0.022656 0.002795 -0.009375 0.009643 -0.024956 -0.011046 -0.036435 -0.042020 -0.006241 -0.004868 -0.002758 0.026639 0.034657 0.017851 0.000084 0.005211 -0.001414 -0.002091 -0.035176 0.018531 0.043923 0.020126 -0.013244 -0.003220 -0.015843 -0.008682 -0.015808 -0.019031 0.022431 0.125608 0.070002 0.013379 0.000126 0.021518 0.013397 -0.021705 -0.050790 0.042746 0.006065 0.004986 0.009013 0.015265 -0.013967 + -0.021032 0.033896 -0.002294 -0.019463 0.015290 0.030725 -0.010907 -0.023059 0.005975 -0.019376 0.001072 0.003116 -0.030763 -0.021565 -0.000768 0.001251 -0.026514 -0.007390 0.024718 0.024932 -0.008095 -0.048284 0.000837 0.026107 -0.009823 -0.043438 0.010571 -0.026847 -0.040957 0.019793 0.004734 -0.002557 -0.055575 0.040138 0.027852 -0.008308 -0.017015 0.000840 -0.000290 -0.022752 0.005326 0.012552 0.005702 -0.004682 -0.018240 -0.019141 -0.006450 -0.027829 -0.029635 0.009688 0.055887 0.026496 0.005392 -0.027029 -0.023552 -0.011453 -0.030673 -0.039426 0.016284 -0.000589 -0.014026 -0.005986 -0.030225 -0.002554 -0.019510 0.043154 0.026394 0.013413 -0.030001 -0.008719 0.003306 0.000899 0.031864 -0.000967 0.011106 0.008727 -0.029461 -0.035354 -0.019323 -0.046779 -0.057785 0.016077 -0.005464 0.036359 0.019480 -0.018648 -0.045519 -0.040893 -0.041239 -0.040804 0.030680 -0.001496 -0.009149 -0.012034 -0.021141 0.003404 -0.001870 0.038288 0.010084 -0.008549 -0.019528 -0.018995 -0.023775 0.006767 0.007929 -0.019925 -0.012707 -0.029610 -0.032536 -0.051934 -0.038394 -0.045584 -0.022093 0.020743 0.048834 0.037842 -0.020390 -0.031642 -0.044036 -0.062813 -0.069315 -0.019074 0.008093 -0.046423 -0.044047 -0.011164 -0.012299 0.003399 -0.033146 0.075241 0.020158 -0.009875 0.001455 0.009292 -0.009972 0.003892 0.020263 0.009192 0.017149 -0.025038 -0.017294 -0.018644 0.001971 -0.004596 -0.011485 -0.017313 0.060137 0.079792 -0.000010 -0.023206 -0.004193 0.002529 -0.013245 -0.010949 -0.003526 0.015142 0.000627 -0.005365 -0.005101 -0.007810 + -0.034817 0.023273 -0.008937 -0.021249 0.020593 0.027890 -0.025962 -0.013108 0.008884 -0.020125 0.024719 0.017434 -0.004581 0.001368 -0.030552 -0.044191 -0.039097 0.012636 0.031100 0.010027 -0.005102 -0.019802 0.004633 0.013031 -0.060737 -0.050526 0.013094 -0.033245 -0.034983 0.009745 0.008597 -0.004040 -0.056896 0.033687 0.007919 -0.001980 -0.015227 -0.024272 -0.010761 -0.014196 0.036186 -0.010812 0.003928 0.018828 -0.019123 -0.032635 -0.024885 -0.029925 -0.013168 0.020623 0.040472 0.028435 0.018774 -0.016923 -0.042332 -0.046059 -0.039848 -0.030055 0.059151 -0.019186 -0.006251 -0.017177 -0.019945 -0.004037 0.001273 0.051578 0.017439 0.003812 -0.007210 -0.029904 -0.001166 0.001354 0.027833 0.005426 0.023273 0.010035 -0.015685 -0.048196 -0.021090 -0.001890 -0.026908 0.013311 0.016324 0.061154 0.025596 -0.018343 -0.048658 -0.038648 -0.015444 -0.011616 0.035402 -0.004384 0.011877 -0.008695 0.002751 0.001921 -0.011373 0.019555 -0.029738 -0.010243 -0.005208 -0.025313 -0.028285 0.009110 0.029854 -0.003456 0.002627 -0.020615 -0.014030 -0.038487 -0.025234 -0.011199 0.001411 0.024017 0.044988 0.035909 -0.042832 -0.026766 -0.033316 -0.042039 -0.038082 0.011158 0.012428 -0.025759 -0.031165 -0.009557 0.002085 0.001916 -0.013211 0.023900 -0.028487 -0.027905 0.017302 0.004238 -0.008209 0.004877 0.003152 -0.023702 -0.019111 -0.041299 -0.028258 -0.046578 -0.029054 -0.010127 0.006500 0.038484 0.029062 0.006523 -0.061328 -0.057029 -0.016160 -0.020812 -0.016995 -0.000144 0.027787 0.004692 -0.018268 -0.036413 -0.033679 -0.009293 + -0.041351 -0.005922 0.003174 0.000078 0.040562 0.039236 0.002932 0.005404 0.023771 -0.025740 0.021863 0.029210 0.003769 -0.017198 -0.018864 -0.040248 -0.017370 0.011883 0.013301 0.002206 0.018100 0.000819 0.007303 0.024129 -0.030424 -0.012062 0.010734 -0.029851 -0.019389 0.034817 0.021583 -0.002228 0.017519 0.007287 0.002972 -0.020703 0.004984 0.018872 0.013127 0.023273 0.046377 -0.001407 -0.022225 -0.008397 -0.025187 -0.026007 -0.016523 -0.016395 -0.005505 0.020806 0.063877 -0.008873 -0.002022 -0.041940 -0.033906 0.002243 -0.008078 0.014553 0.066542 -0.014126 0.010184 0.004163 0.005845 -0.002226 0.008576 0.027548 0.014805 -0.022294 -0.031193 -0.011236 0.000345 0.031086 0.064590 0.033342 -0.009043 -0.018003 -0.026442 -0.016480 -0.011246 -0.017678 -0.016181 -0.002577 0.007641 0.010226 0.000360 -0.046488 -0.046468 -0.026117 -0.022152 0.019220 0.057613 -0.005895 0.016142 -0.013551 0.002323 0.003733 -0.012304 0.003470 -0.019153 -0.011342 -0.000329 -0.008450 -0.009847 0.022618 0.072397 0.007905 -0.030559 -0.029342 -0.028025 -0.038586 -0.034125 -0.031822 0.012296 0.017466 0.035317 -0.019397 -0.041406 -0.039171 -0.025856 -0.026775 -0.035000 0.035886 0.046941 -0.013157 -0.018353 -0.023798 -0.000191 0.003728 0.016215 0.009701 -0.023749 0.011541 0.030240 -0.007027 -0.025450 0.004005 0.005417 -0.038877 -0.021362 -0.038550 -0.042538 -0.037523 -0.026835 -0.043456 0.002326 0.011537 0.031739 -0.005472 -0.055015 -0.040679 -0.001470 -0.018412 -0.058719 -0.001914 0.001586 -0.002545 -0.007964 -0.048775 -0.041777 -0.007481 + -0.017088 0.011582 0.002381 -0.005768 -0.009537 0.001478 -0.020335 -0.016465 0.007514 -0.019420 0.021542 -0.015262 -0.012770 -0.010919 -0.030822 -0.012272 -0.000896 0.011989 0.010589 0.015379 -0.016980 -0.012498 -0.015099 -0.013309 -0.034380 -0.019877 -0.000935 -0.050497 -0.046749 0.026676 0.016328 0.007977 -0.020303 0.006367 -0.005030 -0.018897 -0.024547 -0.010720 -0.026358 -0.016058 0.033619 0.040127 0.038605 -0.013621 -0.030546 -0.042137 -0.041048 -0.013894 0.004397 0.017745 0.066657 0.017688 -0.022494 -0.047222 -0.050534 -0.033139 -0.048864 -0.019094 0.042718 -0.029482 -0.022738 -0.002920 -0.002511 0.007979 0.026116 0.006062 -0.012925 -0.013130 -0.036040 0.009794 -0.018469 -0.017218 0.033369 0.055017 0.010920 -0.000285 0.004495 -0.024393 -0.023878 -0.022718 -0.011272 0.019176 0.021457 -0.019776 -0.014126 -0.023510 -0.052876 -0.008445 -0.045051 -0.009095 0.030037 -0.010234 0.006731 -0.005275 0.001528 0.013938 0.021838 0.013613 -0.022311 -0.010813 -0.011033 -0.006028 -0.027513 0.017322 0.047995 0.019682 -0.032228 -0.037035 -0.013513 -0.031811 -0.027611 -0.011234 0.010813 0.024494 0.062882 -0.012427 -0.048947 -0.038745 -0.035359 -0.018816 -0.042748 0.011725 0.026103 -0.005011 0.001174 -0.022405 -0.009289 0.013933 0.011329 0.028833 -0.006688 -0.005664 0.001289 0.003472 0.004029 0.013869 0.048615 -0.012242 -0.028215 -0.028975 -0.017004 -0.038546 -0.029839 -0.028585 0.006155 0.007074 0.053133 0.009049 -0.030289 -0.037575 -0.018295 -0.019790 -0.035675 -0.005269 0.020598 0.025048 0.017263 -0.043507 -0.032317 0.002724 + 0.010475 -0.005795 -0.006961 -0.016087 -0.005041 0.009146 -0.007822 -0.010652 -0.007081 -0.040331 -0.006073 -0.012807 -0.004667 -0.046266 -0.031881 -0.001323 -0.009093 -0.005471 0.003118 -0.012511 -0.028822 -0.030731 -0.041625 -0.019276 -0.032232 -0.037129 -0.025186 -0.048122 -0.075320 0.028192 0.002041 0.020351 -0.013106 0.027198 -0.006490 -0.005220 -0.032533 -0.013566 -0.009438 0.025209 0.016714 0.029460 0.052705 0.023592 0.010330 -0.017998 -0.013561 -0.015751 -0.013618 0.007219 0.050158 0.055047 0.011648 -0.006697 -0.020633 -0.015155 -0.033521 0.003853 0.033464 -0.005593 -0.018737 0.040112 0.008330 0.020354 0.030925 0.035173 0.003852 -0.008327 -0.021048 -0.007987 -0.018073 -0.010019 0.030188 0.050730 0.047761 0.000996 0.015162 -0.028516 -0.010843 -0.022079 -0.009215 0.035495 0.059562 0.051748 0.003503 -0.015083 -0.012538 -0.016016 -0.045539 -0.009945 0.051116 0.010092 0.008259 0.026090 0.009381 0.020886 0.033936 0.031939 0.007769 -0.003673 -0.033816 -0.006366 -0.000335 0.032534 0.059490 0.024706 0.010004 -0.035796 -0.026815 -0.025541 0.008274 0.007644 0.017274 0.033936 0.064935 0.034469 -0.020648 -0.027128 -0.035945 -0.009267 -0.000165 0.032918 0.054787 0.027057 0.029468 0.005026 0.002165 0.020879 0.019258 0.016444 0.031552 0.003040 -0.014449 -0.013991 -0.025547 -0.002719 0.010662 0.010995 -0.016608 -0.021177 -0.021351 -0.036096 -0.036935 -0.011347 0.017035 0.014302 0.050284 -0.002846 0.005630 -0.022577 -0.024008 -0.033588 -0.046771 -0.008440 0.006447 0.041014 0.020030 -0.049873 -0.047437 0.009673 + -0.006663 -0.015329 -0.010055 -0.039282 0.010696 0.021565 0.023424 0.004018 0.000171 -0.021836 -0.015932 0.008142 0.020986 -0.008337 -0.008475 -0.004884 -0.011034 -0.021290 -0.013883 -0.028005 -0.012433 -0.032229 -0.005894 -0.001478 0.001253 -0.013876 -0.029759 -0.007112 -0.076530 0.050913 -0.002210 0.000846 -0.040971 -0.020152 -0.007984 -0.028648 0.028761 0.066088 0.018539 0.035993 0.004583 -0.006261 0.040816 0.037313 0.015896 -0.017739 -0.016940 -0.004349 -0.001467 -0.043955 -0.018035 0.015302 0.021952 -0.014879 0.012126 0.035675 0.001371 0.019529 -0.031090 0.013255 -0.050600 0.068097 -0.002692 -0.004217 -0.006379 0.039141 0.017744 -0.001831 0.048174 0.027969 -0.037174 -0.016494 -0.017171 0.005798 0.033841 0.025470 -0.005640 -0.017469 -0.022933 0.018680 -0.004736 0.002877 0.001373 0.037821 0.029846 -0.012691 0.019588 0.010886 -0.023464 -0.019051 -0.012527 0.031267 -0.032008 0.056834 -0.013729 -0.004210 0.001118 0.039384 0.012212 0.003794 0.023272 0.019548 -0.022292 -0.002447 -0.015174 -0.000192 0.022093 0.028381 -0.011896 -0.027223 0.000286 0.017698 0.007776 0.046287 0.014855 0.028707 0.019646 -0.016990 0.002287 0.004111 -0.009724 -0.016691 0.014733 0.068195 -0.005447 0.036763 -0.032278 -0.004217 0.004605 0.009424 0.024863 0.024091 0.039030 -0.009147 -0.040629 -0.022836 -0.007392 -0.006257 -0.015338 -0.026979 -0.021604 -0.022981 0.007207 0.004247 -0.004087 -0.008233 0.010530 -0.014894 -0.007378 -0.011403 -0.003863 -0.013877 -0.051449 -0.038957 -0.020155 0.062666 0.010998 -0.019650 -0.087962 -0.014412 + + + <_ type_id="opencv-matrix"> + 15 + 160 +
d
+ + 0.015599 0.010749 -0.002373 -0.034702 0.001804 0.032455 0.000220 -0.018055 -0.022931 0.035544 -0.045896 -0.043803 -0.034601 0.043088 0.017988 0.004234 0.007782 0.004384 0.019615 -0.011496 -0.034917 -0.058873 0.016352 0.013960 0.006196 -0.012213 -0.002274 -0.038255 -0.005569 0.001176 0.029205 -0.014922 0.042302 0.032384 -0.007536 -0.006907 0.001262 0.015623 -0.027813 -0.028795 -0.021387 0.024794 -0.015965 0.014219 0.027400 0.044733 0.016640 -0.020574 -0.032911 -0.022589 0.036502 0.027947 0.003675 0.018727 0.026784 0.005227 -0.045817 -0.062807 -0.032726 -0.029763 0.000902 0.011070 0.034234 -0.003713 0.048365 0.003538 0.003032 0.025257 0.037767 0.024184 -0.006133 -0.007858 -0.016244 0.013302 -0.016205 -0.006515 0.030932 0.052454 0.058520 0.026308 -0.013482 -0.032054 0.045343 0.006551 0.016956 0.060276 0.062798 0.069803 0.011571 -0.015864 -0.029090 0.000684 0.046708 0.018778 0.039975 -0.003709 0.040376 -0.037539 -0.023846 0.002311 0.035256 0.049167 0.021595 0.022857 0.005270 0.007401 -0.022491 -0.030429 -0.050671 0.014524 0.031339 0.021463 0.046480 0.007905 0.038177 -0.047421 -0.038726 -0.048189 0.022248 0.055395 0.049325 0.074311 0.036397 -0.005605 0.059665 -0.016663 0.029055 -0.009667 0.018182 -0.040501 -0.053032 -0.047270 0.011180 0.015961 -0.044845 -0.029626 -0.009553 0.068140 -0.006897 -0.016904 -0.008807 0.037253 0.022397 -0.025556 -0.006370 0.001276 0.054817 -0.026430 -0.050557 -0.042138 0.031837 0.022779 -0.049491 -0.029269 0.006889 -0.020680 0.027314 -0.061115 0.000283 -0.009670 + 0.003782 -0.050468 -0.028108 0.001544 0.035832 0.064364 -0.003262 -0.011728 -0.025420 0.021825 -0.016734 0.001966 -0.035601 0.014230 0.016603 -0.026099 -0.028090 -0.013305 0.012060 -0.034562 -0.024164 -0.022135 0.012478 0.039655 -0.015303 -0.035264 -0.020146 -0.038800 -0.022470 0.007289 0.016895 -0.000910 0.056766 -0.001371 0.015929 -0.011587 0.008591 0.012817 -0.012987 0.010843 0.024213 0.022234 0.003173 -0.012982 -0.018981 -0.011580 -0.018183 -0.047433 -0.033632 -0.009289 0.061885 0.024512 0.028499 -0.013926 -0.010894 -0.030199 -0.055850 -0.015458 0.024670 -0.016570 -0.009484 0.003145 0.011849 0.010299 0.013991 0.049123 0.042437 0.008260 0.007543 0.013333 0.000161 -0.011427 -0.013004 -0.021244 -0.000015 0.012419 -0.008662 -0.028295 0.017914 0.023601 0.005170 0.007823 0.041254 0.055982 0.044160 0.028244 0.003786 0.014876 0.008710 0.009396 0.012742 0.004429 0.013005 0.011700 0.027023 0.010303 0.038748 0.056987 0.057341 0.027775 0.006616 0.009155 -0.002290 -0.003967 0.013120 0.019122 0.016850 0.013375 -0.007090 -0.009807 -0.007851 0.010282 -0.004999 -0.016449 0.047072 0.068541 0.049428 0.003440 -0.008257 0.004169 0.012458 0.008580 0.001760 0.015996 0.037904 0.015342 0.033014 0.004345 0.005633 -0.033569 -0.016157 -0.012989 0.013821 0.015080 -0.025184 -0.000480 0.001617 0.057043 0.021356 0.003065 0.005111 0.001484 0.002655 -0.045843 -0.047811 -0.043526 0.039239 0.014568 -0.009909 -0.002124 0.008580 0.016661 -0.053042 -0.037235 -0.038718 0.003443 0.016942 -0.042022 -0.024888 0.004342 + 0.036235 0.003898 0.032046 -0.004907 -0.001976 0.007595 -0.018855 0.003740 0.013135 -0.006270 -0.033363 0.024669 0.007951 -0.019383 0.003263 -0.006658 -0.012530 -0.012379 0.022039 -0.017977 0.054071 -0.000905 -0.004733 -0.004704 -0.026130 -0.004578 0.002134 0.009650 -0.031091 0.019199 0.009883 0.000784 0.010030 0.015756 0.063683 0.053549 0.023553 0.019716 0.004570 0.032543 0.048532 0.036643 0.007434 0.029755 0.029358 -0.019272 -0.055624 -0.027505 -0.009994 -0.014686 0.041628 0.031681 0.092944 0.098255 0.025544 -0.028616 -0.020795 0.017421 0.028158 0.041797 -0.003726 0.052304 0.026552 0.011993 0.011567 0.026509 0.037385 0.033751 0.017506 0.032082 0.011592 0.022867 0.001199 0.000946 0.029006 0.016886 -0.017231 -0.043271 -0.038279 0.020538 -0.003299 0.007350 0.035041 0.046437 0.045662 0.026198 0.004562 0.008056 0.027384 0.015728 0.018041 0.029669 -0.003155 0.046807 0.005452 0.011998 0.037282 0.052028 0.033694 0.029007 -0.006976 0.043405 0.050592 0.001872 0.006932 -0.021082 0.016171 0.049777 0.006284 -0.039992 0.000453 0.051245 0.030068 0.009055 0.025080 0.070908 0.047261 0.034341 -0.013486 0.042800 0.070923 0.053214 0.040546 0.055190 0.027059 0.060244 0.022409 0.006040 0.021909 -0.005997 0.017414 0.005887 0.022421 0.030058 0.038847 0.016931 0.001829 0.029640 0.005744 0.000682 0.003218 -0.006589 -0.001477 -0.015132 -0.034392 -0.043247 0.020033 0.020696 0.013463 -0.000235 0.021363 0.026884 0.029477 0.008411 -0.017765 0.030481 0.021329 0.010533 -0.020979 0.006037 + 0.025151 0.045934 0.026482 -0.033884 -0.009136 -0.015131 -0.042078 0.005438 -0.004722 -0.027220 0.005009 0.007082 0.045815 -0.000698 -0.016545 -0.020495 -0.011495 -0.004228 0.051111 0.060786 0.080820 0.018480 -0.019064 -0.052053 -0.059655 -0.018173 -0.009230 0.026316 -0.027776 0.002819 -0.013012 -0.011216 -0.015396 0.022609 0.027745 -0.041595 -0.026707 -0.019149 -0.035700 -0.017608 -0.024121 -0.037712 0.002332 0.006991 0.019313 -0.018256 -0.011444 -0.002791 0.004722 0.018685 -0.014162 0.013322 0.050985 0.018944 -0.029215 -0.022612 -0.031752 -0.001485 -0.016634 0.029692 -0.064031 -0.001891 -0.033577 -0.000007 -0.040430 -0.026027 0.006714 -0.000101 -0.016738 0.025635 0.012613 0.028170 0.003181 -0.025240 0.004916 0.001426 0.003984 -0.035400 -0.018554 0.001332 -0.012488 0.025070 -0.030590 -0.042450 -0.012589 0.011472 -0.031920 0.010103 0.004881 0.013362 0.007141 0.022184 -0.054118 0.044763 -0.042027 -0.000002 -0.028084 -0.004821 0.026107 0.000214 -0.032655 -0.001109 0.004670 0.022845 0.014600 -0.053842 -0.000106 0.005560 0.016205 -0.021400 -0.011027 0.008456 -0.000165 0.000129 0.001589 -0.005300 0.022479 0.019793 -0.032493 0.011140 0.019211 0.024485 0.019675 -0.004304 -0.030689 0.052262 -0.042923 -0.005960 -0.024629 -0.031518 0.013197 -0.002783 0.018663 -0.003968 -0.016393 -0.003724 0.012595 0.000311 -0.028182 -0.012018 0.001592 -0.037165 -0.005943 0.007149 0.014683 0.025460 0.042371 -0.046631 -0.002430 0.008460 -0.016301 0.006748 0.016449 0.039090 0.043062 0.000501 -0.005418 0.003846 -0.033188 -0.005963 + 0.011117 0.060208 0.012633 0.000450 0.016402 -0.007716 -0.011057 0.003006 -0.003825 -0.017013 -0.017571 -0.031006 -0.016380 -0.023586 -0.033609 0.005520 -0.013144 0.005466 0.046391 0.049278 -0.010998 -0.012918 0.002838 -0.030020 -0.001451 -0.013667 0.006463 -0.002439 -0.000857 -0.016688 -0.008350 -0.011216 0.013486 0.002476 -0.008196 -0.013284 0.008794 -0.008143 -0.031897 -0.041667 -0.037372 -0.013672 -0.003403 -0.038423 -0.023247 -0.010286 -0.016997 0.005548 -0.000506 0.058469 0.032862 -0.014547 -0.040605 -0.044242 -0.016704 -0.027094 -0.023179 -0.025982 0.005932 0.012128 -0.018859 -0.031706 -0.036196 -0.000007 -0.027165 -0.012099 -0.003581 -0.012240 -0.030799 -0.010302 -0.007816 -0.009649 -0.016366 0.006093 0.025793 0.007292 0.004793 -0.016817 -0.012595 -0.008103 -0.012738 0.017258 0.006819 0.005659 -0.015394 -0.017731 -0.052897 -0.031207 -0.018998 -0.020438 -0.015841 -0.009241 -0.038179 0.010704 -0.019400 -0.000002 -0.035276 0.006393 0.010469 -0.021617 -0.013653 -0.012536 -0.019515 0.018476 0.019137 -0.012604 0.030514 0.034555 0.032876 -0.004460 -0.012579 -0.043987 -0.034260 -0.016879 0.019624 0.029266 0.031027 0.012840 -0.013166 -0.015942 -0.046201 -0.020473 0.002851 -0.025388 -0.040379 0.032909 -0.002471 -0.005960 0.012626 -0.014299 -0.002193 0.019533 0.035548 0.014131 -0.034164 -0.032245 0.004685 -0.046375 -0.042071 0.002253 0.009951 -0.011782 -0.031538 -0.030693 0.014870 0.034105 0.036614 -0.045808 -0.009970 0.022165 0.009846 -0.011291 -0.045947 0.003190 0.029464 -0.010542 -0.014429 -0.002508 -0.018558 -0.005963 + 0.023802 0.024208 0.002001 0.002626 -0.007482 0.016145 0.023265 0.011190 0.009492 -0.017564 0.013802 -0.003696 -0.023857 -0.009276 0.002558 0.007014 0.004576 0.006328 0.069001 0.021096 -0.012606 -0.022106 -0.009901 0.014206 0.031054 0.014492 0.024481 0.012418 0.023316 0.001626 0.002771 -0.011216 -0.007400 0.012172 -0.004344 -0.023295 -0.024525 -0.002492 0.003784 -0.032485 0.030391 -0.032887 -0.009425 -0.004890 -0.001696 -0.006982 -0.021038 -0.011199 0.003303 0.050523 0.024103 -0.001685 -0.017439 -0.027664 -0.028846 -0.026261 -0.002720 -0.004468 0.029385 0.012193 0.024040 -0.040830 -0.034288 -0.000007 -0.039294 -0.015471 -0.023323 -0.020007 -0.027701 -0.016589 -0.024140 -0.018064 0.006288 -0.010578 -0.005513 -0.014054 -0.017903 -0.034189 -0.041899 0.007796 0.011722 0.038037 -0.013465 -0.022163 -0.033171 -0.038432 -0.055278 -0.055130 -0.020610 -0.001518 0.004024 -0.031475 -0.037474 -0.025914 -0.020575 -0.000002 -0.040589 -0.022229 -0.023745 0.006276 -0.016739 -0.003664 0.014011 0.020744 0.057195 0.002774 0.015334 0.007255 -0.005734 -0.009916 -0.007962 -0.007032 -0.014060 0.004208 0.020275 -0.002301 -0.003058 -0.005701 -0.021726 -0.004278 0.002880 0.016344 0.035137 -0.026879 -0.035035 0.022480 0.028181 -0.005960 0.001828 -0.004691 -0.016940 0.007393 0.038142 0.015863 -0.028976 -0.015735 0.005266 -0.040753 -0.034744 0.009441 0.002725 0.009246 -0.014934 0.008104 0.033271 0.053650 0.035355 -0.018287 -0.009877 0.012972 0.038247 -0.000197 -0.017295 0.015926 0.055643 -0.006356 0.002232 0.004559 0.012838 -0.005963 + -0.013626 0.034397 0.009155 -0.017061 -0.018925 -0.019323 -0.013553 -0.008717 -0.001279 -0.020881 0.017611 0.000939 -0.016535 0.007162 0.018593 -0.005833 -0.010776 0.006918 0.060990 0.039241 -0.000950 -0.037379 -0.005912 0.009177 -0.014993 -0.012827 0.010002 0.001447 -0.002780 -0.000232 -0.022822 -0.011216 -0.029796 0.014809 0.012512 -0.022960 -0.005708 -0.019036 0.013707 -0.000032 0.022590 -0.031176 0.013216 -0.010916 -0.019282 -0.051475 -0.020005 0.003531 0.008517 0.021787 -0.000265 0.013277 -0.004362 -0.033446 -0.029188 -0.027508 -0.004382 0.013025 0.013346 0.012826 0.014498 -0.032680 -0.041651 -0.000007 -0.057568 -0.015148 -0.022485 -0.004454 0.000816 -0.019897 -0.021178 0.005447 0.020306 -0.025578 -0.007288 -0.026477 -0.024110 -0.012665 0.024652 0.004039 -0.013176 0.010680 -0.044177 -0.026884 -0.042848 -0.021334 0.007313 -0.000717 -0.021788 -0.006816 0.004123 -0.032406 -0.020711 -0.021896 -0.011765 -0.000002 -0.014968 -0.020292 -0.006082 -0.010781 0.003513 -0.000172 0.012488 -0.003593 0.052454 0.005403 0.012888 -0.004325 -0.003479 0.003588 -0.005415 -0.009362 -0.006992 0.012872 0.062116 -0.006995 -0.004076 -0.012558 0.015836 0.004692 -0.017033 0.003119 0.052967 -0.020547 -0.023843 0.014798 0.037958 -0.005960 0.002621 0.030297 0.012046 0.001151 0.050676 0.023365 -0.007256 -0.000821 0.036825 0.003725 -0.021058 -0.026589 -0.028029 0.002153 -0.011016 0.000204 0.013602 0.041126 0.063558 0.018583 -0.009444 -0.019698 0.048504 0.006115 -0.010968 0.018488 0.059299 0.011692 0.005780 0.017701 0.022819 -0.005963 + 0.035038 0.034212 -0.007377 -0.008382 0.018774 0.005904 -0.002078 -0.010885 -0.014694 -0.002031 0.034842 -0.019346 -0.015246 -0.012142 -0.032810 -0.025486 0.017974 -0.016614 0.080173 0.076564 -0.012892 -0.023748 0.018024 0.002488 -0.022486 0.013149 -0.011300 -0.002503 0.003234 -0.000698 -0.009623 -0.005867 -0.023254 -0.011583 0.001015 -0.010975 0.017273 -0.004703 -0.004411 0.009521 -0.015232 -0.029989 0.009079 0.004431 0.004709 -0.024370 -0.036581 -0.036513 -0.010525 -0.004937 -0.009405 -0.010662 0.002903 0.000405 0.020497 0.014323 -0.017539 -0.001576 0.001268 0.002948 -0.002744 -0.036628 -0.042321 0.005342 -0.026433 -0.021632 -0.015561 -0.006211 -0.013543 0.009767 0.010645 0.017341 0.028438 -0.029073 -0.024375 -0.024284 -0.020337 -0.018238 -0.027290 -0.025540 -0.014534 0.002211 -0.036039 -0.039116 -0.040327 -0.016999 0.002872 0.025991 -0.005799 -0.001601 0.008692 -0.031181 -0.032746 -0.010381 -0.019336 0.005346 -0.000719 -0.001937 0.008350 -0.004709 -0.034737 -0.019124 0.007047 0.017388 0.045454 0.006260 -0.018831 -0.020306 -0.012981 -0.030692 -0.049876 -0.005775 -0.030165 0.007365 0.061251 0.006737 -0.013398 -0.016176 -0.021778 -0.016156 0.008173 -0.003508 0.036160 -0.035864 -0.029437 -0.006740 0.006993 -0.000612 0.024702 -0.003078 0.011508 -0.003910 0.023425 0.003084 0.007110 -0.006930 0.031224 0.018274 -0.002131 -0.013367 -0.009874 -0.011338 -0.035343 -0.008425 -0.015158 0.043392 0.066308 0.014249 0.004324 -0.019667 0.017815 -0.019798 -0.007944 -0.017587 0.040628 0.031556 -0.003456 -0.005769 0.002729 -0.000615 + 0.043923 0.018531 -0.035176 -0.002091 -0.001414 0.005211 0.000084 0.017851 0.034657 0.026639 0.022431 -0.019031 -0.015808 -0.008682 -0.015843 -0.003220 -0.013244 0.020126 0.125608 0.042746 -0.050790 -0.021705 0.013397 0.021518 0.000126 0.013379 0.070002 0.009013 0.015265 0.006065 0.004986 -0.013967 -0.023995 -0.030442 -0.016802 0.022094 -0.014654 -0.022160 -0.008847 0.012489 -0.005602 -0.020752 0.015279 -0.011497 -0.011668 -0.026474 -0.006410 -0.027695 -0.027514 0.014654 0.034524 -0.011046 -0.024956 0.009643 -0.009375 0.002795 -0.022656 -0.003686 0.025496 -0.006241 -0.004868 -0.036435 -0.042020 -0.002758 -0.024778 0.015400 0.013193 -0.006163 -0.032043 -0.029955 -0.005766 0.002277 0.010529 -0.024022 -0.016217 -0.027260 -0.011953 -0.020966 -0.013681 -0.023955 -0.016380 0.014251 -0.007339 0.005422 -0.012315 -0.027798 -0.026504 -0.006784 -0.027864 0.001198 0.014964 -0.032995 -0.033235 -0.015006 -0.011860 -0.002753 -0.001404 0.002562 0.029051 0.001425 -0.011270 -0.039295 -0.005196 0.033856 0.035604 -0.003716 -0.002623 -0.007859 0.000888 -0.007085 0.003574 0.004298 -0.008535 -0.001292 0.078395 0.000731 0.014586 -0.005629 -0.005175 -0.000021 -0.002151 0.006590 0.021342 -0.006191 -0.011442 0.013221 0.015246 -0.008711 0.011482 0.024095 0.016276 0.009837 0.011340 -0.016573 -0.005594 0.002529 0.032636 0.027086 0.021586 -0.003025 0.014130 -0.002980 -0.017096 -0.010327 0.005300 0.022181 0.076625 0.035701 0.010740 0.009233 0.035286 0.007709 -0.020679 0.005215 0.038260 0.056371 0.027431 -0.005565 -0.010882 -0.008714 + 0.009192 0.020263 0.003892 -0.009972 0.009292 0.001455 -0.009875 0.020158 0.075241 -0.033146 -0.017313 -0.011485 -0.004596 0.001971 -0.018644 -0.017294 -0.025038 0.017149 0.060137 -0.003526 -0.010949 -0.013245 0.002529 -0.004193 -0.023206 -0.000010 0.079792 -0.005365 -0.005101 0.015142 0.000627 -0.007810 -0.019925 0.007929 0.006767 -0.023775 -0.018995 -0.019528 -0.008549 0.010084 0.038288 -0.001870 0.020743 -0.022093 -0.045584 -0.038394 -0.051934 -0.032536 -0.029610 -0.012707 0.048834 0.008093 -0.019074 -0.069315 -0.062813 -0.044036 -0.031642 -0.020390 0.037842 -0.011164 -0.012299 -0.046423 -0.044047 0.003399 -0.000967 0.031864 0.000899 0.003306 -0.008719 -0.030001 0.013413 0.026394 0.043154 -0.019510 0.016077 -0.057785 -0.046779 -0.019323 -0.035354 -0.029461 0.008727 0.011106 -0.005464 0.030680 -0.040804 -0.041239 -0.040893 -0.045519 -0.018648 0.019480 0.036359 -0.012034 -0.021141 -0.001496 -0.009149 0.003404 0.012552 0.005326 -0.022752 -0.000290 0.000840 -0.017015 -0.008308 0.027852 0.040138 -0.055575 0.009688 -0.029635 -0.027829 -0.006450 -0.019141 -0.018240 -0.004682 0.005702 0.055887 0.016284 -0.039426 -0.030673 -0.011453 -0.023552 -0.027029 0.005392 0.026496 -0.005986 -0.030225 -0.000589 -0.014026 -0.002554 -0.019376 0.005975 -0.023059 -0.010907 0.030725 0.015290 -0.019463 -0.002294 0.033896 -0.021032 -0.007390 -0.026514 0.001251 -0.000768 -0.021565 -0.030763 0.003116 0.001072 0.024718 0.010571 -0.043438 -0.009823 0.026107 0.000837 -0.048284 -0.008095 0.024932 0.019793 0.004734 -0.026847 -0.040957 -0.002557 + -0.023702 0.003152 0.004877 -0.008209 0.004238 0.017302 -0.027905 -0.028487 0.023900 -0.013211 0.038484 0.006500 -0.010127 -0.029054 -0.046578 -0.028258 -0.041299 -0.019111 0.029062 0.027787 -0.000144 -0.016995 -0.020812 -0.016160 -0.057029 -0.061328 0.006523 -0.036413 -0.033679 0.004692 -0.018268 -0.009293 -0.003456 0.029854 0.009110 -0.028285 -0.025313 -0.005208 -0.010243 -0.029738 0.019555 -0.011373 0.024017 0.001411 -0.011199 -0.025234 -0.038487 -0.014030 -0.020615 0.002627 0.044988 0.012428 0.011158 -0.038082 -0.042039 -0.033316 -0.026766 -0.042832 0.035909 -0.009557 0.002085 -0.025759 -0.031165 0.001916 0.005426 0.027833 0.001354 -0.001166 -0.029904 -0.007210 0.003812 0.017439 0.051578 0.001273 0.013311 -0.026908 -0.001890 -0.021090 -0.048196 -0.015685 0.010035 0.023273 0.016324 0.035402 -0.011616 -0.015444 -0.038648 -0.048658 -0.018343 0.025596 0.061154 -0.008695 0.002751 -0.004384 0.011877 0.001921 -0.010812 0.036186 -0.014196 -0.010761 -0.024272 -0.015227 -0.001980 0.007919 0.033687 -0.056896 0.020623 -0.013168 -0.029925 -0.024885 -0.032635 -0.019123 0.018828 0.003928 0.040472 0.059151 -0.030055 -0.039848 -0.046059 -0.042332 -0.016923 0.018774 0.028435 -0.017177 -0.019945 -0.019186 -0.006251 -0.004037 -0.020125 0.008884 -0.013108 -0.025962 0.027890 0.020593 -0.021249 -0.008937 0.023273 -0.034817 0.012636 -0.039097 -0.044191 -0.030552 0.001368 -0.004581 0.017434 0.024719 0.031100 0.013094 -0.050526 -0.060737 0.013031 0.004633 -0.019802 -0.005102 0.010027 0.009745 0.008597 -0.033245 -0.034983 -0.004040 + -0.038877 0.005417 0.004005 -0.025450 -0.007027 0.030240 0.011541 -0.023749 0.009701 0.016215 0.011537 0.002326 -0.043456 -0.026835 -0.037523 -0.042538 -0.038550 -0.021362 0.031739 0.001586 -0.001914 -0.058719 -0.018412 -0.001470 -0.040679 -0.055015 -0.005472 -0.048775 -0.041777 -0.002545 -0.007964 -0.007481 0.007905 0.072397 0.022618 -0.009847 -0.008450 -0.000329 -0.011342 -0.019153 0.003470 -0.012304 0.017466 0.012296 -0.031822 -0.034125 -0.038586 -0.028025 -0.029342 -0.030559 0.035317 0.046941 0.035886 -0.035000 -0.026775 -0.025856 -0.039171 -0.041406 -0.019397 -0.023798 -0.000191 -0.013157 -0.018353 0.003728 0.033342 0.064590 0.031086 0.000345 -0.011236 -0.031193 -0.022294 0.014805 0.027548 0.008576 -0.002577 -0.016181 -0.017678 -0.011246 -0.016480 -0.026442 -0.018003 -0.009043 0.007641 0.057613 0.019220 -0.022152 -0.026117 -0.046468 -0.046488 0.000360 0.010226 -0.013551 0.002323 -0.005895 0.016142 0.003733 -0.001407 0.046377 0.023273 0.013127 0.018872 0.004984 -0.020703 0.002972 0.007287 0.017519 0.020806 -0.005505 -0.016395 -0.016523 -0.026007 -0.025187 -0.008397 -0.022225 0.063877 0.066542 0.014553 -0.008078 0.002243 -0.033906 -0.041940 -0.002022 -0.008873 0.004163 0.005845 -0.014126 0.010184 -0.002226 -0.025740 0.023771 0.005404 0.002932 0.039236 0.040562 0.000078 0.003174 -0.005922 -0.041351 0.011883 -0.017370 -0.040248 -0.018864 -0.017198 0.003769 0.029210 0.021863 0.013301 0.010734 -0.012062 -0.030424 0.024129 0.007303 0.000819 0.018100 0.002206 0.034817 0.021583 -0.029851 -0.019389 -0.002228 + -0.012242 0.048615 0.013869 0.004029 0.003472 0.001289 -0.005664 -0.006688 0.028833 0.011329 0.007074 0.006155 -0.028585 -0.029839 -0.038546 -0.017004 -0.028975 -0.028215 0.053133 0.020598 -0.005269 -0.035675 -0.019790 -0.018295 -0.037575 -0.030289 0.009049 -0.043507 -0.032317 0.025048 0.017263 0.002724 0.019682 0.047995 0.017322 -0.027513 -0.006028 -0.011033 -0.010813 -0.022311 0.013613 0.021838 0.024494 0.010813 -0.011234 -0.027611 -0.031811 -0.013513 -0.037035 -0.032228 0.062882 0.026103 0.011725 -0.042748 -0.018816 -0.035359 -0.038745 -0.048947 -0.012427 -0.022405 -0.009289 -0.005011 0.001174 0.013933 0.055017 0.033369 -0.017218 -0.018469 0.009794 -0.036040 -0.013130 -0.012925 0.006062 0.026116 0.019176 -0.011272 -0.022718 -0.023878 -0.024393 0.004495 -0.000285 0.010920 0.021457 0.030037 -0.009095 -0.045051 -0.008445 -0.052876 -0.023510 -0.014126 -0.019776 -0.005275 0.001528 -0.010234 0.006731 0.013938 0.040127 0.033619 -0.016058 -0.026358 -0.010720 -0.024547 -0.018897 -0.005030 0.006367 -0.020303 0.017745 0.004397 -0.013894 -0.041048 -0.042137 -0.030546 -0.013621 0.038605 0.066657 0.042718 -0.019094 -0.048864 -0.033139 -0.050534 -0.047222 -0.022494 0.017688 -0.002920 -0.002511 -0.029482 -0.022738 0.007979 -0.019420 0.007514 -0.016465 -0.020335 0.001478 -0.009537 -0.005768 0.002381 0.011582 -0.017088 0.011989 -0.000896 -0.012272 -0.030822 -0.010919 -0.012770 -0.015262 0.021542 0.010589 -0.000935 -0.019877 -0.034380 -0.013309 -0.015099 -0.012498 -0.016980 0.015379 0.026676 0.016328 -0.050497 -0.046749 0.007977 + 0.010995 0.010662 -0.002719 -0.025547 -0.013991 -0.014449 0.003040 0.031552 0.016444 0.019258 0.014302 0.017035 -0.011347 -0.036935 -0.036096 -0.021351 -0.021177 -0.016608 0.050284 0.006447 -0.008440 -0.046771 -0.033588 -0.024008 -0.022577 0.005630 -0.002846 -0.049873 -0.047437 0.041014 0.020030 0.009673 0.024706 0.059490 0.032534 -0.000335 -0.006366 -0.033816 -0.003673 0.007769 0.031939 0.033936 0.033936 0.017274 0.007644 0.008274 -0.025541 -0.026815 -0.035796 0.010004 0.064935 0.054787 0.032918 -0.000165 -0.009267 -0.035945 -0.027128 -0.020648 0.034469 0.005026 0.002165 0.027057 0.029468 0.020879 0.050730 0.030188 -0.010019 -0.018073 -0.007987 -0.021048 -0.008327 0.003852 0.035173 0.030925 0.035495 -0.009215 -0.022079 -0.010843 -0.028516 0.015162 0.000996 0.047761 0.059562 0.051116 -0.009945 -0.045539 -0.016016 -0.012538 -0.015083 0.003503 0.051748 0.026090 0.009381 0.010092 0.008259 0.020886 0.029460 0.016714 0.025209 -0.009438 -0.013566 -0.032533 -0.005220 -0.006490 0.027198 -0.013106 0.007219 -0.013618 -0.015751 -0.013561 -0.017998 0.010330 0.023592 0.052705 0.050158 0.033464 0.003853 -0.033521 -0.015155 -0.020633 -0.006697 0.011648 0.055047 0.040112 0.008330 -0.005593 -0.018737 0.020354 -0.040331 -0.007081 -0.010652 -0.007822 0.009146 -0.005041 -0.016087 -0.006961 -0.005795 0.010475 -0.005471 -0.009093 -0.001323 -0.031881 -0.046266 -0.004667 -0.012807 -0.006073 0.003118 -0.025186 -0.037129 -0.032232 -0.019276 -0.041625 -0.030731 -0.028822 -0.012511 0.028192 0.002041 -0.048122 -0.075320 0.020351 + -0.006257 -0.007392 -0.022836 -0.040629 -0.009147 0.039030 0.024091 0.024863 0.009424 0.004605 -0.008233 -0.004087 0.004247 0.007207 -0.022981 -0.021604 -0.026979 -0.015338 0.010530 -0.020155 -0.038957 -0.051449 -0.013877 -0.003863 -0.011403 -0.007378 -0.014894 -0.019650 -0.087962 0.062666 0.010998 -0.014412 -0.000192 -0.015174 -0.002447 -0.022292 0.019548 0.023272 0.003794 0.012212 0.039384 0.001118 0.046287 0.007776 0.017698 0.000286 -0.027223 -0.011896 0.028381 0.022093 0.014855 0.014733 -0.016691 -0.009724 0.004111 0.002287 -0.016990 0.019646 0.028707 0.036763 -0.032278 0.068195 -0.005447 -0.004217 0.005798 -0.017171 -0.016494 -0.037174 0.027969 0.048174 -0.001831 0.017744 0.039141 -0.006379 0.002877 -0.004736 0.018680 -0.022933 -0.017469 -0.005640 0.025470 0.033841 0.001373 -0.012527 -0.019051 -0.023464 0.010886 0.019588 -0.012691 0.029846 0.037821 0.056834 -0.013729 0.031267 -0.032008 -0.004210 -0.006261 0.004583 0.035993 0.018539 0.066088 0.028761 -0.028648 -0.007984 -0.020152 -0.040971 -0.043955 -0.001467 -0.004349 -0.016940 -0.017739 0.015896 0.037313 0.040816 -0.018035 -0.031090 0.019529 0.001371 0.035675 0.012126 -0.014879 0.021952 0.015302 0.068097 -0.002692 0.013255 -0.050600 -0.004217 -0.021836 0.000171 0.004018 0.023424 0.021565 0.010696 -0.039282 -0.010055 -0.015329 -0.006663 -0.021290 -0.011034 -0.004884 -0.008475 -0.008337 0.020986 0.008142 -0.015932 -0.013883 -0.029759 -0.013876 0.001253 -0.001478 -0.005894 -0.032229 -0.012433 -0.028005 0.050913 -0.002210 -0.007112 -0.076530 0.000846 + + +
+ + <_ type_id="opencv-matrix"> + 15 + 30 +
d
+ + 0.036621 0.008802 -0.019033 -0.152517 -0.040016 -0.009670 -0.073788 0.037254 -0.147937 -0.053372 0.026185 -0.009667 -0.117812 0.079659 0.049861 -0.064028 -0.024660 -0.003709 -0.009406 0.008244 0.096364 -0.089360 -0.027699 -0.003713 0.014001 0.024357 -0.054736 -0.089365 -0.007043 -0.014922 + 0.032800 -0.000956 0.060006 -0.092997 0.012988 0.004342 -0.090398 -0.069090 0.052776 -0.001193 0.032154 0.004345 -0.075403 -0.031849 0.036137 0.015493 0.015518 0.010303 0.005541 -0.084748 0.040766 -0.069620 0.044545 0.010299 0.028125 0.071115 -0.007950 -0.090019 0.035600 -0.000910 + -0.051953 0.014680 0.009718 -0.022193 0.050435 0.006037 -0.162737 -0.044711 -0.017695 0.071354 0.032639 0.006040 -0.086521 -0.047888 0.024183 0.034178 0.069218 0.011998 -0.117254 -0.067258 0.110172 0.053944 0.078856 0.011993 -0.006979 -0.024147 0.037146 -0.001239 0.010311 0.000784 + -0.000860 -0.016483 -0.052826 0.015380 0.015912 -0.005963 0.000404 -0.009569 -0.015708 0.075358 0.001514 -0.005960 0.033081 0.019645 -0.037609 0.053768 0.028459 -0.000002 0.049144 -0.029244 0.055066 0.049363 -0.033174 -0.000007 0.001438 -0.086387 0.109681 0.006449 -0.019948 -0.011216 + 0.025813 0.001203 0.017711 -0.018689 0.030113 -0.005963 0.022707 -0.038385 0.075505 0.011507 -0.006350 -0.005960 0.069277 -0.042025 0.010200 0.005734 -0.016081 -0.000002 0.073160 -0.031306 -0.018970 -0.058837 -0.005304 -0.000007 0.010461 -0.054640 0.014413 -0.021450 0.040967 -0.011216 + -0.033492 0.006654 -0.017721 -0.014927 0.003179 -0.005963 0.001245 -0.032548 -0.035333 0.016374 0.010014 -0.005960 0.119078 -0.048782 -0.042641 0.021885 -0.004442 -0.000002 0.037220 -0.049742 -0.029535 -0.003099 -0.005632 -0.000007 -0.048261 -0.043951 -0.044174 -0.024014 0.020518 -0.011216 + -0.070120 -0.029102 -0.030115 -0.058302 0.046262 -0.005963 -0.025660 -0.035473 -0.023048 -0.038116 0.007176 -0.005960 0.077285 0.044761 -0.037463 0.000960 -0.010442 -0.000002 0.044618 -0.049616 -0.033163 0.035512 0.023290 -0.000007 0.003548 -0.042516 0.009331 -0.038117 -0.025664 -0.011216 + -0.028205 -0.065672 -0.000787 -0.051814 0.038691 -0.000615 0.030725 -0.081541 -0.030707 -0.009367 0.032978 -0.000612 0.069800 0.038830 -0.051886 0.003171 0.037368 0.005346 0.040662 0.019242 0.019588 0.011541 0.032790 0.005342 -0.020589 -0.063598 0.020188 -0.063989 0.032711 -0.005867 + -0.076668 -0.067448 0.026057 -0.039006 0.009824 -0.008714 -0.026237 -0.058178 -0.006755 -0.005508 -0.005005 -0.008711 0.072086 -0.031815 -0.011311 0.010577 0.006527 -0.002753 0.047947 -0.019133 -0.004396 -0.009435 0.011581 -0.002758 -0.065050 -0.096430 -0.052904 -0.101573 0.019649 -0.013967 + 0.025549 0.001582 -0.003871 -0.051906 0.029752 -0.002557 0.036075 -0.053857 -0.035301 -0.031529 0.021629 -0.002554 0.054742 -0.081041 -0.051924 0.005204 0.046064 0.003404 0.101506 -0.107019 -0.023458 -0.029343 0.046182 0.003399 -0.019359 -0.055033 -0.023980 -0.035472 0.028852 -0.007810 + 0.038623 -0.007002 -0.054593 -0.059613 0.030486 -0.004040 0.048012 -0.093696 -0.031914 0.010310 0.019311 -0.004037 0.008284 -0.109536 -0.030267 0.017737 0.028833 0.001921 0.057584 -0.087937 0.021953 -0.024824 0.011876 0.001916 0.070580 -0.043438 0.067802 -0.041208 0.040781 -0.009293 + -0.012318 0.016359 -0.031535 -0.005406 0.054148 -0.002228 -0.010647 -0.074475 0.062808 -0.034576 0.045725 -0.002226 0.018554 -0.096572 0.043938 -0.010815 0.021041 0.003733 0.049984 -0.074865 0.073388 -0.023974 0.045085 0.003728 0.085750 -0.026878 0.021185 -0.060108 0.056626 -0.007481 + 0.050101 -0.028921 -0.017505 -0.014491 0.012265 0.007977 0.058841 -0.123426 0.012828 -0.050370 0.016333 0.007979 0.035284 -0.084667 0.009153 -0.046982 0.003724 0.013938 0.044115 -0.087216 0.058200 -0.058979 0.022016 0.013933 0.035733 -0.067704 0.031257 -0.040325 0.052476 0.002724 + 0.100474 -0.016493 0.001261 -0.011686 0.027933 0.020351 -0.022684 -0.099301 -0.028120 -0.008879 -0.007213 0.020354 -0.036475 -0.123526 -0.029296 -0.056939 -0.000743 0.020886 -0.046350 -0.118139 0.071061 -0.028824 0.008207 0.020879 0.041278 -0.084509 -0.011324 -0.022296 0.027989 0.009673 + 0.046195 0.036676 0.017946 -0.001693 0.010842 0.000846 -0.026232 0.047339 -0.000317 0.023235 0.042284 -0.004217 -0.029835 -0.003763 -0.060872 -0.018769 0.028531 -0.004210 -0.042071 -0.031723 -0.021026 -0.010191 0.013643 -0.004217 0.049369 0.005233 -0.040402 -0.040319 0.024094 -0.014412 + + + <_ type_id="opencv-matrix"> + 15 + 30 +
d
+ + 0.014312 0.023332 0.055520 -0.089554 -0.007871 -0.014922 -0.010101 0.009560 -0.095998 -0.089633 -0.026492 -0.003713 -0.118106 0.080170 -0.047860 -0.063934 -0.023828 -0.003709 -0.072725 0.034939 0.149745 -0.052922 0.024108 -0.009667 0.036660 0.008888 0.019476 -0.153158 -0.040752 -0.009670 + 0.028354 0.070950 0.009942 -0.088926 0.035293 -0.000910 0.005206 -0.084116 -0.040942 -0.069874 0.044937 0.010299 -0.075424 -0.032220 -0.035893 0.016817 0.016694 0.010303 -0.090614 -0.068665 -0.052724 -0.000383 0.033394 0.004345 0.032555 0.000425 -0.059449 -0.092272 0.013631 0.004342 + -0.007164 -0.024083 -0.037399 -0.000648 0.010972 0.000784 -0.118255 -0.065293 -0.109661 0.052279 0.079638 0.011993 -0.086559 -0.047786 -0.023513 0.034875 0.069742 0.011998 -0.162144 -0.045884 0.018166 0.074289 0.033061 0.006040 -0.051862 0.015071 -0.008350 -0.021227 0.050814 0.006037 + 0.000593 -0.084948 -0.111290 0.005826 -0.018308 -0.011216 0.048838 -0.028959 -0.056536 0.049752 -0.032163 -0.000007 0.033576 0.018865 0.037674 0.055269 0.027638 -0.000002 0.000725 -0.010101 0.015052 0.076796 0.001231 -0.005960 -0.000544 -0.017471 0.052611 0.015194 0.015120 -0.005963 + 0.010177 -0.054568 -0.014594 -0.022631 0.041485 -0.011216 0.073098 -0.031976 0.018308 -0.059989 -0.005366 -0.000007 0.069374 -0.041907 -0.011683 0.006774 -0.015944 -0.000002 0.022250 -0.036878 -0.076265 0.011898 -0.005526 -0.005960 0.025334 0.001208 -0.017325 -0.020796 0.029864 -0.005963 + -0.047786 -0.044870 0.044293 -0.022866 0.020203 -0.011216 0.037355 -0.050392 0.028529 -0.003321 -0.006130 -0.000007 0.119298 -0.049409 0.040780 0.021529 -0.005304 -0.000002 0.001565 -0.032623 0.034902 0.016976 0.009092 -0.005960 -0.033793 0.006283 0.018362 -0.017419 0.002462 -0.005963 + 0.003607 -0.042586 -0.009919 -0.037372 -0.025119 -0.011216 0.044899 -0.050255 0.032264 0.035874 0.023245 -0.000007 0.077526 0.044229 0.037609 0.000833 -0.011008 -0.000002 -0.025627 -0.035442 0.023153 -0.038683 0.006460 -0.005960 -0.070264 -0.029541 0.031483 -0.060369 0.045657 -0.005963 + -0.020781 -0.063134 -0.019965 -0.064432 0.033233 -0.005867 0.040423 0.019829 -0.019037 0.010824 0.033022 0.005342 0.070183 0.038176 0.052592 0.003460 0.036229 0.005346 0.030884 -0.081797 0.029664 -0.009468 0.032254 -0.000612 -0.028500 -0.065473 0.000937 -0.053497 0.038554 -0.000615 + -0.064699 -0.096963 0.052970 -0.101650 0.018694 -0.013967 0.048023 -0.019157 0.004032 -0.009293 0.011337 -0.002758 0.072198 -0.032202 0.010443 0.010873 0.006403 -0.002753 -0.026245 -0.058148 0.005928 -0.005758 -0.005008 -0.008711 -0.077054 -0.066800 -0.025989 -0.040413 0.010037 -0.008714 + -0.019411 -0.055186 0.024098 -0.036601 0.028100 -0.007810 0.101696 -0.107000 0.022005 -0.029139 0.045859 0.003399 0.054930 -0.081519 0.051095 0.004207 0.045261 0.003404 0.036151 -0.054088 0.034846 -0.032483 0.020983 -0.002554 0.025351 0.001879 0.004705 -0.053417 0.029237 -0.002557 + 0.070202 -0.042272 -0.067973 -0.040719 0.041560 -0.009293 0.057494 -0.087722 -0.023306 -0.024358 0.012278 0.001916 0.008376 -0.109810 0.028915 0.017131 0.027903 0.001921 0.048247 -0.094120 0.030519 0.010472 0.018931 -0.004037 0.039014 -0.008033 0.055329 -0.059504 0.029996 -0.004040 + 0.085804 -0.026484 -0.020895 -0.058788 0.056884 -0.007481 0.049626 -0.074025 -0.073989 -0.023163 0.046604 0.003728 0.018157 -0.095991 -0.045045 -0.011448 0.021846 0.003733 -0.011147 -0.073409 -0.062915 -0.035225 0.046665 -0.002226 -0.012155 0.015689 0.032896 -0.005849 0.053875 -0.002228 + 0.035553 -0.067134 -0.031530 -0.040099 0.052978 0.002724 0.043759 -0.086272 -0.059199 -0.058673 0.023211 0.013933 0.035006 -0.084337 -0.010339 -0.048276 0.004295 0.013938 0.058658 -0.123306 -0.014461 -0.050870 0.016780 0.007979 0.050243 -0.029138 0.017096 -0.014391 0.012239 0.007977 + 0.041432 -0.084318 0.010193 -0.021633 0.027891 0.009673 -0.047029 -0.116695 -0.072107 -0.029986 0.009212 0.020879 -0.036369 -0.123788 0.028236 -0.057505 -0.001056 0.020886 -0.022660 -0.099929 0.026877 -0.009789 -0.007391 0.020354 0.100322 -0.016099 -0.001911 -0.012731 0.027772 0.020351 + 0.049726 0.005035 0.040661 -0.039509 0.023142 -0.014412 -0.042023 -0.031532 0.021316 -0.010672 0.012906 -0.004217 -0.029414 -0.004604 0.061757 -0.018602 0.027334 -0.004210 -0.026542 0.046851 0.001791 0.021248 0.042347 -0.004217 0.046019 0.036782 -0.017675 -0.002359 0.010979 0.000846 + + +
+ + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + 0.035732 -0.008720 -0.021893 -0.002435 -0.018121 -0.014058 -0.017443 -0.019029 -0.037319 0.045045 -0.028079 0.010731 -0.023287 -0.006230 -0.006273 -0.022910 -0.009932 0.000403 0.041147 0.002023 0.005307 0.001126 -0.025409 -0.017918 -0.035078 -0.018667 -0.018426 -0.061732 -0.013232 -0.016772 0.023940 0.002777 0.042866 0.003012 -0.003068 0.044648 0.042881 -0.008764 -0.050729 -0.014496 -0.035415 -0.018639 -0.027390 0.024162 0.075241 0.035814 -0.011089 -0.059830 -0.047692 -0.019576 0.002997 -0.013111 0.052297 0.111851 0.078376 -0.016975 -0.088971 -0.053906 -0.049135 -0.023509 -0.005975 -0.013616 0.029870 0.003541 0.035341 -0.010754 -0.027894 0.026044 0.072276 0.078459 0.009432 -0.024157 -0.028106 0.008127 -0.000939 -0.014769 0.045120 0.032119 0.038865 -0.005460 -0.060579 -0.046328 0.020851 -0.001620 -0.023084 0.075309 0.109066 0.111098 0.038138 -0.070615 -0.060107 0.015485 0.017046 0.008437 0.018804 0.003543 0.002923 -0.020865 -0.029588 -0.028359 -0.008187 0.065268 0.074602 -0.000959 -0.006302 0.027952 -0.012330 -0.038172 -0.017134 0.005800 0.069746 0.030158 -0.016107 -0.028886 0.020654 -0.024595 -0.063367 -0.043685 0.000824 0.105464 0.135706 0.027904 -0.005599 0.006635 0.026878 -0.003981 0.003258 0.003543 0.030546 -0.012927 -0.023998 -0.035725 -0.027261 -0.022420 0.007910 0.017834 0.002821 0.049329 -0.013334 -0.000879 -0.012139 0.003464 0.005373 -0.012701 -0.005595 -0.032417 0.043672 -0.019039 -0.023737 -0.041917 -0.025131 -0.017558 -0.005563 0.028824 -0.003603 -0.007982 0.025788 -0.038356 -0.018160 0.003543 0.024649 -0.024813 -0.018387 0.015312 0.047195 0.013122 -0.018588 -0.024495 -0.023546 0.031060 -0.005615 -0.013591 0.004597 0.026868 0.052674 0.009040 -0.021173 -0.031754 0.016204 -0.022244 -0.030248 0.019022 0.042631 0.048285 -0.003090 -0.022022 -0.040981 0.008324 0.031043 -0.033054 0.013746 0.003543 + 0.016853 0.019630 0.015043 -0.013962 -0.003398 0.014003 -0.021126 -0.011935 -0.009556 0.042053 0.051121 0.039643 -0.024648 -0.044948 -0.010477 -0.020907 -0.027315 -0.013180 0.042963 0.085913 0.076447 -0.008214 -0.033021 -0.002667 -0.034160 -0.031756 -0.005189 -0.022643 -0.017626 0.004763 0.034041 0.011092 -0.003093 0.065567 0.064871 0.025970 -0.002805 -0.018109 -0.026044 -0.040584 -0.036376 -0.022762 0.001361 0.082241 0.060692 0.016102 -0.018640 -0.029386 -0.031624 -0.029814 0.005507 0.072941 0.149767 0.103032 0.033473 -0.025549 -0.053893 -0.061115 -0.048473 0.025208 -0.007561 0.000563 0.008927 0.011856 -0.052455 -0.044116 -0.028575 -0.003398 -0.024133 -0.006154 0.019850 -0.030200 -0.020136 -0.040892 -0.023870 -0.003424 0.020000 0.047310 0.038316 0.014588 -0.002443 -0.052330 -0.077387 -0.060103 -0.020133 0.013543 0.042947 0.032031 0.045447 -0.008223 -0.056004 0.000934 -0.037757 -0.013986 -0.039729 0.011858 -0.060654 -0.054360 -0.057706 -0.032825 -0.033922 -0.050979 0.017371 0.016913 0.022724 -0.026810 -0.018071 -0.019960 -0.014327 0.005595 0.049864 0.075043 0.088595 0.018260 -0.047181 -0.065002 -0.066939 -0.041843 -0.014606 0.016769 0.111763 0.114874 0.064840 -0.010700 -0.013448 0.013914 -0.025240 0.011858 -0.004592 -0.031743 -0.016496 -0.022719 -0.000751 -0.017560 0.010254 0.021128 0.046876 0.031745 -0.022297 0.001845 -0.005443 -0.009948 -0.025938 -0.003200 0.049076 0.055462 0.044708 -0.035341 -0.006986 -0.024532 -0.014359 -0.038167 0.024284 0.092338 0.122492 0.005649 0.023139 0.003976 -0.006508 0.011858 0.005363 -0.007932 0.016027 -0.000784 0.028293 0.047364 -0.008565 0.003059 0.008590 0.002408 -0.016760 -0.013115 0.015448 0.047701 0.057618 -0.026051 -0.024526 -0.026344 -0.004147 -0.009634 0.008138 0.018197 0.031784 0.056514 -0.016671 -0.006301 -0.001726 0.021773 0.035835 -0.010911 0.004119 0.011858 + 0.059055 0.012531 0.002643 -0.049883 0.013849 0.008124 -0.018202 0.020389 0.011660 0.046324 0.062672 -0.027427 -0.001371 -0.007575 0.016132 -0.006422 -0.013430 0.023952 0.066535 0.091481 0.009089 -0.032898 0.006263 0.012576 -0.019856 0.010650 0.042950 0.004308 0.003025 0.029345 0.035455 0.011099 -0.012970 0.003483 0.022532 -0.011744 0.013902 0.003645 0.039032 0.051800 0.076500 0.021355 -0.008281 0.019839 -0.008461 -0.014420 0.007507 -0.011912 -0.027484 -0.013138 0.032681 0.021547 0.046968 -0.003570 0.012967 0.021856 0.026612 0.030095 0.075830 0.035208 0.027280 0.002357 0.006423 0.011863 -0.055669 -0.041109 -0.028627 -0.011030 -0.015294 -0.011613 0.011463 -0.002652 0.018229 -0.014135 -0.020716 0.016855 -0.014405 0.033710 0.011684 0.001574 -0.028165 -0.063587 -0.049224 -0.054905 -0.001036 -0.012471 0.016941 0.003447 0.013642 -0.010664 -0.034596 -0.009583 -0.022250 -0.032746 -0.036059 0.011865 -0.025438 -0.033296 -0.041163 -0.023311 -0.034561 -0.044062 -0.027913 0.015136 0.044318 -0.026078 0.008407 0.018736 -0.007385 -0.003607 0.009661 0.030026 0.010940 -0.011986 -0.002927 -0.013996 -0.011721 -0.024391 -0.020423 -0.019173 0.020740 0.049988 0.038508 -0.031423 -0.030836 0.005360 -0.009840 0.011865 0.059092 0.035124 0.002103 -0.025852 0.009493 -0.014157 -0.035380 -0.053546 -0.016994 0.019886 0.021807 -0.001034 -0.030713 -0.039916 -0.016283 -0.010317 0.043152 0.098325 0.098687 0.069725 0.015523 -0.050640 -0.034335 -0.040891 -0.033364 0.030321 0.097572 -0.001821 0.006475 0.013250 0.003210 0.011865 -0.004546 -0.026415 -0.013330 -0.008345 0.024526 0.049893 -0.018236 -0.050942 0.023715 0.045317 -0.011793 -0.043179 0.003017 0.038155 0.007494 -0.019855 -0.038271 -0.001394 0.018174 -0.013241 -0.040190 0.001974 0.029682 0.023826 -0.021977 -0.060035 0.026146 0.010732 0.014524 -0.026863 -0.019222 0.011865 + 0.045713 0.015593 -0.000125 -0.037312 0.000918 -0.012318 -0.040078 -0.003631 0.025510 0.001490 0.017264 -0.007113 0.027016 0.033409 0.030102 -0.010506 0.025813 0.011031 0.038319 0.027933 -0.007705 -0.001655 0.022499 0.012867 -0.029293 0.021507 0.056992 -0.000124 0.008454 0.016128 0.033417 0.011233 0.015523 -0.022849 0.001521 -0.014710 -0.001017 -0.009445 0.018217 0.055317 0.090927 -0.034665 -0.007574 -0.011589 0.010760 -0.015775 -0.028912 -0.012993 0.038568 0.021745 0.002204 -0.011029 0.005441 0.002317 -0.013696 -0.024358 0.011795 0.100854 0.102257 0.023605 0.031621 -0.009781 -0.001582 0.011998 -0.030372 -0.046518 -0.022065 0.000818 0.019213 -0.004459 0.020159 0.025620 0.036691 -0.028171 -0.011837 0.004993 0.021754 0.020342 -0.001045 -0.028942 -0.034940 -0.041304 -0.036366 -0.046871 -0.009575 0.031798 0.027455 0.007815 0.012571 0.022383 0.009332 -0.010126 0.003561 -0.022993 -0.017611 0.012000 0.006109 0.026648 0.013027 0.000575 0.036819 0.004578 -0.016938 0.026196 0.049220 0.011158 0.028201 0.007963 -0.001577 -0.025383 -0.039348 -0.007060 -0.019948 -0.023975 0.051483 0.044736 0.020688 0.007020 0.025619 -0.011445 0.003174 0.025027 0.028774 -0.020580 -0.010739 0.024789 0.042479 0.012000 0.052453 0.076575 0.046405 0.016742 0.007613 0.003958 -0.008954 0.002852 -0.019566 -0.004503 0.011025 -0.004227 -0.030730 -0.030603 -0.016745 0.000330 0.023632 0.023260 0.082786 0.086020 0.047318 -0.002261 -0.017213 0.001048 0.009035 0.052004 0.033819 0.011668 0.016334 0.013398 0.029084 0.012000 -0.000242 -0.020826 -0.014196 -0.016109 0.006688 -0.007310 0.002061 -0.036521 -0.014416 0.003929 -0.003328 -0.020583 0.002012 -0.017546 0.013401 -0.006494 -0.023990 -0.021703 0.005332 -0.009855 -0.025835 0.002574 -0.020421 -0.001498 0.015419 -0.034025 -0.003864 0.002198 -0.000316 -0.043556 -0.040904 0.012000 + 0.005528 -0.018080 0.008959 -0.007237 0.075938 0.043813 -0.009828 -0.012468 -0.017555 0.007293 -0.043978 -0.014166 0.001722 -0.003690 0.030106 -0.009851 0.039684 0.013837 0.002162 -0.042232 0.000326 0.008453 0.062758 0.051677 -0.025751 0.044339 0.015937 -0.006249 0.009847 0.013201 0.025639 -0.000767 -0.010848 -0.017668 -0.036805 0.012990 -0.004961 0.001107 -0.000772 0.042687 0.056497 0.023354 0.021565 0.037596 0.031120 -0.001990 -0.009944 0.013211 0.054593 0.031620 0.036157 0.019284 0.012560 0.053648 0.015132 0.007989 0.036564 0.089243 0.087591 0.032054 0.056241 0.003127 0.023293 -0.000002 -0.022927 -0.018319 -0.030043 0.000433 -0.018827 -0.017492 -0.013233 -0.003480 -0.018839 -0.036108 -0.027039 -0.024113 0.043412 -0.009404 -0.029585 0.001786 -0.014419 -0.030016 -0.043510 -0.033122 -0.039218 0.049786 0.003643 -0.005440 -0.003595 0.005056 -0.032417 -0.036412 -0.012881 -0.049010 -0.028132 0.000000 -0.017766 0.002752 0.017414 0.006250 0.048097 0.021515 -0.003702 -0.013264 -0.028751 -0.002775 -0.008830 0.016752 0.010240 -0.052793 -0.045794 -0.019855 -0.050689 -0.001300 0.008010 0.006039 0.029642 0.038000 0.020474 -0.000175 -0.007112 -0.043782 -0.024547 -0.023599 -0.028270 -0.015391 0.009514 0.000000 0.037476 0.018098 0.006236 0.054551 0.045153 0.062820 0.031604 0.006064 -0.021018 -0.038170 -0.005081 -0.012495 -0.010858 -0.010865 0.002865 0.034193 0.023969 0.009064 0.028924 0.023538 0.010280 0.039522 0.028154 0.071117 0.086028 0.048354 0.000708 0.025191 0.024419 0.034116 0.026395 0.000000 -0.024480 0.012273 0.006883 -0.010198 -0.007835 0.017240 0.049300 0.007858 -0.011561 0.007912 -0.013007 -0.023159 0.009213 0.009822 0.010611 0.022014 -0.009836 -0.021100 0.006305 0.003270 -0.013795 0.001509 -0.001960 0.019304 0.055287 0.035874 -0.006759 0.006789 0.029330 -0.008888 -0.012169 -0.000000 + -0.014790 -0.018474 0.035857 0.024997 0.004685 -0.018902 -0.004844 -0.028047 -0.035394 -0.022602 -0.018436 0.001782 0.045392 0.037168 0.007145 -0.016749 -0.009904 -0.046138 -0.018591 -0.019931 0.034634 0.065598 0.044473 0.010398 -0.033282 -0.024491 -0.070428 0.002381 -0.032586 0.003656 -0.009869 -0.000767 -0.017930 -0.001771 0.011756 -0.001121 0.001007 -0.012915 -0.007045 0.042679 0.055764 0.009251 0.014568 0.025255 0.014796 -0.001842 -0.015260 0.012591 0.043155 0.029404 0.004585 0.013724 0.019021 0.007255 0.013467 -0.005890 0.009647 0.074500 0.060065 0.034544 0.019243 0.038491 0.003105 -0.000002 -0.027245 -0.002804 0.010345 0.034682 -0.004211 0.006354 0.009710 0.027739 -0.004802 -0.018770 -0.029106 -0.006529 0.025900 0.004222 -0.021277 0.005281 -0.005173 0.013533 -0.025566 -0.025539 0.011972 0.036080 0.006636 0.001049 0.009472 0.019954 0.011878 0.013177 0.001632 0.001466 -0.007861 0.000000 -0.026528 0.019513 0.089015 0.061445 0.031311 -0.011799 -0.034869 -0.040947 -0.043652 -0.045359 -0.012807 0.001470 0.029816 -0.014273 -0.045569 -0.030604 -0.024470 -0.025038 -0.055849 0.001450 0.074791 0.062796 0.010435 -0.035047 -0.052828 -0.058722 -0.060733 0.007722 -0.029768 -0.013205 -0.022894 0.000000 -0.015825 -0.024911 0.007548 -0.024571 -0.023578 -0.034272 -0.015628 -0.002471 -0.042693 -0.037432 -0.004381 -0.023226 -0.009038 0.010012 0.008351 0.043333 0.026447 -0.000901 -0.049460 -0.037027 -0.021588 -0.034750 -0.015101 -0.005964 0.054719 0.030494 -0.030172 -0.001148 -0.041387 0.005390 -0.039804 0.000000 -0.008312 -0.033815 -0.013884 -0.023438 -0.045755 -0.013872 0.016814 0.035080 -0.023030 -0.054206 -0.058271 -0.036446 -0.011501 0.013605 0.042736 0.084352 0.049932 0.020165 -0.041615 -0.074235 -0.045173 -0.030505 -0.024436 0.046846 0.118457 0.116368 0.004981 -0.000156 -0.009903 0.013495 -0.031647 -0.000000 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + -0.009536 0.028299 0.026214 0.021322 0.049201 0.054863 0.024401 -0.002666 -0.012060 -0.030796 0.008439 -0.003394 0.006521 0.014264 0.001840 0.025604 0.003743 -0.002570 -0.022791 0.019178 0.010179 0.020318 0.035820 0.051757 0.045685 -0.011362 -0.006014 0.027694 -0.012522 0.051223 0.029623 0.006155 -0.024910 0.003046 0.016269 0.030011 0.032758 0.014561 -0.010393 -0.015577 -0.014370 -0.052633 -0.011398 0.003933 0.013183 0.017080 -0.010376 -0.020346 -0.014922 0.001412 -0.048640 -0.004931 0.011074 0.023895 0.022302 0.020417 -0.011393 -0.028357 -0.013343 -0.016807 -0.034543 0.035095 -0.003860 0.001899 -0.013696 0.008776 0.000802 -0.006601 0.026671 -0.001407 -0.022360 -0.002970 0.016615 0.002108 -0.022041 -0.002038 0.000849 -0.010796 0.002058 -0.001187 0.001008 0.025555 0.018009 0.002468 0.009805 -0.018730 0.012154 0.020783 -0.020423 0.004875 0.017998 -0.006698 -0.009573 0.021800 -0.004893 0.004850 -0.013449 -0.016282 -0.030457 -0.025218 -0.027962 -0.014257 -0.012360 -0.011294 0.029094 -0.029801 -0.005091 0.009524 -0.008201 -0.023077 -0.018817 0.029095 0.017750 0.028443 0.005377 -0.030384 -0.021240 -0.036936 -0.030552 -0.011004 0.004729 -0.003227 0.041000 0.002336 0.017535 -0.036389 -0.041162 0.010170 -0.044965 0.003043 0.010275 -0.014553 -0.027812 -0.001386 0.004195 -0.018660 -0.013634 -0.004166 0.007358 -0.007105 0.005841 -0.020995 0.004575 0.003384 0.000003 0.002281 0.008619 0.000962 -0.000890 -0.006753 -0.035521 0.001907 0.003634 -0.017948 -0.016194 -0.029343 -0.023583 -0.007195 0.007173 0.010797 -0.012893 0.019658 0.012862 0.015172 0.011579 0.017096 -0.013982 -0.010629 0.028181 0.017717 -0.009804 -0.025162 -0.028066 -0.021799 0.001072 -0.015480 -0.007029 -0.020622 0.019320 0.001812 -0.000738 -0.009781 -0.008904 0.007205 -0.025035 -0.002702 -0.015443 -0.018822 -0.010312 0.004712 0.004563 0.015598 + 0.011812 0.001537 0.017732 0.001464 0.015882 0.015692 0.023220 -0.002358 -0.016153 -0.017230 -0.009144 0.002062 0.020005 0.007348 0.021512 -0.010329 -0.019093 -0.004583 0.008587 -0.008580 0.009641 0.018770 0.022313 0.047349 0.012994 -0.010698 -0.010821 0.008839 -0.009693 0.017200 0.011643 0.005911 -0.004484 -0.005397 0.000510 -0.007683 0.022224 0.034478 -0.019266 -0.007386 -0.025859 -0.032732 -0.034179 -0.015324 0.019338 0.004564 -0.000764 0.012001 0.018954 0.004472 -0.022045 -0.029956 -0.019064 0.020104 0.019730 0.043838 -0.009840 0.001475 -0.021145 -0.024494 -0.039914 0.034739 0.012447 0.001654 0.001888 0.001933 0.000823 -0.008433 0.020192 0.010014 -0.004428 0.022207 0.055110 -0.031638 0.000895 0.001763 -0.002072 -0.018476 -0.010694 -0.012006 0.006158 -0.002970 0.015037 -0.000416 0.006765 -0.005715 0.009361 0.002512 -0.008968 0.025746 0.061821 -0.015439 -0.020626 0.039864 0.010468 0.004606 -0.025445 -0.028408 -0.009511 -0.014017 -0.022986 -0.015996 -0.020576 0.013934 0.039959 -0.014593 0.003634 -0.000484 -0.004886 -0.027326 -0.023416 -0.007242 -0.015678 0.039404 0.013743 -0.016770 -0.007758 -0.024543 -0.030105 -0.017278 -0.027394 -0.003522 0.056318 -0.011536 0.012395 -0.029265 -0.034590 0.009925 -0.003291 0.022749 -0.009335 -0.010697 -0.010303 -0.018531 0.000477 -0.023061 -0.027560 -0.061994 -0.000117 -0.024237 -0.013299 -0.039376 -0.044586 -0.014719 -0.013946 -0.008215 -0.010499 0.011881 -0.020762 -0.034193 -0.030328 -0.043157 -0.010378 -0.033037 -0.020956 -0.055413 -0.033584 -0.040093 -0.012349 0.010552 0.023061 0.023421 0.001402 -0.002748 0.019042 0.017837 -0.003918 0.019241 0.023288 0.002319 0.012201 -0.003735 -0.006093 0.001603 0.009923 -0.021682 -0.009223 -0.024486 0.052899 0.016099 0.001390 -0.011761 0.033214 0.028712 -0.029926 0.001774 0.000124 -0.009249 0.006787 0.007876 0.032983 0.015353 + 0.006293 -0.033385 -0.004694 0.013539 0.041627 0.012684 0.011828 0.002930 0.004350 -0.022085 0.004529 0.001516 0.028302 -0.002637 0.014079 0.010800 -0.015789 -0.006468 -0.011849 -0.028869 -0.011300 0.032617 0.031896 0.016694 0.013078 -0.011053 0.005625 0.006043 0.004840 0.013987 0.006911 0.005910 0.015266 0.000689 -0.003363 -0.000982 -0.004129 -0.006309 -0.017416 -0.035090 -0.044030 -0.042173 -0.024183 -0.017323 0.012441 0.023305 0.012467 0.006674 -0.013674 -0.018090 -0.012128 -0.028758 -0.023962 0.006186 0.016405 0.004659 -0.002211 -0.046077 -0.058385 -0.052793 -0.050931 0.014804 0.015419 0.001653 -0.018240 0.005958 -0.003367 0.008272 -0.011528 0.006028 -0.019104 0.004405 0.019812 0.006996 0.011493 -0.020399 -0.001574 0.006810 0.005000 0.006131 -0.006665 -0.005759 0.010155 0.011980 -0.015669 -0.000044 0.007257 -0.002972 -0.010080 -0.014346 0.014908 -0.041539 -0.027982 0.034766 0.032054 0.004604 -0.043597 -0.025039 0.009319 0.021350 0.006206 0.006179 0.033924 0.023246 0.039226 -0.008692 0.036706 -0.025827 -0.012499 0.004956 0.008241 0.001829 0.001509 0.013782 0.018197 0.022352 -0.005330 -0.006727 0.020708 0.009556 0.030375 0.020553 0.052469 -0.008155 0.035906 0.001307 0.013755 0.009924 -0.004923 0.027723 0.023414 0.014943 -0.014584 -0.009365 0.001611 -0.026908 -0.025527 -0.045605 0.017925 -0.006992 0.013099 -0.015390 -0.014760 -0.013775 -0.002280 0.003763 -0.002178 0.018587 0.028058 0.011375 -0.018248 -0.011009 -0.022454 -0.024259 -0.024649 -0.022915 -0.003680 -0.027982 0.017982 0.010551 0.035437 0.017953 0.002008 -0.008434 -0.007940 0.007270 0.018913 0.003560 -0.000313 -0.009006 0.008510 0.024845 0.025785 0.001125 -0.010342 -0.024901 -0.010199 0.011431 0.040171 0.011957 0.024127 0.011810 0.007073 0.013279 -0.010591 0.002063 0.015237 0.007270 0.010429 -0.001775 0.024475 0.015352 + 0.003075 -0.014803 -0.001133 0.005396 0.006431 -0.014221 0.017992 0.015211 0.006425 -0.011644 0.019422 0.010479 0.021925 0.005429 -0.028922 -0.020957 -0.024318 -0.023658 0.005436 0.003701 0.000301 0.006833 0.003263 -0.030715 0.002298 -0.013703 -0.017009 -0.011323 -0.016403 0.016532 -0.001945 0.005636 0.006469 -0.001421 -0.006553 0.004349 0.008372 -0.025453 -0.009222 -0.013116 -0.027250 -0.020147 -0.017368 -0.010588 0.007608 0.014796 -0.028152 -0.010978 -0.037573 -0.036093 -0.006670 -0.013164 -0.010595 0.004503 -0.002692 -0.039773 -0.025408 -0.047798 -0.059486 -0.067268 -0.056665 0.016002 0.012558 0.001379 -0.017109 0.003451 0.001624 -0.001895 -0.009062 -0.031901 0.009953 0.017401 -0.001772 -0.022770 0.002506 0.018364 0.019834 -0.017530 0.008927 0.006314 -0.009246 -0.027848 -0.009088 0.013094 0.023845 0.014512 -0.026249 -0.023820 0.011716 -0.005797 -0.029731 -0.050418 -0.034289 0.022239 0.038540 0.004331 -0.043195 -0.007466 0.018361 -0.008860 0.007291 0.000742 0.063586 0.047652 0.014252 0.022512 0.035126 0.032407 0.028918 -0.011621 0.009201 0.018907 0.010948 -0.036343 0.021923 0.028185 0.036906 0.022589 -0.006367 0.022175 0.050973 0.038172 -0.016536 0.001037 0.028832 0.026228 0.039322 0.009650 0.038027 0.041453 0.026821 0.023561 -0.014751 0.001255 0.029432 -0.007032 -0.026188 -0.013274 -0.017316 -0.006170 0.008212 0.008682 -0.012732 0.004612 0.023458 -0.008369 0.027599 0.006299 0.011164 0.025565 -0.006899 0.013188 0.019504 0.018478 -0.023057 0.010320 0.029462 -0.006788 0.013996 0.010277 0.050120 -0.005734 0.038172 0.034920 0.027230 -0.014876 0.001609 0.005079 -0.001165 0.015428 0.001571 -0.018199 -0.013821 -0.037549 -0.012670 0.006477 0.010001 0.032269 0.057737 0.000975 0.021788 0.024527 0.000534 -0.008403 0.017233 0.019763 0.027626 0.026979 0.027344 -0.010578 0.012287 0.015078 + 0.003947 -0.004624 -0.021068 -0.028488 0.004409 0.029255 0.036115 0.029581 0.031031 0.015611 0.003325 0.016381 0.012026 0.006368 0.013447 0.008119 -0.001221 -0.009510 0.028074 0.009220 0.001593 -0.005022 -0.006242 0.040492 0.043883 0.026676 0.026402 -0.004018 -0.002214 0.043678 0.030768 0.005636 0.004345 -0.002083 -0.019595 -0.009375 0.025984 0.054226 0.018291 -0.000492 -0.017783 -0.000202 0.005794 0.034026 0.056938 0.061795 0.031588 -0.012617 -0.033528 -0.018226 0.017478 0.011010 0.021536 0.047833 0.031413 0.027495 0.005975 -0.028099 -0.030843 -0.019383 -0.026530 0.062775 0.067559 0.001379 -0.013878 -0.020418 -0.015673 -0.026595 -0.002802 0.038372 0.034814 0.004643 0.000845 -0.000561 -0.000054 0.033952 0.073110 0.048605 0.034700 -0.004893 -0.005567 -0.033601 0.003010 -0.016746 0.008813 0.039776 0.015437 0.009336 0.018976 -0.010033 -0.024887 -0.011528 -0.026293 0.055370 0.050804 0.004331 -0.026703 -0.015445 -0.031994 -0.036694 0.044457 0.064100 0.034418 0.016897 -0.010152 0.007531 0.011562 0.024280 0.033824 0.008237 0.011991 0.034067 -0.005633 -0.035840 -0.007563 0.001715 -0.004285 -0.007476 0.021595 0.037743 0.049252 0.005711 -0.039229 0.009008 0.001968 0.035199 0.014590 0.009650 0.014482 0.021535 0.011857 0.024410 0.064600 0.044089 -0.013016 -0.012394 -0.025397 0.008821 -0.010466 0.006654 -0.003569 -0.001867 -0.011223 0.039495 0.000257 -0.010084 0.023796 0.005436 0.010148 0.016529 0.046154 0.035682 -0.001132 -0.007551 -0.027462 0.029369 0.018056 0.021683 0.000747 0.010277 0.039943 0.008480 0.014850 0.043143 0.027759 0.006804 -0.031184 -0.038497 0.004440 0.028071 0.000144 -0.001658 -0.007539 0.013617 0.036533 0.045915 0.011126 0.022074 0.067595 0.017510 0.007155 0.041254 0.044247 0.028782 0.006274 -0.020131 0.029575 0.052955 0.036701 0.011720 0.004228 0.015078 + 0.003021 -0.002354 -0.017527 0.008060 0.019642 0.028730 0.025057 0.004527 0.011711 0.023338 -0.008375 0.005607 -0.004002 0.008724 -0.004992 0.004851 0.001617 -0.029120 0.033099 -0.001971 -0.001882 0.001870 0.010076 -0.000797 0.013022 0.004504 -0.006703 0.018462 -0.027822 0.028676 0.017696 0.022133 -0.008979 0.003566 -0.014394 -0.022447 0.036574 0.083210 0.015159 0.022124 0.003901 -0.001452 -0.006549 -0.002344 -0.017963 0.010424 0.022775 0.000388 -0.007488 -0.014072 -0.008812 -0.002034 -0.017630 -0.033333 0.030187 0.046207 0.003201 0.011146 -0.003001 0.025419 -0.050705 0.061425 0.012148 0.017876 -0.020813 -0.023706 -0.016604 -0.039786 0.065863 0.074971 0.019693 0.003727 0.014240 -0.021638 -0.014638 -0.014075 -0.006016 0.008512 0.010976 -0.006631 -0.008711 -0.034240 -0.038767 -0.035758 -0.019719 -0.041903 0.026540 0.034783 0.016979 -0.006265 -0.014361 0.016971 -0.059079 0.053674 -0.015750 0.020828 -0.013389 -0.012856 -0.027461 -0.039557 0.067280 0.059436 0.006269 -0.013164 -0.028602 -0.022494 -0.001847 0.012693 0.007497 -0.014905 -0.004044 -0.025979 -0.005785 -0.041377 -0.030635 -0.017162 -0.008952 -0.034185 0.023693 0.037790 -0.003555 -0.020741 -0.059902 0.017530 -0.057202 0.035696 -0.042356 0.020829 -0.013317 0.002939 -0.003326 0.017365 0.064793 0.043236 -0.033283 -0.035863 -0.033219 -0.030855 -0.008009 -0.003394 0.010039 -0.010802 -0.002935 -0.009402 -0.011579 -0.031588 -0.033109 -0.001860 -0.008602 0.015592 0.034773 0.027507 -0.033998 -0.041964 -0.061053 0.029077 -0.043330 0.025097 -0.052892 0.020829 -0.003184 -0.007350 0.004839 0.044135 0.047930 0.022428 -0.010279 -0.028272 -0.027264 -0.015936 -0.005849 -0.003860 0.005052 0.008897 -0.012307 -0.001850 -0.016592 -0.016721 -0.005548 -0.007986 -0.003704 0.023389 0.023673 0.015348 -0.008951 -0.040026 -0.036753 0.048194 -0.029781 0.027956 -0.053999 0.020829 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + -0.012935 0.007775 -0.000675 -0.002979 -0.001396 -0.024028 -0.003375 -0.002623 -0.027330 -0.015037 -0.001305 0.017008 0.040644 -0.003948 -0.015861 0.002207 0.016023 0.009320 -0.015717 0.006465 0.020340 0.032293 0.023050 -0.010239 0.008684 0.029486 -0.015845 0.001549 -0.005134 -0.003561 -0.001582 0.000000 -0.024724 0.012177 0.048091 0.014543 -0.009661 -0.036839 -0.028223 -0.033498 -0.007329 -0.018350 -0.024377 0.023819 0.026728 -0.023504 -0.034061 -0.011738 0.012970 0.001117 -0.025322 -0.004158 0.039271 0.022300 0.005605 -0.033544 -0.016883 -0.013575 -0.014024 0.012841 -0.017307 -0.022441 -0.026296 0.000000 0.007368 0.004159 0.029154 0.039961 0.034395 0.042219 0.035143 -0.035163 -0.019300 -0.018226 -0.029987 -0.020532 -0.014575 -0.001230 0.001108 0.051591 0.027645 0.016668 0.004351 -0.018429 0.010736 0.011109 0.038434 0.060332 0.095164 0.010333 -0.005050 0.033507 0.001355 0.036747 -0.000711 0.000000 0.022161 0.003545 -0.007878 -0.016954 -0.001040 0.057559 0.063167 0.006893 -0.029683 -0.018761 -0.038184 -0.015715 -0.012747 -0.022995 0.022841 0.059706 0.025381 0.001551 0.001230 -0.026908 -0.021163 -0.027929 -0.009357 0.070732 0.132418 0.077541 -0.007001 0.010974 0.013492 0.032108 -0.009978 -0.000000 0.016383 0.016560 0.016853 -0.005826 -0.002499 0.005697 -0.018038 0.012595 -0.016309 -0.015379 -0.010769 0.014386 -0.001837 -0.012429 -0.008965 0.001955 -0.023825 -0.033434 -0.002784 0.006899 0.022706 -0.004142 -0.007306 0.001239 0.005050 0.039538 -0.023437 -0.006464 0.012018 -0.017093 -0.019046 -0.001385 0.017122 0.013110 -0.002643 0.006554 -0.001107 -0.020382 -0.041769 -0.049178 -0.020569 -0.005165 -0.006249 -0.002122 0.003806 0.018910 0.003838 -0.009349 -0.038902 -0.017870 -0.003182 0.012603 0.005584 0.020275 0.012493 -0.013390 -0.040918 -0.067519 -0.021369 -0.003877 -0.016679 -0.036706 -0.014375 -0.001392 + -0.023688 -0.005455 -0.008837 -0.009943 0.014653 0.031579 0.025828 -0.021603 -0.037246 -0.003120 0.001513 0.003057 0.021687 0.019958 -0.016694 0.012987 0.003162 0.033855 0.001554 -0.011945 -0.009695 0.005206 0.010219 0.012190 0.028539 -0.021240 -0.015150 0.024324 -0.019630 0.028371 -0.013411 0.000000 -0.000434 0.039590 0.031418 -0.018588 -0.033309 -0.041168 -0.012593 -0.025668 -0.027099 -0.012622 -0.007989 -0.001908 0.016007 0.002730 0.000588 -0.033944 -0.012180 -0.001121 0.009237 0.020015 0.007418 -0.001693 -0.034674 -0.029088 -0.040936 -0.038137 -0.036649 0.034785 -0.023354 -0.022025 -0.054596 0.000000 -0.018976 0.003764 0.042561 -0.021602 -0.047472 -0.065776 -0.068335 -0.080860 -0.023627 -0.021428 -0.007621 -0.017996 0.003286 0.009511 0.002357 0.013386 0.011165 0.015540 -0.044926 -0.008454 0.010710 -0.015919 -0.037742 -0.042693 -0.035009 -0.063520 -0.013255 0.014623 -0.065163 -0.012272 -0.065466 0.000000 -0.032637 -0.042754 -0.025197 -0.034038 -0.043250 -0.038169 -0.027368 0.007688 -0.017944 -0.056340 -0.041745 -0.019011 -0.008105 -0.008565 0.034401 0.064081 0.006243 0.000595 -0.067040 -0.077232 -0.038261 -0.043393 -0.047206 0.006855 0.054434 0.051357 -0.020957 -0.035684 -0.067809 0.028700 -0.058196 -0.000000 -0.030387 -0.014647 -0.008169 -0.016373 -0.003073 -0.016450 -0.019917 0.067587 0.054629 -0.012014 -0.018229 -0.016695 -0.014272 -0.017665 0.037278 0.070447 0.026091 0.000268 -0.006267 -0.028239 -0.021397 -0.029704 -0.022437 0.012516 0.078685 0.149221 0.084717 0.005166 -0.000263 0.036091 -0.008746 -0.001385 -0.006341 -0.019024 -0.004934 0.004806 0.033838 0.012555 -0.033543 -0.007870 0.013668 0.011450 0.004605 -0.021404 -0.019812 0.016610 0.032832 -0.023302 -0.019661 -0.024664 -0.000143 -0.006776 -0.029992 -0.013550 0.032155 0.022159 -0.042106 0.003328 0.001294 0.001699 0.014940 -0.021435 -0.018864 -0.001392 + -0.009268 0.006242 0.006018 -0.021799 0.020700 0.035215 0.000030 -0.019033 -0.027382 0.021169 0.017370 0.011308 0.005743 -0.000500 -0.008290 -0.002479 0.001246 0.008202 0.023297 0.002354 0.009545 -0.016232 0.014864 0.014339 -0.004256 -0.016783 -0.029917 0.018797 -0.016938 0.035773 -0.016657 0.000000 0.003261 0.017447 -0.000409 -0.012676 -0.012016 -0.016750 -0.023476 -0.022166 -0.021995 0.003488 0.016298 0.005628 0.020543 -0.005135 0.029691 0.026891 0.000181 0.019729 0.011693 0.017076 0.007322 0.010650 -0.012864 0.004998 0.006330 -0.023047 -0.012020 0.043873 0.016958 -0.006807 -0.040575 0.000000 -0.006619 -0.005542 0.002137 -0.042734 -0.062256 -0.053937 -0.062260 -0.047013 -0.020362 -0.010616 0.028441 0.010184 0.030060 0.031989 0.000010 0.041755 0.025026 0.021144 -0.004366 0.008434 0.004845 -0.004034 -0.016048 -0.041655 -0.016840 -0.018577 -0.011163 0.008926 -0.008193 -0.021594 -0.035987 0.000000 -0.021106 -0.036576 -0.004643 -0.027640 -0.043664 -0.048337 -0.079683 -0.091440 -0.025845 -0.021576 0.009691 0.012609 0.024993 0.012402 0.005835 0.031348 -0.009636 0.005371 -0.015690 -0.024623 0.002114 -0.015074 -0.030182 -0.025959 -0.033406 -0.078068 -0.040720 -0.047665 -0.079828 -0.000416 -0.017234 -0.000000 -0.017803 -0.021671 -0.005888 -0.023879 -0.028432 -0.020140 -0.050646 0.022737 0.070587 -0.003662 -0.017988 -0.010765 0.011496 -0.015549 -0.006467 0.027913 0.023589 0.032909 0.013883 -0.020153 -0.014153 -0.021288 -0.040950 -0.016413 -0.005610 0.078137 0.090039 -0.023289 -0.024323 0.039340 -0.007596 -0.001385 0.001219 -0.006669 -0.007961 0.009370 0.016922 0.021827 -0.034228 -0.004752 0.051337 0.030396 0.011834 -0.001489 0.009882 0.005857 0.012344 -0.019278 0.014987 0.026492 0.032806 0.014492 -0.006289 0.015616 0.011706 0.025314 -0.034233 0.037712 0.072021 0.010799 0.029753 0.018256 0.006287 -0.001392 + -0.006232 0.022379 0.018955 0.005107 -0.007971 -0.013237 -0.029988 -0.003758 -0.023055 0.010679 0.012794 0.002753 0.008360 0.005819 0.013392 0.012512 0.010507 0.013488 -0.001116 0.002526 0.015703 0.000657 0.000437 -0.010051 -0.011376 -0.002601 -0.019602 0.016587 -0.016544 0.019782 0.004926 0.000000 -0.022692 -0.018846 -0.006271 -0.021973 0.003475 -0.013079 -0.011045 -0.005002 0.005889 0.002101 0.053476 -0.002574 0.034528 0.011262 0.013532 0.011496 0.007916 0.010809 -0.022007 0.017229 -0.001646 0.017357 -0.013710 0.003011 -0.002723 -0.000323 0.007965 0.025976 0.023373 0.003570 -0.027934 0.000000 -0.004041 -0.011713 -0.029100 -0.037588 -0.034937 -0.013486 -0.013591 -0.013784 -0.017760 0.003109 0.040153 0.031505 0.043797 0.032571 0.005916 0.014735 0.015095 0.010893 0.007886 -0.000592 0.000518 0.005199 -0.004702 -0.016071 -0.009083 -0.002620 -0.014693 0.007890 0.017509 -0.006495 -0.008640 0.000000 0.009471 0.003319 -0.009803 -0.025588 -0.039513 -0.019048 -0.026767 -0.041668 -0.006767 0.007807 0.037116 0.027710 0.028320 0.024648 0.026748 0.015470 0.012208 0.001002 0.011289 0.020337 0.004487 0.000554 -0.011601 0.009560 -0.017561 -0.032791 -0.023245 -0.004706 -0.013472 0.007220 0.022586 -0.000000 -0.018596 -0.024920 -0.026660 -0.025946 -0.029793 -0.019234 -0.025408 -0.018457 0.039368 -0.011575 0.004127 0.010083 0.011297 0.009553 -0.008589 0.011402 -0.023738 0.015398 0.002237 -0.019886 -0.010692 -0.010024 -0.014961 -0.017716 -0.011476 -0.025002 0.048127 -0.051008 -0.043589 0.025224 0.007295 -0.001385 0.015903 -0.028807 -0.002538 0.007139 -0.005464 0.007895 -0.033978 0.020966 0.029521 0.017201 0.006858 0.016167 0.017007 -0.011280 -0.000240 0.008179 0.006668 0.029282 0.046653 -0.010804 0.007191 0.010806 -0.016638 0.008580 -0.018972 0.035774 0.079137 -0.002508 0.013291 0.019735 0.016848 -0.001392 + -0.005278 0.010101 0.010821 -0.024074 -0.030596 -0.000076 0.000770 -0.002716 0.007414 -0.009982 -0.001912 0.001349 -0.014215 0.013088 0.020222 -0.001460 0.007384 0.008453 0.002652 -0.008099 -0.000870 -0.020789 -0.012505 0.008667 -0.003622 0.001112 -0.002895 0.015420 -0.006707 -0.000852 -0.012908 0.000000 -0.018278 -0.026732 -0.007099 0.000587 -0.008117 0.009998 -0.007787 -0.015345 0.012958 -0.015015 0.006584 0.000438 0.011803 0.024921 0.016270 -0.009621 -0.006393 0.004775 -0.029420 -0.023974 -0.012953 0.006958 -0.005679 0.014604 -0.031447 -0.024556 0.007361 0.010700 -0.007869 0.002520 -0.017633 0.000000 -0.003496 0.009267 -0.032538 -0.014780 -0.007248 -0.015228 -0.011471 -0.008963 0.015909 0.027857 0.044821 0.019757 0.029216 0.012690 0.016270 0.011592 0.004450 0.023712 0.033146 0.029547 -0.002499 0.016268 0.001574 -0.016805 0.008490 -0.013112 0.022077 0.020963 0.017352 0.017180 0.001929 0.000000 -0.000985 0.028807 -0.010026 -0.033950 -0.038280 -0.036001 0.003926 0.008909 0.002550 0.036928 0.035800 0.011008 -0.012550 0.002093 0.017122 0.038170 0.013158 0.002336 0.036113 0.043381 0.001867 -0.028553 -0.018590 -0.014176 0.023931 0.013341 -0.003573 -0.004341 -0.000667 0.019890 0.017651 -0.000000 -0.031081 -0.025594 0.003034 -0.007414 -0.016808 -0.027073 -0.010850 -0.016432 0.025161 0.017569 -0.001287 -0.027150 0.003971 -0.006998 -0.008655 0.001305 -0.000485 0.022787 -0.002464 -0.012673 -0.026278 0.000461 -0.015716 -0.028295 -0.008746 -0.012426 0.026853 -0.057443 -0.046667 0.022913 0.031228 -0.001385 0.001526 -0.038005 0.028847 0.014221 0.022061 0.018849 -0.014938 -0.038735 0.020337 -0.005710 0.003143 -0.005403 0.015844 0.020199 0.011733 0.005427 0.005600 0.009215 0.022861 -0.010163 0.021386 0.025059 0.040288 0.028039 -0.009730 -0.018914 0.045592 -0.002385 0.007766 0.008768 0.020833 -0.001392 + 0.008828 -0.015090 -0.001382 -0.006695 0.019576 -0.005510 0.013623 -0.005300 0.026098 -0.012598 0.033584 0.015327 0.013229 0.019702 -0.007849 -0.001128 -0.000663 0.006516 -0.002868 0.012582 0.011924 0.005585 0.020136 -0.011418 0.006507 -0.004348 0.004268 0.038332 0.013670 0.003940 -0.008675 0.000000 -0.038196 -0.033274 -0.015711 0.022265 0.001905 -0.013222 -0.015221 0.008452 -0.000476 -0.000764 0.001597 0.013133 0.009962 0.020777 0.002658 0.015153 0.004596 0.000498 -0.019482 -0.033663 0.005384 0.006418 -0.004929 -0.021765 -0.008938 0.003824 -0.005154 0.004365 -0.010449 0.010367 -0.011763 0.000000 -0.042244 0.023558 -0.015060 0.017016 0.003806 -0.004113 -0.008398 0.001058 0.008195 0.022142 0.027279 0.019446 0.019617 0.011729 0.015634 -0.002046 -0.009545 -0.009654 0.010803 0.025666 0.017917 0.022821 0.008536 0.001323 -0.019129 -0.006353 0.001816 0.003965 0.009643 0.018876 0.004483 0.000000 0.007339 0.013792 -0.041958 -0.013491 0.005382 0.006712 -0.007281 0.001406 0.024647 0.027103 0.038337 0.004945 0.014873 0.002857 0.007959 0.008400 0.007069 0.008140 0.019485 0.030226 -0.033243 -0.008599 -0.007209 0.015204 -0.000775 0.004291 0.018875 -0.005120 0.005193 0.028276 0.026442 -0.000000 -0.000446 0.003580 -0.020047 -0.008281 0.000370 -0.020473 -0.006593 -0.003780 0.023407 0.006228 0.023791 -0.005169 -0.006251 0.008362 -0.013979 0.009727 0.018898 -0.002221 0.009109 0.022267 -0.009774 -0.012021 0.000890 -0.031018 -0.009477 0.002487 0.008604 -0.035920 -0.036357 0.029605 0.046030 -0.001385 -0.019515 -0.028396 -0.004052 -0.008151 -0.017124 0.001007 -0.016286 -0.045638 0.007120 0.008020 0.017611 0.016026 0.012029 -0.004198 -0.021140 0.004025 0.035892 0.011886 0.033923 0.001087 0.004247 0.006376 -0.007682 -0.012655 -0.006756 -0.015644 0.020113 -0.010658 -0.013768 -0.000316 0.000755 -0.001392 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + 0.004133 -0.002565 0.005506 0.006013 0.001956 0.020539 0.023360 0.008834 0.018513 0.005987 0.036708 -0.013714 -0.009542 -0.015816 0.015416 -0.006318 -0.022601 0.024432 0.018173 0.043110 0.001125 0.002081 0.001343 0.021027 0.003146 -0.003566 0.039894 0.004470 0.010983 0.005432 0.026652 0.005336 -0.019373 -0.008974 -0.007482 0.002422 -0.018906 0.020114 0.011930 -0.011979 -0.002184 -0.022567 -0.019258 -0.007941 -0.008639 0.007598 0.025718 0.026144 0.005175 0.032764 -0.021368 -0.019526 -0.009718 0.001798 0.018476 0.021996 0.023125 0.002239 0.013969 0.006017 0.004693 -0.002995 -0.005565 0.005336 -0.028209 -0.014373 -0.014748 0.025756 0.009465 0.017742 -0.004588 -0.017865 -0.027515 -0.053554 -0.032660 0.009483 0.008782 0.007266 0.017075 -0.005844 -0.006300 -0.012068 -0.029485 -0.028215 -0.009740 0.024380 0.009845 0.014491 -0.006121 -0.025438 -0.030638 -0.034167 -0.031874 0.003545 0.004912 0.005330 -0.003401 0.026671 -0.009923 0.020502 0.021662 0.010080 -0.016038 0.002536 0.000781 0.015757 0.043138 -0.021883 -0.015315 -0.034254 -0.012038 -0.034402 -0.033451 -0.005776 0.047267 0.067636 -0.014745 0.009735 0.011386 -0.006751 -0.044261 -0.021314 -0.001668 -0.021114 -0.031829 0.009736 0.021827 0.005330 0.000285 0.012654 -0.002867 0.001321 0.001671 0.019290 0.007643 -0.013641 0.013384 0.002626 0.007988 -0.007952 0.004650 -0.008602 0.009498 -0.002613 -0.001287 -0.018952 0.018239 0.016939 -0.009549 0.014595 0.011444 0.028683 0.005239 -0.016496 -0.008245 0.025089 0.007787 -0.009260 -0.011786 -0.005955 -0.011980 0.013213 -0.014519 0.013880 0.031407 0.033363 0.013715 -0.026971 -0.007757 -0.033801 -0.011413 0.001485 -0.010170 0.010396 0.009530 0.025599 -0.000449 -0.007676 -0.029742 0.005624 -0.006617 0.008687 0.042468 0.030923 0.030953 -0.026963 -0.018122 0.039732 0.016559 -0.016977 -0.026186 -0.011858 + -0.004949 0.018567 0.008271 0.012340 0.003631 -0.020407 -0.017504 0.014372 0.002524 0.018156 0.035342 -0.009512 0.000531 -0.005532 0.013289 -0.022896 -0.025943 0.019865 0.034084 0.049710 -0.005320 0.010524 0.004571 -0.010492 -0.033732 -0.000409 0.022674 -0.003532 0.011594 -0.002486 0.013348 0.008054 -0.020196 -0.027520 -0.010169 0.018725 0.014049 0.000142 0.014349 0.000855 0.002780 -0.004143 -0.010687 -0.001005 -0.010935 -0.016406 0.009167 -0.020327 -0.005853 0.011368 -0.013439 -0.021113 -0.007163 0.003690 0.000771 -0.003799 -0.007363 0.002303 0.004812 0.007305 -0.004343 -0.020427 -0.008842 0.008054 -0.005060 0.011402 0.007555 0.017760 0.004340 0.001389 0.002844 -0.025586 -0.043446 -0.056324 -0.017285 0.019613 -0.002029 -0.046281 -0.005284 -0.012176 0.022672 0.016856 -0.009654 0.007802 0.019126 0.008228 -0.027565 -0.009743 -0.010205 -0.003251 -0.008682 -0.031457 -0.036810 0.015181 0.001684 0.008048 0.007279 0.036983 -0.018122 0.018148 0.026683 0.013430 -0.003972 -0.008673 0.003871 0.012482 0.015276 0.007886 -0.001234 -0.012315 -0.017078 -0.015689 -0.009595 0.010136 0.061087 0.058640 -0.005967 0.014692 0.008134 -0.012699 -0.020746 -0.013698 0.006521 -0.003612 -0.012012 0.024129 0.022369 0.008048 -0.005654 0.012418 -0.017612 0.009615 0.027321 0.023186 -0.007384 -0.011158 -0.002013 -0.001130 -0.010200 -0.003124 -0.012181 -0.003631 0.002197 0.007551 -0.016981 -0.025470 0.006824 -0.004822 -0.013196 0.000343 0.025035 0.008390 -0.001347 -0.034494 -0.024730 0.029595 -0.000570 -0.015856 -0.029315 -0.003237 -0.009913 0.009370 -0.001095 -0.009381 0.014772 0.035741 -0.005326 -0.009632 -0.016282 -0.027342 -0.012520 0.002814 0.010233 0.035348 0.025708 0.022518 -0.011613 -0.019685 -0.025112 -0.002603 0.001858 -0.001072 0.023133 0.030047 0.017968 -0.012472 -0.028739 0.045902 0.013571 -0.005536 -0.038043 -0.009140 + 0.001407 0.009375 0.000435 -0.005851 0.017747 0.000470 0.008699 0.013731 0.008409 0.021821 0.042854 0.002222 -0.007218 -0.020296 -0.014515 -0.002036 0.008430 0.045256 0.028543 0.037165 -0.009832 -0.011783 0.002258 -0.017588 0.002571 0.020375 0.051027 0.017513 0.011238 0.018633 0.014342 0.008036 -0.042542 -0.030594 -0.016054 -0.000236 0.022740 0.024351 0.012097 -0.004171 -0.012812 -0.008714 -0.017961 -0.015874 -0.018418 -0.022122 -0.022988 -0.004481 0.018536 0.024018 -0.047271 -0.033703 -0.030089 -0.011704 0.002177 -0.011869 0.005620 0.027273 0.018030 0.015567 -0.007469 -0.023643 -0.038771 0.008036 -0.010151 -0.008379 0.009802 0.003081 0.020054 0.016511 -0.007363 -0.019064 -0.040124 -0.060281 -0.030628 0.004195 0.003011 -0.037246 -0.049885 -0.015855 0.025594 0.019549 -0.040098 -0.028010 0.013413 0.002241 -0.015110 -0.032621 -0.014677 0.003042 -0.015788 -0.047618 -0.052564 0.016819 -0.000159 0.008029 -0.012548 0.019526 -0.007815 0.003283 0.011869 -0.011980 -0.022325 -0.010454 0.022537 -0.015126 0.013461 0.013362 0.012918 -0.001504 -0.009966 0.003779 0.009997 0.024290 0.046128 0.045499 0.006852 0.007690 -0.007987 -0.017078 -0.009655 0.001728 0.033598 -0.005155 -0.019172 0.028308 0.016433 0.008029 -0.016767 0.014353 -0.021925 0.003014 0.037792 -0.001118 -0.033020 -0.010626 -0.006114 -0.039831 -0.042377 -0.004737 -0.002457 0.016134 0.037294 0.010362 0.000432 -0.007637 -0.020318 -0.005851 -0.016089 0.000157 0.013594 0.025345 -0.023042 -0.014653 -0.018298 0.040280 0.001705 -0.029529 -0.044148 -0.003255 -0.004802 0.005637 0.005455 -0.000720 0.042218 0.029678 0.026488 0.024213 -0.010972 -0.019217 -0.005813 -0.010084 0.023689 0.020045 0.011112 -0.009212 -0.020135 -0.010190 -0.017899 -0.001718 -0.007632 0.024065 0.022265 0.018604 0.012282 0.005708 -0.014539 0.045000 0.022637 0.005004 -0.026730 -0.009159 + 0.006370 0.004095 -0.004285 -0.009341 -0.017334 0.005699 0.000114 0.033869 0.054415 0.020402 0.028174 0.017460 0.001493 -0.005691 -0.023387 -0.008159 -0.008707 0.015033 0.037722 0.039893 0.007732 -0.009703 -0.006217 -0.013800 -0.014381 0.037380 0.066113 0.003121 0.022498 0.002345 0.023993 0.003802 -0.040740 -0.018111 -0.021839 -0.021165 -0.014245 0.003658 0.025890 0.006817 0.018056 0.005984 -0.018063 -0.029201 -0.011386 -0.013736 -0.022095 0.015439 0.042993 0.041405 -0.020201 -0.026213 -0.039778 -0.032843 -0.018539 -0.006668 0.022428 0.036746 0.051621 0.010293 0.021446 -0.034549 -0.020920 0.003802 -0.018778 -0.011408 -0.000164 0.012271 0.020030 0.014038 0.021923 -0.018380 -0.044115 -0.077851 -0.031559 -0.004601 -0.006443 -0.030219 -0.020486 0.011163 0.047678 0.030358 -0.057055 -0.041795 -0.003103 0.005095 -0.000630 -0.002266 0.033905 0.021967 -0.005466 -0.033978 -0.045307 0.008559 0.020502 0.003796 0.015746 -0.010410 -0.021081 0.003736 0.034124 0.013572 0.006440 0.023603 0.023650 -0.004139 0.004269 0.031371 -0.003407 -0.011754 -0.026863 -0.022584 0.024630 0.066367 0.077043 0.000313 0.000732 -0.006497 0.003425 -0.006569 -0.002549 0.028583 0.057408 0.008293 -0.005763 0.042128 0.024765 0.003796 -0.008140 -0.009434 -0.012150 0.004494 0.022442 -0.000317 0.018022 0.028659 0.009163 -0.046769 -0.030146 -0.017853 -0.006250 -0.014678 0.004973 -0.010358 -0.005799 0.016952 -0.017359 -0.032602 -0.026311 -0.001535 -0.004112 0.008586 0.011336 0.025631 0.007448 0.017792 0.029766 -0.032784 -0.041732 -0.007489 -0.006734 -0.009853 -0.002759 0.007787 0.048676 0.032054 0.002289 -0.002528 -0.000495 -0.011511 -0.004290 -0.008484 0.012807 0.008621 0.003769 -0.006523 0.006885 -0.028172 -0.009260 -0.015841 -0.000640 0.015727 0.030521 0.025520 0.003624 0.002935 -0.024362 0.027165 0.028996 -0.024078 -0.012503 -0.013392 + 0.006856 0.001112 -0.001899 -0.009330 0.017747 0.020706 -0.015964 0.018506 0.050413 0.000952 -0.005921 0.011137 0.008267 -0.004394 -0.008388 0.002279 0.012094 -0.019100 0.035182 0.001012 0.008256 -0.000233 0.008305 -0.002253 -0.023307 0.029629 0.041211 -0.009842 0.023856 0.002148 0.023940 0.003802 -0.025011 -0.022541 -0.006780 -0.012521 -0.026546 0.005586 -0.003411 0.051308 0.068660 0.035544 -0.026143 -0.024171 -0.007140 -0.018648 -0.025713 0.020084 0.037208 -0.002234 0.027215 -0.031483 -0.024375 -0.017667 -0.040626 -0.020615 0.007418 0.080945 0.043376 0.009014 0.052059 -0.042788 -0.010020 0.003802 -0.029355 -0.033086 -0.013488 0.005501 -0.003521 0.004490 0.022901 -0.035146 -0.026659 -0.074604 -0.035600 -0.015228 -0.010124 -0.037348 -0.035019 0.026911 0.062023 -0.001278 -0.066667 -0.056280 -0.024527 -0.003414 -0.028361 -0.024011 0.026421 0.032487 -0.030257 -0.029973 -0.037551 -0.035662 -0.004591 0.003795 0.012287 -0.003642 -0.015476 0.003009 0.001400 0.014228 0.018310 -0.018803 0.031421 -0.026943 -0.017454 0.022403 0.002693 -0.013910 -0.041244 -0.007152 0.068269 0.064705 0.048675 -0.005745 0.006190 0.006349 -0.007058 -0.018986 0.013423 0.031095 0.081971 -0.004592 -0.011935 0.036660 0.024226 0.003795 -0.007043 -0.012192 0.003558 0.003364 0.013369 0.022645 0.012974 0.016662 0.018196 -0.034770 -0.025658 0.002459 0.003318 -0.011533 -0.027463 -0.015645 0.001031 0.035600 -0.017031 -0.033454 0.000690 0.003954 -0.003695 0.003383 0.004548 0.010521 0.032257 0.012321 0.027844 -0.015047 -0.025649 -0.007489 -0.024752 -0.015641 0.003566 -0.000383 0.046754 0.038837 -0.002489 0.023454 0.015223 0.002499 0.008010 -0.013907 0.016106 -0.000547 0.008266 0.005124 -0.012738 -0.026305 -0.022822 -0.007205 -0.007864 0.009576 0.021059 0.045494 0.004964 0.023521 -0.016999 0.019769 0.042838 -0.021349 -0.007752 -0.013393 + -0.033117 0.025023 0.007664 -0.000400 0.004314 0.016702 -0.006688 -0.023969 0.009715 -0.008293 -0.033323 -0.021427 -0.005958 0.021603 0.005652 0.012881 -0.008620 0.003488 -0.006052 -0.015789 -0.021601 -0.002527 0.026674 0.019477 -0.000882 -0.021455 0.008884 -0.013313 -0.011918 0.010841 -0.001994 0.002233 -0.004091 0.019415 -0.010261 -0.010211 -0.006775 0.006525 0.020319 0.047649 0.050456 0.043740 -0.016532 0.003947 0.004886 0.010245 0.006269 0.027997 0.019579 0.023307 0.037755 -0.000119 -0.002280 -0.005303 0.008448 0.014423 0.029584 0.046014 0.056521 0.034771 0.065570 0.006667 0.004463 0.002233 -0.041068 -0.016321 0.003739 -0.016013 -0.011029 0.005097 0.006352 -0.025368 -0.022694 -0.058911 -0.026126 -0.015643 0.005313 -0.017580 -0.007330 0.036568 0.018761 -0.029908 -0.055028 -0.038548 -0.012736 -0.009148 -0.010599 -0.004179 0.028667 0.010285 -0.041532 -0.026353 -0.009469 -0.048301 -0.015890 0.002226 0.013995 0.008914 0.008856 0.013636 0.012021 0.013383 -0.004008 -0.032543 -0.025421 -0.050913 -0.004539 0.008927 0.026709 -0.012233 -0.002807 -0.002881 0.031404 0.022808 0.039589 0.021802 0.014186 0.025746 0.009154 0.014421 -0.013710 0.009620 0.006704 -0.017638 -0.013027 0.012584 0.030011 0.002226 0.005084 0.000291 -0.003315 0.031119 0.022731 0.024925 -0.000935 -0.014958 -0.015045 -0.047901 -0.008109 -0.005103 0.010369 -0.002571 -0.001009 -0.006555 0.010826 0.041387 -0.001096 -0.004902 -0.002519 0.022844 0.016833 0.017314 -0.002335 0.000402 0.010325 0.023052 0.021689 -0.014529 -0.010776 -0.009058 -0.010912 -0.009323 0.011590 0.004077 0.042182 0.012307 0.002187 0.017338 0.013633 -0.017150 -0.010993 -0.010930 0.007079 -0.008974 -0.000390 0.003247 -0.001666 -0.016245 -0.016444 -0.013311 0.001496 0.002879 0.027626 0.026525 -0.005465 0.023962 -0.006866 0.028571 0.020200 -0.013640 -0.022377 -0.014962 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + -0.016071 0.019811 0.004252 0.008883 0.000034 0.010121 0.011788 0.000401 0.040190 0.019387 -0.001963 -0.015967 -0.007732 0.002950 0.009007 -0.022636 -0.002795 -0.012518 0.006393 0.012021 0.002084 -0.000994 0.010725 0.002507 -0.017107 0.003608 0.034721 -0.002467 0.009405 0.006566 0.008720 -0.006270 -0.022846 0.001188 0.017646 0.018437 -0.001433 0.012741 0.018763 -0.001238 0.023331 -0.003438 0.020339 0.001008 -0.017941 -0.006628 -0.013041 -0.014388 -0.019885 -0.024749 0.014397 0.025265 0.012522 -0.000804 0.004063 0.011515 0.012043 -0.010856 -0.003186 0.005722 0.027312 -0.027135 -0.011618 -0.006192 0.026478 0.006801 0.030078 0.000280 -0.007865 0.005815 0.010283 0.000414 -0.019697 -0.036584 0.017799 0.000765 -0.020005 -0.038691 -0.001432 0.013697 0.002200 -0.012941 0.013021 0.011369 0.026401 -0.010102 -0.022426 0.013305 0.024668 -0.001842 -0.033576 0.024309 0.019255 -0.034784 -0.019436 -0.006192 0.019262 0.009217 -0.001113 0.025846 -0.004288 0.006825 0.014290 0.015952 0.012959 -0.000441 0.025427 -0.009884 -0.017473 -0.018127 0.010193 0.011445 0.008847 0.013829 0.026397 0.021111 -0.000468 0.016269 0.012577 0.018664 0.033417 0.027921 0.024391 0.021172 0.005300 0.020920 0.010480 -0.001155 -0.021893 -0.000071 0.013172 -0.001304 0.004262 0.003362 0.011309 -0.021354 -0.023551 -0.016434 0.011057 -0.020011 -0.014540 0.000508 0.025093 0.030185 0.016286 -0.013860 -0.024194 0.010954 0.004135 -0.010144 0.024879 0.026685 0.023536 -0.004492 -0.024811 0.003416 -0.007527 0.011070 -0.015343 0.000000 -0.014718 -0.017596 -0.004693 -0.002024 -0.012640 0.002027 -0.004100 -0.017685 -0.010102 -0.002835 0.012475 -0.015613 0.021164 0.030174 0.013250 0.015133 0.005636 -0.005833 0.005615 -0.002702 -0.019220 0.014189 0.005842 0.016970 0.010143 -0.004675 -0.016297 0.001709 -0.002439 0.004396 -0.007427 0.000000 + 0.006853 0.014272 -0.009826 0.001780 0.009250 0.017662 0.011112 -0.019276 0.031174 0.025703 0.018777 -0.000084 0.015285 0.002737 0.017268 -0.007134 0.004976 -0.019090 0.022191 0.022567 -0.005336 0.012978 0.009772 0.028339 0.002525 -0.005547 0.017564 0.013818 -0.000253 0.034384 0.009298 -0.006270 -0.007626 0.027271 -0.002056 -0.017461 -0.012780 -0.021751 0.006351 -0.001910 0.016832 0.001355 0.032813 0.013373 0.002743 -0.003688 -0.015359 -0.022516 -0.003248 -0.013649 0.007037 0.027413 0.014851 -0.014072 -0.011476 -0.034456 -0.010195 -0.003899 0.014123 0.007691 0.013789 -0.007973 -0.023551 -0.006192 0.011597 0.043072 0.018223 -0.008625 -0.014676 -0.018070 -0.007077 0.006114 -0.041547 -0.013406 0.020944 -0.002663 -0.006372 -0.015555 -0.020328 -0.008948 0.000254 -0.004999 0.032606 0.030076 0.028397 -0.003336 -0.016843 -0.030818 -0.013158 -0.000397 -0.035900 0.027176 0.018823 -0.040394 -0.034861 -0.006192 0.026481 0.012131 0.034092 0.007478 -0.010213 -0.006106 0.011686 0.010437 -0.021617 -0.046787 0.010645 -0.006759 0.001114 -0.018736 -0.009425 0.020080 0.011008 0.033096 -0.001502 0.014688 0.022967 0.011721 -0.001201 -0.006298 0.025882 0.009352 0.017188 0.019679 -0.004305 0.008766 0.003487 -0.001155 -0.023462 0.019280 0.009007 -0.001352 0.017145 0.006349 0.016317 0.010947 -0.030859 -0.022218 -0.017819 0.002220 0.003674 -0.012120 0.010756 -0.012309 -0.017812 -0.002968 -0.022760 -0.004208 0.016866 0.015079 0.011758 0.009345 -0.000522 0.001762 -0.015821 0.014870 -0.030552 0.013146 -0.018783 0.000000 -0.033834 -0.018954 -0.005076 -0.005446 0.018286 0.021902 -0.005511 -0.014544 -0.041277 -0.027940 0.003709 -0.009511 0.030087 0.004712 -0.024220 -0.008215 0.001350 0.030579 -0.033429 -0.004396 -0.000076 0.012058 0.029684 0.005995 0.001237 -0.011906 -0.018324 0.004041 -0.028638 0.015676 -0.030630 0.000000 + 0.012321 -0.010220 0.015295 0.017378 0.014551 0.009380 0.002913 -0.020428 0.015998 0.025289 0.015714 -0.029519 0.002506 0.016182 0.015233 -0.009160 -0.036568 -0.016232 0.014572 0.025503 -0.011115 0.010634 0.030824 0.023281 -0.003634 -0.052844 0.012277 -0.012221 -0.012272 0.037892 0.005756 -0.006270 0.003683 0.005808 -0.008284 -0.008138 -0.007330 0.005722 -0.014193 -0.007732 0.002621 0.034390 0.021096 -0.015560 0.009440 -0.013267 -0.000899 -0.017165 -0.023055 -0.004588 0.049820 0.015257 -0.017831 0.000983 -0.000826 0.013868 -0.019685 -0.019976 0.014025 -0.014889 0.011374 -0.004454 -0.009685 -0.006192 0.015177 0.036858 0.019092 -0.006622 -0.002726 -0.017043 -0.034266 0.013315 -0.021664 0.002135 -0.002017 -0.005926 -0.008201 -0.018673 -0.012600 0.002033 -0.023759 0.017525 0.035397 0.022610 0.003319 -0.016636 -0.003628 -0.023339 -0.024589 -0.006816 0.002633 0.006299 0.047257 -0.049465 -0.026417 -0.006192 -0.004805 0.003326 0.018288 -0.004112 -0.008479 0.001794 -0.008213 0.005514 0.004170 -0.040995 -0.001606 -0.008940 0.009993 -0.006168 -0.019689 0.033436 0.024344 0.005593 -0.011607 0.005851 0.011046 0.001763 -0.010178 -0.020049 0.012481 0.008408 0.016981 0.016565 0.010475 -0.029884 0.004471 -0.001155 -0.019333 -0.014069 -0.023074 -0.007043 -0.006117 -0.005969 0.015760 0.014920 0.008024 -0.015202 -0.010921 -0.004866 0.032865 -0.001699 0.006965 0.044774 0.051845 -0.000613 -0.012372 -0.010051 -0.007991 0.025623 -0.003266 -0.011128 0.040675 0.052064 0.012681 0.017597 0.002842 0.011283 -0.000494 0.000000 -0.050475 -0.020775 -0.017652 -0.009973 0.020142 -0.008459 -0.006815 -0.006675 -0.023000 -0.028994 -0.013402 0.021803 0.043884 0.014391 -0.005516 0.009853 0.020574 0.005479 -0.052616 -0.019400 0.010680 0.020877 0.023622 -0.007824 0.006652 0.012099 -0.018409 -0.010473 -0.015292 0.007257 -0.007706 0.000000 + 0.026688 -0.005696 -0.012270 -0.004610 0.010500 0.021774 0.013500 -0.011347 0.013307 0.004669 0.017873 -0.021710 -0.007000 0.001272 -0.002789 -0.009381 0.006120 -0.008321 0.006953 0.003861 -0.023795 -0.000271 0.023915 0.033982 0.001027 -0.000070 -0.005047 -0.028417 -0.022645 0.035141 0.031280 -0.006270 0.017623 0.028082 0.012434 0.015757 0.005607 0.016552 -0.011118 -0.001460 -0.021429 0.008555 0.007346 -0.035139 -0.019485 -0.026364 0.003592 0.015370 -0.003871 0.018103 0.045164 0.012322 -0.015176 0.003954 0.007006 0.035013 0.007800 0.007054 0.007520 -0.015026 0.008309 0.004245 0.016688 -0.006192 -0.030227 0.015220 0.015512 0.000678 -0.020222 -0.011086 -0.006456 -0.001611 -0.005687 -0.011872 -0.026648 -0.000960 -0.000137 -0.014627 0.037400 0.035280 0.001020 0.013337 0.017624 -0.013250 0.001791 -0.007295 -0.008212 0.031800 0.028917 0.005906 0.020150 0.006731 0.041378 -0.035626 -0.017709 -0.006192 -0.036226 -0.027677 -0.026785 -0.012239 -0.022146 0.015320 0.024045 0.026652 -0.001323 -0.043827 -0.017149 -0.006773 0.020714 0.012662 0.014605 0.022997 -0.001770 -0.000330 -0.042636 -0.037497 -0.030324 0.017577 0.027887 0.041570 0.030138 0.012825 0.005600 0.016471 0.017419 -0.040923 -0.020896 -0.001155 -0.026060 -0.009918 -0.010498 -0.013322 0.001751 0.007300 0.035766 0.011269 0.001278 -0.010588 -0.005952 -0.009131 0.018847 0.019845 0.026618 0.002237 0.000228 -0.033521 -0.007416 -0.014802 -0.012170 0.019225 0.032607 0.045839 0.025218 0.018029 -0.028100 -0.012359 0.010852 -0.000608 0.005015 0.000000 -0.043363 -0.004598 0.018502 0.046173 0.001827 0.005247 -0.001391 -0.013754 -0.018699 -0.010888 0.026113 0.034655 0.005142 0.008279 -0.021684 -0.004617 -0.013136 -0.034194 -0.027315 0.021358 0.043178 0.047366 0.029488 0.007109 -0.003508 -0.013785 -0.042635 -0.013876 -0.003442 -0.010278 0.017985 0.000000 + 0.018151 0.002051 -0.006662 -0.004369 0.021446 0.026825 0.013834 0.003099 0.014014 -0.016013 -0.027401 -0.018080 0.001231 0.009780 0.011044 0.030430 0.044730 0.010176 0.004017 -0.014546 -0.033531 -0.006325 0.025309 0.035121 0.039555 0.030050 0.033817 -0.027430 -0.016028 0.055329 0.051431 -0.000275 0.010419 0.027908 0.012071 0.001609 0.023741 0.020322 0.027335 0.000847 0.012500 0.001784 0.015666 -0.003413 -0.006886 -0.006645 0.019937 -0.006469 0.012852 0.009510 0.050185 0.027716 0.006041 -0.011095 0.009390 0.022956 0.023285 0.014929 0.021597 0.014881 0.014667 0.018487 0.033558 -0.000197 -0.041038 -0.001575 -0.032491 -0.032797 -0.019391 0.008295 0.010283 -0.012828 -0.000171 0.011173 0.021950 -0.003239 -0.020112 -0.022362 0.015968 -0.019219 -0.022512 -0.013172 0.047770 0.022517 -0.036569 -0.047808 -0.020176 0.021694 -0.011988 -0.032229 0.012818 0.007076 -0.002780 -0.040310 -0.045651 -0.000197 -0.055540 -0.029903 -0.032750 -0.031692 -0.016380 0.017161 0.040529 0.009529 0.007693 -0.011294 0.013868 -0.017159 -0.001490 -0.001107 -0.012951 -0.029507 -0.043230 -0.041360 -0.021724 0.003741 -0.036201 -0.022677 -0.006279 0.002543 0.001137 -0.042547 -0.027394 -0.005431 -0.006783 -0.040916 -0.057925 0.004840 -0.034826 -0.007722 0.010736 0.028407 0.012706 0.038053 0.034545 0.013186 0.009840 -0.003168 0.007832 -0.013001 -0.019287 -0.004634 -0.006571 -0.001954 -0.006716 -0.031044 -0.012593 0.005564 -0.004129 0.012298 0.010512 0.025668 0.024481 0.009005 -0.026658 -0.010579 -0.003923 0.012032 0.014907 0.005995 0.013878 0.028979 0.016907 0.042567 0.025861 0.031998 0.005041 0.000623 0.008727 -0.007929 0.007907 -0.012386 -0.019007 -0.013271 -0.017448 -0.015176 -0.010913 0.006069 0.006900 0.036907 0.014135 0.020110 0.019488 0.021565 -0.009199 0.000952 0.008263 0.005268 0.015572 0.006277 0.016454 0.005995 + 0.007540 -0.013258 0.004663 0.023916 0.045957 0.014574 -0.023268 -0.034503 -0.037814 -0.060006 -0.031091 0.008058 0.006771 0.033370 0.034944 0.014642 -0.003820 0.009103 -0.034114 -0.038653 0.007613 0.028233 0.046902 0.039689 -0.003921 -0.037090 -0.027049 -0.027336 -0.043843 0.038747 0.032328 -0.002314 0.010573 0.015975 0.035927 -0.004824 0.008653 -0.005537 -0.007486 -0.019929 0.006343 -0.022521 0.006685 0.016257 0.010827 0.013229 0.029572 0.011428 -0.021185 -0.002851 0.031518 0.026513 0.029623 0.005588 0.008597 0.015210 -0.003406 -0.035045 0.012467 0.016581 0.002017 0.015146 0.004504 -0.002236 -0.038679 -0.022331 -0.030098 -0.034595 -0.037501 -0.005131 0.012322 -0.002190 0.048677 0.026835 0.040387 -0.003697 0.008237 -0.032744 -0.026729 -0.035479 -0.025793 -0.013200 0.047008 0.004114 -0.035469 -0.029542 -0.049282 -0.031992 -0.035597 -0.030354 0.042368 0.013311 -0.006953 -0.038145 -0.049157 -0.002236 -0.070161 -0.035801 -0.017998 -0.023378 -0.028620 -0.005945 0.016832 0.005847 0.008044 -0.033896 0.018637 0.007753 -0.005328 -0.031095 -0.037653 -0.046564 -0.035822 -0.022822 -0.039887 -0.001195 -0.012177 -0.032426 -0.051373 -0.042976 -0.031367 -0.036091 -0.025036 -0.034064 -0.020997 -0.042213 -0.062045 0.002801 -0.003935 0.032725 -0.001266 0.016577 0.011605 0.032577 0.032117 0.011831 0.027062 -0.003268 0.036973 -0.007810 -0.018494 -0.038172 -0.034453 -0.031016 -0.009359 0.010651 0.005168 0.052894 -0.004539 -0.007632 -0.028098 -0.010838 -0.004778 0.008234 0.032130 -0.018861 0.003232 0.011212 0.034750 0.003956 0.036270 0.068995 -0.004314 0.004213 -0.004827 0.011296 0.013462 0.002399 0.022803 0.015551 0.003493 -0.015656 -0.026586 -0.023125 -0.009565 -0.012766 -0.016508 0.037902 0.027985 0.057767 -0.012652 -0.018710 -0.030620 -0.023868 -0.000885 -0.002808 0.042949 0.018962 0.015927 -0.001911 0.015595 0.003956 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + -0.003016 0.003379 -0.005443 -0.026041 -0.017671 0.018740 0.021270 0.016592 0.000009 0.002341 -0.049243 -0.027341 0.001100 0.012767 0.005414 0.004447 -0.007026 -0.001668 0.009821 -0.023277 -0.012555 -0.008513 0.004609 0.027024 0.021808 0.008034 -0.012158 -0.027938 -0.014757 0.004482 0.013987 -0.001176 0.005827 0.059540 0.059139 0.022956 -0.002675 -0.013568 0.010418 0.006595 -0.015040 -0.014824 -0.007062 0.013571 0.039450 0.036740 0.001173 -0.024901 -0.015309 -0.006301 0.038383 0.071478 0.105286 0.068857 0.036501 -0.002190 -0.017263 -0.008175 -0.018852 0.028350 0.010120 0.006982 0.027959 -0.001176 -0.042917 -0.008696 0.004262 0.044345 0.003681 -0.028393 -0.008421 0.017377 0.022374 0.012754 0.040836 0.030234 0.036813 0.008975 0.006720 -0.006419 -0.019128 -0.042673 0.002410 0.028797 0.039351 0.074531 0.017123 0.000820 -0.006739 0.005113 -0.015550 0.060659 -0.022202 0.007029 -0.011674 -0.001161 -0.040201 -0.025764 -0.017142 -0.033930 -0.019671 -0.028669 0.004723 0.015163 0.007502 -0.012297 0.005895 -0.002348 0.013522 0.015415 -0.000439 0.042039 -0.007005 -0.005914 -0.031441 -0.015902 -0.010039 0.005104 0.002754 -0.001928 0.036794 0.026544 -0.002046 0.036970 -0.037726 0.014709 -0.055966 -0.000636 -0.038859 -0.041079 0.007458 -0.000143 -0.003488 -0.033380 -0.011187 0.011645 -0.017319 -0.027176 0.027492 0.009893 0.009403 0.011418 0.006838 -0.005650 -0.003357 -0.011253 -0.046410 -0.011391 0.009383 0.024006 0.007694 -0.000179 -0.004486 0.006424 -0.037067 0.003579 -0.033632 0.020301 -0.041510 -0.000000 -0.007082 0.006977 0.015545 0.034144 0.014523 -0.009128 -0.042167 -0.007588 -0.006572 -0.032399 0.026168 0.013832 0.006254 -0.009630 -0.008541 0.006338 0.026201 0.004368 -0.017670 0.017770 0.035114 0.028021 0.001188 -0.004971 0.005226 0.015944 -0.015435 0.020120 -0.013098 0.025936 -0.018230 -0.000000 + 0.032858 0.045288 0.024028 -0.017766 -0.016952 0.029459 0.005789 0.014322 0.018740 0.003361 0.011556 -0.001320 -0.011034 0.013795 0.005634 -0.021592 -0.030273 -0.027180 0.039428 0.065033 0.049362 -0.009194 -0.005220 0.026526 -0.011996 -0.018325 -0.014419 -0.000790 -0.007171 0.009553 0.035514 -0.001176 0.007152 0.064823 0.055455 -0.009868 -0.043991 -0.030569 -0.020769 0.003471 -0.022364 -0.014422 0.049675 -0.001187 0.035248 0.006986 -0.027293 -0.012356 -0.037462 0.002051 0.037660 0.083755 0.065648 0.032741 -0.023485 -0.049127 -0.023165 -0.030471 -0.021842 0.046803 -0.009207 -0.017148 -0.018290 -0.001176 -0.047110 -0.048225 -0.043909 -0.061399 -0.046590 -0.030273 -0.027648 -0.000371 -0.033241 -0.029153 0.012186 -0.010331 0.007905 0.010649 -0.002159 0.022021 -0.009916 0.003998 -0.039617 -0.031910 -0.047129 -0.045175 -0.030336 -0.025054 -0.009077 -0.019711 -0.031633 0.007776 -0.049252 -0.037521 -0.078246 -0.001161 -0.028215 -0.038901 -0.039351 -0.033794 -0.014904 -0.029200 0.002008 0.013789 -0.015817 -0.005965 -0.005812 0.009592 -0.006533 -0.014515 0.050078 0.034054 0.026314 0.012267 -0.015406 -0.046238 -0.022281 -0.035540 -0.018562 0.015991 0.019142 0.032805 -0.008528 -0.003503 -0.025331 0.026430 -0.037619 -0.000636 0.003515 -0.007074 -0.006806 -0.038753 -0.035488 -0.007838 -0.002781 0.014308 -0.024169 -0.035407 0.011177 0.009729 0.025890 0.010085 0.018582 0.024269 0.004549 0.008661 -0.023707 0.005806 0.024066 -0.014027 -0.019747 0.011916 0.020549 0.017164 -0.027034 0.006252 -0.025124 0.014283 -0.008398 -0.000000 -0.016939 -0.010632 0.011957 -0.007318 -0.010285 -0.012531 -0.038409 0.001582 0.008240 -0.028325 0.029898 -0.014474 -0.004890 0.008777 -0.009086 -0.000181 -0.005177 0.002899 -0.017280 -0.011753 0.012419 -0.008396 -0.008508 -0.015612 -0.025235 -0.000139 -0.006808 0.013838 -0.027591 0.002099 -0.033079 -0.000000 + 0.021379 0.066238 0.013583 -0.025431 -0.010387 0.008782 0.002073 0.004785 -0.006490 -0.012568 0.010615 0.019739 -0.007018 -0.011581 -0.009337 -0.012570 0.005815 -0.003794 0.052760 0.077709 0.042404 -0.015426 -0.015089 0.002290 -0.005327 0.005528 -0.006265 0.011743 -0.002036 0.007101 0.008569 -0.001176 -0.014898 0.032232 -0.023884 -0.041760 -0.047148 -0.030476 -0.027193 -0.004825 -0.002220 -0.016695 0.026342 0.001553 0.004188 -0.020498 -0.037608 0.000982 -0.005220 -0.008983 0.019253 0.032649 0.002145 -0.031681 -0.061441 -0.068217 -0.022347 -0.017862 -0.018643 0.021038 -0.005924 -0.055784 -0.061205 -0.001176 -0.015526 -0.026640 -0.008647 -0.040978 -0.048304 -0.026470 -0.019613 0.006168 -0.008934 -0.028280 0.001997 -0.014036 0.011361 0.003889 -0.010361 0.029389 0.043066 0.053113 -0.017952 -0.027450 -0.028197 -0.020386 -0.031375 -0.036196 0.011425 0.022199 0.026894 0.002945 0.002551 -0.012475 -0.039597 -0.001161 0.008418 -0.008071 0.002417 -0.007346 -0.005558 0.000461 -0.011177 0.013348 0.002766 -0.018777 -0.001823 -0.024987 0.008732 0.022729 0.020981 0.034832 0.033395 0.025830 0.000437 -0.018781 -0.014344 -0.000776 0.011083 0.020928 0.016126 0.018136 0.012578 -0.004443 -0.002792 0.027632 0.024940 -0.000636 -0.010635 -0.003977 -0.017885 0.018173 0.036462 0.018621 -0.021599 -0.012627 -0.007861 -0.020812 0.012407 -0.000099 0.015629 0.034433 0.013507 0.018762 0.019871 0.000887 -0.021386 0.011614 0.012316 0.015904 0.043410 0.018886 0.001501 0.004477 -0.021475 0.025206 -0.003148 0.013830 0.008073 -0.000000 -0.010352 0.001608 0.002723 0.008790 0.032737 0.013905 -0.029245 -0.015241 0.023735 0.013290 0.038911 0.001784 -0.012855 0.012797 -0.009530 0.002527 -0.019882 -0.011075 -0.001186 0.017612 0.001567 -0.010923 0.037163 0.004088 -0.020537 -0.022778 -0.003828 0.042012 -0.011250 0.007168 -0.016893 -0.000000 + -0.005870 0.050434 0.021238 -0.022847 0.004867 0.005255 -0.011143 -0.012207 -0.014206 0.000939 0.028410 0.004433 0.002818 -0.014116 -0.003703 0.000971 -0.009159 0.003816 0.048348 0.071989 0.035025 -0.007356 -0.003980 -0.000812 -0.002910 -0.002932 0.006428 0.022560 -0.000452 -0.001164 -0.006835 -0.001176 -0.030593 -0.019007 -0.039582 -0.018296 -0.008645 0.007875 -0.009044 -0.001552 0.016515 0.006164 0.019785 -0.001429 -0.005330 -0.023531 -0.017398 -0.006188 0.009454 -0.028634 0.003914 0.005367 -0.022930 -0.016716 -0.029175 -0.022451 -0.017903 -0.002961 -0.011479 0.007715 0.017964 -0.039956 -0.056167 -0.001176 0.035934 0.002859 -0.014782 -0.021627 -0.023024 -0.008048 -0.019089 -0.020123 -0.017844 -0.020360 0.027471 0.001234 -0.013234 0.001801 -0.003172 0.017693 0.038902 0.047340 0.013189 0.004445 -0.006482 -0.031234 -0.016673 -0.015258 0.008702 -0.001099 0.030895 -0.007780 0.020708 -0.008710 0.001407 -0.001161 0.018520 0.036418 0.029021 -0.007850 -0.039712 -0.013009 -0.020687 -0.016626 -0.005400 -0.033802 -0.010397 -0.029446 -0.009710 0.006182 0.004210 0.023556 0.008384 0.027681 -0.005942 0.008516 0.008471 -0.013667 -0.030873 -0.021181 0.007867 -0.008215 -0.016136 0.002706 -0.016750 -0.012530 0.011174 -0.000636 0.002643 0.012294 0.005901 -0.015034 -0.000062 -0.013256 -0.017922 -0.027355 -0.020927 -0.011908 0.031255 0.008215 -0.011380 0.004831 0.007816 0.037765 -0.002606 0.021357 0.015496 0.007211 0.034117 -0.011343 0.000438 -0.023754 0.003670 -0.009548 -0.010658 0.019466 -0.001844 0.002847 -0.014988 -0.000000 0.003074 -0.004118 -0.022400 -0.024240 0.002594 0.002800 0.000167 -0.004701 -0.011728 -0.009685 0.021282 -0.010900 -0.016808 0.011215 0.001290 0.004890 0.007269 0.026726 0.009101 0.010446 -0.015400 -0.032981 0.005610 -0.020204 -0.011875 0.006590 0.010401 0.013817 0.008163 -0.006423 -0.026530 -0.000000 + -0.010329 0.039702 -0.035670 -0.012398 0.013331 0.007688 -0.001139 -0.006204 -0.012654 0.005468 0.008666 -0.013242 -0.019752 -0.024580 0.008032 0.020577 0.030418 -0.005622 0.030737 0.047154 -0.031645 -0.012894 -0.005317 0.013395 0.018224 0.014201 0.010730 0.018106 -0.001708 -0.000509 -0.019523 -0.001176 -0.019503 -0.015323 -0.017531 -0.000868 -0.015257 0.009633 0.027246 -0.016085 0.009718 -0.021110 0.003333 0.024500 0.002011 0.005610 -0.021645 -0.011241 0.011625 0.000494 -0.019672 -0.006304 0.009677 -0.010059 -0.011076 -0.009417 0.006458 -0.010294 -0.005702 -0.002358 0.015820 -0.008891 -0.025498 -0.001176 0.049144 0.024396 -0.004680 -0.000300 -0.015152 -0.001176 0.018268 -0.018400 -0.010357 -0.011134 -0.003154 0.003352 -0.014365 0.025573 -0.027869 -0.025112 0.005154 0.056615 0.040878 0.014975 0.009969 -0.024054 0.003089 -0.027470 -0.003245 -0.006716 0.044025 0.009328 0.015688 -0.010131 0.009064 -0.001161 0.003779 0.042687 0.009198 -0.004392 -0.009079 -0.004202 0.006933 0.014283 0.014849 -0.003893 -0.009548 -0.018234 -0.021563 0.014215 -0.012570 0.015002 -0.001289 0.036053 0.013064 0.018316 -0.006478 -0.010688 -0.000171 -0.022251 0.024468 -0.006593 0.020499 0.034453 0.015746 -0.009713 -0.006437 -0.000636 -0.000595 0.004934 -0.013968 -0.005874 -0.002779 -0.019216 -0.015643 -0.002388 0.003971 -0.013842 0.010791 0.000322 0.001501 0.016850 0.020846 0.031794 0.015276 0.023106 0.000121 0.007231 -0.017033 -0.000459 -0.004875 0.000842 0.005201 0.008102 0.019426 0.026954 0.008918 0.002129 -0.012033 -0.000000 -0.010673 -0.007571 -0.012940 0.004713 0.013945 0.026978 0.021820 -0.005988 -0.006190 -0.040369 0.007536 -0.006393 0.013751 0.030311 0.023199 0.009440 0.014559 0.017339 -0.018962 -0.012190 -0.009439 0.014813 0.019987 0.015512 0.018767 -0.001119 -0.012724 0.008706 0.017073 0.023921 -0.005640 -0.000000 + -0.015428 -0.037517 -0.014551 -0.033986 -0.003301 -0.011660 0.005634 0.012123 0.009852 -0.002305 0.021972 0.001002 0.027315 0.034421 0.046255 0.024740 0.005188 0.002568 0.017023 0.016202 -0.009062 -0.000840 0.023358 0.021157 0.030302 0.016664 0.012822 0.017007 0.007829 0.013665 -0.004408 -0.001176 -0.010152 -0.010968 0.006874 -0.016915 0.000188 0.007497 0.016363 -0.007049 -0.013155 -0.017389 0.009187 0.013723 0.027175 0.037069 0.005921 0.002642 -0.009083 -0.009086 -0.015566 -0.004105 0.026989 0.003990 0.026511 0.019389 0.015274 -0.016238 -0.024936 -0.004363 0.010005 0.006104 0.003735 -0.001176 0.038153 0.054654 0.038576 -0.020429 -0.008651 -0.001393 -0.009569 0.004125 0.005572 -0.002497 -0.005170 0.003044 -0.004441 0.009923 -0.001035 -0.017703 0.000734 -0.022445 0.037325 0.039303 0.039386 -0.021481 0.004558 0.001824 -0.025271 0.006254 0.000374 0.017432 0.022668 -0.008896 -0.002238 -0.001161 -0.018071 0.031695 0.017335 0.022173 0.019052 -0.012638 -0.023249 0.001222 -0.003301 0.009790 -0.025169 -0.000635 -0.012547 -0.025219 -0.006959 0.016422 0.027598 -0.002639 0.011526 0.013903 0.000547 0.008220 -0.015890 -0.028525 -0.008429 0.026378 0.015690 0.033922 0.020914 -0.026841 -0.020989 -0.000636 -0.045404 -0.003147 0.011731 0.028184 0.013832 -0.000161 -0.002889 -0.011116 -0.006502 -0.017401 -0.000858 -0.001620 -0.015796 -0.013136 -0.000806 0.022545 0.020744 -0.006141 -0.034938 0.002866 0.002900 0.007700 0.007126 0.002279 0.009870 0.001183 -0.010168 0.012533 0.002217 -0.007144 -0.020776 -0.000000 -0.004238 0.021725 -0.010535 0.017866 0.016140 0.007256 -0.013378 -0.015491 -0.014081 -0.007967 0.018551 0.014793 -0.009340 -0.023216 -0.022408 -0.004845 0.018218 0.021324 0.018310 0.013883 0.007771 0.009886 -0.020202 -0.005189 -0.017674 -0.007330 0.002112 -0.003826 0.000187 0.013113 -0.004582 -0.000000 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + -0.010258 0.006290 0.006416 0.008348 -0.013230 -0.014803 -0.019403 -0.011726 0.002204 -0.020005 0.016211 -0.009860 -0.002057 0.006054 -0.005807 0.010811 0.009392 -0.013930 -0.011252 -0.000494 -0.000941 0.003068 -0.010355 -0.043854 -0.006855 -0.005395 -0.009466 -0.005520 -0.008714 -0.004201 -0.007658 0.000000 0.012685 0.002988 -0.032154 -0.000506 0.017911 -0.005595 -0.008030 -0.005218 -0.006097 -0.030531 0.022805 0.015767 0.000255 0.013415 -0.003541 -0.033407 -0.008406 0.004717 0.008432 0.008964 -0.022839 -0.007169 -0.002290 -0.011230 -0.039264 -0.014305 0.006724 -0.007042 -0.010116 -0.003154 0.000070 -0.000003 -0.025730 -0.003813 -0.012478 -0.004984 0.018593 0.009254 0.016380 -0.006588 -0.011365 -0.045289 0.002202 0.006567 -0.005597 -0.012538 -0.005930 0.015824 0.018920 0.009790 -0.034794 0.000344 0.000292 -0.011517 -0.012971 -0.002542 0.019723 0.015255 -0.000775 0.001009 -0.008135 -0.000268 -0.009945 -0.000007 -0.022384 0.002922 0.013343 0.021262 -0.000799 -0.003681 -0.007931 0.023154 0.054733 0.011283 0.000196 0.011478 -0.002697 -0.017324 -0.013819 -0.009453 -0.000467 -0.001824 0.003433 0.008121 0.025069 0.014912 -0.024341 -0.014225 -0.013649 0.031279 0.040594 0.006293 -0.002887 0.017451 0.006481 -0.000007 -0.013573 0.006968 -0.013811 0.014249 -0.007451 -0.021809 -0.019465 0.014757 0.058052 -0.005525 -0.006084 -0.004448 -0.015220 -0.012751 -0.000777 0.012330 0.032908 0.000399 0.019834 0.005471 -0.005888 0.011933 -0.000446 -0.015146 -0.008820 0.029373 0.053228 -0.017273 -0.027958 0.033612 0.020458 -0.000007 -0.021969 0.005500 -0.004936 -0.014373 -0.020601 -0.006485 -0.008913 -0.014452 -0.008701 -0.013129 -0.005133 0.000592 -0.008737 0.035017 0.027659 -0.010178 -0.005439 -0.003063 0.003311 -0.004657 0.007875 -0.015413 0.020842 0.008370 -0.015161 -0.017995 -0.011842 -0.000237 -0.027467 0.000860 -0.009615 -0.000016 + 0.004032 -0.002087 0.013914 0.010517 -0.011819 -0.014059 0.003207 -0.002332 -0.003055 -0.016928 0.001743 -0.023557 0.027606 0.019576 0.028662 0.035465 0.016409 -0.000060 0.004934 -0.007077 -0.000639 0.019074 0.011722 0.029964 0.029816 0.004585 -0.001476 0.015396 0.009137 0.010065 0.006524 0.000000 -0.012229 -0.001966 -0.001364 0.024723 0.034518 0.001178 0.021417 0.004880 -0.009338 0.004127 0.010945 -0.010852 -0.014115 0.004887 0.012739 -0.016785 0.000479 -0.010094 0.021404 0.011173 -0.020053 -0.003661 0.024842 0.010485 -0.002409 0.002465 -0.020220 0.005394 0.000450 0.012336 0.002160 -0.000003 -0.029628 0.010500 0.027520 0.032178 0.042078 0.033343 -0.007202 -0.006494 -0.014433 -0.013477 -0.012382 0.006209 0.015634 -0.004270 -0.012355 -0.012632 0.007708 -0.014249 -0.025495 0.017908 0.018479 0.031280 0.021367 0.013866 -0.021238 -0.013343 -0.021725 0.001928 0.005291 0.011301 0.004129 -0.000007 -0.037224 0.010444 0.004693 0.026277 -0.002606 -0.002142 -0.012299 -0.010654 0.014663 0.000754 0.000746 0.033983 0.006177 -0.005785 -0.046699 -0.011359 -0.012846 0.010590 -0.017930 0.013045 0.041435 0.018338 0.000092 -0.032428 -0.025176 -0.013699 0.019030 -0.017417 -0.003170 -0.003054 0.007950 -0.000007 -0.020539 0.003880 -0.027075 -0.015877 -0.019667 -0.018524 -0.019173 0.022241 0.066405 -0.006359 -0.032892 -0.019307 -0.023716 -0.019321 -0.017785 -0.007012 0.009139 0.018777 0.021916 -0.020887 -0.034673 -0.030982 -0.022981 -0.021833 -0.016034 0.036370 0.070701 -0.043537 -0.030388 -0.002606 0.016754 -0.000007 -0.009529 0.001387 -0.016372 -0.023483 0.000078 0.011047 -0.003525 0.000463 0.016938 0.011073 -0.008020 -0.000656 -0.009992 -0.008212 -0.008813 -0.004307 0.004327 -0.012761 0.039689 -0.004644 -0.012636 -0.030011 0.004092 0.016018 -0.010363 -0.001998 0.001961 0.003642 -0.008476 -0.018512 -0.005106 -0.000016 + -0.012876 -0.002299 0.009487 0.026525 -0.013599 0.008405 -0.019287 -0.010244 -0.001176 -0.005616 -0.006172 -0.012284 -0.011821 -0.010252 -0.002397 0.029968 0.006105 -0.011774 0.001560 -0.008494 -0.011008 0.006213 -0.017852 0.011510 0.016722 0.004224 0.001976 -0.022484 0.014702 -0.017284 0.006536 0.000000 -0.002458 -0.000230 0.011585 0.004533 0.003757 0.008084 -0.012968 0.001187 -0.022550 -0.031379 0.001834 0.003034 0.007836 0.009881 0.004744 0.011194 0.003899 -0.001334 0.004881 0.003142 0.024852 0.019313 -0.002893 0.014864 -0.005196 0.009629 -0.023780 -0.007703 0.007519 -0.011118 0.011609 -0.000003 -0.023597 -0.011138 0.012057 -0.013439 0.024393 0.021194 -0.000433 0.009590 -0.023679 -0.013726 -0.005560 0.001402 0.029931 -0.015160 -0.020987 -0.005358 0.005720 0.003341 -0.016125 -0.005331 0.019274 0.020035 0.003812 -0.009909 -0.007236 0.012900 -0.009767 -0.011752 0.004011 -0.010348 0.006093 -0.000007 -0.030939 -0.018851 -0.009050 -0.003017 0.002383 0.009238 0.015973 0.012197 -0.014770 -0.034980 -0.018697 0.009549 0.014903 -0.008672 -0.027492 -0.007342 -0.000561 0.006822 -0.044531 -0.026880 -0.001281 -0.006752 0.007290 -0.017797 0.002101 0.001834 -0.009702 -0.030333 -0.005830 -0.015615 0.003079 -0.000007 0.014897 0.006753 0.005169 0.020512 0.013380 -0.001433 -0.007564 0.002976 0.049500 -0.004744 -0.007298 0.012776 -0.017115 -0.016653 -0.021768 -0.018958 -0.020635 0.017913 0.043907 -0.004404 0.008826 0.013217 0.012295 -0.008704 -0.021652 -0.021660 0.037499 -0.020020 -0.010026 0.005757 0.037350 -0.000007 0.013095 0.014822 -0.023086 0.001846 0.031493 0.038394 -0.004258 -0.014128 0.038791 0.040854 0.002152 0.011388 -0.021249 -0.021547 -0.025211 -0.016262 -0.009549 -0.006406 0.044553 0.031828 -0.016217 -0.020537 0.009631 0.020563 -0.013404 -0.009907 0.025047 0.017134 0.017851 -0.012888 0.002012 -0.000016 + -0.005414 -0.003744 -0.016800 0.009662 0.000453 0.011723 0.011149 0.010492 0.012128 -0.022829 0.001147 -0.006485 -0.002086 0.007346 0.026649 0.032963 0.014769 -0.019086 -0.010267 0.005549 -0.023148 0.021184 0.046311 0.041467 0.031167 0.009263 -0.004863 0.024639 -0.010363 0.015268 -0.000301 0.000000 -0.034584 -0.028890 -0.020842 0.009925 0.011353 -0.005213 0.011552 -0.006495 -0.006359 -0.032561 0.002586 -0.006422 0.009094 0.016352 0.009034 0.004703 0.005913 -0.012244 -0.040546 -0.006291 -0.013251 0.024131 0.033520 0.010805 0.031000 -0.006324 -0.010989 0.005467 -0.021746 0.005743 -0.023923 -0.000003 -0.042204 -0.041526 -0.024638 0.033728 0.026485 0.017860 0.015812 -0.009527 -0.015304 -0.021040 -0.003282 -0.006351 0.024571 0.009305 -0.003545 -0.001524 0.026122 -0.005799 -0.041244 -0.031222 -0.014147 0.036667 0.055553 0.031783 0.030172 0.019204 -0.010385 -0.002587 -0.010739 0.014439 -0.010946 -0.000007 -0.024639 -0.026850 -0.023016 0.031984 0.012756 0.001831 0.009809 -0.019751 -0.010142 -0.013474 -0.014683 -0.019180 0.003280 -0.014039 0.000977 -0.008284 -0.016965 -0.005015 -0.042051 -0.027868 -0.045933 0.021116 0.031117 0.032395 0.002164 -0.035161 -0.014960 -0.040853 -0.026513 0.005087 -0.001549 -0.000007 -0.004683 0.017669 0.010590 0.014167 0.014126 -0.020139 -0.015409 0.002767 0.033602 -0.004677 -0.012840 0.000374 0.010704 -0.012409 0.003061 -0.008376 -0.014406 0.007150 0.044456 0.024400 0.023833 0.020058 0.030232 0.005181 -0.019009 -0.004978 0.026967 -0.017970 -0.004970 0.002493 0.030473 -0.000007 0.031451 0.020385 -0.008035 -0.017904 -0.001345 0.020401 0.009491 0.001324 0.025866 0.038692 0.013162 0.041538 0.003363 -0.034061 -0.014058 -0.001988 -0.007934 0.008985 0.075795 0.042920 0.033983 -0.016357 -0.013791 0.011201 0.000876 -0.005047 0.058481 0.027392 0.035923 -0.009936 0.007588 -0.000016 + -0.015216 -0.004970 -0.030791 -0.019428 -0.026994 -0.003458 0.023951 0.025593 -0.006090 0.001881 -0.011899 0.008926 0.034037 0.041382 0.026170 -0.002874 -0.019873 -0.024856 -0.006243 -0.005894 -0.008573 0.019123 0.039013 0.031399 0.014365 0.004743 -0.021080 0.000990 0.007856 -0.009271 -0.001701 0.000000 -0.007631 0.006684 -0.014230 0.017309 -0.031545 -0.010719 0.007254 -0.016237 -0.035896 -0.028442 -0.010921 -0.014961 0.011287 0.019707 0.006624 -0.003156 -0.004207 0.008976 -0.014033 0.007123 -0.015451 0.022032 0.018003 0.007098 -0.000186 -0.010407 -0.016847 -0.008890 -0.012221 -0.010578 -0.015500 -0.000003 -0.028947 -0.000852 0.016190 0.041043 0.000852 -0.023956 -0.027326 -0.030112 -0.000892 0.006852 0.000682 0.009027 -0.000476 0.000744 -0.014765 -0.004377 0.000559 0.021263 -0.006169 0.005737 0.022464 0.040153 0.024676 -0.010293 -0.025079 -0.019170 0.007637 -0.011853 -0.014310 0.006626 0.003279 -0.000007 -0.021082 -0.005166 0.009093 0.047888 0.020526 0.001598 -0.013561 -0.017596 -0.004830 -0.021422 -0.021401 -0.017184 -0.021414 0.021773 0.000405 -0.001246 0.002657 -0.010302 -0.018852 -0.022496 -0.008471 0.031592 0.035799 0.003350 -0.007987 -0.015847 -0.009596 -0.027156 -0.033519 0.020943 0.015566 -0.000007 0.006291 0.018891 0.010646 0.010633 -0.003182 0.024361 -0.002858 0.018026 0.022991 0.012980 -0.000899 0.006482 0.028560 0.022589 0.009026 0.011544 -0.004435 -0.013627 0.060227 0.032626 0.025302 0.037208 0.030620 0.035724 0.015268 0.019206 0.020524 0.011151 0.007160 0.031174 0.034433 -0.000007 0.033082 0.037198 0.018118 -0.008614 0.013131 0.008240 0.006426 -0.003720 -0.011638 0.022393 0.025151 0.032094 0.018003 0.024743 0.015465 0.010363 -0.014278 0.006464 0.060451 0.062133 0.037597 0.003369 0.019214 0.013118 0.004201 -0.013938 0.009303 0.054059 0.043343 0.009631 0.002626 -0.000016 + -0.030836 -0.005425 -0.001485 -0.038671 -0.000442 0.006454 0.033083 0.043206 -0.001974 -0.010254 0.018494 0.012629 0.018693 0.034380 -0.000376 -0.017407 -0.052299 -0.001144 -0.016222 0.014761 -0.000111 -0.018142 0.024219 0.005854 0.001153 -0.000605 -0.014535 0.003010 0.000856 0.002046 -0.002788 -0.000946 -0.002279 0.011037 0.003413 -0.014774 0.012847 0.012370 0.030794 0.007823 0.004235 -0.031841 0.011376 0.003873 0.000517 0.022422 -0.015854 -0.000002 -0.021099 0.015893 -0.004351 0.027874 0.004718 -0.013059 0.038487 0.011043 0.017645 -0.002920 0.009176 0.012304 0.004630 0.004233 0.002758 -0.000949 -0.009750 -0.019643 0.000745 0.009486 -0.004754 -0.003856 -0.016540 -0.028468 -0.034290 -0.052721 0.008275 -0.003107 -0.003049 0.006893 -0.015864 -0.001682 0.014235 0.026498 -0.025606 -0.011874 0.001904 0.012686 -0.000458 -0.012539 -0.023225 -0.007422 -0.024051 -0.014921 -0.032976 0.006674 -0.018924 -0.000952 -0.024738 0.016875 0.023053 -0.001728 -0.019151 -0.023417 -0.028261 -0.046134 -0.038407 -0.005638 -0.023504 -0.016371 -0.025193 -0.024020 -0.025470 -0.022452 -0.000881 0.001564 0.003103 0.008682 0.019779 -0.020056 -0.033854 -0.039755 -0.041796 -0.050318 -0.032417 -0.057298 -0.060413 -0.001998 -0.014108 -0.000952 -0.000436 0.046625 0.007024 -0.006000 -0.018318 0.003921 -0.013496 0.015225 0.024807 0.024290 0.012918 -0.017883 -0.025465 -0.023504 -0.019581 -0.008209 -0.000851 -0.012272 0.052054 0.070098 0.009643 -0.023832 -0.024504 0.006170 -0.018321 0.016912 0.004646 -0.003527 -0.015315 0.004521 0.009039 -0.000952 -0.021717 0.011198 -0.030724 -0.018593 0.004700 0.029175 0.007974 0.012256 -0.004303 -0.022006 -0.003211 -0.006098 0.019063 0.043806 0.036934 0.026497 -0.014361 -0.022060 -0.001406 0.004655 -0.035518 0.008479 0.051192 0.064021 0.036151 0.000420 -0.015856 0.037785 0.015425 -0.007822 -0.022511 -0.000962 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + -0.017642 -0.024400 -0.011820 0.004054 0.011450 -0.010965 -0.020829 0.018655 0.051643 -0.013805 -0.041814 -0.020351 -0.020879 -0.017480 -0.006319 -0.012303 0.004894 0.020780 -0.003708 -0.063961 -0.033596 -0.018925 0.000243 -0.014948 -0.033368 0.012541 0.063650 -0.011555 -0.007685 -0.013310 -0.017954 0.019722 -0.006890 0.008169 -0.007992 -0.006987 -0.005121 0.003298 0.014654 0.018329 0.010666 -0.033695 -0.035814 -0.006297 0.007200 -0.001427 0.001191 -0.000317 0.018036 0.038357 -0.022398 -0.024098 -0.012953 0.000532 -0.003910 0.005825 0.010772 0.027306 0.012626 0.021187 0.042265 -0.029979 -0.026234 0.019800 -0.005940 -0.008552 -0.023007 -0.012200 -0.034393 -0.026544 -0.022869 -0.022177 -0.030193 -0.025374 -0.004548 -0.003690 0.004768 -0.007426 0.007743 -0.033923 -0.002807 0.009540 0.003775 -0.004865 -0.029048 -0.003889 -0.038303 -0.017869 -0.047192 -0.028626 -0.009258 -0.045847 -0.041182 -0.021653 -0.005203 0.019800 0.018340 0.021357 -0.002351 0.001219 0.001286 -0.010548 -0.011307 -0.003684 -0.001462 0.007597 0.003010 -0.011254 -0.018006 -0.022348 0.008443 -0.015762 -0.007118 -0.012727 0.072365 0.034784 -0.005881 -0.014514 -0.012279 -0.009585 -0.024755 -0.015775 -0.010054 -0.013323 -0.022019 0.001316 0.007951 0.019800 -0.001144 0.001974 0.002806 0.001255 0.043862 0.013906 0.005313 0.001520 -0.010680 -0.026901 0.015556 0.015020 0.020297 0.011946 0.032076 0.011111 0.008553 -0.026983 -0.009412 0.009181 0.016730 0.017972 0.050320 0.046679 0.016472 0.011381 -0.024674 0.059484 0.027058 -0.010726 -0.019489 0.010409 0.006926 -0.002632 0.006907 0.002025 0.053307 0.019080 0.023275 0.013379 -0.005483 -0.021592 -0.007352 -0.007544 0.045270 0.017105 0.038066 0.012114 0.014158 -0.027057 -0.002619 -0.007514 0.002344 0.036257 0.045256 0.038838 0.019797 0.037709 -0.024162 0.053676 0.028074 0.014579 -0.011500 0.010409 + -0.013575 0.007468 0.006766 0.006876 -0.003329 -0.009732 -0.020676 0.001492 0.051088 -0.011185 -0.018198 -0.013289 0.003756 0.007000 0.008491 -0.013144 -0.018129 -0.014353 -0.004270 -0.027296 -0.001011 0.004264 0.022526 0.003014 -0.039943 -0.008543 0.048622 -0.006739 -0.010348 0.010504 -0.013533 0.019675 -0.014057 0.010208 -0.008625 -0.006395 -0.013514 -0.001704 0.003829 0.048722 0.039002 0.000025 0.004678 -0.004477 0.002781 -0.000418 -0.000259 -0.011841 0.002608 0.017179 0.020648 -0.004321 -0.005436 -0.004946 0.004619 -0.005791 -0.008940 0.042934 0.029459 0.013678 0.039449 -0.007741 -0.013452 0.019752 -0.009144 0.015215 -0.015404 0.010268 -0.021920 -0.015124 -0.016300 0.002160 -0.004230 -0.022837 -0.016689 -0.048334 -0.016898 -0.019922 -0.020578 -0.007435 -0.009701 0.008880 0.003747 -0.000386 -0.052694 -0.007817 -0.026180 -0.027969 -0.020666 -0.006740 0.004956 -0.040663 -0.030306 -0.026011 -0.001068 0.019752 0.019079 0.056189 -0.008010 0.015897 -0.013356 -0.020019 -0.013805 0.006085 0.005726 -0.007665 0.001572 -0.016042 -0.006737 -0.020128 -0.001955 -0.030822 -0.009325 -0.009744 0.081905 0.065178 -0.016395 -0.005646 -0.023862 -0.014639 -0.040391 -0.008942 0.001896 -0.013866 -0.012938 -0.004823 0.006614 0.019752 -0.010921 -0.025968 -0.009866 0.004202 0.041726 0.017870 -0.013081 0.011323 -0.005219 -0.033254 -0.009031 0.013805 -0.006611 0.013053 0.018353 0.009525 -0.009524 -0.027534 -0.028106 -0.019601 -0.001155 -0.001053 0.053795 0.027568 0.002125 0.003824 -0.031756 0.036317 0.034939 -0.040090 -0.041136 0.010361 -0.030164 -0.014320 -0.000991 -0.005066 0.042831 0.046073 0.006507 0.012057 0.004056 -0.006600 -0.007425 -0.016887 0.045311 0.019035 0.024114 0.011900 0.005651 -0.006456 -0.009446 -0.010773 -0.016288 0.034575 0.051438 0.045986 0.007183 0.014618 0.002795 0.041412 0.034514 -0.005385 -0.009435 0.010361 + 0.019576 0.014298 0.010259 0.002637 0.004011 -0.021301 -0.005929 -0.035293 -0.012595 0.000382 0.001696 -0.024893 0.026069 0.006103 0.020695 0.004003 -0.009862 0.011751 0.033347 0.008166 -0.006717 0.012961 0.019924 0.004101 -0.008250 -0.038867 -0.000021 -0.008357 -0.008460 0.016814 0.005474 0.015605 -0.005880 -0.013603 -0.002036 -0.002974 -0.004362 -0.008896 0.011743 -0.000885 0.028511 0.016199 0.039439 -0.028680 0.016331 0.002698 0.009193 0.003530 0.012728 0.016012 0.041350 0.027623 -0.017952 0.005777 0.010572 0.002905 0.011450 0.002020 0.039560 0.002728 0.031425 0.007600 0.000233 0.015683 -0.012517 -0.004024 0.001391 0.018192 0.013870 0.020452 0.004006 -0.042612 -0.022351 -0.014467 0.017423 -0.011113 0.003050 -0.025722 -0.007056 0.014664 0.013466 0.001558 -0.003789 0.009887 -0.001965 0.025917 -0.000392 0.012104 0.015402 -0.018802 0.006162 -0.025630 0.004718 -0.014096 0.020023 0.015683 0.011090 0.025503 0.009580 0.006811 -0.024383 0.000533 0.015182 0.018719 0.002635 -0.030187 0.009330 0.005773 -0.022038 -0.013237 0.000175 -0.024160 0.008150 0.018723 0.066862 0.039705 0.017275 -0.009589 -0.020043 -0.009741 -0.020947 0.006402 0.030637 0.000205 0.011495 -0.014815 0.011695 0.015683 -0.001034 -0.003129 -0.000896 -0.011548 -0.017638 -0.014542 0.005425 0.005860 0.004545 -0.013727 -0.026332 -0.025696 -0.003853 0.008527 -0.003676 0.002065 -0.007456 -0.033307 0.000925 -0.021775 -0.028408 -0.014901 -0.005443 -0.019870 -0.001211 -0.011934 -0.023621 0.022505 0.026575 -0.059690 -0.053695 0.006292 -0.016933 0.000451 0.000809 0.012007 0.022196 0.034846 0.000286 -0.006052 0.000565 -0.001142 -0.018393 -0.001580 0.024309 0.025391 0.033025 0.008755 -0.000603 0.015929 -0.002095 -0.000791 -0.010504 0.025947 0.057197 0.043138 0.003814 -0.006645 0.013956 0.026188 0.037814 0.002683 -0.003580 0.006292 + -0.005424 -0.010245 -0.002451 0.015020 0.000943 -0.042199 -0.003684 -0.001501 -0.011858 0.027834 0.009108 0.006136 0.035769 0.032831 0.013473 0.022762 -0.019191 -0.017963 0.016530 -0.001123 0.011800 0.038436 0.030215 0.010208 0.007945 -0.014991 -0.020704 -0.014622 -0.004597 0.022699 0.019789 0.015605 0.003141 -0.007854 0.022778 -0.004984 -0.028289 -0.008264 0.017053 0.019452 0.032176 0.008744 0.018167 -0.002212 0.003017 0.001602 0.004380 0.015882 0.007795 -0.004845 0.022870 0.005769 0.014446 -0.001519 -0.016575 0.006152 0.029324 0.020361 0.023347 -0.013070 0.025099 0.011561 0.022484 0.015683 -0.023764 -0.027801 0.008857 0.036063 0.017235 -0.000537 0.024851 -0.019088 0.002667 -0.008983 -0.007524 -0.000438 0.005071 0.010741 0.015841 0.030623 0.020021 -0.035795 -0.016022 -0.032350 0.008516 0.044939 0.046542 0.012392 0.038246 -0.010373 -0.027826 -0.007259 0.012887 -0.006838 0.023856 0.015683 0.030843 0.043609 0.027660 0.010122 0.014881 -0.012441 -0.013701 0.032786 0.019984 -0.011688 0.003837 -0.003392 -0.009009 -0.005062 0.016746 0.034636 0.017323 0.001590 0.066457 0.032585 0.017165 0.010517 0.012903 -0.010903 0.006259 0.034737 0.028260 0.038585 0.038143 -0.007897 0.024847 0.015683 -0.013038 0.003467 -0.004154 0.013926 -0.001433 -0.014978 -0.006445 0.031146 -0.002873 -0.002679 -0.008405 -0.011118 0.010518 0.004566 -0.018236 0.000090 -0.016202 0.000753 0.005918 0.000105 -0.024047 0.018660 -0.005022 -0.023750 -0.011421 0.009466 -0.002948 0.053879 0.032908 -0.048361 -0.054969 0.006292 -0.031206 -0.016001 -0.005429 -0.001510 0.021429 0.010060 0.005288 -0.014336 -0.028000 -0.010511 -0.004398 -0.008653 0.026060 0.016673 0.013891 0.025861 0.022228 0.008565 -0.029611 -0.015931 -0.009378 0.016821 0.038939 0.018542 0.025374 0.006596 -0.009703 0.027464 0.005847 0.002768 -0.021932 0.006292 + 0.023824 -0.010428 0.001753 -0.003087 0.013982 0.027183 -0.003180 -0.008569 -0.028211 0.030570 0.014769 0.034518 0.006391 0.009748 -0.014008 0.038162 -0.009529 -0.022081 0.044353 0.007780 0.029719 0.004888 0.009706 0.001477 0.018742 -0.011667 -0.041359 0.000786 -0.010176 0.034313 0.023069 0.021605 0.015628 0.016070 0.009426 -0.005976 0.001812 0.058117 0.026175 0.032179 0.014717 0.060303 0.030984 0.014974 0.028925 -0.006638 0.012304 0.009531 -0.009024 0.007716 0.069875 0.046529 0.020520 0.035894 0.011887 0.041249 0.023327 0.026722 0.022071 0.031886 0.024014 0.050708 0.042931 0.021682 -0.022140 -0.030420 0.009292 0.021157 0.041874 0.022913 0.007914 0.005518 -0.003848 0.001297 -0.011786 0.005861 0.030424 0.043310 0.052586 0.025998 -0.003684 -0.017560 -0.011458 -0.038083 0.008887 0.048383 0.063203 0.061125 0.020896 0.003570 -0.022920 0.039409 0.007648 0.027650 0.009535 0.021682 0.052715 0.045375 0.057149 0.072423 0.044641 -0.018576 -0.023640 -0.001644 -0.003845 -0.010949 -0.018095 -0.007978 0.001500 0.014757 0.003864 0.022738 -0.002451 0.005520 0.049254 0.024777 0.041661 0.058938 0.051282 -0.003511 -0.011516 -0.005900 0.005800 0.075034 0.039578 0.009744 -0.014283 0.021682 0.010544 0.012613 0.012746 0.019283 0.012794 0.008452 -0.034786 -0.006023 -0.024706 -0.020705 -0.018665 0.018144 0.006414 0.001732 -0.015791 0.014581 0.016522 0.007465 0.007537 -0.009008 0.021329 0.014824 -0.005849 0.012211 -0.012701 -0.000587 -0.017177 0.051790 0.043168 -0.026821 -0.058419 0.012291 0.005730 0.016981 0.002389 0.008207 0.035049 -0.014610 -0.025900 -0.017156 -0.010334 -0.019824 -0.025219 0.004564 0.020019 0.008831 0.007375 0.012087 0.020134 -0.017274 -0.001391 -0.002368 0.004417 0.018802 0.011722 0.007109 -0.016274 0.002850 -0.026232 0.009888 0.014072 -0.005195 -0.013557 0.012291 + -0.020052 -0.007517 -0.006545 -0.014973 0.053887 0.064595 0.036752 0.018318 -0.021182 -0.016969 -0.012825 -0.008308 -0.004845 0.003248 -0.027392 -0.012403 -0.008199 -0.019555 -0.033615 -0.017149 -0.010700 -0.015731 0.033781 0.054685 0.013931 0.000949 -0.038492 0.012430 -0.039203 0.040769 -0.015864 0.015729 -0.010451 -0.015959 -0.007881 0.005409 0.052709 0.044913 0.048985 0.007672 -0.007391 -0.000716 -0.016915 -0.005771 -0.004001 -0.003651 -0.011172 0.002265 -0.015992 -0.005675 -0.006314 -0.025788 -0.021266 0.000218 0.025561 0.034250 0.034277 -0.011271 -0.015514 0.035279 -0.027599 0.036984 -0.018088 0.015807 -0.014265 -0.013583 0.003930 0.011558 0.055517 0.039542 -0.003814 -0.020077 -0.021753 -0.007679 -0.016934 -0.000728 0.006771 -0.007118 0.025079 -0.002698 -0.003870 -0.008007 -0.016881 -0.026822 0.001668 0.001533 0.027190 0.045129 -0.013701 -0.027237 -0.024973 0.048010 -0.027525 0.027287 -0.037463 0.015807 0.008294 0.035271 0.024128 0.053190 0.029342 -0.001682 -0.043839 -0.023621 -0.030530 -0.017455 -0.024124 -0.023736 -0.036490 -0.014805 -0.023449 0.018568 0.012228 -0.006993 0.004360 0.005862 0.004055 0.012391 0.010024 -0.006717 -0.043551 -0.016689 -0.028112 0.048151 -0.017760 0.002427 -0.063790 0.015807 -0.017131 -0.008458 0.015507 0.009394 0.035625 0.011587 -0.001103 -0.006992 -0.004569 -0.010106 -0.023830 -0.015169 -0.005094 -0.015616 -0.019940 0.008658 0.001120 -0.000819 -0.006405 -0.021813 0.003250 0.014415 0.007714 0.002401 0.003924 -0.011174 -0.010489 0.045005 -0.006503 0.004881 -0.065509 0.007427 -0.000741 0.014472 0.031123 0.030255 0.067298 0.047116 0.002790 -0.005749 0.011998 -0.000449 -0.008935 -0.029870 -0.004493 0.013671 0.007275 -0.019267 0.000488 0.000285 0.004957 0.012008 0.007576 0.023905 0.046869 0.042156 0.000312 -0.008597 0.008677 0.037922 0.005124 0.037665 -0.006576 0.007427 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + 0.031060 -0.023546 -0.024495 -0.018588 0.013122 0.047195 0.015312 -0.018387 -0.024813 0.024649 -0.031754 -0.021173 0.009040 0.052674 0.026868 0.004597 -0.013591 -0.005615 0.016204 -0.040981 -0.022022 -0.003090 0.048285 0.042631 0.019022 -0.030248 -0.022244 -0.033054 0.013746 0.008324 0.031043 0.003543 0.049329 0.002821 0.017834 0.007910 -0.022420 -0.027261 -0.035725 -0.023998 -0.012927 0.030546 -0.032417 -0.005595 -0.012701 0.005373 0.003464 -0.012139 -0.000879 -0.013334 0.043672 -0.003603 0.028824 -0.005563 -0.017558 -0.025131 -0.041917 -0.023737 -0.019039 -0.038356 -0.018160 -0.007982 0.025788 0.003543 0.027952 -0.006302 -0.000959 0.074602 0.065268 -0.008187 -0.028359 -0.029588 -0.020865 0.002923 -0.028886 -0.016107 0.030158 0.069746 0.005800 -0.017134 -0.038172 -0.012330 0.020654 -0.005599 0.027904 0.135706 0.105464 0.000824 -0.043685 -0.063367 -0.024595 -0.003981 0.003258 0.006635 0.026878 0.003543 0.008127 -0.028106 -0.024157 0.009432 0.078459 0.072276 0.026044 -0.027894 -0.010754 0.035341 -0.046328 -0.060579 -0.005460 0.038865 0.032119 0.045120 -0.014769 -0.000939 0.020851 -0.060107 -0.070615 0.038138 0.111098 0.109066 0.075309 -0.023084 -0.001620 0.008437 0.018804 0.015485 0.017046 0.003543 -0.018639 -0.035415 -0.014496 -0.050729 -0.008764 0.042881 0.044648 -0.003068 0.003012 0.042866 -0.019576 -0.047692 -0.059830 -0.011089 0.035814 0.075241 0.024162 -0.027390 0.002997 -0.049135 -0.053906 -0.088971 -0.016975 0.078376 0.111851 0.052297 -0.013111 -0.013616 0.029870 -0.023509 -0.005975 0.003541 0.045045 -0.037319 -0.019029 -0.017443 -0.014058 -0.018121 -0.002435 -0.021893 -0.008720 0.035732 0.000403 -0.009932 -0.022910 -0.006273 -0.006230 -0.023287 0.010731 -0.028079 0.041147 -0.018426 -0.018667 -0.035078 -0.017918 -0.025409 0.001126 0.005307 0.002023 -0.016772 0.023940 -0.061732 -0.013232 0.002777 + 0.002408 0.008590 0.003059 -0.008565 0.047364 0.028293 -0.000784 0.016027 -0.007932 0.005363 -0.026344 -0.024526 -0.026051 0.057618 0.047701 0.015448 -0.013115 -0.016760 -0.004147 -0.001726 -0.006301 -0.016671 0.056514 0.031784 0.018197 0.008138 -0.009634 -0.010911 0.004119 0.021773 0.035835 0.011858 0.031745 0.046876 0.021128 0.010254 -0.017560 -0.000751 -0.022719 -0.016496 -0.031743 -0.004592 0.055462 0.049076 -0.003200 -0.025938 -0.009948 -0.005443 0.001845 -0.022297 0.044708 0.122492 0.092338 0.024284 -0.038167 -0.014359 -0.024532 -0.006986 -0.035341 0.003976 -0.006508 0.005649 0.023139 0.011858 -0.026810 0.022724 0.016913 0.017371 -0.050979 -0.033922 -0.032825 -0.057706 -0.054360 -0.060654 0.018260 0.088595 0.075043 0.049864 0.005595 -0.014327 -0.019960 -0.018071 -0.047181 0.064840 0.114874 0.111763 0.016769 -0.014606 -0.041843 -0.066939 -0.065002 0.013914 -0.025240 -0.010700 -0.013448 0.011858 -0.040892 -0.020136 -0.030200 0.019850 -0.006154 -0.024133 -0.003398 -0.028575 -0.044116 -0.052455 -0.052330 -0.002443 0.014588 0.038316 0.047310 0.020000 -0.003424 -0.023870 -0.077387 -0.056004 -0.008223 0.045447 0.032031 0.042947 0.013543 -0.020133 -0.060103 -0.013986 -0.039729 0.000934 -0.037757 0.011858 -0.022762 -0.036376 -0.040584 -0.026044 -0.018109 -0.002805 0.025970 0.064871 0.065567 -0.003093 -0.029814 -0.031624 -0.029386 -0.018640 0.016102 0.060692 0.082241 0.001361 0.005507 -0.048473 -0.061115 -0.053893 -0.025549 0.033473 0.103032 0.149767 0.072941 0.000563 0.008927 0.025208 -0.007561 0.011856 0.042053 -0.009556 -0.011935 -0.021126 0.014003 -0.003398 -0.013962 0.015043 0.019630 0.016853 -0.013180 -0.027315 -0.020907 -0.010477 -0.044948 -0.024648 0.039643 0.051121 0.042963 -0.005189 -0.031756 -0.034160 -0.002667 -0.033021 -0.008214 0.076447 0.085913 0.004763 0.034041 -0.022643 -0.017626 0.011092 + 0.045317 0.023715 -0.050942 -0.018236 0.049893 0.024526 -0.008345 -0.013330 -0.026415 -0.004546 -0.001394 -0.038271 -0.019855 0.007494 0.038155 0.003017 -0.043179 -0.011793 0.018174 0.026146 -0.060035 -0.021977 0.023826 0.029682 0.001974 -0.040190 -0.013241 -0.026863 -0.019222 0.010732 0.014524 0.011865 0.019886 -0.016994 -0.053546 -0.035380 -0.014157 0.009493 -0.025852 0.002103 0.035124 0.059092 0.098325 0.043152 -0.010317 -0.016283 -0.039916 -0.030713 -0.001034 0.021807 0.098687 0.097572 0.030321 -0.033364 -0.040891 -0.034335 -0.050640 0.015523 0.069725 0.013250 0.003210 -0.001821 0.006475 0.011865 -0.026078 0.044318 0.015136 -0.027913 -0.044062 -0.034561 -0.023311 -0.041163 -0.033296 -0.025438 -0.011986 0.010940 0.030026 0.009661 -0.003607 -0.007385 0.018736 0.008407 -0.002927 0.038508 0.049988 0.020740 -0.019173 -0.020423 -0.024391 -0.011721 -0.013996 0.005360 -0.009840 -0.031423 -0.030836 0.011865 -0.014135 0.018229 -0.002652 0.011463 -0.011613 -0.015294 -0.011030 -0.028627 -0.041109 -0.055669 -0.063587 -0.028165 0.001574 0.011684 0.033710 -0.014405 0.016855 -0.020716 -0.049224 -0.034596 -0.010664 0.013642 0.003447 0.016941 -0.012471 -0.001036 -0.054905 -0.032746 -0.036059 -0.009583 -0.022250 0.011865 0.021355 0.076500 0.051800 0.039032 0.003645 0.013902 -0.011744 0.022532 0.003483 -0.012970 -0.013138 -0.027484 -0.011912 0.007507 -0.014420 -0.008461 0.019839 -0.008281 0.032681 0.075830 0.030095 0.026612 0.021856 0.012967 -0.003570 0.046968 0.021547 0.002357 0.006423 0.035208 0.027280 0.011863 0.046324 0.011660 0.020389 -0.018202 0.008124 0.013849 -0.049883 0.002643 0.012531 0.059055 0.023952 -0.013430 -0.006422 0.016132 -0.007575 -0.001371 -0.027427 0.062672 0.066535 0.042950 0.010650 -0.019856 0.012576 0.006263 -0.032898 0.009089 0.091481 0.029345 0.035455 0.004308 0.003025 0.011099 + 0.003929 -0.014416 -0.036521 0.002061 -0.007310 0.006688 -0.016109 -0.014196 -0.020826 -0.000242 -0.021703 -0.023990 -0.006494 0.013401 -0.017546 0.002012 -0.020583 -0.003328 0.005332 -0.003864 -0.034025 0.015419 -0.001498 -0.020421 0.002574 -0.025835 -0.009855 -0.043556 -0.040904 0.002198 -0.000316 0.012000 -0.004503 -0.019566 0.002852 -0.008954 0.003958 0.007613 0.016742 0.046405 0.076575 0.052453 0.023260 0.023632 0.000330 -0.016745 -0.030603 -0.030730 -0.004227 0.011025 0.082786 0.033819 0.052004 0.009035 0.001048 -0.017213 -0.002261 0.047318 0.086020 0.013398 0.029084 0.011668 0.016334 0.012000 0.011158 0.049220 0.026196 -0.016938 0.004578 0.036819 0.000575 0.013027 0.026648 0.006109 -0.023975 -0.019948 -0.007060 -0.039348 -0.025383 -0.001577 0.007963 0.028201 0.051483 0.028774 0.025027 0.003174 -0.011445 0.025619 0.007020 0.020688 0.044736 0.024789 0.042479 -0.020580 -0.010739 0.012000 -0.028171 0.036691 0.025620 0.020159 -0.004459 0.019213 0.000818 -0.022065 -0.046518 -0.030372 -0.041304 -0.034940 -0.028942 -0.001045 0.020342 0.021754 0.004993 -0.011837 -0.036366 0.009332 0.022383 0.012571 0.007815 0.027455 0.031798 -0.009575 -0.046871 -0.022993 -0.017611 -0.010126 0.003561 0.012000 -0.034665 0.090927 0.055317 0.018217 -0.009445 -0.001017 -0.014710 0.001521 -0.022849 0.015523 0.021745 0.038568 -0.012993 -0.028912 -0.015775 0.010760 -0.011589 -0.007574 0.002204 0.102257 0.100854 0.011795 -0.024358 -0.013696 0.002317 0.005441 -0.011029 -0.009781 -0.001582 0.023605 0.031621 0.011998 0.001490 0.025510 -0.003631 -0.040078 -0.012318 0.000918 -0.037312 -0.000125 0.015593 0.045713 0.011031 0.025813 -0.010506 0.030102 0.033409 0.027016 -0.007113 0.017264 0.038319 0.056992 0.021507 -0.029293 0.012867 0.022499 -0.001655 -0.007705 0.027933 0.016128 0.033417 -0.000124 0.008454 0.011233 + 0.007912 -0.011561 0.007858 0.049300 0.017240 -0.007835 -0.010198 0.006883 0.012273 -0.024480 -0.021100 -0.009836 0.022014 0.010611 0.009822 0.009213 -0.023159 -0.013007 0.006305 -0.006759 0.035874 0.055287 0.019304 -0.001960 0.001509 -0.013795 0.003270 -0.008888 -0.012169 0.006789 0.029330 -0.000000 -0.038170 -0.021018 0.006064 0.031604 0.062820 0.045153 0.054551 0.006236 0.018098 0.037476 0.009064 0.023969 0.034193 0.002865 -0.010865 -0.010858 -0.012495 -0.005081 0.028924 0.000708 0.048354 0.086028 0.071117 0.028154 0.039522 0.010280 0.023538 0.034116 0.026395 0.025191 0.024419 0.000000 -0.002775 -0.028751 -0.013264 -0.003702 0.021515 0.048097 0.006250 0.017414 0.002752 -0.017766 -0.001300 -0.050689 -0.019855 -0.045794 -0.052793 0.010240 0.016752 -0.008830 0.008010 -0.024547 -0.043782 -0.007112 -0.000175 0.020474 0.038000 0.029642 0.006039 -0.015391 0.009514 -0.023599 -0.028270 0.000000 -0.036108 -0.018839 -0.003480 -0.013233 -0.017492 -0.018827 0.000433 -0.030043 -0.018319 -0.022927 -0.030016 -0.014419 0.001786 -0.029585 -0.009404 0.043412 -0.024113 -0.027039 -0.043510 -0.032417 0.005056 -0.003595 -0.005440 0.003643 0.049786 -0.039218 -0.033122 -0.049010 -0.028132 -0.036412 -0.012881 0.000000 0.023354 0.056497 0.042687 -0.000772 0.001107 -0.004961 0.012990 -0.036805 -0.017668 -0.010848 0.031620 0.054593 0.013211 -0.009944 -0.001990 0.031120 0.037596 0.021565 0.036157 0.087591 0.089243 0.036564 0.007989 0.015132 0.053648 0.012560 0.019284 0.003127 0.023293 0.032054 0.056241 -0.000002 0.007293 -0.017555 -0.012468 -0.009828 0.043813 0.075938 -0.007237 0.008959 -0.018080 0.005528 0.013837 0.039684 -0.009851 0.030106 -0.003690 0.001722 -0.014166 -0.043978 0.002162 0.015937 0.044339 -0.025751 0.051677 0.062758 0.008453 0.000326 -0.042232 0.013201 0.025639 -0.006249 0.009847 -0.000767 + -0.054206 -0.023030 0.035080 0.016814 -0.013872 -0.045755 -0.023438 -0.013884 -0.033815 -0.008312 0.020165 0.049932 0.084352 0.042736 0.013605 -0.011501 -0.036446 -0.058271 -0.041615 0.004981 0.116368 0.118457 0.046846 -0.024436 -0.030505 -0.045173 -0.074235 0.013495 -0.031647 -0.000156 -0.009903 -0.000000 -0.037432 -0.042693 -0.002471 -0.015628 -0.034272 -0.023578 -0.024571 0.007548 -0.024911 -0.015825 -0.000901 0.026447 0.043333 0.008351 0.010012 -0.009038 -0.023226 -0.004381 -0.049460 -0.030172 0.030494 0.054719 -0.005964 -0.015101 -0.034750 -0.021588 -0.037027 0.005390 -0.039804 -0.001148 -0.041387 0.000000 -0.045359 -0.043652 -0.040947 -0.034869 -0.011799 0.031311 0.061445 0.089015 0.019513 -0.026528 -0.025038 -0.024470 -0.030604 -0.045569 -0.014273 0.029816 0.001470 -0.012807 -0.055849 -0.060733 -0.058722 -0.052828 -0.035047 0.010435 0.062796 0.074791 0.001450 -0.013205 -0.022894 0.007722 -0.029768 0.000000 -0.018770 -0.004802 0.027739 0.009710 0.006354 -0.004211 0.034682 0.010345 -0.002804 -0.027245 0.013533 -0.005173 0.005281 -0.021277 0.004222 0.025900 -0.006529 -0.029106 -0.025566 0.011878 0.019954 0.009472 0.001049 0.006636 0.036080 0.011972 -0.025539 0.001466 -0.007861 0.013177 0.001632 0.000000 0.009251 0.055764 0.042679 -0.007045 -0.012915 0.001007 -0.001121 0.011756 -0.001771 -0.017930 0.029404 0.043155 0.012591 -0.015260 -0.001842 0.014796 0.025255 0.014568 0.004585 0.060065 0.074500 0.009647 -0.005890 0.013467 0.007255 0.019021 0.013724 0.038491 0.003105 0.034544 0.019243 -0.000002 -0.022602 -0.035394 -0.028047 -0.004844 -0.018902 0.004685 0.024997 0.035857 -0.018474 -0.014790 -0.046138 -0.009904 -0.016749 0.007145 0.037168 0.045392 0.001782 -0.018436 -0.018591 -0.070428 -0.024491 -0.033282 0.010398 0.044473 0.065598 0.034634 -0.019931 0.003656 -0.009869 0.002381 -0.032586 -0.000767 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + 0.017717 0.028181 -0.010629 -0.013982 0.017096 0.011579 0.015172 0.012862 0.019658 -0.012893 -0.020622 -0.007029 -0.015480 0.001072 -0.021799 -0.028066 -0.025162 -0.009804 0.019320 -0.015443 -0.002702 -0.025035 0.007205 -0.008904 -0.009781 -0.000738 0.001812 0.004712 0.004563 -0.018822 -0.010312 0.015598 -0.004166 -0.013634 -0.018660 0.004195 -0.001386 -0.027812 -0.014553 0.010275 0.003043 -0.044965 0.002281 0.000003 0.003384 0.004575 -0.020995 0.005841 -0.007105 0.007358 0.008619 -0.016194 -0.017948 0.003634 0.001907 -0.035521 -0.006753 -0.000890 0.000962 -0.007195 0.007173 -0.029343 -0.023583 0.010797 -0.029801 0.029094 -0.011294 -0.012360 -0.014257 -0.027962 -0.025218 -0.030457 -0.016282 -0.013449 0.028443 0.017750 0.029095 -0.018817 -0.023077 -0.008201 0.009524 -0.005091 0.005377 0.041000 -0.003227 0.004729 -0.011004 -0.030552 -0.036936 -0.021240 -0.030384 -0.036389 -0.041162 0.002336 0.017535 0.010170 0.002108 0.016615 -0.002970 -0.022360 -0.001407 0.026671 -0.006601 0.000802 0.008776 -0.013696 0.025555 0.001008 -0.001187 0.002058 -0.010796 0.000849 -0.002038 -0.022041 0.018009 0.017998 0.004875 -0.020423 0.020783 0.012154 -0.018730 0.009805 0.002468 0.021800 -0.004893 -0.006698 -0.009573 0.004850 -0.052633 -0.014370 -0.015577 -0.010393 0.014561 0.032758 0.030011 0.016269 0.003046 -0.024910 0.001412 -0.014922 -0.020346 -0.010376 0.017080 0.013183 0.003933 -0.011398 -0.048640 -0.013343 -0.028357 -0.011393 0.020417 0.022302 0.023895 0.011074 -0.004931 0.035095 -0.003860 -0.016807 -0.034543 0.001899 -0.030796 -0.012060 -0.002666 0.024401 0.054863 0.049201 0.021322 0.026214 0.028299 -0.009536 -0.002570 0.003743 0.025604 0.001840 0.014264 0.006521 -0.003394 0.008439 -0.022791 -0.006014 -0.011362 0.045685 0.051757 0.035820 0.020318 0.010179 0.019178 0.051223 0.029623 0.027694 -0.012522 0.006155 + 0.002319 0.023288 0.019241 -0.003918 0.017837 0.019042 -0.002748 0.001402 0.023421 0.023061 -0.024486 -0.009223 -0.021682 0.009923 0.001603 -0.006093 -0.003735 0.012201 0.052899 0.000124 0.001774 -0.029926 0.028712 0.033214 -0.011761 0.001390 0.016099 0.007876 0.032983 -0.009249 0.006787 0.015353 -0.061994 -0.027560 -0.023061 0.000477 -0.018531 -0.010303 -0.010697 -0.009335 0.022749 -0.003291 -0.008215 -0.013946 -0.014719 -0.044586 -0.039376 -0.013299 -0.024237 -0.000117 -0.010499 -0.020956 -0.033037 -0.010378 -0.043157 -0.030328 -0.034193 -0.020762 0.011881 -0.040093 -0.012349 -0.055413 -0.033584 0.010552 -0.014593 0.039959 0.013934 -0.020576 -0.015996 -0.022986 -0.014017 -0.009511 -0.028408 -0.025445 0.039404 -0.015678 -0.007242 -0.023416 -0.027326 -0.004886 -0.000484 0.003634 0.013743 0.056318 -0.003522 -0.027394 -0.017278 -0.030105 -0.024543 -0.007758 -0.016770 -0.029265 -0.034590 -0.011536 0.012395 0.009925 -0.031638 0.055110 0.022207 -0.004428 0.010014 0.020192 -0.008433 0.000823 0.001933 0.001888 -0.002970 0.006158 -0.012006 -0.010694 -0.018476 -0.002072 0.001763 0.000895 0.015037 0.061821 0.025746 -0.008968 0.002512 0.009361 -0.005715 0.006765 -0.000416 0.039864 0.010468 -0.015439 -0.020626 0.004606 -0.032732 -0.025859 -0.007386 -0.019266 0.034478 0.022224 -0.007683 0.000510 -0.005397 -0.004484 0.004472 0.018954 0.012001 -0.000764 0.004564 0.019338 -0.015324 -0.034179 -0.022045 -0.021145 0.001475 -0.009840 0.043838 0.019730 0.020104 -0.019064 -0.029956 0.034739 0.012447 -0.024494 -0.039914 0.001654 -0.017230 -0.016153 -0.002358 0.023220 0.015692 0.015882 0.001464 0.017732 0.001537 0.011812 -0.004583 -0.019093 -0.010329 0.021512 0.007348 0.020005 0.002062 -0.009144 0.008587 -0.010821 -0.010698 0.012994 0.047349 0.022313 0.018770 0.009641 -0.008580 0.017200 0.011643 0.008839 -0.009693 0.005911 + -0.009006 -0.000313 0.003560 0.018913 0.007270 -0.007940 -0.008434 0.002008 0.017953 0.035437 0.011431 -0.010199 -0.024901 -0.010342 0.001125 0.025785 0.024845 0.008510 0.040171 0.015237 0.002063 -0.010591 0.013279 0.007073 0.011810 0.024127 0.011957 -0.001775 0.024475 0.007270 0.010429 0.015352 -0.045605 -0.025527 -0.026908 0.001611 -0.009365 -0.014584 0.014943 0.023414 0.027723 -0.004923 0.003763 -0.002280 -0.013775 -0.014760 -0.015390 0.013099 -0.006992 0.017925 -0.002178 -0.024649 -0.024259 -0.022454 -0.011009 -0.018248 0.011375 0.028058 0.018587 -0.027982 0.017982 -0.022915 -0.003680 0.010551 -0.008692 0.039226 0.023246 0.033924 0.006179 0.006206 0.021350 0.009319 -0.025039 -0.043597 0.013782 0.001509 0.001829 0.008241 0.004956 -0.012499 -0.025827 0.036706 0.018197 0.052469 0.020553 0.030375 0.009556 0.020708 -0.006727 -0.005330 0.022352 0.001307 0.013755 -0.008155 0.035906 0.009924 0.006996 0.019812 0.004405 -0.019104 0.006028 -0.011528 0.008272 -0.003367 0.005958 -0.018240 -0.005759 -0.006665 0.006131 0.005000 0.006810 -0.001574 -0.020399 0.011493 0.010155 0.014908 -0.014346 -0.010080 -0.002972 0.007257 -0.000044 -0.015669 0.011980 0.034766 0.032054 -0.041539 -0.027982 0.004604 -0.042173 -0.044030 -0.035090 -0.017416 -0.006309 -0.004129 -0.000982 -0.003363 0.000689 0.015266 -0.018090 -0.013674 0.006674 0.012467 0.023305 0.012441 -0.017323 -0.024183 -0.012128 -0.058385 -0.046077 -0.002211 0.004659 0.016405 0.006186 -0.023962 -0.028758 0.014804 0.015419 -0.052793 -0.050931 0.001653 -0.022085 0.004350 0.002930 0.011828 0.012684 0.041627 0.013539 -0.004694 -0.033385 0.006293 -0.006468 -0.015789 0.010800 0.014079 -0.002637 0.028302 0.001516 0.004529 -0.011849 0.005625 -0.011053 0.013078 0.016694 0.031896 0.032617 -0.011300 -0.028869 0.013987 0.006911 0.006043 0.004840 0.005910 + 0.015428 -0.001165 0.005079 0.001609 -0.014876 0.027230 0.034920 0.038172 -0.005734 0.050120 0.032269 0.010001 0.006477 -0.012670 -0.037549 -0.013821 -0.018199 0.001571 0.057737 0.027626 0.019763 0.017233 -0.008403 0.000534 0.024527 0.021788 0.000975 -0.010578 0.012287 0.026979 0.027344 0.015078 -0.013274 -0.026188 -0.007032 0.029432 0.001255 -0.014751 0.023561 0.026821 0.041453 0.038027 -0.008369 0.023458 0.004612 -0.012732 0.008682 0.008212 -0.006170 -0.017316 0.027599 -0.023057 0.018478 0.019504 0.013188 -0.006899 0.025565 0.011164 0.006299 -0.006788 0.013996 0.010320 0.029462 0.010277 0.022512 0.014252 0.047652 0.063586 0.000742 0.007291 -0.008860 0.018361 -0.007466 -0.043195 -0.036343 0.010948 0.018907 0.009201 -0.011621 0.028918 0.032407 0.035126 0.021923 -0.016536 0.038172 0.050973 0.022175 -0.006367 0.022589 0.036906 0.028185 0.026228 0.039322 0.001037 0.028832 0.009650 -0.022770 -0.001772 0.017401 0.009953 -0.031901 -0.009062 -0.001895 0.001624 0.003451 -0.017109 -0.027848 -0.009246 0.006314 0.008927 -0.017530 0.019834 0.018364 0.002506 -0.009088 -0.029731 -0.005797 0.011716 -0.023820 -0.026249 0.014512 0.023845 0.013094 0.022239 0.038540 -0.050418 -0.034289 0.004331 -0.020147 -0.027250 -0.013116 -0.009222 -0.025453 0.008372 0.004349 -0.006553 -0.001421 0.006469 -0.036093 -0.037573 -0.010978 -0.028152 0.014796 0.007608 -0.010588 -0.017368 -0.006670 -0.059486 -0.047798 -0.025408 -0.039773 -0.002692 0.004503 -0.010595 -0.013164 0.016002 0.012558 -0.067268 -0.056665 0.001379 -0.011644 0.006425 0.015211 0.017992 -0.014221 0.006431 0.005396 -0.001133 -0.014803 0.003075 -0.023658 -0.024318 -0.020957 -0.028922 0.005429 0.021925 0.010479 0.019422 0.005436 -0.017009 -0.013703 0.002298 -0.030715 0.003263 0.006833 0.000301 0.003701 0.016532 -0.001945 -0.011323 -0.016403 0.005636 + 0.028071 0.004440 -0.038497 -0.031184 0.006804 0.027759 0.043143 0.014850 0.008480 0.039943 0.022074 0.011126 0.045915 0.036533 0.013617 -0.007539 -0.001658 0.000144 0.067595 0.029575 -0.020131 0.006274 0.028782 0.044247 0.041254 0.007155 0.017510 0.011720 0.004228 0.052955 0.036701 0.015078 0.008821 -0.025397 -0.012394 -0.013016 0.044089 0.064600 0.024410 0.011857 0.021535 0.014482 -0.010084 0.000257 0.039495 -0.011223 -0.001867 -0.003569 0.006654 -0.010466 0.023796 -0.027462 -0.007551 -0.001132 0.035682 0.046154 0.016529 0.010148 0.005436 0.021683 0.000747 0.029369 0.018056 0.010277 0.007531 -0.010152 0.016897 0.034418 0.064100 0.044457 -0.036694 -0.031994 -0.015445 -0.026703 -0.035840 -0.005633 0.034067 0.011991 0.008237 0.033824 0.024280 0.011562 -0.007563 -0.039229 0.005711 0.049252 0.037743 0.021595 -0.007476 -0.004285 0.001715 0.035199 0.014590 0.009008 0.001968 0.009650 -0.000561 0.000845 0.004643 0.034814 0.038372 -0.002802 -0.026595 -0.015673 -0.020418 -0.013878 -0.033601 -0.005567 -0.004893 0.034700 0.048605 0.073110 0.033952 -0.000054 0.003010 -0.024887 -0.010033 0.018976 0.009336 0.015437 0.039776 0.008813 -0.016746 0.055370 0.050804 -0.011528 -0.026293 0.004331 -0.000202 -0.017783 -0.000492 0.018291 0.054226 0.025984 -0.009375 -0.019595 -0.002083 0.004345 -0.018226 -0.033528 -0.012617 0.031588 0.061795 0.056938 0.034026 0.005794 0.017478 -0.030843 -0.028099 0.005975 0.027495 0.031413 0.047833 0.021536 0.011010 0.062775 0.067559 -0.019383 -0.026530 0.001379 0.015611 0.031031 0.029581 0.036115 0.029255 0.004409 -0.028488 -0.021068 -0.004624 0.003947 -0.009510 -0.001221 0.008119 0.013447 0.006368 0.012026 0.016381 0.003325 0.028074 0.026402 0.026676 0.043883 0.040492 -0.006242 -0.005022 0.001593 0.009220 0.043678 0.030768 -0.004018 -0.002214 0.005636 + -0.015936 -0.027264 -0.028272 -0.010279 0.022428 0.047930 0.044135 0.004839 -0.007350 -0.003184 -0.016721 -0.016592 -0.001850 -0.012307 0.008897 0.005052 -0.003860 -0.005849 -0.005548 -0.036753 -0.040026 -0.008951 0.015348 0.023673 0.023389 -0.003704 -0.007986 0.027956 -0.053999 0.048194 -0.029781 0.020829 -0.030855 -0.033219 -0.035863 -0.033283 0.043236 0.064793 0.017365 -0.003326 0.002939 -0.013317 -0.031588 -0.011579 -0.009402 -0.002935 -0.010802 0.010039 -0.003394 -0.008009 -0.033109 -0.061053 -0.041964 -0.033998 0.027507 0.034773 0.015592 -0.008602 -0.001860 0.025097 -0.052892 0.029077 -0.043330 0.020829 -0.022494 -0.028602 -0.013164 0.006269 0.059436 0.067280 -0.039557 -0.027461 -0.012856 -0.013389 -0.041377 -0.005785 -0.025979 -0.004044 -0.014905 0.007497 0.012693 -0.001847 -0.030635 -0.059902 -0.020741 -0.003555 0.037790 0.023693 -0.034185 -0.008952 -0.017162 0.035696 -0.042356 0.017530 -0.057202 0.020829 -0.021638 0.014240 0.003727 0.019693 0.074971 0.065863 -0.039786 -0.016604 -0.023706 -0.020813 -0.034240 -0.008711 -0.006631 0.010976 0.008512 -0.006016 -0.014075 -0.014638 -0.038767 -0.014361 -0.006265 0.016979 0.034783 0.026540 -0.041903 -0.019719 -0.035758 0.053674 -0.015750 0.016971 -0.059079 0.020828 -0.001452 0.003901 0.022124 0.015159 0.083210 0.036574 -0.022447 -0.014394 0.003566 -0.008979 -0.014072 -0.007488 0.000388 0.022775 0.010424 -0.017963 -0.002344 -0.006549 -0.008812 -0.003001 0.011146 0.003201 0.046207 0.030187 -0.033333 -0.017630 -0.002034 0.061425 0.012148 0.025419 -0.050705 0.017876 0.023338 0.011711 0.004527 0.025057 0.028730 0.019642 0.008060 -0.017527 -0.002354 0.003021 -0.029120 0.001617 0.004851 -0.004992 0.008724 -0.004002 0.005607 -0.008375 0.033099 -0.006703 0.004504 0.013022 -0.000797 0.010076 0.001870 -0.001882 -0.001971 0.028676 0.017696 0.018462 -0.027822 0.022133 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + -0.005165 -0.020569 -0.049178 -0.041769 -0.020382 -0.001107 0.006554 -0.002643 0.013110 0.017122 -0.017870 -0.038902 -0.009349 0.003838 0.018910 0.003806 -0.002122 -0.006249 -0.003182 -0.021369 -0.067519 -0.040918 -0.013390 0.012493 0.020275 0.005584 0.012603 -0.036706 -0.014375 -0.003877 -0.016679 -0.001392 -0.015379 -0.016309 0.012595 -0.018038 0.005697 -0.002499 -0.005826 0.016853 0.016560 0.016383 -0.033434 -0.023825 0.001955 -0.008965 -0.012429 -0.001837 0.014386 -0.010769 -0.002784 -0.023437 0.039538 0.005050 0.001239 -0.007306 -0.004142 0.022706 0.006899 -0.017093 -0.019046 -0.006464 0.012018 -0.001385 -0.018761 -0.029683 0.006893 0.063167 0.057559 -0.001040 -0.016954 -0.007878 0.003545 0.022161 0.001551 0.025381 0.059706 0.022841 -0.022995 -0.012747 -0.015715 -0.038184 0.001230 -0.007001 0.077541 0.132418 0.070732 -0.009357 -0.027929 -0.021163 -0.026908 0.032108 -0.009978 0.010974 0.013492 -0.000000 -0.018226 -0.019300 -0.035163 0.035143 0.042219 0.034395 0.039961 0.029154 0.004159 0.007368 0.016668 0.027645 0.051591 0.001108 -0.001230 -0.014575 -0.020532 -0.029987 0.004351 -0.005050 0.010333 0.095164 0.060332 0.038434 0.011109 0.010736 -0.018429 0.036747 -0.000711 0.033507 0.001355 0.000000 -0.018350 -0.007329 -0.033498 -0.028223 -0.036839 -0.009661 0.014543 0.048091 0.012177 -0.024724 0.001117 0.012970 -0.011738 -0.034061 -0.023504 0.026728 0.023819 -0.024377 -0.025322 -0.014024 -0.013575 -0.016883 -0.033544 0.005605 0.022300 0.039271 -0.004158 -0.022441 -0.026296 0.012841 -0.017307 0.000000 -0.015037 -0.027330 -0.002623 -0.003375 -0.024028 -0.001396 -0.002979 -0.000675 0.007775 -0.012935 0.009320 0.016023 0.002207 -0.015861 -0.003948 0.040644 0.017008 -0.001305 -0.015717 -0.015845 0.029486 0.008684 -0.010239 0.023050 0.032293 0.020340 0.006465 -0.003561 -0.001582 0.001549 -0.005134 0.000000 + 0.011450 0.013668 -0.007870 -0.033543 0.012555 0.033838 0.004806 -0.004934 -0.019024 -0.006341 -0.024664 -0.019661 -0.023302 0.032832 0.016610 -0.019812 -0.021404 0.004605 -0.000143 0.001294 0.003328 -0.042106 0.022159 0.032155 -0.013550 -0.029992 -0.006776 -0.021435 -0.018864 0.001699 0.014940 -0.001392 -0.012014 0.054629 0.067587 -0.019917 -0.016450 -0.003073 -0.016373 -0.008169 -0.014647 -0.030387 0.000268 0.026091 0.070447 0.037278 -0.017665 -0.014272 -0.016695 -0.018229 -0.006267 0.084717 0.149221 0.078685 0.012516 -0.022437 -0.029704 -0.021397 -0.028239 0.036091 -0.008746 0.005166 -0.000263 -0.001385 -0.056340 -0.017944 0.007688 -0.027368 -0.038169 -0.043250 -0.034038 -0.025197 -0.042754 -0.032637 0.000595 0.006243 0.064081 0.034401 -0.008565 -0.008105 -0.019011 -0.041745 -0.067040 -0.020957 0.051357 0.054434 0.006855 -0.047206 -0.043393 -0.038261 -0.077232 0.028700 -0.058196 -0.035684 -0.067809 -0.000000 -0.021428 -0.023627 -0.080860 -0.068335 -0.065776 -0.047472 -0.021602 0.042561 0.003764 -0.018976 0.015540 0.011165 0.013386 0.002357 0.009511 0.003286 -0.017996 -0.007621 -0.044926 -0.013255 -0.063520 -0.035009 -0.042693 -0.037742 -0.015919 0.010710 -0.008454 -0.012272 -0.065466 0.014623 -0.065163 0.000000 -0.012622 -0.027099 -0.025668 -0.012593 -0.041168 -0.033309 -0.018588 0.031418 0.039590 -0.000434 -0.001121 -0.012180 -0.033944 0.000588 0.002730 0.016007 -0.001908 -0.007989 0.009237 -0.036649 -0.038137 -0.040936 -0.029088 -0.034674 -0.001693 0.007418 0.020015 -0.022025 -0.054596 0.034785 -0.023354 0.000000 -0.003120 -0.037246 -0.021603 0.025828 0.031579 0.014653 -0.009943 -0.008837 -0.005455 -0.023688 0.033855 0.003162 0.012987 -0.016694 0.019958 0.021687 0.003057 0.001513 0.001554 -0.015150 -0.021240 0.028539 0.012190 0.010219 0.005206 -0.009695 -0.011945 0.028371 -0.013411 0.024324 -0.019630 0.000000 + 0.030396 0.051337 -0.004752 -0.034228 0.021827 0.016922 0.009370 -0.007961 -0.006669 0.001219 0.026492 0.014987 -0.019278 0.012344 0.005857 0.009882 -0.001489 0.011834 0.032806 0.072021 0.037712 -0.034233 0.025314 0.011706 0.015616 -0.006289 0.014492 0.018256 0.006287 0.010799 0.029753 -0.001392 -0.003662 0.070587 0.022737 -0.050646 -0.020140 -0.028432 -0.023879 -0.005888 -0.021671 -0.017803 0.032909 0.023589 0.027913 -0.006467 -0.015549 0.011496 -0.010765 -0.017988 0.013883 0.090039 0.078137 -0.005610 -0.016413 -0.040950 -0.021288 -0.014153 -0.020153 0.039340 -0.007596 -0.023289 -0.024323 -0.001385 -0.021576 -0.025845 -0.091440 -0.079683 -0.048337 -0.043664 -0.027640 -0.004643 -0.036576 -0.021106 0.005371 -0.009636 0.031348 0.005835 0.012402 0.024993 0.012609 0.009691 -0.015690 -0.040720 -0.078068 -0.033406 -0.025959 -0.030182 -0.015074 0.002114 -0.024623 -0.000416 -0.017234 -0.047665 -0.079828 -0.000000 -0.010616 -0.020362 -0.047013 -0.062260 -0.053937 -0.062256 -0.042734 0.002137 -0.005542 -0.006619 0.021144 0.025026 0.041755 0.000010 0.031989 0.030060 0.010184 0.028441 -0.004366 -0.011163 -0.018577 -0.016840 -0.041655 -0.016048 -0.004034 0.004845 0.008434 -0.021594 -0.035987 0.008926 -0.008193 0.000000 0.003488 -0.021995 -0.022166 -0.023476 -0.016750 -0.012016 -0.012676 -0.000409 0.017447 0.003261 0.019729 0.000181 0.026891 0.029691 -0.005135 0.020543 0.005628 0.016298 0.011693 -0.012020 -0.023047 0.006330 0.004998 -0.012864 0.010650 0.007322 0.017076 -0.006807 -0.040575 0.043873 0.016958 0.000000 0.021169 -0.027382 -0.019033 0.000030 0.035215 0.020700 -0.021799 0.006018 0.006242 -0.009268 0.008202 0.001246 -0.002479 -0.008290 -0.000500 0.005743 0.011308 0.017370 0.023297 -0.029917 -0.016783 -0.004256 0.014339 0.014864 -0.016232 0.009545 0.002354 0.035773 -0.016657 0.018797 -0.016938 0.000000 + 0.017201 0.029521 0.020966 -0.033978 0.007895 -0.005464 0.007139 -0.002538 -0.028807 0.015903 0.029282 0.006668 0.008179 -0.000240 -0.011280 0.017007 0.016167 0.006858 0.046653 0.079137 0.035774 -0.018972 0.008580 -0.016638 0.010806 0.007191 -0.010804 0.019735 0.016848 -0.002508 0.013291 -0.001392 -0.011575 0.039368 -0.018457 -0.025408 -0.019234 -0.029793 -0.025946 -0.026660 -0.024920 -0.018596 0.015398 -0.023738 0.011402 -0.008589 0.009553 0.011297 0.010083 0.004127 0.002237 0.048127 -0.025002 -0.011476 -0.017716 -0.014961 -0.010024 -0.010692 -0.019886 0.025224 0.007295 -0.051008 -0.043589 -0.001385 0.007807 -0.006767 -0.041668 -0.026767 -0.019048 -0.039513 -0.025588 -0.009803 0.003319 0.009471 0.001002 0.012208 0.015470 0.026748 0.024648 0.028320 0.027710 0.037116 0.011289 -0.023245 -0.032791 -0.017561 0.009560 -0.011601 0.000554 0.004487 0.020337 0.007220 0.022586 -0.004706 -0.013472 -0.000000 0.003109 -0.017760 -0.013784 -0.013591 -0.013486 -0.034937 -0.037588 -0.029100 -0.011713 -0.004041 0.010893 0.015095 0.014735 0.005916 0.032571 0.043797 0.031505 0.040153 0.007886 -0.014693 -0.002620 -0.009083 -0.016071 -0.004702 0.005199 0.000518 -0.000592 -0.006495 -0.008640 0.007890 0.017509 0.000000 0.002101 0.005889 -0.005002 -0.011045 -0.013079 0.003475 -0.021973 -0.006271 -0.018846 -0.022692 0.010809 0.007916 0.011496 0.013532 0.011262 0.034528 -0.002574 0.053476 -0.022007 0.007965 -0.000323 -0.002723 0.003011 -0.013710 0.017357 -0.001646 0.017229 0.003570 -0.027934 0.025976 0.023373 0.000000 0.010679 -0.023055 -0.003758 -0.029988 -0.013237 -0.007971 0.005107 0.018955 0.022379 -0.006232 0.013488 0.010507 0.012512 0.013392 0.005819 0.008360 0.002753 0.012794 -0.001116 -0.019602 -0.002601 -0.011376 -0.010051 0.000437 0.000657 0.015703 0.002526 0.019782 0.004926 0.016587 -0.016544 0.000000 + -0.005710 0.020337 -0.038735 -0.014938 0.018849 0.022061 0.014221 0.028847 -0.038005 0.001526 0.009215 0.005600 0.005427 0.011733 0.020199 0.015844 -0.005403 0.003143 0.022861 0.045592 -0.018914 -0.009730 0.028039 0.040288 0.025059 0.021386 -0.010163 0.008768 0.020833 -0.002385 0.007766 -0.001392 0.017569 0.025161 -0.016432 -0.010850 -0.027073 -0.016808 -0.007414 0.003034 -0.025594 -0.031081 0.022787 -0.000485 0.001305 -0.008655 -0.006998 0.003971 -0.027150 -0.001287 -0.002464 0.026853 -0.012426 -0.008746 -0.028295 -0.015716 0.000461 -0.026278 -0.012673 0.022913 0.031228 -0.057443 -0.046667 -0.001385 0.036928 0.002550 0.008909 0.003926 -0.036001 -0.038280 -0.033950 -0.010026 0.028807 -0.000985 0.002336 0.013158 0.038170 0.017122 0.002093 -0.012550 0.011008 0.035800 0.036113 -0.003573 0.013341 0.023931 -0.014176 -0.018590 -0.028553 0.001867 0.043381 0.019890 0.017651 -0.004341 -0.000667 -0.000000 0.027857 0.015909 -0.008963 -0.011471 -0.015228 -0.007248 -0.014780 -0.032538 0.009267 -0.003496 0.023712 0.004450 0.011592 0.016270 0.012690 0.029216 0.019757 0.044821 0.033146 0.022077 -0.013112 0.008490 -0.016805 0.001574 0.016268 -0.002499 0.029547 0.017180 0.001929 0.020963 0.017352 0.000000 -0.015015 0.012958 -0.015345 -0.007787 0.009998 -0.008117 0.000587 -0.007099 -0.026732 -0.018278 0.004775 -0.006393 -0.009621 0.016270 0.024921 0.011803 0.000438 0.006584 -0.029420 0.007361 -0.024556 -0.031447 0.014604 -0.005679 0.006958 -0.012953 -0.023974 0.002520 -0.017633 0.010700 -0.007869 0.000000 -0.009982 0.007414 -0.002716 0.000770 -0.000076 -0.030596 -0.024074 0.010821 0.010101 -0.005278 0.008453 0.007384 -0.001460 0.020222 0.013088 -0.014215 0.001349 -0.001912 0.002652 -0.002895 0.001112 -0.003622 0.008667 -0.012505 -0.020789 -0.000870 -0.008099 -0.000852 -0.012908 0.015420 -0.006707 0.000000 + 0.008020 0.007120 -0.045638 -0.016286 0.001007 -0.017124 -0.008151 -0.004052 -0.028396 -0.019515 0.011886 0.035892 0.004025 -0.021140 -0.004198 0.012029 0.016026 0.017611 0.033923 0.020113 -0.015644 -0.006756 -0.012655 -0.007682 0.006376 0.004247 0.001087 -0.000316 0.000755 -0.010658 -0.013768 -0.001392 0.006228 0.023407 -0.003780 -0.006593 -0.020473 0.000370 -0.008281 -0.020047 0.003580 -0.000446 -0.002221 0.018898 0.009727 -0.013979 0.008362 -0.006251 -0.005169 0.023791 0.009109 0.008604 0.002487 -0.009477 -0.031018 0.000890 -0.012021 -0.009774 0.022267 0.029605 0.046030 -0.035920 -0.036357 -0.001385 0.027103 0.024647 0.001406 -0.007281 0.006712 0.005382 -0.013491 -0.041958 0.013792 0.007339 0.008140 0.007069 0.008400 0.007959 0.002857 0.014873 0.004945 0.038337 0.019485 0.018875 0.004291 -0.000775 0.015204 -0.007209 -0.008599 -0.033243 0.030226 0.028276 0.026442 -0.005120 0.005193 -0.000000 0.022142 0.008195 0.001058 -0.008398 -0.004113 0.003806 0.017016 -0.015060 0.023558 -0.042244 -0.009654 -0.009545 -0.002046 0.015634 0.011729 0.019617 0.019446 0.027279 0.010803 0.001816 -0.006353 -0.019129 0.001323 0.008536 0.022821 0.017917 0.025666 0.018876 0.004483 0.003965 0.009643 0.000000 -0.000764 -0.000476 0.008452 -0.015221 -0.013222 0.001905 0.022265 -0.015711 -0.033274 -0.038196 0.000498 0.004596 0.015153 0.002658 0.020777 0.009962 0.013133 0.001597 -0.019482 -0.005154 0.003824 -0.008938 -0.021765 -0.004929 0.006418 0.005384 -0.033663 0.010367 -0.011763 0.004365 -0.010449 0.000000 -0.012598 0.026098 -0.005300 0.013623 -0.005510 0.019576 -0.006695 -0.001382 -0.015090 0.008828 0.006516 -0.000663 -0.001128 -0.007849 0.019702 0.013229 0.015327 0.033584 -0.002868 0.004268 -0.004348 0.006507 -0.011418 0.020136 0.005585 0.011924 0.012582 0.003940 -0.008675 0.038332 0.013670 0.000000 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + -0.033801 -0.007757 -0.026971 0.013715 0.033363 0.031407 0.013880 -0.014519 0.013213 -0.011980 -0.007676 -0.000449 0.025599 0.009530 0.010396 -0.010170 0.001485 -0.011413 -0.029742 -0.018122 -0.026963 0.030953 0.030923 0.042468 0.008687 -0.006617 0.005624 -0.016977 -0.026186 0.039732 0.016559 -0.011858 0.002626 0.013384 -0.013641 0.007643 0.019290 0.001671 0.001321 -0.002867 0.012654 0.000285 -0.018952 -0.001287 -0.002613 0.009498 -0.008602 0.004650 -0.007952 0.007988 0.018239 -0.008245 -0.016496 0.005239 0.028683 0.011444 0.014595 -0.009549 0.016939 -0.009260 -0.011786 0.025089 0.007787 -0.005955 0.015757 0.000781 0.002536 -0.016038 0.010080 0.021662 0.020502 -0.009923 0.026671 -0.003401 -0.005776 -0.033451 -0.034402 -0.012038 -0.034254 -0.015315 -0.021883 0.043138 0.047267 -0.001668 -0.021314 -0.044261 -0.006751 0.011386 0.009735 -0.014745 0.067636 0.009736 0.021827 -0.021114 -0.031829 0.005330 -0.053554 -0.027515 -0.017865 -0.004588 0.017742 0.009465 0.025756 -0.014748 -0.014373 -0.028209 -0.012068 -0.006300 -0.005844 0.017075 0.007266 0.008782 0.009483 -0.032660 -0.029485 -0.030638 -0.025438 -0.006121 0.014491 0.009845 0.024380 -0.009740 -0.028215 0.003545 0.004912 -0.034167 -0.031874 0.005330 -0.022567 -0.002184 -0.011979 0.011930 0.020114 -0.018906 0.002422 -0.007482 -0.008974 -0.019373 0.032764 0.005175 0.026144 0.025718 0.007598 -0.008639 -0.007941 -0.019258 -0.021368 0.013969 0.002239 0.023125 0.021996 0.018476 0.001798 -0.009718 -0.019526 -0.002995 -0.005565 0.006017 0.004693 0.005336 0.005987 0.018513 0.008834 0.023360 0.020539 0.001956 0.006013 0.005506 -0.002565 0.004133 0.024432 -0.022601 -0.006318 0.015416 -0.015816 -0.009542 -0.013714 0.036708 0.018173 0.039894 -0.003566 0.003146 0.021027 0.001343 0.002081 0.001125 0.043110 0.005432 0.026652 0.004470 0.010983 0.005336 + -0.027342 -0.016282 -0.009632 -0.005326 0.035741 0.014772 -0.009381 -0.001095 0.009370 -0.009913 -0.019685 -0.011613 0.022518 0.025708 0.035348 0.010233 0.002814 -0.012520 -0.025112 -0.028739 -0.012472 0.017968 0.030047 0.023133 -0.001072 0.001858 -0.002603 -0.005536 -0.038043 0.045902 0.013571 -0.009140 -0.001130 -0.002013 -0.011158 -0.007384 0.023186 0.027321 0.009615 -0.017612 0.012418 -0.005654 -0.025470 -0.016981 0.007551 0.002197 -0.003631 -0.012181 -0.003124 -0.010200 0.006824 -0.024730 -0.034494 -0.001347 0.008390 0.025035 0.000343 -0.013196 -0.004822 -0.015856 -0.029315 0.029595 -0.000570 -0.003237 0.012482 0.003871 -0.008673 -0.003972 0.013430 0.026683 0.018148 -0.018122 0.036983 0.007279 0.010136 -0.009595 -0.015689 -0.017078 -0.012315 -0.001234 0.007886 0.015276 0.061087 0.006521 -0.013698 -0.020746 -0.012699 0.008134 0.014692 -0.005967 0.058640 0.024129 0.022369 -0.003612 -0.012012 0.008048 -0.056324 -0.043446 -0.025586 0.002844 0.001389 0.004340 0.017760 0.007555 0.011402 -0.005060 0.016856 0.022672 -0.012176 -0.005284 -0.046281 -0.002029 0.019613 -0.017285 -0.009654 -0.008682 -0.003251 -0.010205 -0.009743 -0.027565 0.008228 0.019126 0.007802 0.015181 0.001684 -0.031457 -0.036810 0.008048 -0.004143 0.002780 0.000855 0.014349 0.000142 0.014049 0.018725 -0.010169 -0.027520 -0.020196 0.011368 -0.005853 -0.020327 0.009167 -0.016406 -0.010935 -0.001005 -0.010687 -0.013439 0.004812 0.002303 -0.007363 -0.003799 0.000771 0.003690 -0.007163 -0.021113 -0.020427 -0.008842 0.007305 -0.004343 0.008054 0.018156 0.002524 0.014372 -0.017504 -0.020407 0.003631 0.012340 0.008271 0.018567 -0.004949 0.019865 -0.025943 -0.022896 0.013289 -0.005532 0.000531 -0.009512 0.035342 0.034084 0.022674 -0.000409 -0.033732 -0.010492 0.004571 0.010524 -0.005320 0.049710 -0.002486 0.013348 -0.003532 0.011594 0.008054 + -0.019217 -0.010972 0.024213 0.026488 0.029678 0.042218 -0.000720 0.005455 0.005637 -0.004802 -0.010190 -0.020135 -0.009212 0.011112 0.020045 0.023689 -0.010084 -0.005813 -0.017899 -0.014539 0.005708 0.012282 0.018604 0.022265 0.024065 -0.007632 -0.001718 0.005004 -0.026730 0.045000 0.022637 -0.009159 -0.039831 -0.006114 -0.010626 -0.033020 -0.001118 0.037792 0.003014 -0.021925 0.014353 -0.016767 -0.007637 0.000432 0.010362 0.037294 0.016134 -0.002457 -0.004737 -0.042377 -0.020318 -0.018298 -0.014653 -0.023042 0.025345 0.013594 0.000157 -0.016089 -0.005851 -0.029529 -0.044148 0.040280 0.001705 -0.003255 -0.015126 0.022537 -0.010454 -0.022325 -0.011980 0.011869 0.003283 -0.007815 0.019526 -0.012548 0.024290 0.009997 0.003779 -0.009966 -0.001504 0.012918 0.013362 0.013461 0.046128 0.033598 0.001728 -0.009655 -0.017078 -0.007987 0.007690 0.006852 0.045499 0.028308 0.016433 -0.005155 -0.019172 0.008029 -0.060281 -0.040124 -0.019064 -0.007363 0.016511 0.020054 0.003081 0.009802 -0.008379 -0.010151 0.019549 0.025594 -0.015855 -0.049885 -0.037246 0.003011 0.004195 -0.030628 -0.040098 -0.015788 0.003042 -0.014677 -0.032621 -0.015110 0.002241 0.013413 -0.028010 0.016819 -0.000159 -0.047618 -0.052564 0.008029 -0.008714 -0.012812 -0.004171 0.012097 0.024351 0.022740 -0.000236 -0.016054 -0.030594 -0.042542 0.024018 0.018536 -0.004481 -0.022988 -0.022122 -0.018418 -0.015874 -0.017961 -0.047271 0.018030 0.027273 0.005620 -0.011869 0.002177 -0.011704 -0.030089 -0.033703 -0.023643 -0.038771 0.015567 -0.007469 0.008036 0.021821 0.008409 0.013731 0.008699 0.000470 0.017747 -0.005851 0.000435 0.009375 0.001407 0.045256 0.008430 -0.002036 -0.014515 -0.020296 -0.007218 0.002222 0.042854 0.028543 0.051027 0.020375 0.002571 -0.017588 0.002258 -0.011783 -0.009832 0.037165 0.018633 0.014342 0.017513 0.011238 0.008036 + -0.011511 -0.000495 -0.002528 0.002289 0.032054 0.048676 0.007787 -0.002759 -0.009853 -0.006734 -0.028172 0.006885 -0.006523 0.003769 0.008621 0.012807 -0.008484 -0.004290 -0.009260 -0.024362 0.002935 0.003624 0.025520 0.030521 0.015727 -0.000640 -0.015841 -0.024078 -0.012503 0.027165 0.028996 -0.013392 -0.046769 0.009163 0.028659 0.018022 -0.000317 0.022442 0.004494 -0.012150 -0.009434 -0.008140 0.016952 -0.005799 -0.010358 0.004973 -0.014678 -0.006250 -0.017853 -0.030146 -0.017359 0.007448 0.025631 0.011336 0.008586 -0.004112 -0.001535 -0.026311 -0.032602 -0.032784 -0.041732 0.017792 0.029766 -0.007489 -0.004139 0.023650 0.023603 0.006440 0.013572 0.034124 0.003736 -0.021081 -0.010410 0.015746 0.066367 0.024630 -0.022584 -0.026863 -0.011754 -0.003407 0.031371 0.004269 0.077043 0.057408 0.028583 -0.002549 -0.006569 0.003425 -0.006497 0.000732 0.000313 0.042128 0.024765 0.008293 -0.005763 0.003796 -0.077851 -0.044115 -0.018380 0.021923 0.014038 0.020030 0.012271 -0.000164 -0.011408 -0.018778 0.030358 0.047678 0.011163 -0.020486 -0.030219 -0.006443 -0.004601 -0.031559 -0.057055 -0.005466 0.021967 0.033905 -0.002266 -0.000630 0.005095 -0.003103 -0.041795 0.008559 0.020502 -0.033978 -0.045307 0.003796 0.005984 0.018056 0.006817 0.025890 0.003658 -0.014245 -0.021165 -0.021839 -0.018111 -0.040740 0.041405 0.042993 0.015439 -0.022095 -0.013736 -0.011386 -0.029201 -0.018063 -0.020201 0.051621 0.036746 0.022428 -0.006668 -0.018539 -0.032843 -0.039778 -0.026213 -0.034549 -0.020920 0.010293 0.021446 0.003802 0.020402 0.054415 0.033869 0.000114 0.005699 -0.017334 -0.009341 -0.004285 0.004095 0.006370 0.015033 -0.008707 -0.008159 -0.023387 -0.005691 0.001493 0.017460 0.028174 0.037722 0.066113 0.037380 -0.014381 -0.013800 -0.006217 -0.009703 0.007732 0.039893 0.002345 0.023993 0.003121 0.022498 0.003802 + 0.002499 0.015223 0.023454 -0.002489 0.038837 0.046754 -0.000383 0.003566 -0.015641 -0.024752 -0.026305 -0.012738 0.005124 0.008266 -0.000547 0.016106 -0.013907 0.008010 -0.022822 -0.016999 0.023521 0.004964 0.045494 0.021059 0.009576 -0.007864 -0.007205 -0.021349 -0.007752 0.019769 0.042838 -0.013393 -0.034770 0.018196 0.016662 0.012974 0.022645 0.013369 0.003364 0.003558 -0.012192 -0.007043 0.035600 0.001031 -0.015645 -0.027463 -0.011533 0.003318 0.002459 -0.025658 -0.017031 0.032257 0.010521 0.004548 0.003383 -0.003695 0.003954 0.000690 -0.033454 -0.015047 -0.025649 0.012321 0.027844 -0.007489 -0.026943 0.031421 -0.018803 0.018310 0.014228 0.001400 0.003009 -0.015476 -0.003642 0.012287 0.064705 0.068269 -0.007152 -0.041244 -0.013910 0.002693 0.022403 -0.017454 0.048675 0.081971 0.031095 0.013423 -0.018986 -0.007058 0.006349 0.006190 -0.005745 0.036660 0.024226 -0.004592 -0.011935 0.003795 -0.074604 -0.026659 -0.035146 0.022901 0.004490 -0.003521 0.005501 -0.013488 -0.033086 -0.029355 -0.001278 0.062023 0.026911 -0.035019 -0.037348 -0.010124 -0.015228 -0.035600 -0.066667 -0.030257 0.032487 0.026421 -0.024011 -0.028361 -0.003414 -0.024527 -0.056280 -0.035662 -0.004591 -0.029973 -0.037551 0.003795 0.035544 0.068660 0.051308 -0.003411 0.005586 -0.026546 -0.012521 -0.006780 -0.022541 -0.025011 -0.002234 0.037208 0.020084 -0.025713 -0.018648 -0.007140 -0.024171 -0.026143 0.027215 0.043376 0.080945 0.007418 -0.020615 -0.040626 -0.017667 -0.024375 -0.031483 -0.042788 -0.010020 0.009014 0.052059 0.003802 0.000952 0.050413 0.018506 -0.015964 0.020706 0.017747 -0.009330 -0.001899 0.001112 0.006856 -0.019100 0.012094 0.002279 -0.008388 -0.004394 0.008267 0.011137 -0.005921 0.035182 0.041211 0.029629 -0.023307 -0.002253 0.008305 -0.000233 0.008256 0.001012 0.002148 0.023940 -0.009842 0.023856 0.003802 + -0.017150 0.013633 0.017338 0.002187 0.012307 0.042182 0.004077 0.011590 -0.009323 -0.010912 -0.016245 -0.001666 0.003247 -0.000390 -0.008974 0.007079 -0.010930 -0.010993 -0.016444 -0.006866 0.023962 -0.005465 0.026525 0.027626 0.002879 0.001496 -0.013311 -0.013640 -0.022377 0.028571 0.020200 -0.014962 -0.047901 -0.015045 -0.014958 -0.000935 0.024925 0.022731 0.031119 -0.003315 0.000291 0.005084 0.041387 0.010826 -0.006555 -0.001009 -0.002571 0.010369 -0.005103 -0.008109 -0.001096 0.010325 0.000402 -0.002335 0.017314 0.016833 0.022844 -0.002519 -0.004902 -0.014529 -0.010776 0.023052 0.021689 -0.009058 -0.050913 -0.025421 -0.032543 -0.004008 0.013383 0.012021 0.013636 0.008856 0.008914 0.013995 0.022808 0.031404 -0.002881 -0.002807 -0.012233 0.026709 0.008927 -0.004539 0.039589 0.006704 0.009620 -0.013710 0.014421 0.009154 0.025746 0.014186 0.021802 0.012584 0.030011 -0.017638 -0.013027 0.002226 -0.058911 -0.022694 -0.025368 0.006352 0.005097 -0.011029 -0.016013 0.003739 -0.016321 -0.041068 -0.029908 0.018761 0.036568 -0.007330 -0.017580 0.005313 -0.015643 -0.026126 -0.055028 -0.041532 0.010285 0.028667 -0.004179 -0.010599 -0.009148 -0.012736 -0.038548 -0.048301 -0.015890 -0.026353 -0.009469 0.002226 0.043740 0.050456 0.047649 0.020319 0.006525 -0.006775 -0.010211 -0.010261 0.019415 -0.004091 0.023307 0.019579 0.027997 0.006269 0.010245 0.004886 0.003947 -0.016532 0.037755 0.056521 0.046014 0.029584 0.014423 0.008448 -0.005303 -0.002280 -0.000119 0.006667 0.004463 0.034771 0.065570 0.002233 -0.008293 0.009715 -0.023969 -0.006688 0.016702 0.004314 -0.000400 0.007664 0.025023 -0.033117 0.003488 -0.008620 0.012881 0.005652 0.021603 -0.005958 -0.021427 -0.033323 -0.006052 0.008884 -0.021455 -0.000882 0.019477 0.026674 -0.002527 -0.021601 -0.015789 0.010841 -0.001994 -0.013313 -0.011918 0.002233 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + -0.002835 -0.010102 -0.017685 -0.004100 0.002027 -0.012640 -0.002024 -0.004693 -0.017596 -0.014718 -0.005833 0.005636 0.015133 0.013250 0.030174 0.021164 -0.015613 0.012475 0.005615 -0.016297 -0.004675 0.010143 0.016970 0.005842 0.014189 -0.019220 -0.002702 0.004396 -0.007427 0.001709 -0.002439 0.000000 -0.016434 -0.023551 -0.021354 0.011309 0.003362 0.004262 -0.001304 0.013172 -0.000071 -0.021893 -0.013860 0.016286 0.030185 0.025093 0.000508 -0.014540 -0.020011 0.011057 -0.024194 -0.024811 -0.004492 0.023536 0.026685 0.024879 -0.010144 0.004135 0.010954 0.011070 -0.015343 0.003416 -0.007527 0.000000 -0.000441 0.012959 0.015952 0.014290 0.006825 -0.004288 0.025846 -0.001113 0.009217 0.019262 0.013829 0.008847 0.011445 0.010193 -0.018127 -0.017473 -0.009884 0.025427 0.026397 0.024391 0.027921 0.033417 0.018664 0.012577 0.016269 -0.000468 0.021111 0.020920 0.010480 0.021172 0.005300 -0.001155 -0.036584 -0.019697 0.000414 0.010283 0.005815 -0.007865 0.000280 0.030078 0.006801 0.026478 -0.012941 0.002200 0.013697 -0.001432 -0.038691 -0.020005 0.000765 0.017799 0.013021 -0.033576 -0.001842 0.024668 0.013305 -0.022426 -0.010102 0.026401 0.011369 -0.034784 -0.019436 0.024309 0.019255 -0.006192 -0.003438 0.023331 -0.001238 0.018763 0.012741 -0.001433 0.018437 0.017646 0.001188 -0.022846 -0.024749 -0.019885 -0.014388 -0.013041 -0.006628 -0.017941 0.001008 0.020339 0.014397 -0.003186 -0.010856 0.012043 0.011515 0.004063 -0.000804 0.012522 0.025265 -0.027135 -0.011618 0.005722 0.027312 -0.006192 0.019387 0.040190 0.000401 0.011788 0.010121 0.000034 0.008883 0.004252 0.019811 -0.016071 -0.012518 -0.002795 -0.022636 0.009007 0.002950 -0.007732 -0.015967 -0.001963 0.006393 0.034721 0.003608 -0.017107 0.002507 0.010725 -0.000994 0.002084 0.012021 0.006566 0.008720 -0.002467 0.009405 -0.006270 + -0.027940 -0.041277 -0.014544 -0.005511 0.021902 0.018286 -0.005446 -0.005076 -0.018954 -0.033834 0.030579 0.001350 -0.008215 -0.024220 0.004712 0.030087 -0.009511 0.003709 -0.033429 -0.018324 -0.011906 0.001237 0.005995 0.029684 0.012058 -0.000076 -0.004396 0.015676 -0.030630 0.004041 -0.028638 0.000000 -0.022218 -0.030859 0.010947 0.016317 0.006349 0.017145 -0.001352 0.009007 0.019280 -0.023462 -0.002968 -0.017812 -0.012309 0.010756 -0.012120 0.003674 0.002220 -0.017819 -0.022760 -0.015821 0.001762 -0.000522 0.009345 0.011758 0.015079 0.016866 -0.004208 0.013146 -0.018783 0.014870 -0.030552 0.000000 -0.046787 -0.021617 0.010437 0.011686 -0.006106 -0.010213 0.007478 0.034092 0.012131 0.026481 0.033096 0.011008 0.020080 -0.009425 -0.018736 0.001114 -0.006759 0.010645 -0.001502 0.017188 0.009352 0.025882 -0.006298 -0.001201 0.011721 0.022967 0.014688 0.008766 0.003487 0.019679 -0.004305 -0.001155 -0.013406 -0.041547 0.006114 -0.007077 -0.018070 -0.014676 -0.008625 0.018223 0.043072 0.011597 -0.004999 0.000254 -0.008948 -0.020328 -0.015555 -0.006372 -0.002663 0.020944 0.032606 -0.035900 -0.000397 -0.013158 -0.030818 -0.016843 -0.003336 0.028397 0.030076 -0.040394 -0.034861 0.027176 0.018823 -0.006192 0.001355 0.016832 -0.001910 0.006351 -0.021751 -0.012780 -0.017461 -0.002056 0.027271 -0.007626 -0.013649 -0.003248 -0.022516 -0.015359 -0.003688 0.002743 0.013373 0.032813 0.007037 0.014123 -0.003899 -0.010195 -0.034456 -0.011476 -0.014072 0.014851 0.027413 -0.007973 -0.023551 0.007691 0.013789 -0.006192 0.025703 0.031174 -0.019276 0.011112 0.017662 0.009250 0.001780 -0.009826 0.014272 0.006853 -0.019090 0.004976 -0.007134 0.017268 0.002737 0.015285 -0.000084 0.018777 0.022191 0.017564 -0.005547 0.002525 0.028339 0.009772 0.012978 -0.005336 0.022567 0.034384 0.009298 0.013818 -0.000253 -0.006270 + -0.028994 -0.023000 -0.006675 -0.006815 -0.008459 0.020142 -0.009973 -0.017652 -0.020775 -0.050475 0.005479 0.020574 0.009853 -0.005516 0.014391 0.043884 0.021803 -0.013402 -0.052616 -0.018409 0.012099 0.006652 -0.007824 0.023622 0.020877 0.010680 -0.019400 0.007257 -0.007706 -0.010473 -0.015292 0.000000 -0.015202 0.008024 0.014920 0.015760 -0.005969 -0.006117 -0.007043 -0.023074 -0.014069 -0.019333 -0.000613 0.051845 0.044774 0.006965 -0.001699 0.032865 -0.004866 -0.010921 -0.012372 0.012681 0.052064 0.040675 -0.011128 -0.003266 0.025623 -0.007991 -0.010051 0.011283 -0.000494 0.017597 0.002842 0.000000 -0.040995 0.004170 0.005514 -0.008213 0.001794 -0.008479 -0.004112 0.018288 0.003326 -0.004805 0.005593 0.024344 0.033436 -0.019689 -0.006168 0.009993 -0.008940 -0.001606 -0.011607 0.016981 0.008408 0.012481 -0.020049 -0.010178 0.001763 0.011046 0.005851 -0.029884 0.004471 0.016565 0.010475 -0.001155 0.002135 -0.021664 0.013315 -0.034266 -0.017043 -0.002726 -0.006622 0.019092 0.036858 0.015177 0.017525 -0.023759 0.002033 -0.012600 -0.018673 -0.008201 -0.005926 -0.002017 0.035397 0.002633 -0.006816 -0.024589 -0.023339 -0.003628 -0.016636 0.003319 0.022610 -0.049465 -0.026417 0.006299 0.047257 -0.006192 0.034390 0.002621 -0.007732 -0.014193 0.005722 -0.007330 -0.008138 -0.008284 0.005808 0.003683 -0.004588 -0.023055 -0.017165 -0.000899 -0.013267 0.009440 -0.015560 0.021096 0.049820 0.014025 -0.019976 -0.019685 0.013868 -0.000826 0.000983 -0.017831 0.015257 -0.004454 -0.009685 -0.014889 0.011374 -0.006192 0.025289 0.015998 -0.020428 0.002913 0.009380 0.014551 0.017378 0.015295 -0.010220 0.012321 -0.016232 -0.036568 -0.009160 0.015233 0.016182 0.002506 -0.029519 0.015714 0.014572 0.012277 -0.052844 -0.003634 0.023281 0.030824 0.010634 -0.011115 0.025503 0.037892 0.005756 -0.012221 -0.012272 -0.006270 + -0.010888 -0.018699 -0.013754 -0.001391 0.005247 0.001827 0.046173 0.018502 -0.004598 -0.043363 -0.034194 -0.013136 -0.004617 -0.021684 0.008279 0.005142 0.034655 0.026113 -0.027315 -0.042635 -0.013785 -0.003508 0.007109 0.029488 0.047366 0.043178 0.021358 -0.010278 0.017985 -0.013876 -0.003442 0.000000 -0.010588 0.001278 0.011269 0.035766 0.007300 0.001751 -0.013322 -0.010498 -0.009918 -0.026060 -0.033521 0.000228 0.002237 0.026618 0.019845 0.018847 -0.009131 -0.005952 -0.007416 -0.028100 0.018029 0.025218 0.045839 0.032607 0.019225 -0.012170 -0.014802 -0.000608 0.005015 -0.012359 0.010852 0.000000 -0.043827 -0.001323 0.026652 0.024045 0.015320 -0.022146 -0.012239 -0.026785 -0.027677 -0.036226 -0.000330 -0.001770 0.022997 0.014605 0.012662 0.020714 -0.006773 -0.017149 -0.042636 0.005600 0.012825 0.030138 0.041570 0.027887 0.017577 -0.030324 -0.037497 -0.040923 -0.020896 0.016471 0.017419 -0.001155 -0.011872 -0.005687 -0.001611 -0.006456 -0.011086 -0.020222 0.000678 0.015512 0.015220 -0.030227 0.013337 0.001020 0.035280 0.037400 -0.014627 -0.000137 -0.000960 -0.026648 0.017624 0.020150 0.005906 0.028917 0.031800 -0.008212 -0.007295 0.001791 -0.013250 -0.035626 -0.017709 0.006731 0.041378 -0.006192 0.008555 -0.021429 -0.001460 -0.011118 0.016552 0.005607 0.015757 0.012434 0.028082 0.017623 0.018103 -0.003871 0.015370 0.003592 -0.026364 -0.019485 -0.035139 0.007346 0.045164 0.007520 0.007054 0.007800 0.035013 0.007006 0.003954 -0.015176 0.012322 0.004245 0.016688 -0.015026 0.008309 -0.006192 0.004669 0.013307 -0.011347 0.013500 0.021774 0.010500 -0.004610 -0.012270 -0.005696 0.026688 -0.008321 0.006120 -0.009381 -0.002789 0.001272 -0.007000 -0.021710 0.017873 0.006953 -0.005047 -0.000070 0.001027 0.033982 0.023915 -0.000271 -0.023795 0.003861 0.035141 0.031280 -0.028417 -0.022645 -0.006270 + -0.007929 0.008727 0.000623 0.005041 0.031998 0.025861 0.042567 0.016907 0.028979 0.013878 0.006069 -0.010913 -0.015176 -0.017448 -0.013271 -0.019007 -0.012386 0.007907 0.006900 0.008263 0.000952 -0.009199 0.021565 0.019488 0.020110 0.014135 0.036907 0.006277 0.016454 0.005268 0.015572 0.005995 -0.003168 0.009840 0.013186 0.034545 0.038053 0.012706 0.028407 0.010736 -0.007722 -0.034826 -0.031044 -0.006716 -0.001954 -0.006571 -0.004634 -0.019287 -0.013001 0.007832 -0.012593 -0.026658 0.009005 0.024481 0.025668 0.010512 0.012298 -0.004129 0.005564 0.012032 0.014907 -0.010579 -0.003923 0.005995 -0.011294 0.007693 0.009529 0.040529 0.017161 -0.016380 -0.031692 -0.032750 -0.029903 -0.055540 -0.041360 -0.043230 -0.029507 -0.012951 -0.001107 -0.001490 -0.017159 0.013868 -0.021724 -0.027394 -0.042547 0.001137 0.002543 -0.006279 -0.022677 -0.036201 0.003741 -0.040916 -0.057925 -0.005431 -0.006783 0.004840 0.011173 -0.000171 -0.012828 0.010283 0.008295 -0.019391 -0.032797 -0.032491 -0.001575 -0.041038 -0.013172 -0.022512 -0.019219 0.015968 -0.022362 -0.020112 -0.003239 0.021950 0.047770 0.012818 -0.032229 -0.011988 0.021694 -0.020176 -0.047808 -0.036569 0.022517 -0.040310 -0.045651 0.007076 -0.002780 -0.000197 0.001784 0.012500 0.000847 0.027335 0.020322 0.023741 0.001609 0.012071 0.027908 0.010419 0.009510 0.012852 -0.006469 0.019937 -0.006645 -0.006886 -0.003413 0.015666 0.050185 0.021597 0.014929 0.023285 0.022956 0.009390 -0.011095 0.006041 0.027716 0.018487 0.033558 0.014881 0.014667 -0.000197 -0.016013 0.014014 0.003099 0.013834 0.026825 0.021446 -0.004369 -0.006662 0.002051 0.018151 0.010176 0.044730 0.030430 0.011044 0.009780 0.001231 -0.018080 -0.027401 0.004017 0.033817 0.030050 0.039555 0.035121 0.025309 -0.006325 -0.033531 -0.014546 0.055329 0.051431 -0.027430 -0.016028 -0.000275 + 0.015551 0.022803 0.002399 0.013462 0.011296 -0.004827 0.004213 -0.004314 0.068995 0.036270 0.037902 -0.016508 -0.012766 -0.009565 -0.023125 -0.026586 -0.015656 0.003493 0.027985 0.042949 -0.002808 -0.000885 -0.023868 -0.030620 -0.018710 -0.012652 0.057767 -0.001911 0.015595 0.018962 0.015927 0.003956 -0.003268 0.027062 0.011831 0.032117 0.032577 0.011605 0.016577 -0.001266 0.032725 -0.003935 0.010651 -0.009359 -0.031016 -0.034453 -0.038172 -0.018494 -0.007810 0.036973 0.005168 0.032130 0.008234 -0.004778 -0.010838 -0.028098 -0.007632 -0.004539 0.052894 0.011212 0.034750 -0.018861 0.003232 0.003956 -0.033896 0.008044 0.005847 0.016832 -0.005945 -0.028620 -0.023378 -0.017998 -0.035801 -0.070161 -0.022822 -0.035822 -0.046564 -0.037653 -0.031095 -0.005328 0.007753 0.018637 -0.039887 -0.025036 -0.036091 -0.031367 -0.042976 -0.051373 -0.032426 -0.012177 -0.001195 -0.042213 -0.062045 -0.034064 -0.020997 0.002801 0.026835 0.048677 -0.002190 0.012322 -0.005131 -0.037501 -0.034595 -0.030098 -0.022331 -0.038679 -0.013200 -0.025793 -0.035479 -0.026729 -0.032744 0.008237 -0.003697 0.040387 0.047008 0.042368 -0.030354 -0.035597 -0.031992 -0.049282 -0.029542 -0.035469 0.004114 -0.038145 -0.049157 0.013311 -0.006953 -0.002236 -0.022521 0.006343 -0.019929 -0.007486 -0.005537 0.008653 -0.004824 0.035927 0.015975 0.010573 -0.002851 -0.021185 0.011428 0.029572 0.013229 0.010827 0.016257 0.006685 0.031518 0.012467 -0.035045 -0.003406 0.015210 0.008597 0.005588 0.029623 0.026513 0.015146 0.004504 0.016581 0.002017 -0.002236 -0.060006 -0.037814 -0.034503 -0.023268 0.014574 0.045957 0.023916 0.004663 -0.013258 0.007540 0.009103 -0.003820 0.014642 0.034944 0.033370 0.006771 0.008058 -0.031091 -0.034114 -0.027049 -0.037090 -0.003921 0.039689 0.046902 0.028233 0.007613 -0.038653 0.038747 0.032328 -0.027336 -0.043843 -0.002314 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + -0.032399 -0.006572 -0.007588 -0.042167 -0.009128 0.014523 0.034144 0.015545 0.006977 -0.007082 0.004368 0.026201 0.006338 -0.008541 -0.009630 0.006254 0.013832 0.026168 -0.017670 -0.015435 0.015944 0.005226 -0.004971 0.001188 0.028021 0.035114 0.017770 0.025936 -0.018230 0.020120 -0.013098 -0.000000 -0.027176 -0.017319 0.011645 -0.011187 -0.033380 -0.003488 -0.000143 0.007458 -0.041079 -0.038859 -0.011253 -0.003357 -0.005650 0.006838 0.011418 0.009403 0.009893 0.027492 -0.046410 -0.037067 0.006424 -0.004486 -0.000179 0.007694 0.024006 0.009383 -0.011391 0.020301 -0.041510 0.003579 -0.033632 -0.000000 -0.012297 0.007502 0.015163 0.004723 -0.028669 -0.019671 -0.033930 -0.017142 -0.025764 -0.040201 -0.005914 -0.007005 0.042039 -0.000439 0.015415 0.013522 -0.002348 0.005895 -0.031441 -0.002046 0.026544 0.036794 -0.001928 0.002754 0.005104 -0.010039 -0.015902 0.014709 -0.055966 0.036970 -0.037726 -0.000636 0.012754 0.022374 0.017377 -0.008421 -0.028393 0.003681 0.044345 0.004262 -0.008696 -0.042917 -0.042673 -0.019128 -0.006419 0.006720 0.008975 0.036813 0.030234 0.040836 0.002410 -0.015550 0.005113 -0.006739 0.000820 0.017123 0.074531 0.039351 0.028797 0.007029 -0.011674 0.060659 -0.022202 -0.001161 -0.014824 -0.015040 0.006595 0.010418 -0.013568 -0.002675 0.022956 0.059139 0.059540 0.005827 -0.006301 -0.015309 -0.024901 0.001173 0.036740 0.039450 0.013571 -0.007062 0.038383 -0.018852 -0.008175 -0.017263 -0.002190 0.036501 0.068857 0.105286 0.071478 0.006982 0.027959 0.028350 0.010120 -0.001176 0.002341 0.000009 0.016592 0.021270 0.018740 -0.017671 -0.026041 -0.005443 0.003379 -0.003016 -0.001668 -0.007026 0.004447 0.005414 0.012767 0.001100 -0.027341 -0.049243 0.009821 -0.012158 0.008034 0.021808 0.027024 0.004609 -0.008513 -0.012555 -0.023277 0.004482 0.013987 -0.027938 -0.014757 -0.001176 + -0.028325 0.008240 0.001582 -0.038409 -0.012531 -0.010285 -0.007318 0.011957 -0.010632 -0.016939 0.002899 -0.005177 -0.000181 -0.009086 0.008777 -0.004890 -0.014474 0.029898 -0.017280 -0.006808 -0.000139 -0.025235 -0.015612 -0.008508 -0.008396 0.012419 -0.011753 0.002099 -0.033079 0.013838 -0.027591 -0.000000 -0.035407 -0.024169 0.014308 -0.002781 -0.007838 -0.035488 -0.038753 -0.006806 -0.007074 0.003515 0.008661 0.004549 0.024269 0.018582 0.010085 0.025890 0.009729 0.011177 -0.023707 -0.027034 0.017164 0.020549 0.011916 -0.019747 -0.014027 0.024066 0.005806 0.014283 -0.008398 0.006252 -0.025124 -0.000000 -0.005965 -0.015817 0.013789 0.002008 -0.029200 -0.014904 -0.033794 -0.039351 -0.038901 -0.028215 0.012267 0.026314 0.034054 0.050078 -0.014515 -0.006533 0.009592 -0.005812 -0.015406 -0.008528 0.032805 0.019142 0.015991 -0.018562 -0.035540 -0.022281 -0.046238 0.026430 -0.037619 -0.003503 -0.025331 -0.000636 -0.029153 -0.033241 -0.000371 -0.027648 -0.030273 -0.046590 -0.061399 -0.043909 -0.048225 -0.047110 0.003998 -0.009916 0.022021 -0.002159 0.010649 0.007905 -0.010331 0.012186 -0.039617 -0.031633 -0.019711 -0.009077 -0.025054 -0.030336 -0.045175 -0.047129 -0.031910 -0.037521 -0.078246 0.007776 -0.049252 -0.001161 -0.014422 -0.022364 0.003471 -0.020769 -0.030569 -0.043991 -0.009868 0.055455 0.064823 0.007152 0.002051 -0.037462 -0.012356 -0.027293 0.006986 0.035248 -0.001187 0.049675 0.037660 -0.021842 -0.030471 -0.023165 -0.049127 -0.023485 0.032741 0.065648 0.083755 -0.017148 -0.018290 0.046803 -0.009207 -0.001176 0.003361 0.018740 0.014322 0.005789 0.029459 -0.016952 -0.017766 0.024028 0.045288 0.032858 -0.027180 -0.030273 -0.021592 0.005634 0.013795 -0.011034 -0.001320 0.011556 0.039428 -0.014419 -0.018325 -0.011996 0.026526 -0.005220 -0.009194 0.049362 0.065033 0.009553 0.035514 -0.000790 -0.007171 -0.001176 + 0.013290 0.023735 -0.015241 -0.029245 0.013905 0.032737 0.008790 0.002723 0.001608 -0.010352 -0.011075 -0.019882 0.002527 -0.009530 0.012797 -0.012855 0.001784 0.038911 -0.001186 -0.003828 -0.022778 -0.020537 0.004088 0.037163 -0.010923 0.001567 0.017612 0.007168 -0.016893 0.042012 -0.011250 -0.000000 -0.020812 -0.007861 -0.012627 -0.021599 0.018621 0.036462 0.018173 -0.017885 -0.003977 -0.010635 0.000887 0.019871 0.018762 0.013507 0.034433 0.015629 -0.000099 0.012407 -0.021386 -0.021475 0.004477 0.001501 0.018886 0.043410 0.015904 0.012316 0.011614 0.013830 0.008073 0.025206 -0.003148 -0.000000 -0.018777 0.002766 0.013348 -0.011177 0.000461 -0.005558 -0.007346 0.002417 -0.008071 0.008418 0.025830 0.033395 0.034832 0.020981 0.022729 0.008732 -0.024987 -0.001823 0.000437 0.012578 0.018136 0.016126 0.020928 0.011083 -0.000776 -0.014344 -0.018781 0.027632 0.024940 -0.004443 -0.002792 -0.000636 -0.028280 -0.008934 0.006168 -0.019613 -0.026470 -0.048304 -0.040978 -0.008647 -0.026640 -0.015526 0.053113 0.043066 0.029389 -0.010361 0.003889 0.011361 -0.014036 0.001997 -0.017952 0.026894 0.022199 0.011425 -0.036196 -0.031375 -0.020386 -0.028197 -0.027450 -0.012475 -0.039597 0.002945 0.002551 -0.001161 -0.016695 -0.002220 -0.004825 -0.027193 -0.030476 -0.047148 -0.041760 -0.023884 0.032232 -0.014898 -0.008983 -0.005220 0.000982 -0.037608 -0.020498 0.004188 0.001553 0.026342 0.019253 -0.018643 -0.017862 -0.022347 -0.068217 -0.061441 -0.031681 0.002145 0.032649 -0.055784 -0.061205 0.021038 -0.005924 -0.001176 -0.012568 -0.006490 0.004785 0.002073 0.008782 -0.010387 -0.025431 0.013583 0.066238 0.021379 -0.003794 0.005815 -0.012570 -0.009337 -0.011581 -0.007018 0.019739 0.010615 0.052760 -0.006265 0.005528 -0.005327 0.002290 -0.015089 -0.015426 0.042404 0.077709 0.007101 0.008569 0.011743 -0.002036 -0.001176 + -0.009685 -0.011728 -0.004701 0.000167 0.002800 0.002594 -0.024240 -0.022400 -0.004118 0.003074 0.026726 0.007269 0.004890 0.001290 0.011215 -0.016808 -0.010900 0.021282 0.009101 0.010401 0.006590 -0.011875 -0.020204 0.005610 -0.032981 -0.015400 0.010446 -0.006423 -0.026530 0.013817 0.008163 -0.000000 -0.011908 -0.020927 -0.027355 -0.017922 -0.013256 -0.000062 -0.015034 0.005901 0.012294 0.002643 0.021357 -0.002606 0.037765 0.007816 0.004831 -0.011380 0.008215 0.031255 0.015496 -0.010658 -0.009548 0.003670 -0.023754 0.000438 -0.011343 0.034117 0.007211 0.002847 -0.014988 0.019466 -0.001844 -0.000000 -0.033802 -0.005400 -0.016626 -0.020687 -0.013009 -0.039712 -0.007850 0.029021 0.036418 0.018520 0.027681 0.008384 0.023556 0.004210 0.006182 -0.009710 -0.029446 -0.010397 -0.005942 -0.016136 -0.008215 0.007867 -0.021181 -0.030873 -0.013667 0.008471 0.008516 -0.012530 0.011174 0.002706 -0.016750 -0.000636 -0.020360 -0.017844 -0.020123 -0.019089 -0.008048 -0.023024 -0.021627 -0.014782 0.002859 0.035934 0.047340 0.038902 0.017693 -0.003172 0.001801 -0.013234 0.001234 0.027471 0.013189 0.030895 -0.001099 0.008702 -0.015258 -0.016673 -0.031234 -0.006482 0.004445 -0.008710 0.001407 -0.007780 0.020708 -0.001161 0.006164 0.016515 -0.001552 -0.009044 0.007875 -0.008645 -0.018296 -0.039582 -0.019007 -0.030593 -0.028634 0.009454 -0.006188 -0.017398 -0.023531 -0.005330 -0.001429 0.019785 0.003914 -0.011479 -0.002961 -0.017903 -0.022451 -0.029175 -0.016716 -0.022930 0.005367 -0.039956 -0.056167 0.007715 0.017964 -0.001176 0.000939 -0.014206 -0.012207 -0.011143 0.005255 0.004867 -0.022847 0.021238 0.050434 -0.005870 0.003816 -0.009159 0.000971 -0.003703 -0.014116 0.002818 0.004433 0.028410 0.048348 0.006428 -0.002932 -0.002910 -0.000812 -0.003980 -0.007356 0.035025 0.071989 -0.001164 -0.006835 0.022560 -0.000452 -0.001176 + -0.040369 -0.006190 -0.005988 0.021820 0.026978 0.013945 0.004713 -0.012940 -0.007571 -0.010673 0.017339 0.014559 0.009440 0.023199 0.030311 0.013751 -0.006393 0.007536 -0.018962 -0.012724 -0.001119 0.018767 0.015512 0.019987 0.014813 -0.009439 -0.012190 0.023921 -0.005640 0.008706 0.017073 -0.000000 -0.013842 0.003971 -0.002388 -0.015643 -0.019216 -0.002779 -0.005874 -0.013968 0.004934 -0.000595 0.023106 0.015276 0.031794 0.020846 0.016850 0.001501 0.000322 0.010791 0.000121 0.019426 0.008102 0.005201 0.000842 -0.004875 -0.000459 -0.017033 0.007231 0.002129 -0.012033 0.026954 0.008918 -0.000000 -0.003893 0.014849 0.014283 0.006933 -0.004202 -0.009079 -0.004392 0.009198 0.042687 0.003779 0.036053 -0.001289 0.015002 -0.012570 0.014215 -0.021563 -0.018234 -0.009548 0.013064 0.020499 -0.006593 0.024468 -0.022251 -0.000171 -0.010688 -0.006478 0.018316 -0.009713 -0.006437 0.034453 0.015746 -0.000636 -0.011134 -0.010357 -0.018400 0.018268 -0.001176 -0.015152 -0.000300 -0.004680 0.024396 0.049144 0.056615 0.005154 -0.025112 -0.027869 0.025573 -0.014365 0.003352 -0.003154 0.040878 0.044025 -0.006716 -0.003245 -0.027470 0.003089 -0.024054 0.009969 0.014975 -0.010131 0.009064 0.009328 0.015688 -0.001161 -0.021110 0.009718 -0.016085 0.027246 0.009633 -0.015257 -0.000868 -0.017531 -0.015323 -0.019503 0.000494 0.011625 -0.011241 -0.021645 0.005610 0.002011 0.024500 0.003333 -0.019672 -0.005702 -0.010294 0.006458 -0.009417 -0.011076 -0.010059 0.009677 -0.006304 -0.008891 -0.025498 -0.002358 0.015820 -0.001176 0.005468 -0.012654 -0.006204 -0.001139 0.007688 0.013331 -0.012398 -0.035670 0.039702 -0.010329 -0.005622 0.030418 0.020577 0.008032 -0.024580 -0.019752 -0.013242 0.008666 0.030737 0.010730 0.014201 0.018224 0.013395 -0.005317 -0.012894 -0.031645 0.047154 -0.000509 -0.019523 0.018106 -0.001708 -0.001176 + -0.007967 -0.014081 -0.015491 -0.013378 0.007256 0.016140 0.017866 -0.010535 0.021725 -0.004238 0.021324 0.018218 -0.004845 -0.022408 -0.023216 -0.009340 0.014793 0.018551 0.018310 0.002112 -0.007330 -0.017674 -0.005189 -0.020202 0.009886 0.007771 0.013883 0.013113 -0.004582 -0.003826 0.000187 -0.000000 -0.017401 -0.006502 -0.011116 -0.002889 -0.000161 0.013832 0.028184 0.011731 -0.003147 -0.045404 -0.006141 0.020744 0.022545 -0.000806 -0.013136 -0.015796 -0.001620 -0.000858 -0.034938 -0.010168 0.001183 0.009870 0.002279 0.007126 0.007700 0.002900 0.002866 -0.007144 -0.020776 0.012533 0.002217 -0.000000 0.009790 -0.003301 0.001222 -0.023249 -0.012638 0.019052 0.022173 0.017335 0.031695 -0.018071 -0.002639 0.027598 0.016422 -0.006959 -0.025219 -0.012547 -0.000635 -0.025169 0.011526 0.015690 0.026378 -0.008429 -0.028525 -0.015890 0.008220 0.000547 0.013903 -0.026841 -0.020989 0.033922 0.020914 -0.000636 -0.002497 0.005572 0.004125 -0.009569 -0.001393 -0.008651 -0.020429 0.038576 0.054654 0.038153 -0.022445 0.000734 -0.017703 -0.001035 0.009923 -0.004441 0.003044 -0.005170 0.037325 0.000374 0.006254 -0.025271 0.001824 0.004558 -0.021481 0.039386 0.039303 -0.008896 -0.002238 0.017432 0.022668 -0.001161 -0.017389 -0.013155 -0.007049 0.016363 0.007497 0.000188 -0.016915 0.006874 -0.010968 -0.010152 -0.009086 -0.009083 0.002642 0.005921 0.037069 0.027175 0.013723 0.009187 -0.015566 -0.024936 -0.016238 0.015274 0.019389 0.026511 0.003990 0.026989 -0.004105 0.006104 0.003735 -0.004363 0.010005 -0.001176 -0.002305 0.009852 0.012123 0.005634 -0.011660 -0.003301 -0.033986 -0.014551 -0.037517 -0.015428 0.002568 0.005188 0.024740 0.046255 0.034421 0.027315 0.001002 0.021972 0.017023 0.012822 0.016664 0.030302 0.021157 0.023358 -0.000840 -0.009062 0.016202 0.013665 -0.004408 0.017007 0.007829 -0.001176 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + -0.013129 -0.008701 -0.014452 -0.008913 -0.006485 -0.020601 -0.014373 -0.004936 0.005500 -0.021969 -0.003063 -0.005439 -0.010178 0.027659 0.035017 -0.008737 0.000592 -0.005133 0.003311 -0.011842 -0.017995 -0.015161 0.008370 0.020842 -0.015413 0.007875 -0.004657 0.000860 -0.009615 -0.000237 -0.027467 -0.000016 -0.005525 0.058052 0.014757 -0.019465 -0.021809 -0.007451 0.014249 -0.013811 0.006968 -0.013573 0.000399 0.032908 0.012330 -0.000777 -0.012751 -0.015220 -0.004448 -0.006084 0.019834 0.053228 0.029373 -0.008820 -0.015146 -0.000446 0.011933 -0.005888 0.005471 0.033612 0.020458 -0.017273 -0.027958 -0.000007 0.011283 0.054733 0.023154 -0.007931 -0.003681 -0.000799 0.021262 0.013343 0.002922 -0.022384 -0.001824 -0.000467 -0.009453 -0.013819 -0.017324 -0.002697 0.011478 0.000196 0.003433 0.040594 0.031279 -0.013649 -0.014225 -0.024341 0.014912 0.025069 0.008121 0.017451 0.006481 0.006293 -0.002887 -0.000007 -0.045289 -0.011365 -0.006588 0.016380 0.009254 0.018593 -0.004984 -0.012478 -0.003813 -0.025730 0.009790 0.018920 0.015824 -0.005930 -0.012538 -0.005597 0.006567 0.002202 -0.034794 -0.000775 0.015255 0.019723 -0.002542 -0.012971 -0.011517 0.000292 0.000344 -0.000268 -0.009945 0.001009 -0.008135 -0.000007 -0.030531 -0.006097 -0.005218 -0.008030 -0.005595 0.017911 -0.000506 -0.032154 0.002988 0.012685 0.004717 -0.008406 -0.033407 -0.003541 0.013415 0.000255 0.015767 0.022805 0.008432 0.006724 -0.014305 -0.039264 -0.011230 -0.002290 -0.007169 -0.022839 0.008964 -0.003154 0.000070 -0.007042 -0.010116 -0.000003 -0.020005 0.002204 -0.011726 -0.019403 -0.014803 -0.013230 0.008348 0.006416 0.006290 -0.010258 -0.013930 0.009392 0.010811 -0.005807 0.006054 -0.002057 -0.009860 0.016211 -0.011252 -0.009466 -0.005395 -0.006855 -0.043854 -0.010355 0.003068 -0.000941 -0.000494 -0.004201 -0.007658 -0.005520 -0.008714 0.000000 + 0.011073 0.016938 0.000463 -0.003525 0.011047 0.000078 -0.023483 -0.016372 0.001387 -0.009529 -0.012761 0.004327 -0.004307 -0.008813 -0.008212 -0.009992 -0.000656 -0.008020 0.039689 0.001961 -0.001998 -0.010363 0.016018 0.004092 -0.030011 -0.012636 -0.004644 -0.018512 -0.005106 0.003642 -0.008476 -0.000016 -0.006359 0.066405 0.022241 -0.019173 -0.018524 -0.019667 -0.015877 -0.027075 0.003880 -0.020539 0.018777 0.009139 -0.007012 -0.017785 -0.019321 -0.023716 -0.019307 -0.032892 0.021916 0.070701 0.036370 -0.016034 -0.021833 -0.022981 -0.030982 -0.034673 -0.020887 -0.002606 0.016754 -0.043537 -0.030388 -0.000007 0.000754 0.014663 -0.010654 -0.012299 -0.002142 -0.002606 0.026277 0.004693 0.010444 -0.037224 0.010590 -0.012846 -0.011359 -0.046699 -0.005785 0.006177 0.033983 0.000746 -0.017930 0.019030 -0.013699 -0.025176 -0.032428 0.000092 0.018338 0.041435 0.013045 -0.003054 0.007950 -0.017417 -0.003170 -0.000007 -0.013477 -0.014433 -0.006494 -0.007202 0.033343 0.042078 0.032178 0.027520 0.010500 -0.029628 -0.014249 0.007708 -0.012632 -0.012355 -0.004270 0.015634 0.006209 -0.012382 -0.025495 -0.021725 -0.013343 -0.021238 0.013866 0.021367 0.031280 0.018479 0.017908 0.011301 0.004129 0.001928 0.005291 -0.000007 0.004127 -0.009338 0.004880 0.021417 0.001178 0.034518 0.024723 -0.001364 -0.001966 -0.012229 -0.010094 0.000479 -0.016785 0.012739 0.004887 -0.014115 -0.010852 0.010945 0.021404 -0.020220 0.002465 -0.002409 0.010485 0.024842 -0.003661 -0.020053 0.011173 0.012336 0.002160 0.005394 0.000450 -0.000003 -0.016928 -0.003055 -0.002332 0.003207 -0.014059 -0.011819 0.010517 0.013914 -0.002087 0.004032 -0.000060 0.016409 0.035465 0.028662 0.019576 0.027606 -0.023557 0.001743 0.004934 -0.001476 0.004585 0.029816 0.029964 0.011722 0.019074 -0.000639 -0.007077 0.010065 0.006524 0.015396 0.009137 0.000000 + 0.040854 0.038791 -0.014128 -0.004258 0.038394 0.031493 0.001846 -0.023086 0.014822 0.013095 -0.006406 -0.009549 -0.016262 -0.025211 -0.021547 -0.021249 0.011388 0.002152 0.044553 0.025047 -0.009907 -0.013404 0.020563 0.009631 -0.020537 -0.016217 0.031828 -0.012888 0.002012 0.017134 0.017851 -0.000016 -0.004744 0.049500 0.002976 -0.007564 -0.001433 0.013380 0.020512 0.005169 0.006753 0.014897 0.017913 -0.020635 -0.018958 -0.021768 -0.016653 -0.017115 0.012776 -0.007298 0.043907 0.037499 -0.021660 -0.021652 -0.008704 0.012295 0.013217 0.008826 -0.004404 0.005757 0.037350 -0.020020 -0.010026 -0.000007 -0.034980 -0.014770 0.012197 0.015973 0.009238 0.002383 -0.003017 -0.009050 -0.018851 -0.030939 0.006822 -0.000561 -0.007342 -0.027492 -0.008672 0.014903 0.009549 -0.018697 -0.044531 -0.009702 0.001834 0.002101 -0.017797 0.007290 -0.006752 -0.001281 -0.026880 -0.015615 0.003079 -0.030333 -0.005830 -0.000007 -0.013726 -0.023679 0.009590 -0.000433 0.021194 0.024393 -0.013439 0.012057 -0.011138 -0.023597 0.003341 0.005720 -0.005358 -0.020987 -0.015160 0.029931 0.001402 -0.005560 -0.016125 -0.009767 0.012900 -0.007236 -0.009909 0.003812 0.020035 0.019274 -0.005331 -0.010348 0.006093 -0.011752 0.004011 -0.000007 -0.031379 -0.022550 0.001187 -0.012968 0.008084 0.003757 0.004533 0.011585 -0.000230 -0.002458 -0.001334 0.003899 0.011194 0.004744 0.009881 0.007836 0.003034 0.001834 0.004881 -0.023780 0.009629 -0.005196 0.014864 -0.002893 0.019313 0.024852 0.003142 -0.011118 0.011609 -0.007703 0.007519 -0.000003 -0.005616 -0.001176 -0.010244 -0.019287 0.008405 -0.013599 0.026525 0.009487 -0.002299 -0.012876 -0.011774 0.006105 0.029968 -0.002397 -0.010252 -0.011821 -0.012284 -0.006172 0.001560 0.001976 0.004224 0.016722 0.011510 -0.017852 0.006213 -0.011008 -0.008494 -0.017284 0.006536 -0.022484 0.014702 0.000000 + 0.038692 0.025866 0.001324 0.009491 0.020401 -0.001345 -0.017904 -0.008035 0.020385 0.031451 0.008985 -0.007934 -0.001988 -0.014058 -0.034061 0.003363 0.041538 0.013162 0.075795 0.058481 -0.005047 0.000876 0.011201 -0.013791 -0.016357 0.033983 0.042920 -0.009936 0.007588 0.027392 0.035923 -0.000016 -0.004677 0.033602 0.002767 -0.015409 -0.020139 0.014126 0.014167 0.010590 0.017669 -0.004683 0.007150 -0.014406 -0.008376 0.003061 -0.012409 0.010704 0.000374 -0.012840 0.044456 0.026967 -0.004978 -0.019009 0.005181 0.030232 0.020058 0.023833 0.024400 0.002493 0.030473 -0.017970 -0.004970 -0.000007 -0.013474 -0.010142 -0.019751 0.009809 0.001831 0.012756 0.031984 -0.023016 -0.026850 -0.024639 -0.005015 -0.016965 -0.008284 0.000977 -0.014039 0.003280 -0.019180 -0.014683 -0.042051 -0.014960 -0.035161 0.002164 0.032395 0.031117 0.021116 -0.045933 -0.027868 0.005087 -0.001549 -0.040853 -0.026513 -0.000007 -0.021040 -0.015304 -0.009527 0.015812 0.017860 0.026485 0.033728 -0.024638 -0.041526 -0.042204 -0.005799 0.026122 -0.001524 -0.003545 0.009305 0.024571 -0.006351 -0.003282 -0.041244 -0.010385 0.019204 0.030172 0.031783 0.055553 0.036667 -0.014147 -0.031222 0.014439 -0.010946 -0.002587 -0.010739 -0.000007 -0.032561 -0.006359 -0.006495 0.011552 -0.005213 0.011353 0.009925 -0.020842 -0.028890 -0.034584 -0.012244 0.005913 0.004703 0.009034 0.016352 0.009094 -0.006422 0.002586 -0.040546 -0.010989 -0.006324 0.031000 0.010805 0.033520 0.024131 -0.013251 -0.006291 0.005743 -0.023923 0.005467 -0.021746 -0.000003 -0.022829 0.012128 0.010492 0.011149 0.011723 0.000453 0.009662 -0.016800 -0.003744 -0.005414 -0.019086 0.014769 0.032963 0.026649 0.007346 -0.002086 -0.006485 0.001147 -0.010267 -0.004863 0.009263 0.031167 0.041467 0.046311 0.021184 -0.023148 0.005549 0.015268 -0.000301 0.024639 -0.010363 0.000000 + 0.022393 -0.011638 -0.003720 0.006426 0.008240 0.013131 -0.008614 0.018118 0.037198 0.033082 0.006464 -0.014278 0.010363 0.015465 0.024743 0.018003 0.032094 0.025151 0.060451 0.009303 -0.013938 0.004201 0.013118 0.019214 0.003369 0.037597 0.062133 0.009631 0.002626 0.054059 0.043343 -0.000016 0.012980 0.022991 0.018026 -0.002858 0.024361 -0.003182 0.010633 0.010646 0.018891 0.006291 -0.013627 -0.004435 0.011544 0.009026 0.022589 0.028560 0.006482 -0.000899 0.060227 0.020524 0.019206 0.015268 0.035724 0.030620 0.037208 0.025302 0.032626 0.031174 0.034433 0.011151 0.007160 -0.000007 -0.021422 -0.004830 -0.017596 -0.013561 0.001598 0.020526 0.047888 0.009093 -0.005166 -0.021082 -0.010302 0.002657 -0.001246 0.000405 0.021773 -0.021414 -0.017184 -0.021401 -0.018852 -0.009596 -0.015847 -0.007987 0.003350 0.035799 0.031592 -0.008471 -0.022496 0.020943 0.015566 -0.027156 -0.033519 -0.000007 0.006852 -0.000892 -0.030112 -0.027326 -0.023956 0.000852 0.041043 0.016190 -0.000852 -0.028947 0.021263 0.000559 -0.004377 -0.014765 0.000744 -0.000476 0.009027 0.000682 -0.006169 0.007637 -0.019170 -0.025079 -0.010293 0.024676 0.040153 0.022464 0.005737 0.006626 0.003279 -0.011853 -0.014310 -0.000007 -0.028442 -0.035896 -0.016237 0.007254 -0.010719 -0.031545 0.017309 -0.014230 0.006684 -0.007631 0.008976 -0.004207 -0.003156 0.006624 0.019707 0.011287 -0.014961 -0.010921 -0.014033 -0.016847 -0.010407 -0.000186 0.007098 0.018003 0.022032 -0.015451 0.007123 -0.010578 -0.015500 -0.008890 -0.012221 -0.000003 0.001881 -0.006090 0.025593 0.023951 -0.003458 -0.026994 -0.019428 -0.030791 -0.004970 -0.015216 -0.024856 -0.019873 -0.002874 0.026170 0.041382 0.034037 0.008926 -0.011899 -0.006243 -0.021080 0.004743 0.014365 0.031399 0.039013 0.019123 -0.008573 -0.005894 -0.009271 -0.001701 0.000990 0.007856 0.000000 + -0.022006 -0.004303 0.012256 0.007974 0.029175 0.004700 -0.018593 -0.030724 0.011198 -0.021717 -0.022060 -0.014361 0.026497 0.036934 0.043806 0.019063 -0.006098 -0.003211 -0.001406 -0.015856 0.000420 0.036151 0.064021 0.051192 0.008479 -0.035518 0.004655 -0.007822 -0.022511 0.037785 0.015425 -0.000962 0.024290 0.024807 0.015225 -0.013496 0.003921 -0.018318 -0.006000 0.007024 0.046625 -0.000436 -0.012272 -0.000851 -0.008209 -0.019581 -0.023504 -0.025465 -0.017883 0.012918 0.052054 0.004646 0.016912 -0.018321 0.006170 -0.024504 -0.023832 0.009643 0.070098 0.004521 0.009039 -0.003527 -0.015315 -0.000952 -0.005638 -0.038407 -0.046134 -0.028261 -0.023417 -0.019151 -0.001728 0.023053 0.016875 -0.024738 0.001564 -0.000881 -0.022452 -0.025470 -0.024020 -0.025193 -0.016371 -0.023504 0.003103 -0.032417 -0.050318 -0.041796 -0.039755 -0.033854 -0.020056 0.019779 0.008682 -0.001998 -0.014108 -0.057298 -0.060413 -0.000952 -0.052721 -0.034290 -0.028468 -0.016540 -0.003856 -0.004754 0.009486 0.000745 -0.019643 -0.009750 0.026498 0.014235 -0.001682 -0.015864 0.006893 -0.003049 -0.003107 0.008275 -0.025606 -0.024051 -0.007422 -0.023225 -0.012539 -0.000458 0.012686 0.001904 -0.011874 0.006674 -0.018924 -0.014921 -0.032976 -0.000952 -0.031841 0.004235 0.007823 0.030794 0.012370 0.012847 -0.014774 0.003413 0.011037 -0.002279 0.015893 -0.021099 -0.000002 -0.015854 0.022422 0.000517 0.003873 0.011376 -0.004351 0.009176 -0.002920 0.017645 0.011043 0.038487 -0.013059 0.004718 0.027874 0.004233 0.002758 0.012304 0.004630 -0.000949 -0.010254 -0.001974 0.043206 0.033083 0.006454 -0.000442 -0.038671 -0.001485 -0.005425 -0.030836 -0.001144 -0.052299 -0.017407 -0.000376 0.034380 0.018693 0.012629 0.018494 -0.016222 -0.014535 -0.000605 0.001153 0.005854 0.024219 -0.018142 -0.000111 0.014761 0.002046 -0.002788 0.003010 0.000856 -0.000946 + + + <_ type_id="opencv-matrix"> + 6 + 192 +
d
+ + -0.021592 -0.005483 0.013379 0.023275 0.019080 0.053307 0.002025 0.006907 -0.002632 0.006926 -0.027057 0.014158 0.012114 0.038066 0.017105 0.045270 -0.007544 -0.007352 -0.002619 -0.024162 0.037709 0.019797 0.038838 0.045256 0.036257 0.002344 -0.007514 0.014579 -0.011500 0.053676 0.028074 0.010409 -0.026901 -0.010680 0.001520 0.005313 0.013906 0.043862 0.001255 0.002806 0.001974 -0.001144 -0.026983 0.008553 0.011111 0.032076 0.011946 0.020297 0.015020 0.015556 -0.009412 -0.024674 0.011381 0.016472 0.046679 0.050320 0.017972 0.016730 0.009181 -0.010726 -0.019489 0.059484 0.027058 0.010409 0.007597 -0.001462 -0.003684 -0.011307 -0.010548 0.001286 0.001219 -0.002351 0.021357 0.018340 -0.012727 -0.007118 -0.015762 0.008443 -0.022348 -0.018006 -0.011254 0.003010 0.072365 -0.010054 -0.015775 -0.024755 -0.009585 -0.012279 -0.014514 -0.005881 0.034784 0.001316 0.007951 -0.013323 -0.022019 0.019800 -0.025374 -0.030193 -0.022177 -0.022869 -0.026544 -0.034393 -0.012200 -0.023007 -0.008552 -0.005940 0.009540 -0.002807 -0.033923 0.007743 -0.007426 0.004768 -0.003690 -0.004548 0.003775 -0.009258 -0.028626 -0.047192 -0.017869 -0.038303 -0.003889 -0.029048 -0.004865 -0.021653 -0.005203 -0.045847 -0.041182 0.019800 -0.033695 0.010666 0.018329 0.014654 0.003298 -0.005121 -0.006987 -0.007992 0.008169 -0.006890 0.038357 0.018036 -0.000317 0.001191 -0.001427 0.007200 -0.006297 -0.035814 -0.022398 0.012626 0.027306 0.010772 0.005825 -0.003910 0.000532 -0.012953 -0.024098 -0.029979 -0.026234 0.021187 0.042265 0.019800 -0.013805 0.051643 0.018655 -0.020829 -0.010965 0.011450 0.004054 -0.011820 -0.024400 -0.017642 0.020780 0.004894 -0.012303 -0.006319 -0.017480 -0.020879 -0.020351 -0.041814 -0.003708 0.063650 0.012541 -0.033368 -0.014948 0.000243 -0.018925 -0.033596 -0.063961 -0.013310 -0.017954 -0.011555 -0.007685 0.019722 + -0.006600 0.004056 0.012057 0.006507 0.046073 0.042831 -0.005066 -0.000991 -0.014320 -0.030164 -0.006456 0.005651 0.011900 0.024114 0.019035 0.045311 -0.016887 -0.007425 -0.009446 0.002795 0.014618 0.007183 0.045986 0.051438 0.034575 -0.016288 -0.010773 -0.005385 -0.009435 0.041412 0.034514 0.010361 -0.033254 -0.005219 0.011323 -0.013081 0.017870 0.041726 0.004202 -0.009866 -0.025968 -0.010921 -0.027534 -0.009524 0.009525 0.018353 0.013053 -0.006611 0.013805 -0.009031 -0.028106 -0.031756 0.003824 0.002125 0.027568 0.053795 -0.001053 -0.001155 -0.019601 -0.040090 -0.041136 0.036317 0.034939 0.010361 -0.007665 0.005726 0.006085 -0.013805 -0.020019 -0.013356 0.015897 -0.008010 0.056189 0.019079 -0.009744 -0.009325 -0.030822 -0.001955 -0.020128 -0.006737 -0.016042 0.001572 0.081905 0.001896 -0.008942 -0.040391 -0.014639 -0.023862 -0.005646 -0.016395 0.065178 -0.004823 0.006614 -0.013866 -0.012938 0.019752 -0.022837 -0.004230 0.002160 -0.016300 -0.015124 -0.021920 0.010268 -0.015404 0.015215 -0.009144 0.008880 -0.009701 -0.007435 -0.020578 -0.019922 -0.016898 -0.048334 -0.016689 0.003747 0.004956 -0.006740 -0.020666 -0.027969 -0.026180 -0.007817 -0.052694 -0.000386 -0.026011 -0.001068 -0.040663 -0.030306 0.019752 0.000025 0.039002 0.048722 0.003829 -0.001704 -0.013514 -0.006395 -0.008625 0.010208 -0.014057 0.017179 0.002608 -0.011841 -0.000259 -0.000418 0.002781 -0.004477 0.004678 0.020648 0.029459 0.042934 -0.008940 -0.005791 0.004619 -0.004946 -0.005436 -0.004321 -0.007741 -0.013452 0.013678 0.039449 0.019752 -0.011185 0.051088 0.001492 -0.020676 -0.009732 -0.003329 0.006876 0.006766 0.007468 -0.013575 -0.014353 -0.018129 -0.013144 0.008491 0.007000 0.003756 -0.013289 -0.018198 -0.004270 0.048622 -0.008543 -0.039943 0.003014 0.022526 0.004264 -0.001011 -0.027296 0.010504 -0.013533 -0.006739 -0.010348 0.019675 + -0.001142 0.000565 -0.006052 0.000286 0.034846 0.022196 0.012007 0.000809 0.000451 -0.016933 0.015929 -0.000603 0.008755 0.033025 0.025391 0.024309 -0.001580 -0.018393 -0.002095 0.013956 -0.006645 0.003814 0.043138 0.057197 0.025947 -0.010504 -0.000791 0.002683 -0.003580 0.026188 0.037814 0.006292 -0.013727 0.004545 0.005860 0.005425 -0.014542 -0.017638 -0.011548 -0.000896 -0.003129 -0.001034 -0.033307 -0.007456 0.002065 -0.003676 0.008527 -0.003853 -0.025696 -0.026332 0.000925 -0.023621 -0.011934 -0.001211 -0.019870 -0.005443 -0.014901 -0.028408 -0.021775 -0.059690 -0.053695 0.022505 0.026575 0.006292 -0.030187 0.002635 0.018719 0.015182 0.000533 -0.024383 0.006811 0.009580 0.025503 0.011090 0.018723 0.008150 -0.024160 0.000175 -0.013237 -0.022038 0.005773 0.009330 0.066862 0.030637 0.006402 -0.020947 -0.009741 -0.020043 -0.009589 0.017275 0.039705 -0.014815 0.011695 0.000205 0.011495 0.015683 -0.014467 -0.022351 -0.042612 0.004006 0.020452 0.013870 0.018192 0.001391 -0.004024 -0.012517 0.001558 0.013466 0.014664 -0.007056 -0.025722 0.003050 -0.011113 0.017423 -0.003789 0.006162 -0.018802 0.015402 0.012104 -0.000392 0.025917 -0.001965 0.009887 -0.014096 0.020023 -0.025630 0.004718 0.015683 0.016199 0.028511 -0.000885 0.011743 -0.008896 -0.004362 -0.002974 -0.002036 -0.013603 -0.005880 0.016012 0.012728 0.003530 0.009193 0.002698 0.016331 -0.028680 0.039439 0.041350 0.039560 0.002020 0.011450 0.002905 0.010572 0.005777 -0.017952 0.027623 0.007600 0.000233 0.002728 0.031425 0.015683 0.000382 -0.012595 -0.035293 -0.005929 -0.021301 0.004011 0.002637 0.010259 0.014298 0.019576 0.011751 -0.009862 0.004003 0.020695 0.006103 0.026069 -0.024893 0.001696 0.033347 -0.000021 -0.038867 -0.008250 0.004101 0.019924 0.012961 -0.006717 0.008166 0.016814 0.005474 -0.008357 -0.008460 0.015605 + -0.010511 -0.028000 -0.014336 0.005288 0.010060 0.021429 -0.001510 -0.005429 -0.016001 -0.031206 0.008565 0.022228 0.025861 0.013891 0.016673 0.026060 -0.008653 -0.004398 -0.029611 -0.009703 0.006596 0.025374 0.018542 0.038939 0.016821 -0.009378 -0.015931 0.002768 -0.021932 0.027464 0.005847 0.006292 -0.002679 -0.002873 0.031146 -0.006445 -0.014978 -0.001433 0.013926 -0.004154 0.003467 -0.013038 0.000753 -0.016202 0.000090 -0.018236 0.004566 0.010518 -0.011118 -0.008405 0.005918 -0.002948 0.009466 -0.011421 -0.023750 -0.005022 0.018660 -0.024047 0.000105 -0.048361 -0.054969 0.053879 0.032908 0.006292 -0.011688 0.019984 0.032786 -0.013701 -0.012441 0.014881 0.010122 0.027660 0.043609 0.030843 0.001590 0.017323 0.034636 0.016746 -0.005062 -0.009009 -0.003392 0.003837 0.066457 0.028260 0.034737 0.006259 -0.010903 0.012903 0.010517 0.017165 0.032585 -0.007897 0.024847 0.038585 0.038143 0.015683 -0.008983 0.002667 -0.019088 0.024851 -0.000537 0.017235 0.036063 0.008857 -0.027801 -0.023764 -0.035795 0.020021 0.030623 0.015841 0.010741 0.005071 -0.000438 -0.007524 -0.016022 -0.027826 -0.010373 0.038246 0.012392 0.046542 0.044939 0.008516 -0.032350 -0.006838 0.023856 -0.007259 0.012887 0.015683 0.008744 0.032176 0.019452 0.017053 -0.008264 -0.028289 -0.004984 0.022778 -0.007854 0.003141 -0.004845 0.007795 0.015882 0.004380 0.001602 0.003017 -0.002212 0.018167 0.022870 0.023347 0.020361 0.029324 0.006152 -0.016575 -0.001519 0.014446 0.005769 0.011561 0.022484 -0.013070 0.025099 0.015683 0.027834 -0.011858 -0.001501 -0.003684 -0.042199 0.000943 0.015020 -0.002451 -0.010245 -0.005424 -0.017963 -0.019191 0.022762 0.013473 0.032831 0.035769 0.006136 0.009108 0.016530 -0.020704 -0.014991 0.007945 0.010208 0.030215 0.038436 0.011800 -0.001123 0.022699 0.019789 -0.014622 -0.004597 0.015605 + -0.019824 -0.010334 -0.017156 -0.025900 -0.014610 0.035049 0.008207 0.002389 0.016981 0.005730 -0.017274 0.020134 0.012087 0.007375 0.008831 0.020019 0.004564 -0.025219 -0.001391 -0.026232 0.002850 -0.016274 0.007109 0.011722 0.018802 0.004417 -0.002368 -0.005195 -0.013557 0.009888 0.014072 0.012291 -0.020705 -0.024706 -0.006023 -0.034786 0.008452 0.012794 0.019283 0.012746 0.012613 0.010544 0.007465 0.016522 0.014581 -0.015791 0.001732 0.006414 0.018144 -0.018665 0.007537 -0.017177 -0.000587 -0.012701 0.012211 -0.005849 0.014824 0.021329 -0.009008 -0.026821 -0.058419 0.051790 0.043168 0.012291 -0.010949 -0.003845 -0.001644 -0.023640 -0.018576 0.044641 0.072423 0.057149 0.045375 0.052715 0.005520 -0.002451 0.022738 0.003864 0.014757 0.001500 -0.007978 -0.018095 0.049254 0.005800 -0.005900 -0.011516 -0.003511 0.051282 0.058938 0.041661 0.024777 0.009744 -0.014283 0.075034 0.039578 0.021682 0.001297 -0.003848 0.005518 0.007914 0.022913 0.041874 0.021157 0.009292 -0.030420 -0.022140 -0.017560 -0.003684 0.025998 0.052586 0.043310 0.030424 0.005861 -0.011786 -0.011458 -0.022920 0.003570 0.020896 0.061125 0.063203 0.048383 0.008887 -0.038083 0.027650 0.009535 0.039409 0.007648 0.021682 0.060303 0.014717 0.032179 0.026175 0.058117 0.001812 -0.005976 0.009426 0.016070 0.015628 0.007716 -0.009024 0.009531 0.012304 -0.006638 0.028925 0.014974 0.030984 0.069875 0.022071 0.026722 0.023327 0.041249 0.011887 0.035894 0.020520 0.046529 0.050708 0.042931 0.031886 0.024014 0.021682 0.030570 -0.028211 -0.008569 -0.003180 0.027183 0.013982 -0.003087 0.001753 -0.010428 0.023824 -0.022081 -0.009529 0.038162 -0.014008 0.009748 0.006391 0.034518 0.014769 0.044353 -0.041359 -0.011667 0.018742 0.001477 0.009706 0.004888 0.029719 0.007780 0.034313 0.023069 0.000786 -0.010176 0.021605 + -0.000449 0.011998 -0.005749 0.002790 0.047116 0.067298 0.030255 0.031123 0.014472 -0.000741 0.000285 0.000488 -0.019267 0.007275 0.013671 -0.004493 -0.029870 -0.008935 0.004957 0.008677 -0.008597 0.000312 0.042156 0.046869 0.023905 0.007576 0.012008 0.037665 -0.006576 0.037922 0.005124 0.007427 -0.010106 -0.004569 -0.006992 -0.001103 0.011587 0.035625 0.009394 0.015507 -0.008458 -0.017131 -0.000819 0.001120 0.008658 -0.019940 -0.015616 -0.005094 -0.015169 -0.023830 -0.006405 -0.010489 -0.011174 0.003924 0.002401 0.007714 0.014415 0.003250 -0.021813 0.004881 -0.065509 0.045005 -0.006503 0.007427 -0.017455 -0.030530 -0.023621 -0.043839 -0.001682 0.029342 0.053190 0.024128 0.035271 0.008294 -0.006993 0.012228 0.018568 -0.023449 -0.014805 -0.036490 -0.023736 -0.024124 0.004360 -0.028112 -0.016689 -0.043551 -0.006717 0.010024 0.012391 0.004055 0.005862 0.002427 -0.063790 0.048151 -0.017760 0.015807 -0.007679 -0.021753 -0.020077 -0.003814 0.039542 0.055517 0.011558 0.003930 -0.013583 -0.014265 -0.008007 -0.003870 -0.002698 0.025079 -0.007118 0.006771 -0.000728 -0.016934 -0.016881 -0.024973 -0.027237 -0.013701 0.045129 0.027190 0.001533 0.001668 -0.026822 0.027287 -0.037463 0.048010 -0.027525 0.015807 -0.000716 -0.007391 0.007672 0.048985 0.044913 0.052709 0.005409 -0.007881 -0.015959 -0.010451 -0.005675 -0.015992 0.002265 -0.011172 -0.003651 -0.004001 -0.005771 -0.016915 -0.006314 -0.015514 -0.011271 0.034277 0.034250 0.025561 0.000218 -0.021266 -0.025788 0.036984 -0.018088 0.035279 -0.027599 0.015807 -0.016969 -0.021182 0.018318 0.036752 0.064595 0.053887 -0.014973 -0.006545 -0.007517 -0.020052 -0.019555 -0.008199 -0.012403 -0.027392 0.003248 -0.004845 -0.008308 -0.012825 -0.033615 -0.038492 0.000949 0.013931 0.054685 0.033781 -0.015731 -0.010700 -0.017149 0.040769 -0.015864 0.012430 -0.039203 0.015729 + + +
+ + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + 0.050104 -0.048011 -0.029705 -0.052442 -0.008172 0.002777 -0.006393 0.062358 -0.195551 -0.031130 0.001042 0.003541 -0.095971 0.169039 -0.067480 -0.108019 0.033076 0.003543 -0.061280 0.089053 0.158444 -0.049996 0.003997 0.003543 0.035513 -0.053194 0.049545 -0.044923 -0.021001 0.003543 -0.024375 0.084447 -0.019257 -0.084879 -0.014608 0.003543 + -0.014044 -0.093978 -0.089508 -0.027631 0.027392 0.011092 -0.050732 -0.009775 -0.252586 0.062109 -0.012190 0.011856 0.057014 0.156507 0.017135 0.039924 -0.060268 0.011858 0.004658 0.038590 0.226086 0.092015 -0.095687 0.011858 -0.042125 -0.096865 0.121319 0.021700 -0.002115 0.011858 -0.053228 0.081484 -0.021754 -0.052300 -0.000094 0.011858 + -0.077128 -0.098976 0.003875 -0.090088 -0.004011 0.011099 -0.092554 -0.042010 0.031147 0.014762 0.042880 0.011863 0.075888 0.090175 0.010854 0.022614 -0.025184 0.011865 0.036023 -0.029841 0.070137 0.042758 -0.059677 0.011865 -0.035189 -0.177750 0.018205 -0.064991 -0.005077 0.011865 0.009431 0.043379 -0.012490 -0.114811 0.010945 0.011865 + -0.062252 -0.043291 0.003299 -0.055978 -0.055156 0.011233 -0.052678 -0.071774 0.098359 0.066509 0.024603 0.011998 0.016644 0.073673 0.012180 0.031044 0.012922 0.012000 -0.058476 -0.060230 -0.023807 -0.009671 0.054925 0.012000 -0.094103 -0.115167 -0.015307 -0.001114 0.041597 0.012000 0.056798 0.014034 0.001058 -0.028828 -0.003202 0.012000 + -0.057680 0.076910 0.028664 -0.042264 0.029081 -0.000767 -0.133369 -0.058850 0.059343 0.054349 -0.017765 -0.000002 0.086189 0.058320 -0.008109 0.042540 -0.011641 0.000000 0.022700 0.020028 -0.082459 0.001391 0.074930 0.000000 -0.136299 0.050534 0.042012 0.020930 0.061374 0.000000 -0.031107 0.028781 0.050403 0.022491 0.007456 -0.000000 + 0.014961 0.088769 -0.111421 0.022697 -0.022923 -0.000767 -0.086821 -0.052040 0.042662 0.056652 -0.007746 -0.000002 -0.013673 0.031110 0.000574 0.060421 0.018839 0.000000 0.056111 0.046832 -0.181882 0.069537 0.050904 0.000000 0.064345 0.043024 0.066133 0.055179 -0.055074 0.000000 -0.001848 0.070872 0.201505 0.091126 -0.068298 -0.000000 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + -0.087144 0.078769 -0.009122 0.015409 0.042013 0.006155 0.012795 0.077597 -0.056245 0.022885 0.023624 0.001899 -0.011695 -0.004607 0.004760 -0.023270 0.007527 0.004850 0.052658 -0.034361 0.064009 0.013566 -0.026206 0.010170 0.043488 -0.006393 -0.001554 0.018222 -0.011459 0.010797 0.017410 -0.008921 -0.008594 -0.030732 0.042169 0.015598 + -0.039628 0.050375 -0.016947 -0.011759 0.009177 0.005911 0.006382 0.078597 0.008354 -0.003342 0.003225 0.001654 -0.028479 -0.025202 0.028363 0.006395 0.030720 0.004606 0.051218 -0.055860 0.031464 0.005268 -0.000086 0.009925 0.120364 -0.022333 -0.013201 0.012755 0.028128 0.010552 -0.043743 -0.009106 -0.013888 -0.060987 0.025397 0.015353 + -0.029707 0.061829 -0.003868 0.001136 0.012762 0.005910 0.063673 0.071206 -0.034410 -0.024000 -0.029951 0.001653 0.000956 -0.006326 -0.001487 -0.019022 -0.004979 0.004604 -0.056953 -0.003447 0.045906 0.015306 0.022544 0.009924 0.031931 -0.010473 -0.062987 0.029283 0.007558 0.010551 -0.045600 -0.032611 -0.027340 -0.013122 0.005130 0.015352 + 0.017014 -0.006871 -0.033331 0.012942 0.015777 0.005636 0.092278 0.024076 -0.063263 -0.013661 0.004084 0.001379 0.023100 -0.006168 -0.027631 0.055932 -0.012652 0.004331 -0.090925 -0.001637 0.012172 0.068314 0.011328 0.009650 -0.043955 -0.010173 -0.011246 0.019742 0.010863 0.010277 -0.061706 -0.061511 0.001204 -0.003111 0.041673 0.015078 + -0.072998 -0.002756 0.058256 -0.006006 0.003721 0.005636 -0.075587 0.073064 -0.063865 -0.031067 -0.018236 0.001379 -0.050854 0.065892 -0.022976 0.009397 -0.039518 0.004331 -0.051296 0.082061 0.029972 -0.001012 0.011227 0.009650 -0.065595 0.048453 -0.032511 -0.034664 0.041882 0.010277 -0.109007 -0.006280 -0.028993 -0.062086 -0.018496 0.015078 + -0.032901 0.006692 0.010888 -0.022062 0.025585 0.022133 -0.038380 0.067582 0.046099 -0.045883 0.039392 0.017876 0.010383 0.106269 0.050001 -0.033937 0.047796 0.020828 0.040339 0.098606 -0.006232 -0.036102 0.044273 0.020829 0.035841 0.100117 -0.070597 -0.030603 0.038922 0.020829 0.006741 0.067180 -0.058975 -0.020837 0.033482 0.020829 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + -0.011370 0.009977 -0.028176 0.053808 -0.021791 0.000000 0.040942 -0.010569 -0.076901 0.062932 -0.003305 0.000000 -0.088711 0.076282 0.046030 0.019258 0.036742 0.000000 -0.069735 0.058445 0.152172 0.036438 0.020301 -0.000000 0.008565 -0.002449 -0.013702 0.023211 0.013668 -0.001385 0.055049 0.013528 -0.094118 -0.047114 -0.025295 -0.001392 + -0.013610 0.043585 0.003965 -0.001567 -0.000719 0.000000 0.069358 -0.037342 -0.071923 -0.002569 -0.029638 0.000000 0.125968 -0.017864 -0.064479 0.016189 -0.084275 0.000000 0.109876 0.061394 0.121088 0.072992 -0.076793 -0.000000 -0.059438 -0.020033 0.177455 0.079425 -0.027135 -0.001385 0.012940 0.042226 -0.004891 -0.069099 0.006905 -0.001392 + -0.013585 0.013595 -0.021576 -0.034995 0.010815 0.000000 -0.008884 -0.011732 -0.024182 -0.005143 -0.049676 0.000000 0.055548 -0.039052 -0.034533 0.016825 -0.121085 0.000000 0.132954 0.009647 -0.070327 -0.012631 -0.106702 -0.000000 0.002228 -0.076287 0.093708 0.034217 -0.036079 -0.001385 -0.071492 -0.035836 0.013933 -0.041348 0.000938 -0.001392 + -0.006445 -0.008682 -0.031073 0.006842 -0.029355 0.000000 -0.013059 0.001115 -0.009132 0.017514 -0.042080 0.000000 0.002945 -0.012373 -0.017162 0.003862 -0.081739 0.000000 0.002157 -0.015103 -0.042886 -0.022196 -0.084498 -0.000000 0.047741 -0.024455 0.011151 -0.007586 -0.043961 -0.001385 -0.052678 -0.061520 0.027899 -0.008354 -0.010445 -0.001392 + 0.011080 -0.004608 0.019788 -0.004182 -0.027031 0.000000 0.025536 0.039597 -0.010377 -0.009243 -0.023517 0.000000 -0.045365 -0.044510 -0.013744 -0.018447 -0.050139 0.000000 -0.023912 -0.071676 0.026430 -0.002839 -0.054554 -0.000000 0.046490 -0.026630 0.016789 0.000763 -0.016666 -0.001385 -0.054799 0.027583 -0.027005 -0.027277 -0.005880 -0.001392 + -0.033906 -0.000114 -0.017391 0.004220 -0.005974 0.000000 0.021199 0.025468 -0.003636 0.031463 -0.025630 0.000000 -0.033137 -0.002650 -0.046547 0.002409 -0.015348 0.000000 -0.036748 -0.030196 0.023522 -0.039041 -0.018974 -0.000000 0.005226 -0.037719 0.005093 -0.007164 -0.015197 -0.001385 0.009473 -0.032524 -0.012102 -0.002470 -0.025752 -0.001392 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + -0.051682 -0.026721 0.009171 -0.020624 0.025254 0.005336 -0.010678 0.046723 0.042185 0.012607 -0.018768 0.005336 0.042527 0.088741 -0.024868 0.017808 -0.000381 0.005330 0.001513 -0.046171 -0.055367 -0.057963 0.051575 0.005330 -0.022124 0.013444 -0.009298 -0.024010 0.011204 -0.005955 -0.021540 0.084394 -0.003455 -0.003150 0.015368 -0.011858 + -0.023328 -0.052113 -0.037224 -0.029741 0.001759 0.008054 0.022100 0.021031 0.011049 0.007141 0.021874 0.008054 0.037466 -0.001729 -0.025179 0.047150 0.020281 0.008048 -0.036132 -0.049629 -0.042775 -0.043947 0.033414 0.008048 0.011863 0.041404 -0.018182 -0.036912 0.023624 -0.003237 -0.015642 0.081557 -0.007783 -0.006185 -0.015734 -0.009140 + -0.050213 -0.068180 0.022385 -0.010614 0.019815 0.008036 0.046075 0.037673 0.057584 0.027674 0.036675 0.008036 0.074209 0.020589 -0.014858 0.057200 0.042170 0.008029 -0.030254 -0.054769 -0.020527 -0.001385 -0.009756 0.008029 0.023494 0.070774 -0.007807 -0.020517 -0.017170 -0.003255 -0.037874 0.064297 -0.005427 0.003390 0.028000 -0.009159 + -0.052642 -0.089345 0.020197 -0.003074 0.011934 0.003802 0.023378 -0.014089 0.111110 0.027694 0.003577 0.003802 0.037280 0.063521 0.042350 0.079839 0.027002 0.003796 -0.066608 -0.066028 0.035431 -0.021604 0.030829 0.003796 0.019702 0.035105 0.054061 0.022175 0.028963 -0.007489 -0.022658 0.068995 -0.009466 -0.010027 0.028729 -0.013392 + -0.041401 -0.030569 0.013895 -0.012124 0.017116 0.003802 -0.002869 -0.065020 0.112081 0.031867 0.013259 0.003802 0.096914 0.056950 0.063853 0.094804 0.015225 0.003795 -0.051578 -0.068026 0.051508 0.023294 0.014455 0.003795 0.001174 0.012565 0.030536 0.028937 0.039000 -0.007489 -0.033951 0.068643 0.012874 -0.001700 0.034109 -0.013393 + 0.007055 0.047515 0.006351 -0.022985 0.000228 0.002233 -0.096654 -0.042786 0.077028 0.000542 -0.004791 0.002233 0.080479 0.073239 0.032787 0.067239 -0.008081 0.002226 -0.034596 -0.002789 -0.029655 0.007710 0.000743 0.002226 -0.024920 0.033568 -0.006847 0.006283 0.019383 -0.009058 -0.018921 0.048367 0.009549 0.008772 0.032552 -0.014962 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + -0.023160 -0.013947 0.001836 -0.017637 0.021676 -0.006270 -0.010857 -0.001883 -0.018935 0.004047 0.037970 -0.006192 0.003038 -0.011152 -0.003689 0.025038 0.022886 -0.006192 -0.068563 -0.023530 0.030784 0.005410 0.016963 -0.001155 -0.005075 0.054599 0.009004 0.011173 -0.011582 0.000000 -0.003489 0.033746 0.000913 -0.007586 -0.037395 0.000000 + -0.055019 -0.004619 -0.006002 -0.034133 0.002105 -0.006270 0.012748 -0.054332 -0.024510 0.009247 -0.003362 -0.006192 0.021803 -0.051723 -0.045882 0.011688 0.005081 -0.006192 -0.030905 -0.021425 0.002799 0.047604 0.006731 -0.001155 0.006876 0.042579 -0.019606 0.025734 0.021123 0.000000 0.021587 0.059742 -0.021910 0.017813 0.004935 0.000000 + -0.025948 0.018422 -0.037557 -0.063729 0.012888 -0.006270 0.000553 -0.034593 -0.014918 -0.059560 0.004256 -0.006192 0.017093 -0.055570 -0.026786 -0.023328 0.006562 -0.006192 -0.000305 -0.011056 0.012324 0.049694 -0.004053 -0.001155 -0.033098 0.012222 0.061427 0.067757 -0.032322 0.000000 0.017054 0.068511 -0.014055 0.059933 -0.030049 0.000000 + -0.020881 0.018305 0.017509 -0.043121 0.017770 -0.006270 -0.033194 -0.015649 0.016405 -0.037457 0.026484 -0.006192 -0.014466 0.010309 0.035567 0.018557 -0.027304 -0.006192 0.004556 0.088741 0.059078 0.038667 -0.022275 -0.001155 -0.024821 0.076316 0.023747 0.008662 -0.011255 0.000000 -0.009864 0.048040 -0.092494 0.051285 0.016282 0.000000 + -0.061641 0.033226 0.080494 -0.007913 0.002725 -0.000275 -0.079358 -0.021411 0.020169 -0.024159 0.025176 -0.000197 0.051566 -0.021216 0.026077 -0.060678 -0.002155 -0.000197 0.088496 0.044860 0.011614 -0.012441 0.020595 0.004840 -0.018745 0.049989 0.010076 0.020590 0.053980 0.005995 -0.049576 -0.001875 -0.031005 -0.010673 0.064362 0.005995 + -0.006184 0.121101 -0.042441 -0.011369 -0.017006 -0.002314 -0.041392 -0.003039 -0.050042 -0.017926 -0.019353 -0.002236 0.074577 -0.083742 0.016145 -0.034168 0.007169 -0.002236 0.148323 -0.004155 -0.015409 0.038189 0.025172 0.002801 -0.019221 -0.058575 0.004297 0.006776 0.077527 0.003956 -0.027773 -0.093572 0.013614 -0.032632 0.039650 0.003956 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + 0.006008 0.031156 0.049453 -0.013458 0.001053 -0.001176 -0.097564 -0.018126 -0.136463 0.034637 -0.000110 -0.001176 -0.048780 0.010099 -0.086235 0.050568 -0.011887 -0.001161 0.020463 0.029020 0.043994 0.050534 -0.048540 -0.000636 0.037528 0.049475 -0.028581 0.052594 -0.030802 -0.000000 -0.019718 0.002574 -0.045015 0.052368 -0.002941 -0.000000 + -0.045982 -0.036450 -0.047688 -0.037617 0.020289 -0.001176 -0.008457 -0.092268 -0.127211 0.030699 -0.019112 -0.001176 0.144026 0.027176 0.040515 0.010445 -0.077258 -0.001161 0.037436 0.028122 0.088559 0.020694 -0.062330 -0.000636 0.009068 0.012855 0.015981 0.042306 -0.056997 -0.000000 0.043033 -0.002068 -0.017978 0.015006 -0.017613 -0.000000 + -0.039420 -0.070850 -0.034986 -0.007477 0.011105 -0.001176 0.099092 -0.090138 -0.021007 0.016995 -0.028507 -0.001176 0.052217 -0.031275 0.070531 0.044553 -0.064896 -0.001161 -0.035472 0.020876 0.049548 0.003423 -0.036606 -0.000636 -0.042881 0.065607 -0.023776 -0.000085 -0.016970 -0.000000 -0.014271 0.013642 -0.040248 -0.041506 0.014464 -0.000000 + -0.036016 -0.055866 -0.043885 -0.012882 0.005027 -0.001176 0.064299 -0.019574 0.016435 -0.003757 0.004673 -0.001176 0.003403 -0.050256 0.034570 -0.011113 -0.040895 -0.001161 0.027575 -0.028377 0.000839 0.018773 -0.028968 -0.000636 -0.002614 -0.020068 -0.023965 0.002406 -0.033876 -0.000000 0.014467 -0.016337 0.026864 -0.026601 -0.014972 -0.000000 + -0.016212 -0.022774 0.040835 -0.022454 0.003983 -0.001176 0.024860 0.009405 0.001698 0.029496 0.001661 -0.001176 -0.020797 -0.066020 0.001233 -0.033120 0.001647 -0.001161 -0.021300 -0.035956 0.023304 -0.000734 0.005578 -0.000636 -0.016964 -0.006241 0.023871 0.002336 -0.044485 -0.000000 -0.030524 0.065688 0.014941 0.011227 -0.012136 -0.000000 + -0.049098 0.024135 0.035363 -0.006480 -0.064175 -0.001176 -0.019019 0.053257 -0.027555 0.010567 -0.024414 -0.001176 -0.031536 -0.050078 -0.038386 -0.024850 0.004371 -0.001161 -0.004680 -0.035907 -0.000754 0.026261 0.017922 -0.000636 0.009315 0.038222 -0.002417 0.044403 0.012357 -0.000000 -0.000170 -0.030380 -0.024559 0.002702 0.021056 -0.000000 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + 0.035332 -0.011570 -0.019290 0.024212 -0.016216 0.000000 0.026048 -0.006521 -0.023799 -0.032759 -0.002186 -0.000003 0.016161 0.028305 0.028440 0.046954 0.009586 -0.000007 -0.024011 -0.048576 -0.000229 0.038573 0.026159 -0.000007 -0.019834 -0.046082 0.034007 0.018298 -0.005313 -0.000007 0.021058 0.029246 -0.015558 -0.022289 -0.039486 -0.000016 + -0.043740 0.030778 0.014504 0.016379 -0.039686 0.000000 -0.019423 0.025322 -0.002966 -0.026683 0.027143 -0.000003 -0.019384 0.052288 -0.061074 0.020500 0.045008 -0.000007 0.012217 -0.025185 -0.062337 0.042016 0.021798 -0.000007 0.040833 -0.062436 0.082190 -0.003818 0.005948 -0.000007 0.013097 -0.012108 0.024606 -0.039942 0.007626 -0.000016 + 0.008999 0.007165 0.015855 0.016307 0.002651 0.000000 -0.011239 0.023117 -0.024296 0.020620 -0.008438 -0.000003 0.004688 0.022417 -0.018634 0.036072 0.022878 -0.000007 0.046855 0.040240 0.008589 0.047631 0.017702 -0.000007 -0.018141 -0.042574 -0.022228 -0.026677 0.039102 -0.000007 -0.029561 -0.036512 0.004030 -0.071810 0.053858 -0.000016 + -0.045905 0.061282 0.032106 0.005550 -0.012498 0.000000 0.009071 0.076557 0.005154 0.030652 -0.013106 -0.000003 -0.018141 0.103958 0.014379 0.036236 0.008523 -0.000007 0.044656 0.083775 -0.000350 -0.009467 0.019123 -0.000007 -0.038034 -0.026655 -0.036391 -0.013934 0.010067 -0.000007 -0.069083 -0.095976 -0.002501 -0.037606 0.021463 -0.000016 + -0.019070 0.058709 0.004813 -0.002420 -0.043418 0.000000 0.023048 0.035653 -0.016662 0.008804 -0.027517 -0.000003 0.000361 -0.000148 -0.065787 0.016359 -0.004032 -0.000007 0.010720 0.063145 -0.027321 0.001664 0.016040 -0.000007 -0.106790 -0.008503 -0.017457 -0.012644 -0.003381 -0.000007 -0.100983 -0.040210 -0.052586 -0.039022 -0.015142 -0.000016 + -0.002926 0.032980 -0.005173 0.001345 -0.002859 -0.000946 -0.033613 0.020357 0.000328 -0.001146 0.014546 -0.000949 0.051159 0.028860 -0.027302 0.025542 -0.014008 -0.000952 0.114255 -0.030812 -0.061091 -0.004079 0.006471 -0.000952 -0.012653 -0.083939 -0.002041 -0.025056 0.027542 -0.000952 -0.045937 0.094721 0.030394 -0.026624 -0.031513 -0.000962 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + 0.047708 -0.006833 0.061998 -0.010708 0.020040 0.019722 -0.001425 0.016894 0.051069 0.033320 0.000584 0.019800 0.099552 -0.017323 -0.020898 -0.017078 -0.035212 0.019800 0.011628 -0.055818 -0.020442 -0.053380 0.012370 0.019800 -0.065706 0.075155 -0.019798 0.004023 -0.004041 0.010409 -0.083455 0.081681 0.003249 0.010931 0.002077 0.010409 + 0.010229 0.005898 -0.008153 -0.015866 0.000121 0.019675 -0.028564 -0.033484 0.040703 0.010218 0.004668 0.019752 0.083603 -0.025183 0.022605 -0.009308 0.014179 0.019752 0.008577 -0.085740 -0.033729 -0.046862 0.015526 0.019752 -0.003751 0.093446 -0.004255 -0.004552 0.007209 0.010361 -0.066336 0.089639 0.011801 -0.006899 0.006814 0.010361 + -0.010915 -0.001556 -0.036956 -0.043003 -0.025340 0.015605 -0.047888 -0.035993 0.022665 -0.021736 -0.013556 0.015683 -0.002925 0.020063 -0.014586 0.010650 0.018311 0.015683 -0.021464 -0.073888 -0.002640 -0.005382 0.016267 0.015683 0.060676 0.012929 0.016937 -0.006602 -0.005744 0.006292 -0.067747 0.070257 -0.003580 -0.024174 -0.006622 0.006292 + -0.032662 0.022861 -0.046524 -0.003406 -0.046139 0.015605 -0.043380 -0.037834 0.030629 0.024184 -0.011145 0.015683 -0.031284 0.082679 -0.010920 0.034479 -0.000718 0.015683 -0.089359 -0.058517 0.006729 -0.000002 0.002137 0.015683 0.017702 -0.009638 -0.003557 0.013011 0.006754 0.006292 -0.021642 0.075312 0.012502 0.019872 -0.021696 0.006292 + -0.041647 -0.000653 -0.034863 -0.020469 -0.001974 0.021605 -0.144215 -0.038903 0.002712 -0.026232 0.022363 0.021682 -0.084527 0.123083 -0.011204 -0.002224 -0.019214 0.021682 -0.105395 -0.011670 -0.084361 -0.009405 0.023988 0.021682 -0.007982 0.009862 -0.031668 0.012899 0.000405 0.012291 -0.005221 0.031654 -0.032777 0.002226 -0.012924 0.012291 + -0.004185 0.099510 0.022231 -0.010970 0.068600 0.015729 -0.023345 0.073430 0.030274 -0.015384 0.059768 0.015807 -0.006246 0.088731 -0.020157 -0.029938 0.026682 0.015807 0.028039 0.008420 -0.053096 -0.012195 0.036474 0.015807 0.013748 0.033590 -0.005347 0.010199 0.036894 0.007427 -0.075879 0.056215 -0.023791 -0.036016 0.061326 0.007427 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + -0.024280 0.084133 0.020951 -0.084917 -0.015158 0.003543 0.035113 -0.052842 -0.050787 -0.045266 -0.020270 0.003543 -0.063072 0.091803 -0.156315 -0.054722 0.005445 0.003543 -0.095642 0.168031 0.071852 -0.108853 0.031954 0.003543 -0.004505 0.059216 0.196574 -0.027572 -0.001024 0.003541 0.050267 -0.048232 0.028693 -0.052593 -0.008527 0.002777 + -0.053228 0.081322 0.023861 -0.053194 -0.000296 0.011858 -0.042562 -0.095572 -0.122550 0.023832 0.000287 0.011858 0.003121 0.041681 -0.227377 0.091790 -0.092582 0.011858 0.056886 0.156514 -0.016366 0.039727 -0.059935 0.011858 -0.048879 -0.013202 0.252156 0.063173 -0.015903 0.011856 -0.013866 -0.094969 0.088928 -0.030137 0.025588 0.011092 + 0.009605 0.043019 0.014111 -0.114287 0.011372 0.011865 -0.035183 -0.176707 -0.019927 -0.064315 -0.005257 0.011865 0.035551 -0.029254 -0.071875 0.042710 -0.058506 0.011865 0.075850 0.089604 -0.010600 0.022825 -0.024767 0.011865 -0.092831 -0.041970 -0.030423 0.014222 0.043262 0.011863 -0.077298 -0.098951 -0.003928 -0.091014 -0.004307 0.011099 + 0.056658 0.014174 -0.001216 -0.029622 -0.003595 0.012000 -0.094098 -0.114624 0.014980 -0.001639 0.040729 0.012000 -0.058135 -0.061195 0.024260 -0.008626 0.054675 0.012000 0.016767 0.072931 -0.011218 0.032222 0.013606 0.012000 -0.053082 -0.070815 -0.098985 0.067938 0.026639 0.011998 -0.062139 -0.043243 -0.003614 -0.055241 -0.054952 0.011233 + -0.031610 0.029486 -0.049938 0.021498 0.007991 -0.000000 -0.136768 0.051765 -0.039554 0.019738 0.061506 0.000000 0.023320 0.018853 0.083553 0.001745 0.073525 0.000000 0.086350 0.057982 0.007692 0.043338 -0.011294 0.000000 -0.133662 -0.058549 -0.059728 0.055131 -0.016109 -0.000002 -0.057706 0.077692 -0.026227 -0.041344 0.029478 -0.000767 + -0.003426 0.074370 -0.202107 0.089625 -0.065774 -0.000000 0.063931 0.044082 -0.067151 0.055288 -0.054536 0.000000 0.057643 0.044494 0.182249 0.071508 0.048248 0.000000 -0.013536 0.031073 -0.000265 0.061326 0.019351 0.000000 -0.086907 -0.051900 -0.043103 0.057894 -0.006649 -0.000002 0.015926 0.087028 0.111952 0.024069 -0.024306 -0.000767 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + 0.017326 -0.008800 0.009155 -0.031534 0.042010 0.015598 0.043209 -0.006021 0.000791 0.016432 -0.011703 0.010797 0.052194 -0.033338 -0.065333 0.013351 -0.025207 0.010170 -0.011653 -0.004446 -0.004327 -0.022865 0.007512 0.004850 0.013338 0.076794 0.057634 0.023779 0.022912 0.001899 -0.087129 0.078832 0.011533 0.015014 0.041565 0.006155 + -0.043694 -0.009392 0.014942 -0.061281 0.025171 0.015353 0.120504 -0.022329 0.012240 0.012949 0.027543 0.010552 0.051017 -0.055494 -0.032590 0.005329 0.000751 0.009925 -0.028576 -0.024934 -0.027933 0.006757 0.031326 0.004606 0.006319 0.079117 -0.007136 -0.003443 0.003493 0.001654 -0.039627 0.050393 0.018189 -0.012596 0.008619 0.005911 + -0.045443 -0.032939 0.027346 -0.013405 0.004759 0.015352 0.032282 -0.010914 0.062460 0.028839 0.006376 0.010551 -0.057226 -0.003159 -0.045150 0.015438 0.023393 0.009924 0.000955 -0.006380 0.001505 -0.019148 -0.004665 0.004604 0.063984 0.071032 0.034585 -0.023695 -0.030626 0.001653 -0.029579 0.061611 0.005094 0.001645 0.012680 0.005910 + -0.061575 -0.061151 -0.001228 -0.002243 0.041371 0.015078 -0.043912 -0.009912 0.011197 0.019604 0.010517 0.010277 -0.091273 -0.001999 -0.012021 0.066717 0.011190 0.009650 0.023186 -0.006637 0.026620 0.055226 -0.013414 0.004331 0.092986 0.022743 0.062813 -0.012019 0.003254 0.001379 0.017441 -0.008057 0.033080 0.014052 0.015480 0.005636 + -0.108736 -0.006179 0.029830 -0.061452 -0.019065 0.015078 -0.065288 0.048097 0.034449 -0.033959 0.041209 0.010277 -0.051720 0.082036 -0.028307 -0.002481 0.011442 0.009650 -0.050798 0.065226 0.023504 0.008504 -0.039464 0.004331 -0.075202 0.071842 0.065380 -0.031558 -0.018854 0.001379 -0.073634 -0.002154 -0.057639 -0.007669 0.004520 0.005636 + 0.007275 0.066267 0.060456 -0.019892 0.032605 0.020829 0.036324 0.099269 0.072653 -0.030453 0.037688 0.020829 0.040252 0.098318 0.008401 -0.037058 0.043741 0.020829 0.009993 0.106717 -0.047414 -0.034585 0.048397 0.020828 -0.038916 0.068338 -0.043705 -0.047431 0.040061 0.017876 -0.032956 0.006527 -0.010190 -0.021981 0.025908 0.022133 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + 0.055811 0.012275 0.093874 -0.046208 -0.026698 -0.001392 0.008542 -0.002540 0.013586 0.022563 0.013225 -0.001385 -0.071244 0.061466 -0.150884 0.033186 0.021639 -0.000000 -0.089039 0.077580 -0.043932 0.018928 0.036883 0.000000 0.041704 -0.011506 0.075899 0.064397 -0.004421 0.000000 -0.010984 0.009421 0.027703 0.055017 -0.022160 0.000000 + 0.013009 0.041961 0.006208 -0.068740 0.006950 -0.001392 -0.060744 -0.017552 -0.178112 0.078720 -0.024686 -0.001385 0.108846 0.063553 -0.122628 0.071541 -0.075446 -0.000000 0.126519 -0.018191 0.062055 0.016923 -0.085460 0.000000 0.069808 -0.038033 0.070396 -0.002667 -0.031008 0.000000 -0.013562 0.043576 -0.003270 -0.001211 -0.000568 0.000000 + -0.071566 -0.035676 -0.013358 -0.041151 0.001742 -0.001392 0.001642 -0.074949 -0.095469 0.034398 -0.034120 -0.001385 0.133428 0.008949 0.067992 -0.012718 -0.107801 -0.000000 0.055908 -0.039495 0.031723 0.017720 -0.121418 0.000000 -0.008904 -0.011615 0.023389 -0.006104 -0.050502 0.000000 -0.013503 0.013315 0.022293 -0.035439 0.010387 0.000000 + -0.052907 -0.061037 -0.028485 -0.008593 -0.009519 -0.001392 0.047754 -0.024554 -0.012348 -0.007259 -0.043315 -0.001385 0.002245 -0.015534 0.041626 -0.023396 -0.085232 -0.000000 0.003063 -0.012929 0.015734 0.003941 -0.081692 0.000000 -0.013053 0.000671 0.008647 0.017338 -0.042190 0.000000 -0.006229 -0.008878 0.030523 0.006961 -0.029918 0.000000 + -0.054467 0.027314 0.028021 -0.026530 -0.005967 -0.001392 0.046521 -0.026519 -0.017782 0.001489 -0.016053 -0.001385 -0.024258 -0.071396 -0.028081 -0.003777 -0.054570 -0.000000 -0.045250 -0.045014 0.012878 -0.018250 -0.050234 0.000000 0.025553 0.039442 0.010618 -0.009539 -0.023293 0.000000 0.010785 -0.004013 -0.020182 -0.005198 -0.026833 0.000000 + 0.009593 -0.032706 0.011191 -0.002289 -0.025569 -0.001392 0.005392 -0.038104 -0.005822 -0.005997 -0.014929 -0.001385 -0.037027 -0.030134 -0.023596 -0.039713 -0.018568 -0.000000 -0.032867 -0.003613 0.046576 0.002342 -0.015834 0.000000 0.021386 0.024989 0.003181 0.032557 -0.025247 0.000000 -0.033577 -0.000926 0.017599 0.005454 -0.006167 0.000000 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + -0.021510 0.084494 0.005217 -0.003079 0.015026 -0.011858 -0.022257 0.013491 0.010011 -0.025142 0.010936 -0.005955 0.001811 -0.047026 0.055936 -0.058273 0.050736 0.005330 0.042656 0.088707 0.025705 0.017505 -0.000696 0.005330 -0.011062 0.047844 -0.041647 0.011901 -0.018109 0.005336 -0.051968 -0.026383 -0.008499 -0.022040 0.025238 0.005336 + -0.015678 0.081564 0.008991 -0.006686 -0.016011 -0.009140 0.011983 0.041117 0.019263 -0.036813 0.023241 -0.003237 -0.035777 -0.050344 0.043096 -0.043465 0.032822 0.008048 0.037500 -0.001252 0.024831 0.046208 0.019419 0.008048 0.022040 0.021197 -0.010617 0.007227 0.022052 0.008054 -0.023061 -0.052732 0.036994 -0.029484 0.001212 0.008054 + -0.037779 0.063982 0.007028 0.003787 0.027867 -0.009159 0.023581 0.070879 0.008707 -0.020076 -0.017600 -0.003255 -0.029988 -0.055178 0.019899 -0.000610 -0.009989 0.008029 0.074498 0.020757 0.014781 0.058127 0.042003 0.008029 0.045817 0.038433 -0.056918 0.028484 0.037764 0.008036 -0.050265 -0.068053 -0.022509 -0.010021 0.020115 0.008036 + -0.022531 0.068641 0.011119 -0.009565 0.028587 -0.013392 0.019390 0.035924 -0.053401 0.022513 0.029611 -0.007489 -0.066602 -0.065779 -0.035250 -0.020284 0.031659 0.003796 0.037111 0.064712 -0.041832 0.080284 0.027348 0.003796 0.022699 -0.012568 -0.111541 0.028114 0.005514 0.003802 -0.052768 -0.089482 -0.020796 -0.003009 0.012738 0.003802 + -0.034148 0.068515 -0.011053 -0.002220 0.034313 -0.013393 0.001086 0.013045 -0.029940 0.029548 0.039753 -0.007489 -0.051658 -0.067114 -0.052013 0.024623 0.015692 0.003795 0.096539 0.058281 -0.064324 0.095039 0.016054 0.003795 -0.003653 -0.063749 -0.113215 0.031883 0.015634 0.003802 -0.041426 -0.030606 -0.013698 -0.011719 0.017712 0.003802 + -0.018913 0.048317 -0.008246 0.009292 0.032599 -0.014962 -0.024800 0.033905 0.007845 0.006726 0.019323 -0.009058 -0.034390 -0.002604 0.029826 0.007636 0.000168 0.002226 0.080169 0.074024 -0.033007 0.066641 -0.007880 0.002226 -0.097150 -0.041943 -0.077026 0.000749 -0.003342 0.002233 0.007107 0.047784 -0.005441 -0.022468 0.000506 0.002233 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + -0.003529 0.033681 -0.000911 -0.007743 -0.037200 0.000000 -0.005259 0.055039 -0.008297 0.010414 -0.011954 0.000000 -0.068901 -0.022836 -0.030346 0.004620 0.017257 -0.001155 0.002734 -0.010585 0.003565 0.023064 0.022031 -0.006192 -0.010850 -0.002344 0.019545 0.003354 0.037657 -0.006192 -0.023179 -0.013982 -0.001307 -0.017693 0.021957 -0.006270 + 0.021911 0.059344 0.022705 0.018792 0.004861 0.000000 0.006964 0.042521 0.020365 0.025462 0.020532 0.000000 -0.030913 -0.020844 -0.003112 0.047553 0.006414 -0.001155 0.022087 -0.052199 0.044854 0.011751 0.004036 -0.006192 0.012970 -0.055056 0.023584 0.009608 -0.003752 -0.006192 -0.055130 -0.004727 0.006673 -0.035085 0.002012 -0.006270 + 0.017403 0.067919 0.014133 0.061441 -0.030043 0.000000 -0.033465 0.013019 -0.062063 0.068071 -0.031283 0.000000 -0.000317 -0.010707 -0.012928 0.050139 -0.003847 -0.001155 0.017336 -0.055735 0.026061 -0.022762 0.005939 -0.006192 0.000509 -0.034793 0.014873 -0.060372 0.004144 -0.006192 -0.025685 0.017788 0.038695 -0.063791 0.012379 -0.006270 + -0.009216 0.046392 0.093156 0.051596 0.015172 0.000000 -0.025089 0.076428 -0.022662 0.007987 -0.010947 0.000000 0.004052 0.089563 -0.058307 0.038048 -0.021146 -0.001155 -0.014965 0.011507 -0.035840 0.017043 -0.027260 -0.006192 -0.033486 -0.014776 -0.015748 -0.038476 0.026422 -0.006192 -0.021046 0.018520 -0.016436 -0.043549 0.018086 -0.006270 + -0.049385 -0.002097 0.032459 -0.010717 0.063927 0.005995 -0.018980 0.050001 -0.008589 0.019592 0.054202 0.005995 0.088225 0.044420 -0.011184 -0.013606 0.020920 0.004840 0.050994 -0.020787 -0.026238 -0.063000 -0.002088 -0.000197 -0.079609 -0.020892 -0.019301 -0.024991 0.025028 -0.000197 -0.062111 0.034609 -0.079405 -0.007748 0.003901 -0.000275 + -0.027960 -0.092957 -0.013899 -0.033209 0.039590 0.003956 -0.019406 -0.058514 -0.003825 0.005779 0.077587 0.003956 0.148269 -0.004853 0.014381 0.037221 0.025150 0.002801 0.074261 -0.084000 -0.017614 -0.035363 0.007827 -0.002236 -0.041119 -0.003444 0.050194 -0.018416 -0.020543 -0.002236 -0.005724 0.120930 0.044191 -0.010493 -0.017839 -0.002314 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + -0.019354 0.002049 0.044897 0.052843 -0.003685 -0.000000 0.037786 0.048640 0.028332 0.053092 -0.031160 -0.000000 0.020231 0.029113 -0.044719 0.051004 -0.047804 -0.000636 -0.048186 0.008161 0.086181 0.050993 -0.012847 -0.001161 -0.096470 -0.019998 0.136655 0.035757 -0.002099 -0.001176 0.005585 0.032046 -0.049006 -0.014162 0.001883 -0.001176 + 0.043226 -0.002460 0.017417 0.015525 -0.017666 -0.000000 0.008726 0.013327 -0.016920 0.040783 -0.057074 -0.000000 0.036613 0.029563 -0.089424 0.019299 -0.061486 -0.000636 0.143699 0.027438 -0.042308 0.010220 -0.076558 -0.001161 -0.007610 -0.094000 0.125371 0.030822 -0.021089 -0.001176 -0.045975 -0.036898 0.048149 -0.039583 0.019375 -0.001176 + -0.013854 0.012584 0.041245 -0.040503 0.014012 -0.000000 -0.042551 0.065055 0.024960 0.001029 -0.017198 -0.000000 -0.035761 0.021811 -0.049483 0.003630 -0.035790 -0.000636 0.051848 -0.030129 -0.072572 0.045163 -0.063565 -0.001161 0.099155 -0.090591 0.018341 0.016746 -0.028874 -0.001176 -0.039393 -0.071011 0.034551 -0.008735 0.010096 -0.001176 + 0.014396 -0.016068 -0.027097 -0.025921 -0.014577 -0.000000 -0.002401 -0.020234 0.023208 0.002759 -0.034607 -0.000000 0.027505 -0.027617 -0.002025 0.018327 -0.029231 -0.000636 0.003193 -0.049376 -0.035716 -0.011063 -0.040534 -0.001161 0.064037 -0.019678 -0.017128 -0.004455 0.005117 -0.001176 -0.035859 -0.056258 0.043619 -0.013651 0.003895 -0.001176 + -0.030598 0.065976 -0.013929 0.011292 -0.011853 -0.000000 -0.017086 -0.005863 -0.024399 0.002706 -0.044234 -0.000000 -0.021291 -0.035587 -0.023540 0.000292 0.005918 -0.000636 -0.020510 -0.065917 -0.001723 -0.031525 0.001854 -0.001161 0.024844 0.009218 -0.001909 0.029383 0.001899 -0.001176 -0.016668 -0.021971 -0.040726 -0.023344 0.004111 -0.001176 + -0.000030 -0.030537 0.024423 0.002688 0.020644 -0.000000 0.009335 0.038295 0.002837 0.044574 0.012185 -0.000000 -0.004579 -0.035709 0.000249 0.027138 0.017767 -0.000636 -0.031304 -0.050402 0.038180 -0.025012 0.003539 -0.001161 -0.018784 0.052594 0.028083 0.010725 -0.024803 -0.001176 -0.049366 0.024284 -0.035411 -0.006738 -0.063738 -0.001176 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + 0.021170 0.029079 0.015591 -0.022294 -0.039663 -0.000016 -0.019944 -0.045683 -0.034638 0.019049 -0.004449 -0.000007 -0.024018 -0.048769 -0.000161 0.038597 0.026524 -0.000007 0.015951 0.028780 -0.028243 0.046802 0.009707 -0.000007 0.026339 -0.007171 0.023833 -0.031929 -0.002443 -0.000003 0.035581 -0.011898 0.018401 0.024981 -0.016367 0.000000 + 0.012860 -0.011878 -0.024475 -0.040362 0.008022 -0.000016 0.040407 -0.061399 -0.083169 -0.003133 0.007651 -0.000007 0.012848 -0.026406 0.061941 0.043339 0.021433 -0.000007 -0.018918 0.051492 0.062515 0.020918 0.044222 -0.000007 -0.019326 0.025020 0.004053 -0.026164 0.026920 -0.000003 -0.043886 0.031241 -0.014491 0.016077 -0.039644 0.000000 + -0.029654 -0.036663 -0.002982 -0.072147 0.054005 -0.000016 -0.017817 -0.042967 0.022499 -0.025729 0.039054 -0.000007 0.046944 0.040167 -0.008446 0.048370 0.018073 -0.000007 0.004891 0.022092 0.018956 0.036528 0.022739 -0.000007 -0.011142 0.022985 0.024431 0.020315 -0.008867 -0.000003 0.008735 0.007741 -0.015990 0.015456 0.002906 0.000000 + -0.069296 -0.095888 0.002166 -0.039041 0.021231 -0.000016 -0.037640 -0.027183 0.036575 -0.013082 0.009551 -0.000007 0.044677 0.083796 0.001620 -0.009417 0.019215 -0.000007 -0.018055 0.103833 -0.012772 0.037286 0.009127 -0.000007 0.009165 0.076299 -0.004383 0.031398 -0.012957 -0.000003 -0.046211 0.061804 -0.030977 0.005037 -0.012095 0.000000 + -0.100664 -0.040981 0.052799 -0.039174 -0.016274 -0.000016 -0.106739 -0.008794 0.018137 -0.013051 -0.003323 -0.000007 0.011169 0.062742 0.028423 0.003289 0.015976 -0.000007 0.001051 -0.001106 0.065687 0.017969 -0.004630 -0.000007 0.023187 0.035657 0.016588 0.008999 -0.027617 -0.000003 -0.019144 0.058362 -0.004406 -0.002668 -0.043066 0.000000 + -0.046272 0.094981 -0.028772 -0.027335 -0.031100 -0.000962 -0.012879 -0.083856 0.001562 -0.026352 0.027410 -0.000952 0.114693 -0.031190 0.059863 -0.003950 0.005397 -0.000952 0.051480 0.028681 0.027052 0.026378 -0.014243 -0.000952 -0.033441 0.020003 0.000622 -0.000251 0.014514 -0.000949 -0.002836 0.032140 0.005763 0.001585 -0.002796 -0.000946 + + + <_ type_id="opencv-matrix"> + 6 + 36 +
d
+ + -0.083431 0.081622 -0.001544 0.011238 0.001836 0.010409 -0.065606 0.074778 0.021422 0.003913 -0.004796 0.010409 0.011651 -0.055869 0.019998 -0.054038 0.011720 0.019800 0.099586 -0.017274 0.019538 -0.017701 -0.035477 0.019800 -0.001721 0.017864 -0.050973 0.033609 0.001407 0.019800 0.047545 -0.006025 -0.061998 -0.009210 0.021460 0.019722 + -0.066393 0.089669 -0.009781 -0.006694 0.007239 0.010361 -0.003630 0.093098 0.005906 -0.003877 0.007021 0.010361 0.008695 -0.085962 0.032898 -0.047381 0.014830 0.019752 0.083495 -0.024639 -0.023373 -0.008959 0.014698 0.019752 -0.028801 -0.033164 -0.040899 0.010514 0.005670 0.019752 0.010432 0.005711 0.008422 -0.015012 0.000458 0.019675 + -0.067688 0.070383 0.005323 -0.023971 -0.006470 0.006292 0.060624 0.013021 -0.017411 -0.006111 -0.005468 0.006292 -0.021585 -0.073514 0.002038 -0.006220 0.016127 0.015683 -0.002940 0.020277 0.015077 0.009960 0.017898 0.015683 -0.048015 -0.035882 -0.022834 -0.021606 -0.013086 0.015683 -0.010572 -0.001782 0.036871 -0.042538 -0.026141 0.015605 + -0.021598 0.075441 -0.011637 0.020665 -0.021512 0.006292 0.017886 -0.010062 0.003163 0.014320 0.007018 0.006292 -0.089322 -0.058203 -0.006971 0.000649 0.001914 0.015683 -0.031087 0.082392 0.011933 0.035209 -0.000867 0.015683 -0.043724 -0.037431 -0.031259 0.023254 -0.010678 0.015683 -0.032164 0.021662 0.046275 -0.002189 -0.046718 0.015605 + -0.004835 0.031210 0.033003 0.003386 -0.013613 0.012291 -0.007739 0.009695 0.031717 0.013363 -0.000074 0.012291 -0.104426 -0.012598 0.085214 -0.006728 0.022584 0.021682 -0.084411 0.122767 0.013357 -0.001938 -0.019305 0.021682 -0.144592 -0.038754 -0.001773 -0.028410 0.022557 0.021682 -0.041457 -0.001343 0.034994 -0.020746 -0.002555 0.021605 + -0.075588 0.055948 0.026477 -0.035251 0.060991 0.007427 0.013913 0.033529 0.006132 0.011086 0.036771 0.007427 0.028571 0.008127 0.053569 -0.010739 0.035586 0.015807 -0.006204 0.088755 0.022158 -0.030508 0.026072 0.015807 -0.023523 0.073615 -0.028127 -0.015345 0.060076 0.015807 -0.004357 0.099503 -0.019565 -0.011215 0.068908 0.015729 + + +
+ + <_> + -6.850464 -6.793309 -6.912827 -5.803307 -5.874741 -4.743514 -4.771012 -4.384721 -4.399468 -3.625808 -3.653779 -3.232490 -3.254691 -2.797562 -2.965886 -2.658716 -2.761589 -2.543310 -2.543310 -2.249782 -2.189291 -2.014064 -2.014064 -1.613193 -1.613193 -1.410005 -1.410005 -1.116263 -1.210045 -1.067070 -1.443769 -0.848852 -0.848852 -0.688849 -0.721822 -0.500000 + + <_> + -6.850464 -6.793309 -6.912827 -5.803307 -5.874741 -4.743514 -4.771012 -4.384721 -4.399468 -3.625808 -3.653779 -3.232490 -3.254691 -2.797562 -2.965886 -2.658716 -2.761589 -2.543310 -2.543310 -2.249782 -2.189291 -2.014064 -2.014064 -1.613193 -1.613193 -1.410005 -1.410005 -1.116263 -1.210045 -1.067070 -1.443769 -0.848852 -0.848852 -0.688849 -0.721822 -0.500000 + + + + <_> + 2.000000 0.000000 + + <_> + 0.000000 24.000000 + + <_> + 4.000000 5.000000 + + <_> + 4.000000 18.000000 + + <_> + 0.000000 13.000000 + + <_> + 0.000000 6.000000 + + <_> + 4.000000 12.000000 + + <_> + 4.000000 24.000000 + + <_> + 2.000000 0.000000 + + <_> + 4.000000 24.000000 + + <_> + 0.000000 5.000000 + + <_> + 0.000000 18.000000 + + <_> + 4.000000 13.000000 + + <_> + 4.000000 6.000000 + + <_> + 0.000000 12.000000 + + <_> + 0.000000 24.000000 + + + + <_> + 0.024528 -0.003497 0.041338 -0.008311 + + <_> + 0.024796 -0.008092 0.019619 0.004872 + + <_> + 0.020152 0.007819 0.042346 -0.019964 + + <_> + 0.034107 0.009676 0.021890 0.000311 + + <_> + 0.025096 0.002402 0.027100 0.011309 + + <_> + 0.019926 0.003670 0.031569 -0.023732 + + <_> + 0.033039 -0.006518 0.021318 0.004460 + + <_> + 0.018722 0.013806 0.019424 0.002923 + + <_> + 0.024528 0.003497 0.041338 -0.008311 + + <_> + 0.024796 0.008092 0.019619 0.004872 + + <_> + 0.020152 -0.007819 0.042346 -0.019964 + + <_> + 0.034107 -0.009676 0.021890 0.000311 + + <_> + 0.025096 -0.002402 0.027100 0.011309 + + <_> + 0.019926 -0.003670 0.031569 -0.023732 + + <_> + 0.033039 0.006518 0.021318 0.004460 + + <_> + 0.018722 -0.013806 0.019424 0.002923 + + + +8.000000 8.000000 + + <_> + 0.000000 8.000000 1.000000 5.000000 2.000000 3.000000 4.000000 6.000000 7.000000 0.000000 8.000000 1.000000 5.000000 2.000000 3.000000 4.000000 6.000000 7.000000 + + <_> + 0.000000 8.000000 1.000000 5.000000 2.000000 3.000000 4.000000 6.000000 7.000000 0.000000 8.000000 1.000000 5.000000 2.000000 3.000000 4.000000 6.000000 7.000000 + + + + <_> + 0.000000 -0.190969 0.191105 + + <_> + 0.000000 -0.190969 0.191105 + + +
diff --git a/modules/dpm/src/dpm_cascade.cpp b/modules/dpm/src/dpm_cascade.cpp new file mode 100644 index 000000000..b8277ce81 --- /dev/null +++ b/modules/dpm/src/dpm_cascade.cpp @@ -0,0 +1,586 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2015, Itseez Inc, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Itseez Inc or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#include "dpm_cascade.hpp" +#include "dpm_nms.hpp" + +#include +#include +#include +#include + +using namespace std; + +namespace cv +{ +namespace dpm +{ + +void DPMCascade::loadCascadeModel(const string &modelPath) +{ + // load cascade model from xml + bool is_success = model.deserialize(modelPath); + + if (!is_success) + { + string errorMessage = format("Unable to parse the model: %s", modelPath.c_str()); + CV_Error(CV_StsBadArg, errorMessage); + } + + model.initModel(); +} + +void DPMCascade::initDPMCascade() +{ + // compute the size of temporary storage needed by cascade + int nlevels = (int) pyramid.size(); + int numPartFilters = model.getNumPartFilters(); + int numDefParams = model.getNumDefParams(); + featDimsProd.resize(nlevels); + tempStorageSize = 0; + + for (int i = 0; i < nlevels; i++) + { + int w = pyramid[i].cols/feature.dimHOG; + int h = pyramid[i].rows; + featDimsProd[i] = w*h; + tempStorageSize += w*h; + } + + tempStorageSize *= numPartFilters; + + convValues.resize(tempStorageSize); + pcaConvValues.resize(tempStorageSize); + dtValues.resize(tempStorageSize); + pcaDtValues.resize(tempStorageSize); + + fill(convValues.begin(), convValues.end(), -numeric_limits::infinity()); + fill(pcaConvValues.begin(), pcaConvValues.end(), -numeric_limits::infinity()); + fill(dtValues.begin(), dtValues.end(), -numeric_limits::infinity()); + fill(pcaDtValues.begin(), pcaDtValues.end(), -numeric_limits::infinity()); + + // each pyramid (convolution and distance transform) is stored + // in a 1D array. Since pyramid levels have different sizes, + // we build an array of offset values in order to index by + // level. The last offset is the total length of the pyramid + // storage array. + convLevelOffset.resize(nlevels + 1); + dtLevelOffset.resize(nlevels + 1); + convLevelOffset[0] = 0; + dtLevelOffset[0] = 0; + + for (int i = 1; i < nlevels + 1; i++) + { + convLevelOffset[i] = convLevelOffset[i-1] + numPartFilters*featDimsProd[i-1]; + dtLevelOffset[i] = dtLevelOffset[i-1] + numDefParams*featDimsProd[i-1]; + } + + // cache of precomputed deformation costs + defCostCacheX.resize(numDefParams); + defCostCacheY.resize(numDefParams); + + for (int i = 0; i < numDefParams; i++) + { + vector< double > def = model.defs[i]; + CV_Assert((int) def.size() >= 4); + + defCostCacheX[i].resize(2*halfWindowSize + 1); + defCostCacheY[i].resize(2*halfWindowSize + 1); + + for (int j = 0; j < 2*halfWindowSize + 1; j++) + { + int delta = j - halfWindowSize; + int deltaSquare = delta*delta; + defCostCacheX[i][j] = -def[0]*deltaSquare - def[1]*delta; + defCostCacheY[i][j] = -def[2]*deltaSquare - def[3]*delta; + } + } + + dtArgmaxX.resize(dtLevelOffset[nlevels]); + pcaDtArgmaxX.resize(dtLevelOffset[nlevels]); + dtArgmaxY.resize(dtLevelOffset[nlevels]); + pcaDtArgmaxY.resize(dtLevelOffset[nlevels]); +} + +vector< vector > DPMCascade::detect(Mat &image) +{ + if (image.channels() == 1) + cvtColor(image, image, COLOR_GRAY2BGR); + + if (image.depth() != CV_64F) + image.convertTo(image, CV_64FC3); + + // compute features + computeFeatures(image); + + // pre-allocate storage + initDPMCascade(); + + // cascade process + vector< vector > detections; + process(detections); + + // non-maximum suppression + NonMaximumSuppression nms; + nms.process(detections, 0.5); + + return detections; +} + +void DPMCascade::computeFeatures(const Mat &im) +{ + // initialize feature pyramid + PyramidParameter params; + params.padx = model.maxSizeX; + params.pady = model.maxSizeY; + params.interval = model.interval; + params.binSize = model.sBin; + + feature = Feature(params); + + // compute pyramid + feature.computeFeaturePyramid(im, pyramid); + + // compute projected pyramid + feature.projectFeaturePyramid(model.pcaCoeff, pyramid, pcaPyramid); +} + +void DPMCascade::computeLocationScores(vector< vector< double > > &locationScores) +{ + vector< vector < double > > locationWeight = model.locationWeight; + CV_Assert((int)locationWeight.size() == model.numComponents); + + Mat locationFeature; + int nlevels = (int) pyramid.size(); + feature.computeLocationFeatures(nlevels, locationFeature); + + locationScores.resize(model.numComponents); + + for (int comp = 0; comp < model.numComponents; comp++) + { + locationScores[comp].resize(locationFeature.cols); + + for (int level = 0; level < locationFeature.cols; level++) + { + double val = 0; + for (int k = 0; k < locationFeature.rows; k++) + val += locationWeight[comp][k]* + locationFeature.at(k, level); + + locationScores[comp][level] = val; + } + } +} + +void DPMCascade::computeRootPCAScores(vector< vector< Mat > > &rootScores) +{ + PyramidParameter params = feature.getPyramidParameters(); + rootScores.resize(model.numComponents); + int nlevels = (int) pyramid.size(); + int interval = params.interval; + + for (int comp = 0; comp < model.numComponents; comp++) + { + rootScores[comp].resize(nlevels); +#ifdef HAVE_TBB // parallel computing + ParalComputeRootPCAScores paralTask(pcaPyramid, model.rootPCAFilters[comp], + model.pcaDim, rootScores[comp]); + parallel_for_(Range(interval, nlevels), paralTask); +#else +#ifdef _OPENMP +#pragma omp parallel for +#endif + for (int level = interval; level < nlevels; level++) + { + Mat feat = pcaPyramid[level]; + Mat filter = model.rootPCAFilters[comp]; + + // compute size of output + int height = feat.rows - filter.rows + 1; + int width = (feat.cols - filter.cols) / model.pcaDim + 1; + + if (height < 1 || width < 1) + CV_Error(CV_StsBadArg, + "Invalid input, filter size should be smaller than feature size."); + + Mat result = Mat::zeros(Size(width, height), CV_64F); + convolutionEngine.convolve(feat, filter, model.pcaDim, result); + rootScores[comp][level] = result; + } +#endif + } +} + +#ifdef HAVE_TBB +ParalComputeRootPCAScores::ParalComputeRootPCAScores( + const vector< Mat > &pcaPyrad, + const Mat &f, + int dim, + vector< Mat > &sc): + pcaPyramid(pcaPyrad), + filter(f), + pcaDim(dim), + scores(sc) +{ +} + +void ParalComputeRootPCAScores::operator() (const Range &range) const +{ + for (int level = range.start; level != range.end; level++) + { + Mat feat = pcaPyramid[level]; + + // compute size of output + int height = feat.rows - filter.rows + 1; + int width = (feat.cols - filter.cols) / pcaDim + 1; + + Mat result = Mat::zeros(Size(width, height), CV_64F); + // convolution engine + ConvolutionEngine convEngine; + convEngine.convolve(feat, filter, pcaDim, result); + scores[level] = result; + } +} +#endif + +void DPMCascade::process( vector< vector > &dets) +{ + PyramidParameter params = feature.getPyramidParameters(); + int interval = params.interval; + int padx = params.padx; + int pady = params.pady; + vector scales = params.scales; + + int nlevels = (int)pyramid.size() - interval; + CV_Assert(nlevels > 0); + + // keep track of the PCA scores for each PCA filter + vector< vector< double > > pcaScore(model.numComponents); + for (int comp = 0; comp < model.numComponents; comp++) + pcaScore[comp].resize(model.numParts[comp]+1); + + // compute location scores + vector< vector< double > > locationScores; + computeLocationScores(locationScores); + + // compute root PCA scores + vector< vector< Mat > > rootPCAScores; + computeRootPCAScores(rootPCAScores); + + // process each model component and pyramid level + for (int comp = 0; comp < model.numComponents; comp++) + { + for (int plevel = 0; plevel < nlevels; plevel++) + { + // root filter pyramid level + int rlevel = plevel + interval; + double bias = model.bias[comp] + locationScores[comp][rlevel]; + // get the scores of the first PCA filter + Mat rtscore = rootPCAScores[comp][rlevel]; + // process each location in the current pyramid level + for (int rx = (int)ceil(padx/2.0); rx < rtscore.cols - (int)ceil(padx/2.0); rx++) + { + for (int ry = (int)ceil(pady/2.0); ry < rtscore.rows - (int)ceil(pady/2.0); ry++) + { + // get stage 0 score + double score = rtscore.at(ry, rx) + bias; + // record PCA score + pcaScore[comp][0] = score - bias; + // cascade stage 1 through 2*numparts + 2 + int stage = 1; + int numstages = 2*model.numParts[comp] + 2; + for(; stage < numstages; stage++) + { + double t = model.prunThreshold[comp][2*stage-1]; + // check for hypothesis pruning + if (score < t) + break; + + // pca == 1 if place filters + // pca == 0 if place non-pca filters + bool isPCA = (stage < model.numParts[comp] + 1 ? true : false); + // get the part index + // root parts have index -1, none-root part are indexed 0:numParts-1 + int part = model.partOrder[comp][stage] - 1;// partOrder + + if (part == -1) + { + // calculate the root non-pca score + // and replace the PCA score + double rscore = 0.0; + if (isPCA) + { + rscore = convolutionEngine.convolve(pcaPyramid[rlevel], + model.rootPCAFilters[comp], + model.pcaDim, rx, ry); + } + else + { + rscore = convolutionEngine.convolve(pyramid[rlevel], + model.rootFilters[comp], + model.numFeatures, rx, ry); + } + score += rscore - pcaScore[comp][0]; + } + else + { + // place a non-root filter + int pId = model.pFind[comp][part]; + int px = 2*rx + (int)model.anchors[pId][0]; + int py = 2*ry + (int)model.anchors[pId][1]; + + // look up the filter and deformation model + double defThreshold = + model.prunThreshold[comp][2*stage] - score; + + double ps = computePartScore(plevel, pId, px, py, + isPCA, defThreshold); + + if (isPCA) + { + // record PCA filter score + pcaScore[comp][part+1] = ps; + // update the hypothesis score + score += ps; + } + else + { + // update the hypothesis score by replacing + // the PCA score + score += ps - pcaScore[comp][part+1]; + } // isPCA == false + } // part != -1 + + } // stages + + // check if the hypothesis passed all stages with a + // final score over the global threshold + if (stage == numstages && score >= model.scoreThresh) + { + vector coords; + // compute and record image coordinates of the detection window + double scale = model.sBin/scales[rlevel]; + double x1 = (rx-padx)*scale; + double y1 = (ry-pady)*scale; + double x2 = x1 + model.rootFilterDims[comp].width*scale - 1; + double y2 = y1 + model.rootFilterDims[comp].height*scale - 1; + + coords.push_back(x1); + coords.push_back(y1); + coords.push_back(x2); + coords.push_back(y2); + + // compute and record image coordinates of the part filters + scale = model.sBin/scales[plevel]; + int featWidth = pyramid[plevel].cols/feature.dimHOG; + for (int p = 0; p < model.numParts[comp]; p++) + { + int pId = model.pFind[comp][p]; + int probx = 2*rx + (int)model.anchors[pId][0]; + int proby = 2*ry + (int)model.anchors[pId][1]; + int offset = dtLevelOffset[plevel] + + pId*featDimsProd[plevel] + + (proby - pady)*featWidth + + probx - padx; + int px = dtArgmaxX[offset] + padx; + int py = dtArgmaxY[offset] + pady; + x1 = (px - 2*padx)*scale; + y1 = (py - 2*pady)*scale; + x2 = x1 + model.partFilterDims[p].width*scale - 1; + y2 = y1 + model.partFilterDims[p].height*scale - 1; + coords.push_back(x1); + coords.push_back(y1); + coords.push_back(x2); + coords.push_back(y2); + } + + // record component number and score + coords.push_back(comp + 1); + coords.push_back(score); + + dets.push_back(coords); + } + } // ry + } // rx + } // for each pyramid level + } // for each component +} + +double DPMCascade::computePartScore(int plevel, int pId, int px, int py, bool isPCA, double defThreshold) +{ + // remove virtual padding + PyramidParameter params = feature.getPyramidParameters(); + px -= params.padx; + py -= params.pady; + + // check if already computed + int levelOffset = dtLevelOffset[plevel]; + int locationOffset = pId*featDimsProd[plevel] + + py*pyramid[plevel].cols/feature.dimHOG + + px; + int dtBaseOffset = levelOffset + locationOffset; + + double val; + + if (isPCA) + val = pcaDtValues[dtBaseOffset]; + else + val = dtValues[dtBaseOffset]; + + if (val > -numeric_limits::infinity()) + return val; + + // Nope, define the bounds of the convolution and + // distance transform region + int xstart = px - halfWindowSize; + xstart = (xstart < 0 ? 0 : xstart); + int xend = px + halfWindowSize; + + int ystart = py - halfWindowSize; + ystart = (ystart < 0 ? 0 : ystart); + int yend = py + halfWindowSize; + + int featWidth = pyramid[plevel].cols/feature.dimHOG; + int featHeight = pyramid[plevel].rows; + int filterWidth = model.partFilters[pId].cols/feature.dimHOG; + int filterHeight = model.partFilters[pId].rows; + + xend = (filterWidth + xend > featWidth) + ? featWidth - filterWidth + : xend; + yend = (filterHeight + yend > featHeight) + ? featHeight - filterHeight + : yend; + + // do convolution and distance transform in region + // [xstar, xend, ystart, yend] + levelOffset = convLevelOffset[plevel]; + locationOffset = pId*featDimsProd[plevel]; + int convBaseOffset = levelOffset + locationOffset; + + for (int y = ystart; y <= yend; y++) + { + int loc = convBaseOffset + y*featWidth + xstart - 1; + for (int x = xstart; x <= xend; x++) + { + loc++; + // skip if already computed + if (isPCA) + { + if (pcaConvValues[loc] > -numeric_limits::infinity()) + continue; + } + else if(convValues[loc] > -numeric_limits::infinity()) + continue; + + // check for deformation pruning + double defCost = defCostCacheX[pId][px - x + halfWindowSize] + + defCostCacheY[pId][py - y + halfWindowSize]; + + if (defCost < defThreshold) + continue; + + if (isPCA) + { + pcaConvValues[loc] = convolutionEngine.convolve + (pcaPyramid[plevel], model.partPCAFilters[pId], + model.pcaDim, x, y); + } + else + { + convValues[loc] = convolutionEngine.convolve + (pyramid[plevel], model.partFilters[pId], + model.numFeatures, x, y); + } + } // y + } // x + + // do distance transform over the region. + // the region is small enought that brut force DT + // is the fastest method + double max = -numeric_limits::infinity(); + int xargmax = 0; + int yargmax = 0; + + for (int y = ystart; y <= yend; y++) + { + int loc = convBaseOffset + y*featWidth + xstart - 1; + for (int x = xstart; x <= xend; x++) + { + loc++; + double v; + + if (isPCA) + v = pcaConvValues[loc]; + else + v = convValues[loc]; + + v += defCostCacheX[pId][px - x + halfWindowSize] + + defCostCacheY[pId][py - y + halfWindowSize]; + + if (v > max) + { + max = v; + xargmax = x; + yargmax = y; + } // if v + } // for x + } // for y + + // record max and argmax for DT + if (isPCA) + { + pcaDtArgmaxX[dtBaseOffset] = xargmax; + pcaDtArgmaxY[dtBaseOffset] = yargmax; + pcaDtValues[dtBaseOffset] = max; + } + else + { + dtArgmaxX[dtBaseOffset] = xargmax; + dtArgmaxY[dtBaseOffset] = yargmax; + dtValues[dtBaseOffset] = max; + } + + return max; +} + +} // namespace dpm +} // namespace cv diff --git a/modules/dpm/src/dpm_cascade.hpp b/modules/dpm/src/dpm_cascade.hpp new file mode 100644 index 000000000..26501ed47 --- /dev/null +++ b/modules/dpm/src/dpm_cascade.hpp @@ -0,0 +1,158 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2015, Itseez Inc, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Itseez Inc or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef __DPM_CASCADE__ +#define __DPM_CASCADE__ + +#include "dpm_model.hpp" +#include "dpm_feature.hpp" +#include "dpm_convolution.hpp" + +#include "opencv2/imgproc.hpp" +#include "opencv2/core.hpp" + +#include +#include + +namespace cv +{ +namespace dpm +{ +/** @brief This class is the main process of DPM cascade + */ +class DPMCascade +{ + private: + // pyramid level offset for covolution + std::vector< int > convLevelOffset; + // pyramid level offset for distance transform + std::vector< int > dtLevelOffset; + // convolution values + std::vector< double > convValues; + std::vector< double > pcaConvValues; + // distance transform values + std::vector< double > dtValues; + std::vector< double > pcaDtValues; + // distance transform argmax, x dimension + std::vector< int > dtArgmaxX; + std::vector< int > pcaDtArgmaxX; + // distance transform argmax, y dimension + std::vector< int > dtArgmaxY; + std::vector< int > pcaDtArgmaxY; + // half-width of distance transform window + static const int halfWindowSize = 4; + // the amount of temporary storage of cascade + int tempStorageSize; + // precomputed deformation costs + std::vector< std::vector< double > > defCostCacheX; + std::vector< std::vector< double > > defCostCacheY; + // DPM cascade model + CascadeModel model; + // feature process + Feature feature; + // feature pyramid + std::vector< Mat > pyramid; + // projected (PCA) pyramid; + std::vector< Mat > pcaPyramid; + // number of positions in each pyramid level + std::vector< int > featDimsProd; + // convolution engine + ConvolutionEngine convolutionEngine; + + public: + // constructor + DPMCascade () {} + // destructor + virtual ~DPMCascade () {} + + // load cascade mode and initialize cascade + void loadCascadeModel(const std::string &modelPath); + + // compute feature pyramid and projected feature pyramid + void computeFeatures(const Mat &im); + + // compute root PCA scores + void computeRootPCAScores(std::vector< std::vector< Mat > > &rootScores); + + // lookup or compute the score of a part at a location + double computePartScore(int plevel, int pId, int px, int py, bool isPCA, double defThreshold); + + // compute location scores + void computeLocationScores(std::vector< std::vector< double > > &locctionScores); + + // initialization pre-allocate storage + void initDPMCascade(); + + // cascade process + void process(std::vector< std::vector > &detections); + + // detect object from image + std::vector< std::vector > detect(Mat &image); +}; + +#ifdef HAVE_TBB +/** @brief This class convolves root PCA feature pyramid + * and root PCA filters in parallel using Intel Threading + * Building Blocks (TBB) + */ +class ParalComputeRootPCAScores : public ParallelLoopBody +{ + public: + // constructor + ParalComputeRootPCAScores(const std::vector< Mat > &pcaPyramid, const Mat &filter,\ + int dim, std::vector< Mat > &scores); + + // parallel loop body + void operator() (const Range &range) const; + + ParalComputeRootPCAScores(const ParalComputeRootPCAScores &pComp); + + private: + const std::vector< Mat > &pcaPyramid; + const Mat &filter; + int pcaDim; + std::vector< Mat > &scores; +}; +#endif +} // namespace dpm +} // namespace cv + +#endif // __DPM_CASCADE_ diff --git a/modules/dpm/src/dpm_cascade_detector.cpp b/modules/dpm/src/dpm_cascade_detector.cpp new file mode 100644 index 000000000..c28713641 --- /dev/null +++ b/modules/dpm/src/dpm_cascade_detector.cpp @@ -0,0 +1,178 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2015, Itseez Inc, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Itseez Inc or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#include "precomp.hpp" +#include "dpm_cascade.hpp" + +using namespace std; + +namespace cv +{ +namespace dpm +{ + +class DPMDetectorImpl : public DPMDetector +{ +public: + + DPMDetectorImpl( const vector& filenames, const vector& classNames=vector() ); + ~DPMDetectorImpl(); + + bool isEmpty() const; + + void detect(Mat &image, CV_OUT vector& objects); + + const vector& getClassNames() const; + size_t getClassCount() const; + string extractModelName( const string& filename ); + +private: + vector< Ptr > detectors; + vector classNames; +}; + +Ptr DPMDetector::create(vector const &filenames, + vector const &classNames) +{ + return makePtr(filenames, classNames); +} + +DPMDetectorImpl::ObjectDetection::ObjectDetection() + : score(0.f), classID(-1) {} + +DPMDetectorImpl::ObjectDetection::ObjectDetection( const Rect& _rect, float _score, int _classID ) + : rect(_rect), score(_score), classID(_classID) {} + + +DPMDetectorImpl::DPMDetectorImpl( const vector& filenames, + const vector& _classNames ) +{ + for( size_t i = 0; i < filenames.size(); i++ ) + { + const string filename = filenames[i]; + if( filename.length() < 5 || filename.substr(filename.length()-4, 4) != ".xml" ) + continue; + + Ptr detector = makePtr(); + + // initialization + detector->loadCascadeModel( filename.c_str() ); + + if( detector ) + { + detectors.push_back( detector ); + if( _classNames.empty() ) + { + classNames.push_back( extractModelName(filename)); + } + else + classNames.push_back( _classNames[i] ); + } + } +} + +DPMDetectorImpl::~DPMDetectorImpl() +{ +} + +bool DPMDetectorImpl::isEmpty() const +{ + return detectors.empty(); +} + +const vector& DPMDetectorImpl::getClassNames() const +{ + return classNames; +} + +size_t DPMDetectorImpl::getClassCount() const +{ + return classNames.size(); +} + +string DPMDetectorImpl::extractModelName( const string& filename ) +{ + size_t startPos = filename.rfind('/'); + if( startPos == string::npos ) + startPos = filename.rfind('\\'); + + if( startPos == string::npos ) + startPos = 0; + else + startPos++; + + const int extentionSize = 4; //.xml + + int substrLength = (int)(filename.size() - startPos - extentionSize); + + return filename.substr(startPos, substrLength); +} + +void DPMDetectorImpl::detect( Mat &image, + vector &objectDetections) +{ + objectDetections.clear(); + + for( size_t classID = 0; classID < detectors.size(); classID++ ) + { + // detect objects + vector< vector > detections; + detections = detectors[classID]->detect(image); + + for (unsigned int i = 0; i < detections.size(); i++) + { + ObjectDetection ds = ObjectDetection(); + int s = (int)detections[i].size() - 1; + ds.score = (float)detections[i][s]; + int x1 = (int)detections[i][0]; + int y1 = (int)detections[i][1]; + int w = (int)detections[i][2] - x1 + 1; + int h = (int)detections[i][3] - y1 + 1; + ds.rect = Rect(x1, y1, w, h); + ds.classID = (int)classID; + + objectDetections.push_back(ds); + } + } +} + +} // namespace cv +} diff --git a/modules/latentsvm/src/_lsvmc_function.h b/modules/dpm/src/dpm_convolution.cpp similarity index 63% rename from modules/latentsvm/src/_lsvmc_function.h rename to modules/dpm/src/dpm_convolution.cpp index d1a42bed6..f988e09f9 100644 --- a/modules/latentsvm/src/_lsvmc_function.h +++ b/modules/dpm/src/dpm_convolution.cpp @@ -10,7 +10,7 @@ // License Agreement // For Open Source Computer Vision Library // -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. +// Copyright (C) 2015, Itseez Inc, all rights reserved. // Third party copyrights are property of their respective owners. // // Redistribution and use in source and binary forms, with or without modification, @@ -29,7 +29,7 @@ // This software is provided by the copyright holders and contributors "as is" and // any express or implied warranties, including, but not limited to, the implied // warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, +// In no event shall the Itseez Inc or contributors be liable for any direct, // indirect, incidental, special, exemplary, or consequential damages // (including, but not limited to, procurement of substitute goods or services; // loss of use, data, or profits; or business interruption) however caused @@ -39,20 +39,43 @@ // //M*/ -#ifndef FUNCTION_SC -#define FUNCTION_SC - -#include "_lsvmc_types.h" +#include "dpm_convolution.hpp" namespace cv { -namespace lsvm +namespace dpm +{ +double ConvolutionEngine::convolve(const Mat &feat, const Mat &filter, + int dimHOG, int x, int y) { + double val = 0; + for (int xp = 0; xp < filter.cols; xp++) + { + for (int yp = 0; yp < filter.rows; yp++) + val += filter.at(yp, xp) + * feat.at(y + yp, x * dimHOG + xp); + } -float calcM (int k,int di,int dj, const CvLSVMFeaturePyramidCascade * H, const CvLSVMFilterObjectCascade *filter); -float calcM_PCA (int k,int di,int dj, const CvLSVMFeaturePyramidCascade * H, const CvLSVMFilterObjectCascade *filter); -float calcM_PCA_cash(int k,int di,int dj, const CvLSVMFeaturePyramidCascade * H, const CvLSVMFilterObjectCascade *filter, float * cashM, int * maskM, int step); -float calcFine (const CvLSVMFilterObjectCascade *filter, int di, int dj); + return val; } + +void ConvolutionEngine::convolve(const Mat &feat, const Mat &filter, + int dimHOG, Mat &result) +{ + for (int x = 0; x < result.cols; x++) + { + for (int y = 0; y < result.rows; y++) + { + double val = 0; + for (int xp = 0; xp < filter.cols; xp++) + { + for (int yp = 0; yp < filter.rows; yp++) + val += feat.at(y + yp, x*dimHOG + xp) + * filter.at(yp, xp); + } // xp + result.at(y, x) = val; + } // y + } // x } -#endif +} // namespace cv +} // namespace dpm diff --git a/modules/latentsvm/src/_lsvmc_resizeimg.h b/modules/dpm/src/dpm_convolution.hpp similarity index 68% rename from modules/latentsvm/src/_lsvmc_resizeimg.h rename to modules/dpm/src/dpm_convolution.hpp index 8c03a5ad2..1b0c819fc 100644 --- a/modules/latentsvm/src/_lsvmc_resizeimg.h +++ b/modules/dpm/src/dpm_convolution.hpp @@ -10,7 +10,7 @@ // License Agreement // For Open Source Computer Vision Library // -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. +// Copyright (C) 2015, Itseez Inc, all rights reserved. // Third party copyrights are property of their respective owners. // // Redistribution and use in source and binary forms, with or without modification, @@ -29,7 +29,7 @@ // This software is provided by the copyright holders and contributors "as is" and // any express or implied warranties, including, but not limited to, the implied // warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, +// In no event shall the Itseez Inc or contributors be liable for any direct, // indirect, incidental, special, exemplary, or consequential damages // (including, but not limited to, procurement of substitute goods or services; // loss of use, data, or profits; or business interruption) however caused @@ -39,18 +39,36 @@ // //M*/ -#ifndef _LSVM_RESIZEIMG_H_ -#define _LSVM_RESIZEIMG_H_ +#ifndef __DPM_CONVOLUTION__ +#define __DPM_CONVOLUTION__ -#include "_lsvmc_types.h" +#include "opencv2/core.hpp" +#include namespace cv { -namespace lsvm +namespace dpm { +/** @brief This class contains DPM model parameters + */ +class ConvolutionEngine +{ + public: + // constructor + ConvolutionEngine() {} + + // destructor + ~ConvolutionEngine() {} -IplImage * resize_opencv (IplImage * img, float scale); -} -} + // compute convolution value at a fixed location + double convolve(const Mat &feat, const Mat &filter, + int dimHOG, int x, int y); -#endif + // compute convolution of a feature map and multiple filters + // sum the filter convolution values into results + void convolve(const Mat &feat, const Mat &filter, + int dimHOG, Mat &result); +}; +} // namespace dpm +} // namespace cv +#endif //__DPM_CONVOLUTION__ diff --git a/modules/dpm/src/dpm_feature.cpp b/modules/dpm/src/dpm_feature.cpp new file mode 100644 index 000000000..bd4e5c3aa --- /dev/null +++ b/modules/dpm/src/dpm_feature.cpp @@ -0,0 +1,465 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2015, Itseez Inc, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Itseez Inc or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#include "dpm_feature.hpp" + +using namespace std; + +namespace cv +{ +namespace dpm +{ +Feature::Feature() +{ +} + +Feature::Feature (PyramidParameter p):params(p) +{ +} + +void Feature::computeFeaturePyramid(const Mat &imageM, vector< Mat > &pyramid) +{ +#ifdef HAVE_TBB + ParalComputePyramid paralTask(imageM, pyramid, params); + paralTask.initialize(); + // perform parallel computing + parallel_for_(Range(0, params.interval), paralTask); +#else + CV_Assert(params.interval > 0); + // scale factor between two levels + params.sfactor = pow(2.0, 1.0/params.interval); + const Size_ imSize = imageM.size(); + params.maxScale = 1 + (int)floor(log(min(imSize.width, imSize.height)/ + (float)(params.binSize*5.0))/log(params.sfactor)); + + if (params.maxScale < params.interval) + { + CV_Error(CV_StsBadArg, "The image is too small to create a pyramid"); + return; + } + + pyramid.resize(params.maxScale + params.interval); + params.scales.resize(params.maxScale + params.interval); + +#ifdef _OPENMP +#pragma omp parallel for +#endif + for (int i = 0; i < params.interval; i++) + { + const double scale = (double)(1.0f/pow(params.sfactor, i)); + Mat imScaled; + resize(imageM, imScaled, imSize * scale); + // First octave at twice the image resolution + computeHOG32D(imScaled, pyramid[i], params.binSize/2, + params.padx + 1, params.pady + 1); + + params.scales[i] = 2*scale; + + // Second octave at the original resolution + if (i + params.interval <= params.maxScale) + computeHOG32D(imScaled, pyramid[i+params.interval], + params.binSize, params.padx + 1, params.pady + 1); + + params.scales[i+params.interval] = scale; + + // Remaining octaves + for ( int j = i + params.interval; j < params.maxScale; j += params.interval) + { + Mat imScaled2; + Size_ imScaledSize = imScaled.size(); + resize(imScaled, imScaled2, imScaledSize*0.5); + imScaled = imScaled2; + computeHOG32D(imScaled2, pyramid[j+params.interval], + params.binSize, params.padx + 1, params.pady + 1); + params.scales[j+params.interval] = params.scales[j]*0.5; + } + } +#endif +} + +#ifdef HAVE_TBB +ParalComputePyramid::ParalComputePyramid(const Mat &inputImage, \ + vector< Mat > &outputPyramid,\ + PyramidParameter &p): + imageM(inputImage), pyramid(outputPyramid), params(p) +{ +} + +void ParalComputePyramid::initialize() +{ + CV_Assert(params.interval > 0); + + // scale factor between two levels + params.sfactor = pow(2.0, 1.0/params.interval); + imSize = imageM.size(); + params.maxScale = 1 + (int)floor(log(min(imSize.width, imSize.height)/(float)(params.binSize*5.0))/log(params.sfactor)); + + if (params.maxScale < params.interval) + { + CV_Error(CV_StsBadArg, "The image is too small to create a pyramid"); + return; + } + + pyramid.resize(params.maxScale + params.interval); + params.scales.resize(params.maxScale + params.interval); +} + +void ParalComputePyramid::operator() (const Range &range) const +{ + for (int i = range.start; i != range.end; i++) + { + const double scale = (double)(1.0f/pow(params.sfactor, i)); + Mat imScaled; + resize(imageM, imScaled, imSize * scale); + + params.scales[i] = 2*scale; + + // First octave at twice the image resolution + Feature::computeHOG32D(imScaled, pyramid[i], + params.binSize/2, params.padx + 1, params.pady + 1); + + // Second octave at the original resolution + if (i + params.interval <= params.maxScale) + Feature::computeHOG32D(imScaled, pyramid[i+params.interval], + params.binSize, params.padx + 1, params.pady + 1); + + params.scales[i+params.interval] = scale; + + // Remaining octaves + for ( int j = i + params.interval; j < params.maxScale; j += params.interval) + { + Mat imScaled2; + Size_ imScaledSize = imScaled.size(); + resize(imScaled, imScaled2, imScaledSize*0.5); + imScaled = imScaled2; + Feature::computeHOG32D(imScaled2, pyramid[j+params.interval], + params.binSize, params.padx + 1, params.pady + 1); + params.scales[j+params.interval] = params.scales[j]*0.5; + } + } +} +#endif + +void Feature::computeHOG32D(const Mat &imageM, Mat &featM, const int sbin, const int pad_x, const int pad_y) +{ + CV_Assert(pad_x >= 0); + CV_Assert(pad_y >= 0); + CV_Assert(imageM.channels() == 3); + CV_Assert(imageM.depth() == CV_64F); + + // epsilon to avoid division by zero + const double eps = 0.0001; + // number of orientations + const int numOrient = 18; + // unit vectors to compute gradient orientation + const double uu[9] = {1.000, 0.9397, 0.7660, 0.5000, 0.1736, -0.1736, -0.5000, -0.7660, -0.9397}; + const double vv[9] = {0.000, 0.3420, 0.6428, 0.8660, 0.9848, 0.9848, 0.8660, 0.6428, 0.3420}; + + // image size + const Size imageSize = imageM.size(); + // block size + int bW = (int)round((double)imageSize.width/(double)sbin); + int bH = (int)round((double)imageSize.height/(double)sbin); + const Size blockSize(bW, bH); + // size of HOG features + int oW = max(blockSize.width-2, 0) + 2*pad_x; + int oH = max(blockSize.height-2, 0) + 2*pad_y; + Size outSize = Size(oW, oH); + // size of visible + const Size visible = blockSize*sbin; + + // initialize historgram, norm, output feature matrices + Mat histM = Mat::zeros(Size(blockSize.width*numOrient, blockSize.height), CV_64F); + Mat normM = Mat::zeros(Size(blockSize.width, blockSize.height), CV_64F); + featM = Mat::zeros(Size(outSize.width*dimHOG, outSize.height), CV_64F); + + // get the stride of each matrix + const size_t imStride = imageM.step1(); + const size_t histStride = histM.step1(); + const size_t normStride = normM.step1(); + const size_t featStride = featM.step1(); + + // calculate the zero offset + const double* im = imageM.ptr(0); + double* const hist = histM.ptr(0); + double* const norm = normM.ptr(0); + double* const feat = featM.ptr(0); + + for (int y = 1; y < visible.height - 1; y++) + { + for (int x = 1; x < visible.width - 1; x++) + { + // OpenCV uses an interleaved format: BGR-BGR-BGR + const double* s = im + 3*min(x, imageM.cols-2) + min(y, imageM.rows-2)*imStride; + + // blue image channel + double dyb = *(s+imStride) - *(s-imStride); + double dxb = *(s+3) - *(s-3); + double vb = dxb*dxb + dyb*dyb; + + // green image channel + s += 1; + double dyg = *(s+imStride) - *(s-imStride); + double dxg = *(s+3) - *(s-3); + double vg = dxg*dxg + dyg*dyg; + + // red image channel + s += 1; + double dy = *(s+imStride) - *(s-imStride); + double dx = *(s+3) - *(s-3); + double v = dx*dx + dy*dy; + + // pick the channel with the strongest gradient + if (vg > v) { v = vg; dx = dxg; dy = dyg; } + if (vb > v) { v = vb; dx = dxb; dy = dyb; } + + // snap to one of the 18 orientations + double best_dot = 0; + int best_o = 0; + for (int o = 0; o < (int)numOrient/2; o++) + { + double dot = uu[o]*dx + vv[o]*dy; + if (dot > best_dot) + { + best_dot = dot; + best_o = o; + } + else if (-dot > best_dot) + { + best_dot = -dot; + best_o = o + (int)(numOrient/2); + } + } + + // add to 4 historgrams around pixel using bilinear interpolation + double yp = ((double)y+0.5)/(double)sbin - 0.5; + double xp = ((double)x+0.5)/(double)sbin - 0.5; + int iyp = (int)floor(yp); + int ixp = (int)floor(xp); + double vy0 = yp - iyp; + double vx0 = xp - ixp; + double vy1 = 1.0 - vy0; + double vx1 = 1.0 - vx0; + v = sqrt(v); + + // fill the value into the 4 neighborhood cells + if (iyp >= 0 && ixp >= 0) + *(hist + iyp*histStride + ixp*numOrient + best_o) += vy1*vx1*v; + + if (iyp >= 0 && ixp+1 < blockSize.width) + *(hist + iyp*histStride + (ixp+1)*numOrient + best_o) += vx0*vy1*v; + + if (iyp+1 < blockSize.height && ixp >= 0) + *(hist + (iyp+1)*histStride + ixp*numOrient + best_o) += vy0*vx1*v; + + if (iyp+1 < blockSize.height && ixp+1 < blockSize.width) + *(hist + (iyp+1)*histStride + (ixp+1)*numOrient + best_o) += vy0*vx0*v; + + } // for y + } // for x + + // compute the energy in each block by summing over orientation + for (int y = 0; y < blockSize.height; y++) + { + const double* src = hist + y*histStride; + double* dst = norm + y*normStride; + double const* const dst_end = dst + blockSize.width; + // for each cell + while (dst < dst_end) + { + *dst = 0; + for (int o = 0; o < (int)(numOrient/2); o++) + { + *dst += (*src + *(src + numOrient/2))* + (*src + *(src + numOrient/2)); + src++; + } + dst++; + src += numOrient/2; + } + } + + // compute the features + for (int y = pad_y; y < outSize.height - pad_y; y++) + { + for (int x = pad_x; x < outSize.width - pad_x; x++) + { + double* dst = feat + y*featStride + x*dimHOG; + double* p, n1, n2, n3, n4; + const double* src; + + p = norm + (y - pad_y + 1)*normStride + (x - pad_x + 1); + n1 = 1.0f / sqrt(*p + *(p + 1) + *(p + normStride) + *(p + normStride + 1) + eps); + p = norm + (y - pad_y)*normStride + (x - pad_x + 1); + n2 = 1.0f / sqrt(*p + *(p + 1) + *(p + normStride) + *(p + normStride + 1) + eps); + p = norm + (y- pad_y + 1)*normStride + x - pad_x; + n3 = 1.0f / sqrt(*p + *(p + 1) + *(p + normStride) + *(p + normStride + 1) + eps); + p = norm + (y - pad_y)*normStride + x - pad_x; + n4 = 1.0f / sqrt(*p + *(p + 1) + *(p + normStride) + *(p + normStride + 1) + eps); + + double t1 = 0.0, t2 = 0.0, t3 = 0.0, t4 = 0.0; + + // contrast-sesitive features + src = hist + (y - pad_y + 1)*histStride + (x - pad_x + 1)*numOrient; + for (int o = 0; o < numOrient; o++) + { + double val = *src; + double h1 = min(val*n1, 0.2); + double h2 = min(val*n2, 0.2); + double h3 = min(val*n3, 0.2); + double h4 = min(val*n4, 0.2); + *(dst++) = 0.5 * (h1 + h2 + h3 + h4); + src++; + t1 += h1; + t2 += h2; + t3 += h3; + t4 += h4; + } + + // contrast-insensitive features + src = hist + (y - pad_y + 1)*histStride + (x - pad_x + 1)*numOrient; + for (int o = 0; o < numOrient/2; o++) + { + double sum = *src + *(src + numOrient/2); + double h1 = min(sum * n1, 0.2); + double h2 = min(sum * n2, 0.2); + double h3 = min(sum * n3, 0.2); + double h4 = min(sum * n4, 0.2); + *(dst++) = 0.5 * (h1 + h2 + h3 + h4); + src++; + } + + // texture features + *(dst++) = 0.2357 * t1; + *(dst++) = 0.2357 * t2; + *(dst++) = 0.2357 * t3; + *(dst++) = 0.2357 * t4; + + // truncation feature + *dst = 0; + }// for x + }// for y + + // Truncation features + for (int m = 0; m < featM.rows; m++) + { + for (int n = 0; n < featM.cols; n += dimHOG) + { + if (m > pad_y - 1 && m < featM.rows - pad_y && n > pad_x*dimHOG - 1 && n < featM.cols - pad_x*dimHOG) + continue; + + featM.at(m, n + dimHOG - 1) = 1; + } // for x + }// for y +} + +void Feature::projectFeaturePyramid(const Mat &pcaCoeff, const std::vector< Mat > &pyramid, std::vector< Mat > &projPyramid) +{ + CV_Assert(dimHOG == pcaCoeff.rows); + dimPCA = pcaCoeff.cols; + + projPyramid.resize(pyramid.size()); + + // loop for each level of the pyramid + for (unsigned int i = 0; i < pyramid.size(); i++) + { + Mat orgM = pyramid[i]; + // note that the features are stored in 32-32-32 + int width = orgM.cols/dimHOG; + int height = orgM.rows; + // initialize the project feature matrix + Mat projM = Mat::zeros(height, width*dimPCA, CV_64F); + //get the pointer of the matrix + double* const featOrg = orgM.ptr(0); + double* const featProj = projM.ptr(0); + + // get the stride of each matrix + const size_t orgStride = orgM.step1(); + const size_t projStride = projM.step1(); + + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) + { + double* proj = featProj + y*projStride + x*dimPCA; + // for each pca dimension + for (int c = 0; c < dimPCA; c++) + { + double* org = featOrg + y*orgStride + x*dimHOG; + // dot product 32d HOG feature with the coefficient vector + for (int r = 0; r < dimHOG; r++) + { + *proj += *org * pcaCoeff.at(r, c); + org++; + } + proj++; + } + + } // for x + } // for y + projPyramid[i] = projM; + } // for each level of the pyramid +} + +void Feature::computeLocationFeatures(const int numLevels, Mat &locFeature) +{ + locFeature = Mat::zeros(Size(numLevels, 3), CV_64F); + + int b = 0; + int e = min(numLevels, params.interval); + + for (int x = b; x < e; x++) + locFeature.at(0, x) = 1; + + b = e; + e = min(numLevels, 2*e); + + for (int x = b; x < e; x++) + locFeature.at(1, x) = 1; + + b = e; + e = min(numLevels, 3*e); + + for (int x = b; x < e; x++) + locFeature.at(2, x) = 1; +} +} // namespace dpm +} // namespace cv diff --git a/modules/dpm/src/dpm_feature.hpp b/modules/dpm/src/dpm_feature.hpp new file mode 100644 index 000000000..d518e5821 --- /dev/null +++ b/modules/dpm/src/dpm_feature.hpp @@ -0,0 +1,173 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2015, Itseez Inc, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Itseez Inc or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef __DPM_FEATURE__ +#define __DPM_FEATURE__ + +#include "opencv2/core.hpp" +#include "opencv2/core/core_c.h" +#include "opencv2/imgproc.hpp" + +#include +#include + +namespace cv +{ +namespace dpm +{ +// parameters of the feature pyramid +class PyramidParameter +{ + public: + // number of levels per octave in feature pyramid + int interval; + // HOG cell size + int binSize; + // horizontal padding (in cells) + int padx; + // vertical padding (in cells) + int pady; + // scale factor + double sfactor; + // maximum number of scales in the pyramid + int maxScale; + // scale of each level + std::vector< double > scales; + + public: + PyramidParameter() + { + // default parameters + interval = 10; + binSize = 8; + padx = 0; + pady = 0; + sfactor = 1.0; + maxScale = 0; + } + + ~PyramidParameter() {} +}; + +/** @brief This class contains DPM model parameters + */ +class Feature +{ + public: + // dimension of the HOG features in a sigle cell + static const int dimHOG = 32; + // top dimPCA PCA eigenvectors + int dimPCA; + + // set pyramid parameter + void setPyramidParameters(PyramidParameter val) + { + params = val; + } + + // returns pyramid parameters + PyramidParameter getPyramidParameters() + { + return params; + } + + // constructor + Feature (); + + // constructor with parameters + Feature (PyramidParameter p); + + // destrcutor + ~Feature () {} + + // compute feature pyramid + void computeFeaturePyramid(const Mat &imageM, std::vector< Mat > &pyramid); + + // project the feature pyramid with PCA coefficient matrix + void projectFeaturePyramid(const Mat &pcaCoeff, const std::vector< Mat > &pyramid, std::vector< Mat > &projPyramid); + + // compute 32 dimension HOG as described in + // "Object Detection with Discriminatively Trained Part-based Models" + // by Felzenszwalb, Girshick, McAllester and Ramanan, PAMI 2010 + static void computeHOG32D(const Mat &imageM, Mat &featM, const int sbin, const int padx, const int pady); + + // compute location features + void computeLocationFeatures(const int numLevels, Mat &locFeature); + + private: + PyramidParameter params; + +}; + +#ifdef HAVE_TBB +/** @brief This class computes feature pyramid in parallel + * using Intel Threading Building Blocks (TBB) + */ +class ParalComputePyramid : public ParallelLoopBody +{ + public: + // constructor + ParalComputePyramid(const Mat &inputImage, \ + std::vector< Mat > &outputPyramid,\ + PyramidParameter &p); + + // initializate parameters + void initialize(); + + // parallel loop body + void operator() (const Range &range) const; + + private: + // image to compute feature pyramid + const Mat &imageM; + // image size + Size_ imSize; + // output feature pyramid + std::vector< Mat > &pyramid; + // pyramid parameters + PyramidParameter ¶ms; +}; +#endif + +} // namespace dpm +} // namespace cv + +#endif // __DPM_FEATURE_ diff --git a/modules/dpm/src/dpm_model.cpp b/modules/dpm/src/dpm_model.cpp new file mode 100644 index 000000000..96effe49c --- /dev/null +++ b/modules/dpm/src/dpm_model.cpp @@ -0,0 +1,207 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2015, Itseez Inc, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Itseez Inc or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#include "dpm_model.hpp" + +namespace cv +{ +namespace dpm +{ + +void CascadeModel::initModel() +{ + CV_Assert(numComponents == (int)rootFilters.size()); + // map: pFind[component][part] => part filter index + pFind.resize(numComponents); + int np = (int) partFilters.size(); + rootFilterDims.resize(numComponents); + partFilterDims.resize(np); + + int w, h; // width and height of the filter + int pIndex = 0; // part index + + for (int comp = 0; comp < numComponents; comp++) + { + w = rootFilters[comp].cols/numFeatures; + h = rootFilters[comp].rows; + rootFilterDims[comp] = Size(w, h); + pFind[comp].resize(numParts[comp]); + + for (int part = 0; part < numParts[comp]; part++) + { + w = partFilters[pIndex].cols/numFeatures; + h = partFilters[pIndex].rows; + partFilterDims[pIndex] = Size(w, h); + pFind[comp][part] = pIndex; + pIndex++; + } + } + + CV_Assert(pIndex == np); + CV_Assert(pIndex == (int)anchors.size()); + CV_Assert(pIndex == (int)defs.size()); +} + +bool CascadeModel::serialize(const std::string &filename) const +{ + // open the storage container for writing + FileStorage fs; + fs.open(filename, FileStorage::WRITE); + + // write the primitives + fs << "SBin" << sBin; + fs << "Interval" << interval; + fs << "MaxSizeX" << maxSizeX; + fs << "MaxSizeY" << maxSizeY; + fs << "NumComponents" << numComponents; + fs << "NumFeatures" << numFeatures; + fs << "PCADim" << pcaDim; + fs << "ScoreThreshold" << scoreThresh; + fs << "PCAcoeff" << pcaCoeff; + fs << "Bias" << bias; + + // write the filters + fs << "RootFilters" << rootFilters; + fs << "RootPCAFilters" << rootPCAFilters; + fs << "PartFilters" << partFilters; + fs << "PartPCAFilters" << partPCAFilters; + + // write the pruning threshold + fs << "PrunThreshold" << "["; + for (unsigned int i = 0; i < prunThreshold.size(); i++) + fs << prunThreshold[i]; + fs << "]"; + + // write anchor points + fs << "Anchor" << "["; + for (unsigned int i = 0; i < anchors.size(); i++) + fs << anchors[i]; + fs << "]"; + + // write deformation + fs << "Deformation" << "["; + for (unsigned int i = 0; i < defs.size(); i++) + fs << defs[i]; + fs << "]"; + + // write number of parts + fs << "NumParts" << numParts; + + // write part order + fs << "PartOrder" << "["; + for (unsigned int i = 0; i < partOrder.size(); i++) + fs << partOrder[i]; + fs << "]"; + + // write location weight + fs << "LocationWeight" << "["; + for (unsigned int i = 0; i < locationWeight.size(); i++) + fs << locationWeight[i]; + fs << "]"; + + fs.release(); + + return true; +} + +bool CascadeModel::deserialize(const std::string &filename) +{ + FileStorage fs; + bool is_ok = fs.open(filename, FileStorage::READ); + + if (!is_ok) return false; + + fs["SBin"] >> sBin; + fs["Interval"] >> interval; + fs["MaxSizeX"] >> maxSizeX; + fs["MaxSizeY"] >> maxSizeY; + fs["NumComponents"] >> numComponents; + fs["NumFeatures"] >> numFeatures; + fs["PCADim"] >> pcaDim; + fs["ScoreThreshold"] >> scoreThresh; + fs["PCAcoeff"] >> pcaCoeff; + fs["Bias"] >> bias; + fs["RootFilters"] >> rootFilters; + fs["RootPCAFilters"] >> rootPCAFilters; + fs["PartFilters"] >> partFilters; + fs["PartPCAFilters"] >> partPCAFilters; + + // read pruning threshold + FileNode nodePrun = fs["PrunThreshold"]; + prunThreshold.resize(nodePrun.size()); + for (unsigned int i = 0; i < prunThreshold.size(); i++) + nodePrun[i] >> prunThreshold[i]; + + // read anchor points + FileNode nodeAnchor = fs["Anchor"]; + anchors.resize(nodeAnchor.size()); + for (unsigned int i = 0; i < anchors.size(); i++) + nodeAnchor[i] >> anchors[i]; + + // read deformation + FileNode nodeDef = fs["Deformation"]; + defs.resize(nodeDef.size()); + for (unsigned int i = 0; i < nodeDef.size(); i++) + nodeDef[i] >> defs[i]; + + // read number of parts in each component + fs["NumParts"] >> numParts; + + // read part order + FileNode nodeOrder = fs["PartOrder"]; + partOrder.resize(nodeOrder.size()); + for (unsigned int i = 0; i < nodeOrder.size(); i++) + nodeOrder[i] >> partOrder[i]; + + // read location weight + FileNode nodeLoc = fs["LocationWeight"]; + locationWeight.resize(nodeLoc.size()); + for (unsigned int i = 0; i < locationWeight.size(); i++) + nodeLoc[i] >> locationWeight[i]; + + // close the file store + fs.release(); + + return true; +} + +} +} diff --git a/modules/dpm/src/dpm_model.hpp b/modules/dpm/src/dpm_model.hpp new file mode 100644 index 000000000..bdd7ddb66 --- /dev/null +++ b/modules/dpm/src/dpm_model.hpp @@ -0,0 +1,148 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2015, Itseez Inc, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Itseez Inc or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef __DPM_MODEL__ +#define __DPM_MODEL__ + +#include "opencv2/core.hpp" + +#include +#include + +namespace cv +{ +namespace dpm +{ +/** @brief This class contains DPM model parameters + */ +class Model +{ + public: + // size of HOG feature cell (e.g., 8 pixels) + int sBin; + // number of levels per octave in feature pyramid + int interval; + // maximum width of the detection window + int maxSizeX; + // maximum height of the detection window + int maxSizeY; + // dimension of HOG features + int numFeatures; + // number of components in the model + int numComponents; + // number of parts per component + std::vector numParts; + // size of root filters + std::vector< Size > rootFilterDims; + // size of part filters + std::vector< Size > partFilterDims; + // root filters + std::vector< Mat > rootFilters; + // part filters + std::vector< Mat > partFilters; + // global detecion threshold + float scoreThresh; + // component indexed array of part orderings + std::vector< std::vector > partOrder; + // component indexed offset (a.k.a. bias) values + std::vector bias; + // location/scale weight + std::vector< std::vector< double > > locationWeight; + // idea relative positions for each deformation model + std::vector< std::vector< double > > anchors; + // array of deformation models + std::vector< std::vector< double > > defs; + + // map: pFind[component][part] => part filter index + std::vector< std::vector > pFind; + + private: + // number of part filters and deformation model + int numPartFilters; + int numDefParams; + + public: + Model () {} + virtual ~Model () {} + + // get number of part filters + int getNumPartFilters() + { + return (int) partFilters.size(); + } + + // get number of deformation parameters + int getNumDefParams() + { + return (int) defs.size(); + } + + virtual void initModel() {}; + virtual bool serialize(const std::string &filename) const = 0; + virtual bool deserialize(const std::string &filename) = 0; +}; + +class CascadeModel : public Model +{ + public: + // PCA coefficient matrix + Mat pcaCoeff; + // number of dimensions used for the PCA projection + int pcaDim; + // component indexed arrays of pruning threshold + std::vector< std::vector< double > > prunThreshold; + // root pca filters + std::vector< Mat > rootPCAFilters; + // part PCA filters + std::vector< Mat > partPCAFilters; + public: + CascadeModel() {} + ~CascadeModel() {} + + void initModel(); + bool serialize(const std::string &filename) const; + bool deserialize(const std::string &filename); +}; + +} // namespace lsvm +} // namespace cv + +#endif // __DPM_MODEL_ diff --git a/modules/dpm/src/dpm_nms.cpp b/modules/dpm/src/dpm_nms.cpp new file mode 100644 index 000000000..e1feb8d77 --- /dev/null +++ b/modules/dpm/src/dpm_nms.cpp @@ -0,0 +1,152 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2015, Itseez Inc, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Itseez Inc or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#include "dpm_nms.hpp" + +using namespace std; + +namespace cv +{ +namespace dpm +{ + +void NonMaximumSuppression::sort(const vector< double > x, vector< int > &indices) +{ + for (unsigned int i = 0; i < x.size(); i++) + { + for (unsigned int j = i + 1; j < x.size(); j++) + { + if (x[indices[j]] < x[indices[i]]) + { + int tmp = indices[i]; + indices[i] = indices[j]; + indices[j] = tmp; + } + } + } +} + +void NonMaximumSuppression::process(vector< vector< double > > &detections, double overlapThreshold) +{ + int numBoxes = (int) detections.size(); + + if (numBoxes <= 0) + return; + + vector< double > area(numBoxes); + vector< double > score(numBoxes); + vector< int > indices(numBoxes); + + for (int i = 0; i < numBoxes; i++) + { + indices[i] = i; + int s = (int)detections[i].size(); + double x1 = detections[i][0]; + double y1 = detections[i][1]; + double x2 = detections[i][2]; + double y2 = detections[i][3]; + double sc = detections[i][s-1]; + score[i] = sc; + area[i] = (x2 - x1 + 1) * ( y2 - y1 + 1); + } + + // sort boxes by score + sort(score, indices); + vector< int > pick; + vector< int > suppress; + + while (indices.size() > 0) + { + int last = (int) indices.size() - 1; + int i = indices[last]; + pick.push_back(i); + suppress.clear(); + suppress.push_back(last); + + for (int k = 0; k <= last - 1; k++) + { + int j = indices[k]; + double xx1 = max(detections[i][0], detections[j][0]); + double yy1 = max(detections[i][1], detections[j][1]); + double xx2 = min(detections[i][2], detections[j][2]); + double yy2 = min(detections[i][3], detections[j][3]); + + double w = xx2 - xx1 + 1; + double h = yy2 - yy1 + 1; + + if (w > 0 && h > 0) + { + // compute overlap + double o = w*h / area[j]; + if (o > overlapThreshold) + suppress.push_back(k); + } + } // k + + // remove suppressed indices + vector< int > newIndices; + for (unsigned int n = 0; n < indices.size(); n++) + { + bool isSuppressed = false; + for (unsigned int r = 0; r < suppress.size(); r++) + { + if (n == (unsigned int)suppress[r]) + { + isSuppressed = true; + break; + } + } + + if (!isSuppressed) + newIndices.push_back(indices[n]); + } + indices = newIndices; + } // while + + vector< vector< double > > newDetections(pick.size()); + for (unsigned int i = 0; i < pick.size(); i++) + newDetections[i] = detections[pick[i]]; + + detections = newDetections; +} + +} // dpm +} // cv diff --git a/modules/latentsvm/src/lsvmc_resizeimg.cpp b/modules/dpm/src/dpm_nms.hpp similarity index 73% rename from modules/latentsvm/src/lsvmc_resizeimg.cpp rename to modules/dpm/src/dpm_nms.hpp index 0fcd503d7..7bf789f24 100644 --- a/modules/latentsvm/src/lsvmc_resizeimg.cpp +++ b/modules/dpm/src/dpm_nms.hpp @@ -10,7 +10,7 @@ // License Agreement // For Open Source Computer Vision Library // -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. +// Copyright (C) 2015, Itseez Inc, all rights reserved. // Third party copyrights are property of their respective owners. // // Redistribution and use in source and binary forms, with or without modification, @@ -29,7 +29,7 @@ // This software is provided by the copyright holders and contributors "as is" and // any express or implied warranties, including, but not limited to, the implied // warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, +// In no event shall the Itseez Inc or contributors be liable for any direct, // indirect, incidental, special, exemplary, or consequential damages // (including, but not limited to, procurement of substitute goods or services; // loss of use, data, or profits; or business interruption) however caused @@ -38,34 +38,29 @@ // the use of this software, even if advised of the possibility of such damage. // //M*/ - -#include "precomp.hpp" -#include "_lsvmc_resizeimg.h" -#include -#include -#include +#ifndef __DPM_NMS__ +#define __DPM_NMS__ +#include namespace cv { -namespace lsvm +namespace dpm { - -IplImage* resize_opencv(IplImage* img, float scale) +/** @brief Non-maximum suppression + * Greedily select high-scoring detections and skip + * detections that are significantly covered by a + * previously selected detection. + */ +class NonMaximumSuppression { - IplImage* imgTmp; - - int W, H, tW, tH; - - W = img->width; - H = img->height; - - tW = (int)(((float)W) * scale + 0.5); - tH = (int)(((float)H) * scale + 0.5); + public: + NonMaximumSuppression() {} + ~NonMaximumSuppression() {} - imgTmp = cvCreateImage(cvSize(tW , tH), img->depth, img->nChannels); - cvResize(img, imgTmp, CV_INTER_AREA); + void sort(const std::vector< double > x, std::vector< int > &indices); - return imgTmp; -} -} -} + void process(std::vector< std::vector< double > > &detections, double overlapThreshold); +}; +} // dpm +} // cv +#endif // __DPM_NMS__ diff --git a/modules/latentsvm/src/precomp.cpp b/modules/dpm/src/precomp.cpp similarity index 92% rename from modules/latentsvm/src/precomp.cpp rename to modules/dpm/src/precomp.cpp index e65b78022..ca7dd448f 100644 --- a/modules/latentsvm/src/precomp.cpp +++ b/modules/dpm/src/precomp.cpp @@ -10,7 +10,7 @@ // License Agreement // For Open Source Computer Vision Library // -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. +// Copyright (C) 2015, Itseez Inc, all rights reserved. // Third party copyrights are property of their respective owners. // // Redistribution and use in source and binary forms, with or without modification, @@ -29,7 +29,7 @@ // This software is provided by the copyright holders and contributors "as is" and // any express or implied warranties, including, but not limited to, the implied // warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, +// In no event shall the Itseez Inc or contributors be liable for any direct, // indirect, incidental, special, exemplary, or consequential damages // (including, but not limited to, procurement of substitute goods or services; // loss of use, data, or profits; or business interruption) however caused diff --git a/modules/latentsvm/src/precomp.hpp b/modules/dpm/src/precomp.hpp similarity index 83% rename from modules/latentsvm/src/precomp.hpp rename to modules/dpm/src/precomp.hpp index 53a5686f4..4d2b14016 100644 --- a/modules/latentsvm/src/precomp.hpp +++ b/modules/dpm/src/precomp.hpp @@ -10,7 +10,7 @@ // License Agreement // For Open Source Computer Vision Library // -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. +// Copyright (C) 2015, Itseez Inc, all rights reserved. // Third party copyrights are property of their respective owners. // // Redistribution and use in source and binary forms, with or without modification, @@ -29,7 +29,7 @@ // This software is provided by the copyright holders and contributors "as is" and // any express or implied warranties, including, but not limited to, the implied // warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, +// In no event shall the Itseez Inc or contributors be liable for any direct, // indirect, incidental, special, exemplary, or consequential damages // (including, but not limited to, procurement of substitute goods or services; // loss of use, data, or profits; or business interruption) however caused @@ -46,19 +46,7 @@ #include "cvconfig.h" #endif -#ifdef __cplusplus -#include -#include -#endif - -#include "opencv2/latentsvm.hpp" -#include "opencv2/imgproc.hpp" -#include "opencv2/imgproc/imgproc_c.h" -#include "opencv2/core/core_c.h" - -#include "opencv2/opencv_modules.hpp" -#include "opencv2/highgui/highgui_c.h" - +#include "opencv2/dpm.hpp" #ifdef HAVE_TEGRA_OPTIMIZATION #include "opencv2/objdetect/objdetect_tegra.hpp" diff --git a/modules/latentsvm/CMakeLists.txt b/modules/latentsvm/CMakeLists.txt deleted file mode 100644 index 8653df9c0..000000000 --- a/modules/latentsvm/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -set(the_description "Object Detection") -ocv_define_module(latentsvm opencv_core opencv_imgproc opencv_objdetect OPTIONAL opencv_highgui WRAP python) diff --git a/modules/latentsvm/README.md b/modules/latentsvm/README.md deleted file mode 100644 index 2cfec51a4..000000000 --- a/modules/latentsvm/README.md +++ /dev/null @@ -1,2 +0,0 @@ -Implementation of the LatentSVM detector algorithm -================================================== diff --git a/modules/latentsvm/perf/perf_cascadeclassifier.cpp b/modules/latentsvm/perf/perf_cascadeclassifier.cpp deleted file mode 100644 index 2823302c7..000000000 --- a/modules/latentsvm/perf/perf_cascadeclassifier.cpp +++ /dev/null @@ -1,50 +0,0 @@ -#include "perf_precomp.hpp" -#include - -using namespace std; -using namespace cv; -using namespace perf; -using std::tr1::make_tuple; -using std::tr1::get; - -typedef std::tr1::tuple ImageName_MinSize_t; -typedef perf::TestBaseWithParam ImageName_MinSize; - -PERF_TEST_P(ImageName_MinSize, CascadeClassifierLBPFrontalFace, - testing::Combine(testing::Values( std::string("cv/shared/lena.png"), - std::string("cv/shared/1_itseez-0000289.png"), - std::string("cv/shared/1_itseez-0000492.png"), - std::string("cv/shared/1_itseez-0000573.png")), - testing::Values(24, 30, 40, 50, 60, 70, 80, 90) - ) - ) -{ - const string filename = get<0>(GetParam()); - int min_size = get<1>(GetParam()); - Size minSize(min_size, min_size); - - CascadeClassifier cc(getDataPath("cv/cascadeandhog/cascades/lbpcascade_frontalface.xml")); - if (cc.empty()) - FAIL() << "Can't load cascade file"; - - Mat img = imread(getDataPath(filename), 0); - if (img.empty()) - FAIL() << "Can't load source image"; - - vector faces; - - equalizeHist(img, img); - declare.in(img); - - while(next()) - { - faces.clear(); - - startTimer(); - cc.detectMultiScale(img, faces, 1.1, 3, 0, minSize); - stopTimer(); - } - - std::sort(faces.begin(), faces.end(), comparators::RectLess()); - SANITY_CHECK(faces, 3.001 * faces.size()); -} \ No newline at end of file diff --git a/modules/latentsvm/perf/perf_main.cpp b/modules/latentsvm/perf/perf_main.cpp deleted file mode 100644 index 69b8ecac5..000000000 --- a/modules/latentsvm/perf/perf_main.cpp +++ /dev/null @@ -1,3 +0,0 @@ -#include "perf_precomp.hpp" - -CV_PERF_TEST_MAIN(objdetect) diff --git a/modules/latentsvm/perf/perf_precomp.cpp b/modules/latentsvm/perf/perf_precomp.cpp deleted file mode 100644 index 8552ac3d4..000000000 --- a/modules/latentsvm/perf/perf_precomp.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "perf_precomp.hpp" diff --git a/modules/latentsvm/perf/perf_precomp.hpp b/modules/latentsvm/perf/perf_precomp.hpp deleted file mode 100644 index 29427f7c7..000000000 --- a/modules/latentsvm/perf/perf_precomp.hpp +++ /dev/null @@ -1,20 +0,0 @@ -#ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wmissing-declarations" -# if defined __clang__ || defined __APPLE__ -# pragma GCC diagnostic ignored "-Wmissing-prototypes" -# pragma GCC diagnostic ignored "-Wextra" -# endif -#endif - -#ifndef __OPENCV_PERF_PRECOMP_HPP__ -#define __OPENCV_PERF_PRECOMP_HPP__ - -#include "opencv2/ts.hpp" -#include "opencv2/objdetect.hpp" -#include "opencv2/highgui.hpp" - -#ifdef GTEST_CREATE_SHARED_LIBRARY -#error no modules except ts should have GTEST_CREATE_SHARED_LIBRARY defined -#endif - -#endif diff --git a/modules/latentsvm/src/_lsvmc_error.h b/modules/latentsvm/src/_lsvmc_error.h deleted file mode 100644 index 489d4cdd9..000000000 --- a/modules/latentsvm/src/_lsvmc_error.h +++ /dev/null @@ -1,61 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#ifndef LSVM_ERROR -#define LSVM_ERROR - -#define LATENT_SVM_OK 0 -#define LATENT_SVM_MEM_NULL 2 -#define DISTANCE_TRANSFORM_OK 1 -#define DISTANCE_TRANSFORM_GET_INTERSECTION_ERROR -1 -#define DISTANCE_TRANSFORM_ERROR -2 -#define DISTANCE_TRANSFORM_EQUAL_POINTS -3 -#define LATENT_SVM_GET_FEATURE_PYRAMID_FAILED -4 -#define LATENT_SVM_SEARCH_OBJECT_FAILED -5 -#define LATENT_SVM_FAILED_SUPERPOSITION -6 -#define FILTER_OUT_OF_BOUNDARIES -7 -#define LATENT_SVM_TBB_SCHEDULE_CREATION_FAILED -8 -#define LATENT_SVM_TBB_NUMTHREADS_NOT_CORRECT -9 -#define FFT_OK 2 -#define FFT_ERROR -10 -#define LSVM_PARSER_FILE_NOT_FOUND -11 - -#endif diff --git a/modules/latentsvm/src/_lsvmc_latentsvm.h b/modules/latentsvm/src/_lsvmc_latentsvm.h deleted file mode 100644 index f92428706..000000000 --- a/modules/latentsvm/src/_lsvmc_latentsvm.h +++ /dev/null @@ -1,379 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -/*****************************************************************************/ -/* Latent SVM prediction API */ -/*****************************************************************************/ - -#ifndef _LATENTSVM_H_ -#define _LATENTSVM_H_ - -#include -#include "_lsvmc_types.h" -#include "_lsvmc_error.h" -#include "_lsvmc_routine.h" - -namespace cv -{ -namespace lsvm -{ - -////////////////////////////////////////////////////////////// -// Building feature pyramid -// (pyramid constructed both contrast and non-contrast image) -////////////////////////////////////////////////////////////// - -void FeaturePyramid32(CvLSVMFeaturePyramidCascade* H, int maxX, int maxY); - -/* -// Creation PCA feature pyramid -// -// API -// featurePyramid* createPCA_FeaturePyramid(featurePyramid* H); - -// INPUT -// H - feature pyramid -// OUTPUT -// RESULT -// PCA feature pyramid -*/ -CvLSVMFeaturePyramidCascade* createPCA_FeaturePyramid(CvLSVMFeaturePyramidCascade* H, - CvLatentSvmDetectorCascade* detector, - int maxX, int maxY); - -/* -// Getting feature pyramid -// -// API -// int getFeaturePyramid(IplImage * image, const CvLSVMFilterObjectCascade **all_F, - const int n_f, - const int lambda, const int k, - const int startX, const int startY, - const int W, const int H, featurePyramid **maps); -// INPUT -// image - image -// lambda - resize scale -// k - size of cells -// startX - X coordinate of the image rectangle to search -// startY - Y coordinate of the image rectangle to search -// W - width of the image rectangle to search -// H - height of the image rectangle to search -// OUTPUT -// maps - feature maps for all levels -// RESULT -// Error status -*/ -int getFeaturePyramid(IplImage * image, CvLSVMFeaturePyramidCascade **maps); - -/* -// Getting feature map for the selected subimage -// -// API -// int getFeatureMaps(const IplImage * image, const int k, featureMap **map); -// INPUT -// image - selected subimage -// k - size of cells -// OUTPUT -// map - feature map -// RESULT -// Error status -*/ -int getFeatureMaps(const IplImage * image, const int k, CvLSVMFeatureMapCascade **map); - - -/* -// Feature map Normalization and Truncation -// -// API -// int normalizationAndTruncationFeatureMaps(featureMap *map, const float alfa); -// INPUT -// map - feature map -// alfa - truncation threshold -// OUTPUT -// map - truncated and normalized feature map -// RESULT -// Error status -*/ -int normalizeAndTruncate(CvLSVMFeatureMapCascade *map, const float alfa); - -/* -// Feature map reduction -// In each cell we reduce dimension of the feature vector -// according to original paper special procedure -// -// API -// int PCAFeatureMaps(featureMap *map) -// INPUT -// map - feature map -// OUTPUT -// map - feature map -// RESULT -// Error status -*/ -int PCAFeatureMaps(CvLSVMFeatureMapCascade *map); - -////////////////////////////////////////////////////////////// -// search object -////////////////////////////////////////////////////////////// - -/* -// Transformation filter displacement from the block space -// to the space of pixels at the initial image -// -// API -// int convertPoints(int countLevel, int lambda, - int initialImageLevel, - CvPoint *points, int *levels, - CvPoint **partsDisplacement, int kPoints, int n, - int maxXBorder, - int maxYBorder); -// INPUT -// countLevel - the number of levels in the feature pyramid -// lambda - method parameter -// initialImageLevel - level of feature pyramid that contains feature map - for initial image -// points - the set of root filter positions (in the block space) -// levels - the set of levels -// partsDisplacement - displacement of part filters (in the block space) -// kPoints - number of root filter positions -// n - number of part filters -// maxXBorder - the largest root filter size (X-direction) -// maxYBorder - the largest root filter size (Y-direction) -// OUTPUT -// points - the set of root filter positions (in the space of pixels) -// partsDisplacement - displacement of part filters (in the space of pixels) -// RESULT -// Error status -*/ -int convertPoints(int countLevel, int lambda, - int initialImageLevel, - CvPoint *points, int *levels, - CvPoint **partsDisplacement, int kPoints, int n, - int maxXBorder, - int maxYBorder); - -/* -// Elimination boxes that are outside the image boudaries -// -// API -// int clippingBoxes(int width, int height, - CvPoint *points, int kPoints); -// INPUT -// width - image wediht -// height - image heigth -// points - a set of points (coordinates of top left or - bottom right corners) -// kPoints - points number -// OUTPUT -// points - updated points (if coordinates less than zero then - set zero coordinate, if coordinates more than image - size then set coordinates equal image size) -// RESULT -// Error status -*/ -int clippingBoxes(int width, int height, - CvPoint *points, int kPoints); - -/* -// Creation feature pyramid with nullable border -// -// API -// featurePyramid* createFeaturePyramidWithBorder(const IplImage *image, - int maxXBorder, int maxYBorder); - -// INPUT -// image - initial image -// maxXBorder - the largest root filter size (X-direction) -// maxYBorder - the largest root filter size (Y-direction) -// OUTPUT -// RESULT -// Feature pyramid with nullable border -*/ -CvLSVMFeaturePyramidCascade* createFeaturePyramidWithBorder(IplImage *image, - int maxXBorder, int maxYBorder); - -/* -// Computation root filters displacement and values of score function -// -// API -// int searchObjectThresholdSomeComponents(const featurePyramid *H, - const CvLSVMFilterObjectCascade **filters, - int kComponents, const int *kPartFilters, - const float *b, float scoreThreshold, - CvPoint **points, CvPoint **oppPoints, - float **score, int *kPoints); -// INPUT -// H - feature pyramid -// filters - filters (root filter then it's part filters, etc.) -// kComponents - root filters number -// kPartFilters - array of part filters number for each component -// b - array of linear terms -// scoreThreshold - score threshold -// OUTPUT -// points - root filters displacement (top left corners) -// oppPoints - root filters displacement (bottom right corners) -// score - array of score values -// kPoints - number of boxes -// RESULT -// Error status -*/ -int searchObjectThresholdSomeComponents(const CvLSVMFeaturePyramidCascade *H, - const CvLSVMFeaturePyramidCascade *H_PCA, - const CvLSVMFilterObjectCascade **filters, - int kComponents, const int *kPartFilters, - const float *b, float scoreThreshold, - CvPoint **points, CvPoint **oppPoints, - float **score, int *kPoints); - -/* -// Compute opposite point for filter box -// -// API -// int getOppositePoint(CvPoint point, - int sizeX, int sizeY, - float step, int degree, - CvPoint *oppositePoint); - -// INPUT -// point - coordinates of filter top left corner - (in the space of pixels) -// (sizeX, sizeY) - filter dimension in the block space -// step - scaling factor -// degree - degree of the scaling factor -// OUTPUT -// oppositePoint - coordinates of filter bottom corner - (in the space of pixels) -// RESULT -// Error status -*/ -int getOppositePoint(CvPoint point, - int sizeX, int sizeY, - float step, int degree, - CvPoint *oppositePoint); - -/* -// Drawing root filter boxes -// -// API -// int showRootFilterBoxes(const IplImage *image, - const CvLSVMFilterObjectCascade *filter, - CvPoint *points, int *levels, int kPoints, - CvScalar color, int thickness, - int line_type, int shift); -// INPUT -// image - initial image -// filter - root filter object -// points - a set of points -// levels - levels of feature pyramid -// kPoints - number of points -// color - line color for each box -// thickness - line thickness -// line_type - line type -// shift - shift -// OUTPUT -// window contained initial image and filter boxes -// RESULT -// Error status -*/ -int showRootFilterBoxes(IplImage *image, - const CvLSVMFilterObjectCascade *filter, - CvPoint *points, int *levels, int kPoints, - CvScalar color, int thickness, - int line_type, int shift); - -/* -// Drawing part filter boxes -// -// API -// int showPartFilterBoxes(const IplImage *image, - const CvLSVMFilterObjectCascade *filter, - CvPoint *points, int *levels, int kPoints, - CvScalar color, int thickness, - int line_type, int shift); -// INPUT -// image - initial image -// filters - a set of part filters -// n - number of part filters -// partsDisplacement - a set of points -// levels - levels of feature pyramid -// kPoints - number of foot filter positions -// color - line color for each box -// thickness - line thickness -// line_type - line type -// shift - shift -// OUTPUT -// window contained initial image and filter boxes -// RESULT -// Error status -*/ -int showPartFilterBoxes(IplImage *image, - const CvLSVMFilterObjectCascade **filters, - int n, CvPoint **partsDisplacement, - int *levels, int kPoints, - CvScalar color, int thickness, - int line_type, int shift); - -/* -// Drawing boxes -// -// API -// int showBoxes(const IplImage *img, - const CvPoint *points, const CvPoint *oppositePoints, int kPoints, - CvScalar color, int thickness, int line_type, int shift); -// INPUT -// img - initial image -// points - top left corner coordinates -// oppositePoints - right bottom corner coordinates -// kPoints - points number -// color - line color for each box -// thickness - line thickness -// line_type - line type -// shift - shift -// OUTPUT -// RESULT -// Error status -*/ -int showBoxes(IplImage *img, - const CvPoint *points, const CvPoint *oppositePoints, int kPoints, - CvScalar color, int thickness, int line_type, int shift); -} -} -#endif diff --git a/modules/latentsvm/src/_lsvmc_matching.h b/modules/latentsvm/src/_lsvmc_matching.h deleted file mode 100644 index ef2001b7d..000000000 --- a/modules/latentsvm/src/_lsvmc_matching.h +++ /dev/null @@ -1,130 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -/*****************************************************************************/ -/* Matching procedure API */ -/*****************************************************************************/ -// -#ifndef _LSVM_MATCHING_H_ -#define _LSVM_MATCHING_H_ - -#include "_lsvmc_latentsvm.h" -#include "_lsvmc_error.h" -#include "_lsvmc_routine.h" - -namespace cv -{ -namespace lsvm -{ - - -/* -// Computation border size for feature map -// -// API -// int computeBorderSize(int maxXBorder, int maxYBorder, int *bx, int *by); -// INPUT -// maxXBorder - the largest root filter size (X-direction) -// maxYBorder - the largest root filter size (Y-direction) -// OUTPUT -// bx - border size (X-direction) -// by - border size (Y-direction) -// RESULT -// Error status -*/ -int computeBorderSize(int maxXBorder, int maxYBorder, int *bx, int *by); - -/* -// Addition nullable border to the feature map -// -// API -// int addNullableBorder(featureMap *map, int bx, int by); -// INPUT -// map - feature map -// bx - border size (X-direction) -// by - border size (Y-direction) -// OUTPUT -// RESULT -// Error status -*/ -int addNullableBorder(CvLSVMFeatureMapCascade *map, int bx, int by); - -/* -// Perform non-maximum suppression algorithm (described in original paper) -// to remove "similar" bounding boxes -// -// API -// int nonMaximumSuppression(int numBoxes, const CvPoint *points, - const CvPoint *oppositePoints, const float *score, - float overlapThreshold, - int *numBoxesout, CvPoint **pointsOut, - CvPoint **oppositePointsOut, float **scoreOut); -// INPUT -// numBoxes - number of bounding boxes -// points - array of left top corner coordinates -// oppositePoints - array of right bottom corner coordinates -// score - array of detection scores -// overlapThreshold - threshold: bounding box is removed if overlap part - is greater than passed value -// OUTPUT -// numBoxesOut - the number of bounding boxes algorithm returns -// pointsOut - array of left top corner coordinates -// oppositePointsOut - array of right bottom corner coordinates -// scoreOut - array of detection scores -// RESULT -// Error status -*/ -int nonMaximumSuppression(int numBoxes, const CvPoint *points, - const CvPoint *oppositePoints, const float *score, - float overlapThreshold, - int *numBoxesOut, CvPoint **pointsOut, - CvPoint **oppositePointsOut, float **scoreOut); -int getMaxFilterDims(const CvLSVMFilterObjectCascade **filters, int kComponents, - const int *kPartFilters, - unsigned int *maxXBorder, unsigned int *maxYBorder); -//} - -int getMaxFilterDims(const CvLSVMFilterObjectCascade **filters, int kComponents, - const int *kPartFilters, - unsigned int *maxXBorder, unsigned int *maxYBorder); -} -} -#endif diff --git a/modules/latentsvm/src/_lsvmc_parser.h b/modules/latentsvm/src/_lsvmc_parser.h deleted file mode 100644 index 0652a080a..000000000 --- a/modules/latentsvm/src/_lsvmc_parser.h +++ /dev/null @@ -1,128 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#ifndef LSVM_PARSER -#define LSVM_PARSER - -#include "_lsvmc_types.h" - -#define MODEL 1 -#define P 2 -#define COMP 3 -#define SCORE 4 -#define RFILTER 100 -#define PFILTERs 101 -#define PFILTER 200 -#define SIZEX 150 -#define SIZEY 151 -#define WEIGHTS 152 -#define TAGV 300 -#define Vx 350 -#define Vy 351 -#define TAGD 400 -#define Dx 451 -#define Dy 452 -#define Dxx 453 -#define Dyy 454 -#define BTAG 500 - -#define PCA 5 -#define WEIGHTSPCA 162 -#define CASCADE_Th 163 -#define HYPOTHES_PCA 164 -#define DEFORM_PCA 165 -#define HYPOTHES 166 -#define DEFORM 167 - -#define PCACOEFF 6 - -#define STEP_END 1000 - -#define EMODEL (STEP_END + MODEL) -#define EP (STEP_END + P) -#define ECOMP (STEP_END + COMP) -#define ESCORE (STEP_END + SCORE) -#define ERFILTER (STEP_END + RFILTER) -#define EPFILTERs (STEP_END + PFILTERs) -#define EPFILTER (STEP_END + PFILTER) -#define ESIZEX (STEP_END + SIZEX) -#define ESIZEY (STEP_END + SIZEY) -#define EWEIGHTS (STEP_END + WEIGHTS) -#define ETAGV (STEP_END + TAGV) -#define EVx (STEP_END + Vx) -#define EVy (STEP_END + Vy) -#define ETAGD (STEP_END + TAGD) -#define EDx (STEP_END + Dx) -#define EDy (STEP_END + Dy) -#define EDxx (STEP_END + Dxx) -#define EDyy (STEP_END + Dyy) -#define EBTAG (STEP_END + BTAG) - -#define EPCA (STEP_END + PCA) -#define EWEIGHTSPCA (STEP_END + WEIGHTSPCA) -#define ECASCADE_Th (STEP_END + CASCADE_Th) -#define EHYPOTHES_PCA (STEP_END + HYPOTHES_PCA) -#define EDEFORM_PCA (STEP_END + DEFORM_PCA) -#define EHYPOTHES (STEP_END + HYPOTHES) -#define EDEFORM (STEP_END + DEFORM) - -#define EPCACOEFF (STEP_END + PCACOEFF) - -namespace cv -{ -namespace lsvm -{ - - int loadModel( - // input parametr - const char *modelPath,// model path - - // output parametrs - CvLSVMFilterObjectCascade ***filters, - int *kFilters, - int *kComponents, - int **kPartFilters, - float **b, - float *scoreThreshold, - float ** PCAcoeff); -} -} -#endif diff --git a/modules/latentsvm/src/_lsvmc_routine.h b/modules/latentsvm/src/_lsvmc_routine.h deleted file mode 100644 index a3380a8fe..000000000 --- a/modules/latentsvm/src/_lsvmc_routine.h +++ /dev/null @@ -1,76 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#ifndef _LSVM_ROUTINE_H_ -#define _LSVM_ROUTINE_H_ - -#include "_lsvmc_types.h" -#include "_lsvmc_error.h" - -namespace cv -{ -namespace lsvm -{ - - -////////////////////////////////////////////////////////////// -// Memory management routines -// All paramaters names correspond to previous data structures description -// All "alloc" functions return allocated memory for 1 object -// with all fields including arrays -// Error status is return value -////////////////////////////////////////////////////////////// -int allocFilterObject(CvLSVMFilterObjectCascade **obj, const int sizeX, const int sizeY, - const int p); -int freeFilterObject (CvLSVMFilterObjectCascade **obj); - -int allocFeatureMapObject(CvLSVMFeatureMapCascade **obj, const int sizeX, const int sizeY, - const int p); -int freeFeatureMapObject (CvLSVMFeatureMapCascade **obj); - -int allocFeaturePyramidObject(CvLSVMFeaturePyramidCascade **obj, - const int countLevel); - -int freeFeaturePyramidObject (CvLSVMFeaturePyramidCascade **obj); - -} -} -#endif diff --git a/modules/latentsvm/src/_lsvmc_types.h b/modules/latentsvm/src/_lsvmc_types.h deleted file mode 100644 index 9764394d6..000000000 --- a/modules/latentsvm/src/_lsvmc_types.h +++ /dev/null @@ -1,186 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#ifndef SVM_TYPE -#define SVM_TYPE - -#include "float.h" - -#define PI CV_PI - -#define EPS 0.000001 - -#define F_MAX FLT_MAX -#define F_MIN -FLT_MAX - -// The number of elements in bin -// The number of sectors in gradient histogram building -#define NUM_SECTOR 9 - -// The number of levels in image resize procedure -// We need Lambda levels to resize image twice -#define LAMBDA 10 - -// Block size. Used in feature pyramid building procedure -#define SIDE_LENGTH 8 - -#define VAL_OF_TRUNCATE 0.2f -namespace cv -{ -namespace lsvm -{ -////////////////////////////////////////////////////////////// -// main data structures // -////////////////////////////////////////////////////////////// - -// data type: STRUCT CvObjectDetection -// structure contains the bounding box and confidence level for detected object -// rect - bounding box for a detected object -// score - confidence level - -typedef struct CvObjectDetection -{ - cv::Rect rect; - float score; -} CvObjectDetection; - - -// DataType: STRUCT featureMap -// FEATURE MAP DESCRIPTION -// Rectangular map (sizeX x sizeY), -// every cell stores feature vector (dimension = numFeatures) -// map - matrix of feature vectors -// to set and get feature vectors (i,j) -// used formula map[(j * sizeX + i) * p + k], where -// k - component of feature vector in cell (i, j) -typedef struct{ - int sizeX; - int sizeY; - int numFeatures; - float *map; -} CvLSVMFeatureMapCascade; - -// DataType: STRUCT featurePyramid -// -// numLevels - number of levels in the feature pyramid -// pyramid - array of pointers to feature map at different levels -typedef struct{ - int numLevels; - CvLSVMFeatureMapCascade **pyramid; -} CvLSVMFeaturePyramidCascade; - -// DataType: STRUCT filterDisposition -// The structure stores preliminary results in optimization process -// with objective function D -// -// x - array with X coordinates of optimization problems solutions -// y - array with Y coordinates of optimization problems solutions -// score - array with optimal objective values -typedef struct{ - float *score; - int *x; - int *y; -} CvLSVMFilterDisposition; - -// DataType: STRUCT position -// Structure describes the position of the filter in the feature pyramid -// l - level in the feature pyramid -// (x, y) - coordinate in level l - -typedef struct CvLSVMFilterPosition -{ - int x; - int y; - int l; -} CvLSVMFilterPosition; - -// DataType: STRUCT filterObject -// Description of the filter, which corresponds to the part of the object -// V - ideal (penalty = 0) position of the partial filter -// from the root filter position (V_i in the paper) -// penaltyFunction - vector describes penalty function (d_i in the paper) -// pf[0] * x + pf[1] * y + pf[2] * x^2 + pf[3] * y^2 -// FILTER DESCRIPTION -// Rectangular map (sizeX x sizeY), -// every cell stores feature vector (dimension = p) -// H - matrix of feature vectors -// to set and get feature vectors (i,j) -// used formula H[(j * sizeX + i) * p + k], where -// k - component of feature vector in cell (i, j) -// END OF FILTER DESCRIPTION - -typedef struct CvLSVMFilterObjectCascade{ - CvLSVMFilterPosition V; - float fineFunction[4]; - int sizeX; - int sizeY; - int numFeatures; - float *H; - float *H_PCA; - float Hypothesis, Deformation; - float Hypothesis_PCA, Deformation_PCA; - int deltaX; - int deltaY; -} CvLSVMFilterObjectCascade; - -// data type: STRUCT CvLatentSvmDetector -// structure contains internal representation of trained Latent SVM detector -// num_filters - total number of filters (root plus part) in model -// num_components - number of components in model -// num_part_filters - array containing number of part filters for each component -// filters - root and part filters for all model components -// b - biases for all model components -// score_threshold - confidence level threshold - -typedef struct CvLatentSvmDetectorCascade -{ - int num_filters; - int num_components; - int* num_part_filters; - CvLSVMFilterObjectCascade** filters; - float* b; - float score_threshold; - float *pca; - int pca_size; -} CvLatentSvmDetectorCascade; -} -} -#endif diff --git a/modules/latentsvm/src/lsvmc_featurepyramid.cpp b/modules/latentsvm/src/lsvmc_featurepyramid.cpp deleted file mode 100644 index b5414085a..000000000 --- a/modules/latentsvm/src/lsvmc_featurepyramid.cpp +++ /dev/null @@ -1,624 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#include "precomp.hpp" -#include "_lsvmc_latentsvm.h" -#include "_lsvmc_resizeimg.h" - -#ifdef HAVE_TBB -#include -#include "tbb/parallel_for.h" -#include "tbb/blocked_range.h" -#endif - -#ifndef max -#define max(a,b) (((a) > (b)) ? (a) : (b)) -#endif - -#ifndef min -#define min(a,b) (((a) < (b)) ? (a) : (b)) -#endif - -namespace cv -{ -namespace lsvm -{ - -int getPathOfFeaturePyramid(IplImage * image, - float step, int numStep, int startIndex, - int sideLength, CvLSVMFeaturePyramidCascade **maps); - -/* -// Getting feature map for the selected subimage -// -// API -// int getFeatureMaps(const IplImage * image, const int k, featureMap **map); -// INPUT -// image - selected subimage -// k - size of cells -// OUTPUT -// map - feature map -// RESULT -// Error status -*/ -int getFeatureMaps(const IplImage* image, const int k, CvLSVMFeatureMapCascade **map) -{ - int sizeX, sizeY; - int p, px, stringSize; - int height, width, numChannels; - int i, j, kk, c, ii, jj, d; - float * datadx, * datady; - - int ch; - float magnitude, x, y, tx, ty; - - IplImage * dx, * dy; - int *nearest; - float *w, a_x, b_x; - - float kernel[3] = {-1.f, 0.f, 1.f}; - CvMat kernel_dx = cvMat(1, 3, CV_32F, kernel); - CvMat kernel_dy = cvMat(3, 1, CV_32F, kernel); - - float * r; - int * alfa; - - float boundary_x[NUM_SECTOR + 1]; - float boundary_y[NUM_SECTOR + 1]; - float max, dotProd; - int maxi; - - height = image->height; - width = image->width ; - - numChannels = image->nChannels; - - dx = cvCreateImage(cvSize(image->width, image->height), - IPL_DEPTH_32F, 3); - dy = cvCreateImage(cvSize(image->width, image->height), - IPL_DEPTH_32F, 3); - - sizeX = width / k; - sizeY = height / k; - px = 3 * NUM_SECTOR; - p = px; - stringSize = sizeX * p; - allocFeatureMapObject(map, sizeX, sizeY, p); - - cvFilter2D(image, dx, &kernel_dx, cvPoint(-1, 0)); - cvFilter2D(image, dy, &kernel_dy, cvPoint(0, -1)); - - float arg_vector; - for(i = 0; i <= NUM_SECTOR; i++) - { - arg_vector = ( (float) i ) * ( (float)(PI) / (float)(NUM_SECTOR) ); - boundary_x[i] = cosf(arg_vector); - boundary_y[i] = sinf(arg_vector); - }/*for(i = 0; i <= NUM_SECTOR; i++) */ - - r = (float *)malloc( sizeof(float) * (width * height)); - alfa = (int *)malloc( sizeof(int ) * (width * height * 2)); - - for(j = 1; j < height - 1; j++) - { - datadx = (float*)(dx->imageData + dx->widthStep * j); - datady = (float*)(dy->imageData + dy->widthStep * j); - for(i = 1; i < width - 1; i++) - { - c = 0; - x = (datadx[i * numChannels + c]); - y = (datady[i * numChannels + c]); - - r[j * width + i] =sqrtf(x * x + y * y); - for(ch = 1; ch < numChannels; ch++) - { - tx = (datadx[i * numChannels + ch]); - ty = (datady[i * numChannels + ch]); - magnitude = sqrtf(tx * tx + ty * ty); - if(magnitude > r[j * width + i]) - { - r[j * width + i] = magnitude; - c = ch; - x = tx; - y = ty; - } - }/*for(ch = 1; ch < numChannels; ch++)*/ - - max = boundary_x[0] * x + boundary_y[0] * y; - maxi = 0; - for (kk = 0; kk < NUM_SECTOR; kk++) - { - dotProd = boundary_x[kk] * x + boundary_y[kk] * y; - if (dotProd > max) - { - max = dotProd; - maxi = kk; - } - else - { - if (-dotProd > max) - { - max = -dotProd; - maxi = kk + NUM_SECTOR; - } - } - } - alfa[j * width * 2 + i * 2 ] = maxi % NUM_SECTOR; - alfa[j * width * 2 + i * 2 + 1] = maxi; - }/*for(i = 0; i < width; i++)*/ - }/*for(j = 0; j < height; j++)*/ - - nearest = (int *)malloc(sizeof(int ) * k); - w = (float*)malloc(sizeof(float) * (k * 2)); - - for(i = 0; i < k / 2; i++) - { - nearest[i] = -1; - }/*for(i = 0; i < k / 2; i++)*/ - for(i = k / 2; i < k; i++) - { - nearest[i] = 1; - }/*for(i = k / 2; i < k; i++)*/ - - for(j = 0; j < k / 2; j++) - { - b_x = k / 2 + j + 0.5f; - a_x = k / 2 - j - 0.5f; - w[j * 2 ] = 1.0f/a_x * ((a_x * b_x) / ( a_x + b_x)); - w[j * 2 + 1] = 1.0f/b_x * ((a_x * b_x) / ( a_x + b_x)); - }/*for(j = 0; j < k / 2; j++)*/ - for(j = k / 2; j < k; j++) - { - a_x = j - k / 2 + 0.5f; - b_x =-j + k / 2 - 0.5f + k; - w[j * 2 ] = 1.0f/a_x * ((a_x * b_x) / ( a_x + b_x)); - w[j * 2 + 1] = 1.0f/b_x * ((a_x * b_x) / ( a_x + b_x)); - }/*for(j = k / 2; j < k; j++)*/ - - for(i = 0; i < sizeY; i++) - { - for(j = 0; j < sizeX; j++) - { - for(ii = 0; ii < k; ii++) - { - for(jj = 0; jj < k; jj++) - { - if ((i * k + ii > 0) && - (i * k + ii < height - 1) && - (j * k + jj > 0) && - (j * k + jj < width - 1)) - { - d = (k * i + ii) * width + (j * k + jj); - (*map)->map[ i * stringSize + j * (*map)->numFeatures + alfa[d * 2 ]] += - r[d] * w[ii * 2] * w[jj * 2]; - (*map)->map[ i * stringSize + j * (*map)->numFeatures + alfa[d * 2 + 1] + NUM_SECTOR] += - r[d] * w[ii * 2] * w[jj * 2]; - if ((i + nearest[ii] >= 0) && - (i + nearest[ii] <= sizeY - 1)) - { - (*map)->map[(i + nearest[ii]) * stringSize + j * (*map)->numFeatures + alfa[d * 2 ] ] += - r[d] * w[ii * 2 + 1] * w[jj * 2 ]; - (*map)->map[(i + nearest[ii]) * stringSize + j * (*map)->numFeatures + alfa[d * 2 + 1] + NUM_SECTOR] += - r[d] * w[ii * 2 + 1] * w[jj * 2 ]; - } - if ((j + nearest[jj] >= 0) && - (j + nearest[jj] <= sizeX - 1)) - { - (*map)->map[i * stringSize + (j + nearest[jj]) * (*map)->numFeatures + alfa[d * 2 ] ] += - r[d] * w[ii * 2] * w[jj * 2 + 1]; - (*map)->map[i * stringSize + (j + nearest[jj]) * (*map)->numFeatures + alfa[d * 2 + 1] + NUM_SECTOR] += - r[d] * w[ii * 2] * w[jj * 2 + 1]; - } - if ((i + nearest[ii] >= 0) && - (i + nearest[ii] <= sizeY - 1) && - (j + nearest[jj] >= 0) && - (j + nearest[jj] <= sizeX - 1)) - { - (*map)->map[(i + nearest[ii]) * stringSize + (j + nearest[jj]) * (*map)->numFeatures + alfa[d * 2 ] ] += - r[d] * w[ii * 2 + 1] * w[jj * 2 + 1]; - (*map)->map[(i + nearest[ii]) * stringSize + (j + nearest[jj]) * (*map)->numFeatures + alfa[d * 2 + 1] + NUM_SECTOR] += - r[d] * w[ii * 2 + 1] * w[jj * 2 + 1]; - } - } - }/*for(jj = 0; jj < k; jj++)*/ - }/*for(ii = 0; ii < k; ii++)*/ - }/*for(j = 1; j < sizeX - 1; j++)*/ - }/*for(i = 1; i < sizeY - 1; i++)*/ - - cvReleaseImage(&dx); - cvReleaseImage(&dy); - - - free(w); - free(nearest); - - free(r); - free(alfa); - - return LATENT_SVM_OK; -} - -/* -// Feature map Normalization and Truncation -// -// API -// int normalizeAndTruncate(featureMap *map, const float alfa); -// INPUT -// map - feature map -// alfa - truncation threshold -// OUTPUT -// map - truncated and normalized feature map -// RESULT -// Error status -*/ -int normalizeAndTruncate(CvLSVMFeatureMapCascade *map, const float alfa) -{ - int i,j, ii; - int sizeX, sizeY, p, pos, pp, xp, pos1, pos2; - float * partOfNorm; // norm of C(i, j) - float * newData; - float valOfNorm; - - sizeX = map->sizeX; - sizeY = map->sizeY; - partOfNorm = (float *)malloc (sizeof(float) * (sizeX * sizeY)); - - p = NUM_SECTOR; - xp = NUM_SECTOR * 3; - pp = NUM_SECTOR * 12; - - for(i = 0; i < sizeX * sizeY; i++) - { - valOfNorm = 0.0f; - pos = i * map->numFeatures; - for(j = 0; j < p; j++) - { - valOfNorm += map->map[pos + j] * map->map[pos + j]; - }/*for(j = 0; j < p; j++)*/ - partOfNorm[i] = valOfNorm; - }/*for(i = 0; i < sizeX * sizeY; i++)*/ - - sizeX -= 2; - sizeY -= 2; - - newData = (float *)malloc (sizeof(float) * (sizeX * sizeY * pp)); -//normalization - for(i = 1; i <= sizeY; i++) - { - for(j = 1; j <= sizeX; j++) - { - valOfNorm = sqrtf( - partOfNorm[(i )*(sizeX + 2) + (j )] + - partOfNorm[(i )*(sizeX + 2) + (j + 1)] + - partOfNorm[(i + 1)*(sizeX + 2) + (j )] + - partOfNorm[(i + 1)*(sizeX + 2) + (j + 1)]) + FLT_EPSILON; - pos1 = (i ) * (sizeX + 2) * xp + (j ) * xp; - pos2 = (i-1) * (sizeX ) * pp + (j-1) * pp; - for(ii = 0; ii < p; ii++) - { - newData[pos2 + ii ] = map->map[pos1 + ii ] / valOfNorm; - }/*for(ii = 0; ii < p; ii++)*/ - for(ii = 0; ii < 2 * p; ii++) - { - newData[pos2 + ii + p * 4] = map->map[pos1 + ii + p] / valOfNorm; - }/*for(ii = 0; ii < 2 * p; ii++)*/ - valOfNorm = sqrtf( - partOfNorm[(i )*(sizeX + 2) + (j )] + - partOfNorm[(i )*(sizeX + 2) + (j + 1)] + - partOfNorm[(i - 1)*(sizeX + 2) + (j )] + - partOfNorm[(i - 1)*(sizeX + 2) + (j + 1)]) + FLT_EPSILON; - for(ii = 0; ii < p; ii++) - { - newData[pos2 + ii + p ] = map->map[pos1 + ii ] / valOfNorm; - }/*for(ii = 0; ii < p; ii++)*/ - for(ii = 0; ii < 2 * p; ii++) - { - newData[pos2 + ii + p * 6] = map->map[pos1 + ii + p] / valOfNorm; - }/*for(ii = 0; ii < 2 * p; ii++)*/ - valOfNorm = sqrtf( - partOfNorm[(i )*(sizeX + 2) + (j )] + - partOfNorm[(i )*(sizeX + 2) + (j - 1)] + - partOfNorm[(i + 1)*(sizeX + 2) + (j )] + - partOfNorm[(i + 1)*(sizeX + 2) + (j - 1)]) + FLT_EPSILON; - for(ii = 0; ii < p; ii++) - { - newData[pos2 + ii + p * 2] = map->map[pos1 + ii ] / valOfNorm; - }/*for(ii = 0; ii < p; ii++)*/ - for(ii = 0; ii < 2 * p; ii++) - { - newData[pos2 + ii + p * 8] = map->map[pos1 + ii + p] / valOfNorm; - }/*for(ii = 0; ii < 2 * p; ii++)*/ - valOfNorm = sqrtf( - partOfNorm[(i )*(sizeX + 2) + (j )] + - partOfNorm[(i )*(sizeX + 2) + (j - 1)] + - partOfNorm[(i - 1)*(sizeX + 2) + (j )] + - partOfNorm[(i - 1)*(sizeX + 2) + (j - 1)]) + FLT_EPSILON; - for(ii = 0; ii < p; ii++) - { - newData[pos2 + ii + p * 3 ] = map->map[pos1 + ii ] / valOfNorm; - }/*for(ii = 0; ii < p; ii++)*/ - for(ii = 0; ii < 2 * p; ii++) - { - newData[pos2 + ii + p * 10] = map->map[pos1 + ii + p] / valOfNorm; - }/*for(ii = 0; ii < 2 * p; ii++)*/ - }/*for(j = 1; j <= sizeX; j++)*/ - }/*for(i = 1; i <= sizeY; i++)*/ -//truncation - for(i = 0; i < sizeX * sizeY * pp; i++) - { - if(newData [i] > alfa) newData [i] = alfa; - }/*for(i = 0; i < sizeX * sizeY * pp; i++)*/ -//swop data - - map->numFeatures = pp; - map->sizeX = sizeX; - map->sizeY = sizeY; - - free (map->map); - free (partOfNorm); - - map->map = newData; - - return LATENT_SVM_OK; -} -/* -// Feature map reduction -// In each cell we reduce dimension of the feature vector -// according to original paper special procedure -// -// API -// int PCAFeatureMaps(featureMap *map) -// INPUT -// map - feature map -// OUTPUT -// map - feature map -// RESULT -// Error status -*/ -int PCAFeatureMaps(CvLSVMFeatureMapCascade *map) -{ - int i,j, ii, jj, k; - int sizeX, sizeY, p, pp, xp, yp, pos1, pos2; - float * newData; - float val; - float nx, ny; - - sizeX = map->sizeX; - sizeY = map->sizeY; - p = map->numFeatures; - pp = NUM_SECTOR * 3 + 4; - yp = 4; - xp = NUM_SECTOR; - - nx = 1.0f / sqrtf((float)(xp * 2)); - ny = 1.0f / sqrtf((float)(yp )); - - newData = (float *)malloc (sizeof(float) * (sizeX * sizeY * pp)); - - for(i = 0; i < sizeY; i++) - { - for(j = 0; j < sizeX; j++) - { - pos1 = ((i)*sizeX + j)*p; - pos2 = ((i)*sizeX + j)*pp; - k = 0; - for(jj = 0; jj < xp * 2; jj++) - { - val = 0; - for(ii = 0; ii < yp; ii++) - { - val += map->map[pos1 + yp * xp + ii * xp * 2 + jj]; - }/*for(ii = 0; ii < yp; ii++)*/ - newData[pos2 + k] = val * ny; - k++; - }/*for(jj = 0; jj < xp * 2; jj++)*/ - for(jj = 0; jj < xp; jj++) - { - val = 0; - for(ii = 0; ii < yp; ii++) - { - val += map->map[pos1 + ii * xp + jj]; - }/*for(ii = 0; ii < yp; ii++)*/ - newData[pos2 + k] = val * ny; - k++; - }/*for(jj = 0; jj < xp; jj++)*/ - for(ii = 0; ii < yp; ii++) - { - val = 0; - for(jj = 0; jj < 2 * xp; jj++) - { - val += map->map[pos1 + yp * xp + ii * xp * 2 + jj]; - }/*for(jj = 0; jj < xp; jj++)*/ - newData[pos2 + k] = val * nx; - k++; - } /*for(ii = 0; ii < yp; ii++)*/ - }/*for(j = 0; j < sizeX; j++)*/ - }/*for(i = 0; i < sizeY; i++)*/ -//swop data - - map->numFeatures = pp; - - free (map->map); - - map->map = newData; - - return LATENT_SVM_OK; -} - -int getPathOfFeaturePyramid(IplImage * image, - float step, int numStep, int startIndex, - int sideLength, CvLSVMFeaturePyramidCascade **maps) -{ - CvLSVMFeatureMapCascade *map; - IplImage *scaleTmp; - float scale; - int i; - - for(i = 0; i < numStep; i++) - { - scale = 1.0f / powf(step, (float)i); - scaleTmp = resize_opencv (image, scale); - getFeatureMaps(scaleTmp, sideLength, &map); - normalizeAndTruncate(map, VAL_OF_TRUNCATE); - PCAFeatureMaps(map); - (*maps)->pyramid[startIndex + i] = map; - cvReleaseImage(&scaleTmp); - }/*for(i = 0; i < numStep; i++)*/ - return LATENT_SVM_OK; -} - -#ifdef HAVE_TBB - -class PathOfFeaturePyramid : public ParallelLoopBody{ -public: - IplImage * image; - float step; - int startIndex; - int sideLength; - CvLSVMFeaturePyramidCascade **maps; - - void operator() (const Range& range) const - { - CvLSVMFeatureMapCascade *map; - IplImage *scaleTmp; - float scale; - int err; - - for( int i=range.start; i!=range.end; ++i ) - { - scale = 1.0f / powf(step, (float)i); - scaleTmp = resize_opencv (image, scale); - err = getFeatureMaps(scaleTmp, sideLength, &map); - err = normalizeAndTruncate(map, VAL_OF_TRUNCATE); - err = PCAFeatureMaps(map); - (*maps)->pyramid[startIndex + i] = map; - cvReleaseImage(&scaleTmp); - } - } -}; - - -int getPathOfFeaturePyramid_TBB(IplImage * image, - float step, int numStep, int startIndex, - int sideLength, CvLSVMFeaturePyramidCascade **maps) -{ - PathOfFeaturePyramid str; - str.step = step; - str.startIndex = startIndex; - str.sideLength = sideLength; - str.maps = maps; - str.image = image; - - cv::parallel_for_(Range( 0, numStep ), str ); - - return LATENT_SVM_OK; -} -#endif - -/* -// Getting feature pyramid -// -// API -// int getFeaturePyramid(IplImage * image, const CvLSVMFilterObjectCascade **all_F, - const int n_f, - const int lambda, const int k, - const int startX, const int startY, - const int W, const int H, featurePyramid **maps); -// INPUT -// image - image -// OUTPUT -// maps - feature maps for all levels -// RESULT -// Error status -*/ -int getFeaturePyramid(IplImage * image, CvLSVMFeaturePyramidCascade **maps) -{ - IplImage *imgResize; - float step; - int numStep; - int maxNumCells; - int W, H; - - if(image->depth == IPL_DEPTH_32F) - { - imgResize = image; - } - else - { - imgResize = cvCreateImage(cvSize(image->width , image->height) , - IPL_DEPTH_32F , 3); - cvConvert(image, imgResize); - } - - W = imgResize->width; - H = imgResize->height; - - step = powf(2.0f, 1.0f / ((float)LAMBDA)); - maxNumCells = W / SIDE_LENGTH; - if( maxNumCells > H / SIDE_LENGTH ) - { - maxNumCells = H / SIDE_LENGTH; - } - numStep = (int)(logf((float) maxNumCells / (5.0f)) / logf( step )) + 1; - - allocFeaturePyramidObject(maps, numStep + LAMBDA); - -#ifdef HAVE_TBB - getPathOfFeaturePyramid_TBB(imgResize, step , LAMBDA, 0, - SIDE_LENGTH / 2, maps); - getPathOfFeaturePyramid_TBB(imgResize, step, numStep, LAMBDA, - SIDE_LENGTH , maps); -#else - getPathOfFeaturePyramid(imgResize, step , LAMBDA, 0, - SIDE_LENGTH / 2, maps); - getPathOfFeaturePyramid(imgResize, step, numStep, LAMBDA, - SIDE_LENGTH , maps); -#endif - - if(image->depth != IPL_DEPTH_32F) - { - cvReleaseImage(&imgResize); - } - - return LATENT_SVM_OK; -} -} -} diff --git a/modules/latentsvm/src/lsvmc_function.cpp b/modules/latentsvm/src/lsvmc_function.cpp deleted file mode 100644 index 28a1b9a5c..000000000 --- a/modules/latentsvm/src/lsvmc_function.cpp +++ /dev/null @@ -1,127 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#include "precomp.hpp" -#include "_lsvmc_function.h" -namespace cv -{ -namespace lsvm -{ - -float calcM (int k,int di,int dj, const CvLSVMFeaturePyramidCascade * H, const CvLSVMFilterObjectCascade *filter){ - int i, j; - float m = 0.0f; - for(j = dj; j < dj + filter->sizeY; j++){ - for(i = di * H->pyramid[k]->numFeatures; i < (di + filter->sizeX) * H->pyramid[k]->numFeatures; i++){ - m += H->pyramid[k]->map[(j * H->pyramid[k]->sizeX ) * H->pyramid[k]->numFeatures + i] * - filter ->H [((j - dj) * filter->sizeX - di) * H->pyramid[k]->numFeatures + i]; - } - } - return m; -} -float calcM_PCA(int k,int di,int dj, const CvLSVMFeaturePyramidCascade * H, const CvLSVMFilterObjectCascade *filter){ - int i, j; - float m = 0.0f; - for(j = dj; j < dj + filter->sizeY; j++){ - for(i = di * H->pyramid[k]->numFeatures; i < (di + filter->sizeX) * H->pyramid[k]->numFeatures; i++){ - m += H->pyramid[k]->map[(j * H->pyramid[k]->sizeX ) * H->pyramid[k]->numFeatures + i] * - filter ->H_PCA [((j - dj) * filter->sizeX - di) * H->pyramid[k]->numFeatures + i]; - } - } - - return m; -} -float calcM_PCA_cash(int k,int di,int dj, const CvLSVMFeaturePyramidCascade * H, const CvLSVMFilterObjectCascade *filter, float * cashM, int * maskM, int step){ - int i, j, n; - float m = 0.0f; - float tmp1, tmp2, tmp3, tmp4; - float res; - int pos; - float *a, *b; - - pos = dj * step + di; - - if(!((maskM[pos / (sizeof(int) * 8)]) & (1 << pos % (sizeof(int) * 8)))) - { - for(j = dj; j < dj + filter->sizeY; j++) - { - a = H->pyramid[k]->map + (j * H->pyramid[k]->sizeX) * H->pyramid[k]->numFeatures - + di * H->pyramid[k]->numFeatures; - b = filter ->H_PCA + (j - dj) * filter->sizeX * H->pyramid[k]->numFeatures; - n = ((di + filter->sizeX) * H->pyramid[k]->numFeatures) - - (di * H->pyramid[k]->numFeatures); - - res = 0.0f; - tmp1 = 0.0f; tmp2 = 0.0f; tmp3 = 0.0f; tmp4 = 0.0f; - - for (i = 0; i < (n >> 2); ++i) - { - tmp1 += a[4 * i + 0] * b[4 * i + 0]; - tmp2 += a[4 * i + 1] * b[4 * i + 1]; - tmp3 += a[4 * i + 2] * b[4 * i + 2]; - tmp4 += a[4 * i + 3] * b[4 * i + 3]; - } - - for (i = (n >> 2) << 2; i < n; ++i) //? - { - res += a[i] * b[i]; - } - - res += tmp1 + tmp2 + tmp3 + tmp4; - - m += res; - } - - cashM[pos ] = m; - maskM[pos / (sizeof(int) * 8)] |= 1 << pos % (sizeof(int) * 8); - } - else - { - m = cashM[pos]; - } - return m; -} -float calcFine (const CvLSVMFilterObjectCascade *filter, int di, int dj){ - return filter->fineFunction[0] * di + filter->fineFunction[1] * dj + - filter->fineFunction[2] * di * di + filter->fineFunction[3] * dj * dj; -} -} -} diff --git a/modules/latentsvm/src/lsvmc_latentsvm.cpp b/modules/latentsvm/src/lsvmc_latentsvm.cpp deleted file mode 100644 index 813bb5af6..000000000 --- a/modules/latentsvm/src/lsvmc_latentsvm.cpp +++ /dev/null @@ -1,1018 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#include "precomp.hpp" -#include "_lsvmc_latentsvm.h" -#include "_lsvmc_matching.h" -#include "_lsvmc_function.h" - -#ifdef HAVE_TBB -#include -#include "tbb/parallel_for.h" -#include "tbb/blocked_range.h" -#endif - -namespace cv -{ -namespace lsvm -{ - -int estimateBoxes(CvPoint *points, int *levels, int kPoints, - int sizeX, int sizeY, CvPoint **oppositePoints); - -int searchObjectThreshold(const CvLSVMFeaturePyramidCascade *H, - const CvLSVMFeaturePyramidCascade *H_PCA, - const CvLSVMFilterObjectCascade **all_F, int n, - float b, - int maxXBorder, int maxYBorder, - float scoreThreshold, - CvPoint **points, int **levels, int *kPoints, - float **score, CvPoint ***partsDisplacement); - -void FeaturePyramid32(CvLSVMFeaturePyramidCascade* H, int maxX, int maxY){ - CvLSVMFeatureMapCascade *H32; - int i, j, k, l; - int p = H->pyramid[0]->numFeatures; - - for(i = 0; i < H->numLevels; i++){ - allocFeatureMapObject(&(H32), H->pyramid[i]->sizeX, H->pyramid[i]->sizeY, p + 1); - for(j = 0; j < (H->pyramid[i]->sizeX * H->pyramid[i]->sizeY); j++){ - for(k = 0; k < p; k++){ - H32->map[j * (p + 1) + k] = H->pyramid[i]->map[j * p + k]; - } - H32->map[j * (p + 1) + k] = 1.0f; - } - freeFeatureMapObject(&(H->pyramid[i])); - H->pyramid[i] = H32; - } - for(l = 0; l < H->numLevels; l++){ - for(j = maxY + 1; j < (H->pyramid[l]->sizeY - maxY - 1); j++){ - for(i = maxX + 1; i < (H->pyramid[l]->sizeX - maxX - 1); i++){ - H->pyramid[l]->map[ (j * H->pyramid[l]->sizeX + i) * (p+1) + p] = 0.0f; - } - } - } -} - -CvLSVMFeaturePyramidCascade* createPCA_FeaturePyramid(CvLSVMFeaturePyramidCascade* H, CvLatentSvmDetectorCascade* detector, int maxX, int maxY){ - CvLSVMFeaturePyramidCascade *H_PCA; - int i, j, k, l; - int max_l = detector->pca_size; - int p = H->pyramid[0]->numFeatures; - - allocFeaturePyramidObject(&H_PCA, H->numLevels); - - for(i = 0; i < H->numLevels; i++){ - allocFeatureMapObject(&(H_PCA->pyramid[i]), H->pyramid[i]->sizeX, H->pyramid[i]->sizeY, 6); - for(j = 0; j < (H->pyramid[i]->sizeX * H->pyramid[i]->sizeY); j++){ - for(k = 0; k < 5; k++){ - for(l = 0; l < max_l; l++){ - H_PCA->pyramid[i]->map[j * 6 + k] += - detector->pca[k * max_l + l] * H->pyramid[i]->map[j * p + l]; - } - } - H_PCA->pyramid[i]->map[j * 6 + k] = 1.0f; - } - } - for(l = 0; l < H->numLevels; l++){ - for(j = maxY + 1; j < (H->pyramid[l]->sizeY - maxY - 1); j++){ - for(i = maxX + 1; i < (H->pyramid[l]->sizeX - maxX - 1); i++){ - H_PCA->pyramid[l]->map[ (j * H->pyramid[l]->sizeX + i) * 6 + 5] = 0.0f; - } - } - } - - return H_PCA; -} - -/* -// Transformation filter displacement from the block space -// to the space of pixels at the initial image -// -// API -// int convertPoints(int countLevel, CvPoint *points, int *levels, - CvPoint **partsDisplacement, int kPoints, int n); -// INPUT -// countLevel - the number of levels in the feature pyramid -// points - the set of root filter positions (in the block space) -// levels - the set of levels -// partsDisplacement - displacement of part filters (in the block space) -// kPoints - number of root filter positions -// n - number of part filters -// initialImageLevel - level that contains features for initial image -// maxXBorder - the largest root filter size (X-direction) -// maxYBorder - the largest root filter size (Y-direction) -// OUTPUT -// points - the set of root filter positions (in the space of pixels) -// partsDisplacement - displacement of part filters (in the space of pixels) -// RESULT -// Error status -*/ -int convertPoints(int /*countLevel*/, int lambda, - int initialImageLevel, - CvPoint *points, int *levels, - CvPoint **partsDisplacement, int kPoints, int n, - int maxXBorder, - int maxYBorder) -{ - int i, j; - float step, scale; - step = powf( 2.0f, 1.0f / ((float)lambda) ); - - //computeBorderSize(maxXBorder, maxYBorder, &bx, &by); - - for (i = 0; i < kPoints; i++) - { - // scaling factor for root filter - scale = SIDE_LENGTH * powf(step, (float)(levels[i] - initialImageLevel)); - points[i].x = (int)((points[i].x - maxXBorder) * scale); - points[i].y = (int)((points[i].y - maxYBorder) * scale); - - // scaling factor for part filters - scale = SIDE_LENGTH * powf(step, (float)(levels[i] - lambda - initialImageLevel)); - for (j = 0; j < n; j++) - { - partsDisplacement[i][j].x = (int)((partsDisplacement[i][j].x - - maxXBorder) * scale); - partsDisplacement[i][j].y = (int)((partsDisplacement[i][j].y - - maxYBorder) * scale); - } - } - return LATENT_SVM_OK; -} - -/* -// Elimination boxes that are outside the image boudaries -// -// API -// int clippingBoxes(int width, int height, - CvPoint *points, int kPoints); -// INPUT -// width - image wediht -// height - image heigth -// points - a set of points (coordinates of top left or - bottom right corners) -// kPoints - points number -// OUTPUT -// points - updated points (if coordinates less than zero then - set zero coordinate, if coordinates more than image - size then set coordinates equal image size) -// RESULT -// Error status -*/ -int clippingBoxes(int width, int height, - CvPoint *points, int kPoints) -{ - int i; - for (i = 0; i < kPoints; i++) - { - if (points[i].x > width - 1) - { - points[i].x = width - 1; - } - if (points[i].x < 0) - { - points[i].x = 0; - } - if (points[i].y > height - 1) - { - points[i].y = height - 1; - } - if (points[i].y < 0) - { - points[i].y = 0; - } - } - return LATENT_SVM_OK; -} - -/* -// Creation feature pyramid with nullable border -// -// API -// featurePyramid* createFeaturePyramidWithBorder(const IplImage *image, - int maxXBorder, int maxYBorder); - -// INPUT -// image - initial image -// maxXBorder - the largest root filter size (X-direction) -// maxYBorder - the largest root filter size (Y-direction) -// OUTPUT -// RESULT -// Feature pyramid with nullable border -*/ -CvLSVMFeaturePyramidCascade* createFeaturePyramidWithBorder(IplImage *image, - int maxXBorder, int maxYBorder) -{ - int opResult; - int bx, by; - int level; - CvLSVMFeaturePyramidCascade *H; - - // Obtaining feature pyramid - opResult = getFeaturePyramid(image, &H); - - if (opResult != LATENT_SVM_OK) - { - freeFeaturePyramidObject(&H); - return NULL; - } /* if (opResult != LATENT_SVM_OK) */ - - // Addition nullable border for each feature map - // the size of the border for root filters - bx = maxXBorder + 1; - by = maxYBorder + 1; - for (level = 0; level < H->numLevels; level++) - { - addNullableBorder(H->pyramid[level], bx, by); - } - return H; -} - -/* -// Computation right bottom corners coordinates of bounding boxes -// -// API -// int estimateBoxes(CvPoint *points, int *levels, int kPoints, - int sizeX, int sizeY, CvPoint **oppositePoints); -// INPUT -// points - left top corners coordinates of bounding boxes -// levels - levels of feature pyramid where points were found -// (sizeX, sizeY) - size of root filter -// OUTPUT -// oppositePoins - right bottom corners coordinates of bounding boxes -// RESULT -// Error status -*/ -int estimateBoxes(CvPoint *points, int *levels, int kPoints, - int sizeX, int sizeY, CvPoint **oppositePoints) -{ - int i; - float step; - - step = powf( 2.0f, 1.0f / ((float)(LAMBDA))); - - *oppositePoints = (CvPoint *)malloc(sizeof(CvPoint) * kPoints); - for (i = 0; i < kPoints; i++) - { - getOppositePoint(points[i], sizeX, sizeY, step, levels[i] - LAMBDA, &((*oppositePoints)[i])); - } - return LATENT_SVM_OK; -} - -/* -// Computation of the root filter displacement and values of score function -// -// API -// int searchObjectThreshold(const featurePyramid *H, - const CvLSVMFilterObjectCascade **all_F, int n, - float b, - int maxXBorder, int maxYBorder, - float scoreThreshold, - CvPoint **points, int **levels, int *kPoints, - float **score, CvPoint ***partsDisplacement); -// INPUT -// H - feature pyramid -// all_F - the set of filters (the first element is root filter, - other elements - part filters) -// n - the number of part filters -// b - linear term of the score function -// maxXBorder - the largest root filter size (X-direction) -// maxYBorder - the largest root filter size (Y-direction) -// scoreThreshold - score threshold -// OUTPUT -// points - positions (x, y) of the upper-left corner - of root filter frame -// levels - levels that correspond to each position -// kPoints - number of positions -// score - values of the score function -// partsDisplacement - part filters displacement for each position - of the root filter -// RESULT -// Error status -*/ -int searchObjectThreshold(const CvLSVMFeaturePyramidCascade *H, - const CvLSVMFeaturePyramidCascade *H_PCA, - const CvLSVMFilterObjectCascade **all_F, int n, - float b, - int maxXBorder, int maxYBorder, - float scoreThreshold, - CvPoint **points, int **levels, int *kPoints, - float **score, CvPoint ***partsDisplacement) -{ - int opResult = LATENT_SVM_OK; - - int i, j, k, path; - int di, dj, ii; - - //int *map,jj, nomer; - //FILE *dump; - - float p; - float fine; - float mpath; - - CvPoint *tmpPoints; - int *tmpLevels; - float **tmpAScore; - - int flag,flag2; - - CvPoint *PCAPoints; - int *PCALevels; - float **PCAAScore; - int PCAkPoints; - float PCAScore; - int tmpSize = 10; - int tmpStep = 10; - - float *rootScoreForLevel; - int maxX, maxY, maxPathX, maxPathY, step; - int pathX, pathY; - int ai; - - - float **cashM; - int **maskM; - int sizeM; - - sizeM = H_PCA->pyramid[0]->sizeX - maxXBorder + 1; - sizeM *= H_PCA->pyramid[0]->sizeY - maxYBorder + 1; - - cashM = (float**)malloc(sizeof(float *) * n); - maskM = (int **)malloc(sizeof(int *) * n); - for(ai = 0; ai < n; ai++){ - cashM[ai] = (float*)malloc(sizeof(float) * sizeM); - maskM[ai] = (int *)malloc(sizeof(int) * (sizeM/(sizeof(int) * 8) + 1)); - } - - - PCAPoints = (CvPoint*)malloc(sizeof(CvPoint) * tmpSize); - PCALevels = (int*)malloc(sizeof(int) * tmpSize); - PCAAScore = (float **)malloc(sizeof(float *) * tmpSize); - for(ai = 0; ai < tmpSize; ai++){ - PCAAScore[ai] = (float *)malloc(sizeof(float) * (n + 2)); - } - - PCAkPoints = 0; - for(k = LAMBDA; k < H_PCA->numLevels; k++){ - maxX = H_PCA->pyramid[k]->sizeX - maxXBorder + 1; - maxY = H_PCA->pyramid[k]->sizeY - maxYBorder + 1; - maxPathX = H_PCA->pyramid[k - LAMBDA]->sizeX - maxXBorder + 1; - maxPathY = H_PCA->pyramid[k - LAMBDA]->sizeY - maxYBorder + 1; - rootScoreForLevel = (float *) malloc(sizeof(float) - * (maxX - (int)ceil(maxXBorder/2.0)) - * (maxY - (int)ceil(maxYBorder/2.0))); - - step = maxX - (int)ceil(maxXBorder/2.0); - //dump = fopen("map_10.csv", "w"); - for(j = (int)ceil(maxYBorder/2.0) ; j < maxY; j++){ - for(i = (int)ceil(maxXBorder/2.0) ; i < maxX; i++){ - rootScoreForLevel[(j - (int)ceil(maxYBorder/2.0)) * step + i - (int)ceil(maxXBorder/2.0)] - = calcM_PCA(k, i, j, H_PCA, all_F[0]); - // fprintf(dump, "%f;", rootScoreForLevel[j * maxX + i]); - } - // fprintf(dump, "\n"); - } - // fclose(dump); - - sizeM = maxPathX * maxPathY; - for(path = 0 ; path < n; path++){ - memset(maskM[path], 0, sizeof(int) * (sizeM/(sizeof(int) * 8) + 1)); - } - - for(j = (int)ceil(maxYBorder/2.0) ; j < maxY; j++){ - for(i = (int)ceil(maxXBorder/2.0) ; i < maxX; i++){ - // PCAScore = calcM_PCA(k, i, j, H_PCA, all_F[0]); - PCAScore = - rootScoreForLevel[(j - (int)ceil(maxYBorder/2.0)) * step + i - (int)ceil(maxXBorder/2.0)]; - PCAScore += b; - PCAAScore[PCAkPoints][0] = PCAScore - b; - - flag2=0; - for(path = 1 ; (path <= n) && (!flag2); path++){ - if(PCAScore > all_F[path - 1]->Deformation_PCA) - { - p = F_MIN ; - //pathX = (i - maxXBorder - 1) * 2 + maxXBorder + 1 + all_F[path]->V.x; - //pathY = (j - maxYBorder - 1) * 2 + maxYBorder + 1 + all_F[path]->V.y; - pathX = i * 2 - maxXBorder + all_F[path]->V.x; - pathY = j * 2 - maxYBorder + all_F[path]->V.y; - flag = 1; - for(dj = max(0, pathY - all_F[path]->deltaY); - dj < min(maxPathY, pathY + all_F[path]->deltaY); - dj++){ - for(di = max(0, pathX - all_F[path]->deltaX); - di < min(maxPathX, pathX + all_F[path]->deltaX); - di++){ - //fine = calcFine(all_F[path], abs(pathX - di), abs(pathY - dj)); - fine = calcFine(all_F[path], pathX - di, pathY - dj); - if((PCAScore - fine) > all_F[path - 1]->Hypothesis_PCA) - { - flag = 0; - mpath = calcM_PCA_cash(k - LAMBDA, di, dj, H_PCA, all_F[path], cashM[path - 1], maskM[path - 1], maxPathX) - fine; - if( mpath > p){ - p = mpath; - } - } - } - } - if(flag==0){ - PCAAScore[PCAkPoints][path] = p;// + pfine; - PCAScore += p;// + pfine; - } else flag2 = 1; - } - else flag2 = 1; - } - if((PCAScore > all_F[n]->Hypothesis_PCA)&&(flag2==0)){ - PCALevels[PCAkPoints] = k; - PCAPoints[PCAkPoints].x = i; - PCAPoints[PCAkPoints].y = j; - PCAAScore[PCAkPoints][n + 1] = PCAScore; - PCAkPoints ++; - if(PCAkPoints >= tmpSize){ - tmpPoints = (CvPoint*)malloc(sizeof(CvPoint) * (tmpSize + tmpStep)); - tmpLevels = (int*)malloc(sizeof(int) * (tmpSize + tmpStep)); - tmpAScore = (float **)malloc(sizeof(float *) * (tmpSize + tmpStep)); - for(ai = tmpSize; ai < tmpSize + tmpStep; ai++){ - tmpAScore[ai] = (float *)malloc(sizeof(float) * (n + 2)); - } - for(ii = 0; ii < PCAkPoints; ii++){ - tmpLevels[ii] = PCALevels[ii] ; - tmpPoints[ii].x = PCAPoints[ii].x; - tmpPoints[ii].y = PCAPoints[ii].y; - tmpAScore[ii] = PCAAScore[ii] ; - } - free(PCALevels); - free(PCAPoints); - free(PCAAScore); - PCALevels = tmpLevels; - PCAPoints = tmpPoints; - PCAAScore = tmpAScore; - tmpSize += tmpStep; - } - } - } - } - free (rootScoreForLevel); - } - - (*points) = (CvPoint *)malloc(sizeof(CvPoint) * PCAkPoints); - (*levels) = (int *)malloc(sizeof(int ) * PCAkPoints); - (*score ) = (float *)malloc(sizeof(float ) * PCAkPoints); - (*partsDisplacement) = (CvPoint **)malloc(sizeof(CvPoint *) * (PCAkPoints + 1)); - - (*kPoints) = 0; - if(PCAkPoints > 0) - (*partsDisplacement)[(*kPoints)] = (CvPoint *)malloc(sizeof(CvPoint) * (n + 1)); - for(ii = 0; ii < PCAkPoints; ii++) - { - k = PCALevels[ii] ; - i = PCAPoints[ii].x; - j = PCAPoints[ii].y; - - maxPathX = H_PCA->pyramid[k - LAMBDA]->sizeX - maxXBorder + 1; - maxPathY = H_PCA->pyramid[k - LAMBDA]->sizeY - maxYBorder + 1; - - (*score )[(*kPoints)] = PCAAScore[ii][n + 1] + calcM(k, i, j, H, all_F[0]) - PCAAScore[ii][0]; - (*partsDisplacement)[(*kPoints)][0].x = i; - (*partsDisplacement)[(*kPoints)][0].y = j; - for(path = 1 ; path <= n; path++){ - if((*score )[(*kPoints)] < all_F[path - 1]->Deformation) break; - // { - p = F_MIN ; - flag = 1; - //pathX = (i - maxXBorder - 1) * 2 + maxXBorder + 1 + all_F[path]->V.x; - //pathY = (j - maxYBorder - 1) * 2 + maxYBorder + 1 + all_F[path]->V.y; - pathX = i * 2 - maxXBorder + all_F[path]->V.x; - pathY = j * 2 - maxYBorder + all_F[path]->V.y; - for(dj = max(0, pathY - all_F[path]->deltaY); - dj < min(maxPathY, pathY + all_F[path]->deltaY); - dj++){ - for(di = max(0, pathX - all_F[path]->deltaX); - di < min(maxPathX, pathX + all_F[path]->deltaX); - di++){ - //fine = calcFine(all_F[path], abs(pathX - di), abs(pathY - dj)); - fine = calcFine(all_F[path], pathX - di, pathY - dj); - if(((*score )[(*kPoints)] - fine) > all_F[path - 1]->Hypothesis) - { - flag = 0; - mpath = calcM(k - LAMBDA, di, dj, H, all_F[path]) - fine; - if(mpath > p){ - p = mpath; - (*partsDisplacement)[(*kPoints)][path].x = di; - (*partsDisplacement)[(*kPoints)][path].y = dj; - } - } - } - } - if(flag == 0) - (*score )[(*kPoints)] += p - PCAAScore[ii][path];// + pfine; - // } - } - if((*score )[(*kPoints)] > scoreThreshold) - { - (*levels)[(*kPoints)] = k; - (*points)[(*kPoints)].x = i; - (*points)[(*kPoints)].y = j; - (*kPoints) ++; - (*partsDisplacement)[(*kPoints)] = (CvPoint*) malloc(sizeof(CvPoint) * (n + 1)); - } - } - if((*kPoints) > 0){ - free((*partsDisplacement)[(*kPoints)]); - } - // Matching end - - free(PCAPoints); - free(PCALevels); - for(ai = 0; ai < tmpSize; ai++){ - free(PCAAScore[ai]); - } - free(PCAAScore); - - for(ai = 0; ai < n; ai++){ - free(cashM[ai]); - free(maskM[ai]); - } - free(cashM); - free(maskM); - - if (opResult != (LATENT_SVM_OK)) - { - return LATENT_SVM_SEARCH_OBJECT_FAILED; - } - - // Transformation filter displacement from the block space - // to the space of pixels at the initial image - // that settles at the level number LAMBDA - convertPoints(H->numLevels, LAMBDA, LAMBDA, (*points), - (*levels), (*partsDisplacement), (*kPoints), n, - maxXBorder, maxYBorder); - - return LATENT_SVM_OK; -} - -/* -// Compute opposite point for filter box -// -// API -// int getOppositePoint(CvPoint point, - int sizeX, int sizeY, - float step, int degree, - CvPoint *oppositePoint); - -// INPUT -// point - coordinates of filter top left corner - (in the space of pixels) -// (sizeX, sizeY) - filter dimension in the block space -// step - scaling factor -// degree - degree of the scaling factor -// OUTPUT -// oppositePoint - coordinates of filter bottom corner - (in the space of pixels) -// RESULT -// Error status -*/ -int getOppositePoint(CvPoint point, - int sizeX, int sizeY, - float step, int degree, - CvPoint *oppositePoint) -{ - float scale; - scale = SIDE_LENGTH * powf(step, (float)degree); - oppositePoint->x = (int)(point.x + sizeX * scale); - oppositePoint->y = (int)(point.y + sizeY * scale); - return LATENT_SVM_OK; -} - - -/* -// Drawing root filter boxes -// -// API -// int showRootFilterBoxes(const IplImage *image, - const CvLSVMFilterObjectCascade *filter, - CvPoint *points, int *levels, int kPoints, - CvScalar color, int thickness, - int line_type, int shift); -// INPUT -// image - initial image -// filter - root filter object -// points - a set of points -// levels - levels of feature pyramid -// kPoints - number of points -// color - line color for each box -// thickness - line thickness -// line_type - line type -// shift - shift -// OUTPUT -// window contained initial image and filter boxes -// RESULT -// Error status -*/ -int showRootFilterBoxes(IplImage *image, - const CvLSVMFilterObjectCascade *filter, - CvPoint *points, int *levels, int kPoints, - CvScalar color, int thickness, - int line_type, int shift) -{ - int i; - float step; - CvPoint oppositePoint; - step = powf( 2.0f, 1.0f / ((float)LAMBDA)); - - for (i = 0; i < kPoints; i++) - { - // Drawing rectangle for filter - getOppositePoint(points[i], filter->sizeX, filter->sizeY, - step, levels[i] - LAMBDA, &oppositePoint); - cvRectangle(image, points[i], oppositePoint, - color, thickness, line_type, shift); - } -#ifdef HAVE_OPENCV_HIGHGUI - cvShowImage("Initial image", image); -#endif - return LATENT_SVM_OK; -} - -/* -// Drawing part filter boxes -// -// API -// int showPartFilterBoxes(const IplImage *image, - const CvLSVMFilterObjectCascade *filter, - CvPoint *points, int *levels, int kPoints, - CvScalar color, int thickness, - int line_type, int shift); -// INPUT -// image - initial image -// filters - a set of part filters -// n - number of part filters -// partsDisplacement - a set of points -// levels - levels of feature pyramid -// kPoints - number of foot filter positions -// color - line color for each box -// thickness - line thickness -// line_type - line type -// shift - shift -// OUTPUT -// window contained initial image and filter boxes -// RESULT -// Error status -*/ -int showPartFilterBoxes(IplImage *image, - const CvLSVMFilterObjectCascade **filters, - int n, CvPoint **partsDisplacement, - int *levels, int kPoints, - CvScalar color, int thickness, - int line_type, int shift) -{ - int i, j; - float step; - CvPoint oppositePoint; - - step = powf( 2.0f, 1.0f / ((float)LAMBDA)); - - for (i = 0; i < kPoints; i++) - { - for (j = 0; j < n; j++) - { - // Drawing rectangles for part filters - getOppositePoint(partsDisplacement[i][j], - filters[j + 1]->sizeX, filters[j + 1]->sizeY, - step, levels[i] - 2 * LAMBDA, &oppositePoint); - cvRectangle(image, partsDisplacement[i][j], oppositePoint, - color, thickness, line_type, shift); - } - } -#ifdef HAVE_OPENCV_HIGHGUI - cvShowImage("Initial image", image); -#endif - return LATENT_SVM_OK; -} - -/* -// Drawing boxes -// -// API -// int showBoxes(const IplImage *img, - const CvPoint *points, const CvPoint *oppositePoints, int kPoints, - CvScalar color, int thickness, int line_type, int shift); -// INPUT -// img - initial image -// points - top left corner coordinates -// oppositePoints - right bottom corner coordinates -// kPoints - points number -// color - line color for each box -// thickness - line thickness -// line_type - line type -// shift - shift -// OUTPUT -// RESULT -// Error status -*/ -int showBoxes(IplImage *img, - const CvPoint *points, const CvPoint *oppositePoints, int kPoints, - CvScalar color, int thickness, int line_type, int shift) -{ - int i; - for (i = 0; i < kPoints; i++) - { - cvRectangle(img, points[i], oppositePoints[i], - color, thickness, line_type, shift); - } -#ifdef HAVE_OPENCV_HIGHGUI - cvShowImage("Initial image", img); -#endif - return LATENT_SVM_OK; -} - -///* -//// Computation maximum filter size for each dimension -//// -//// API -//// int getMaxFilterDims(const CvLSVMFilterObjectCascade **filters, int kComponents, -// const int *kPartFilters, -// unsigned int *maxXBorder, unsigned int *maxYBorder); -//// INPUT -//// filters - a set of filters (at first root filter, then part filters -// and etc. for all components) -//// kComponents - number of components -//// kPartFilters - number of part filters for each component -//// OUTPUT -//// maxXBorder - maximum of filter size at the horizontal dimension -//// maxYBorder - maximum of filter size at the vertical dimension -//// RESULT -//// Error status -//*/ -//int getMaxFilterDims(const CvLSVMFilterObjectCascade **filters, int kComponents, -// const int *kPartFilters, -// unsigned int *maxXBorder, unsigned int *maxYBorder) -//{ -// int i, componentIndex; -// *maxXBorder = filters[0]->sizeX; -// *maxYBorder = filters[0]->sizeY; -// componentIndex = kPartFilters[0] + 1; -// for (i = 1; i < kComponents; i++) -// { -// if ((unsigned)filters[componentIndex]->sizeX > *maxXBorder) -// { -// *maxXBorder = filters[componentIndex]->sizeX; -// } -// if ((unsigned)filters[componentIndex]->sizeY > *maxYBorder) -// { -// *maxYBorder = filters[componentIndex]->sizeY; -// } -// componentIndex += (kPartFilters[i] + 1); -// } -// return LATENT_SVM_OK; -//} - - -#ifdef HAVE_TBB - -class PathOfModel :public ParallelLoopBody{ - int *componentIndex; - const CvLSVMFeaturePyramidCascade *H; - const CvLSVMFeaturePyramidCascade *H_PCA; - const CvLSVMFilterObjectCascade **filters; - const int *kPartFilters; - const float *b; - unsigned int maxXBorder, maxYBorder; - CvPoint **pointsArr, **oppPointsArr, ***partsDisplacementArr; - float **scoreArr; - int *kPointsArr, **levelsArr; - float scoreThreshold; - CvPoint **oppPoints; -public: - PathOfModel( - int *_componentIndex, - const CvLSVMFeaturePyramidCascade *_H, - const CvLSVMFeaturePyramidCascade *_H_PCA, - const CvLSVMFilterObjectCascade **_filters, - const int *_kPartFilters, - const float *_b, - unsigned int _maxXBorder, unsigned int _maxYBorder, - CvPoint **_pointsArr, CvPoint **_oppPointsArr, CvPoint ***_partsDisplacementArr, - float **_scoreArr, - int *_kPointsArr, int **_levelsArr, - float _scoreThreshold, - CvPoint **_oppPoints - ): - componentIndex(_componentIndex), - H(_H), - H_PCA(_H_PCA), - filters(_filters), - kPartFilters(_kPartFilters), - b(_b), - maxXBorder(_maxXBorder), - maxYBorder(_maxYBorder), - pointsArr(_pointsArr), - oppPointsArr(_oppPointsArr), - partsDisplacementArr(_partsDisplacementArr), - scoreArr(_scoreArr), - kPointsArr(_kPointsArr), - levelsArr(_levelsArr), - scoreThreshold(_scoreThreshold), - oppPoints(_oppPoints) - {} - - - void operator() (const Range& range) const - { - - for( int i=range.start; i!=range.end; ++i ) - { - searchObjectThreshold(H, H_PCA, &(filters[componentIndex[i]]), kPartFilters[i], - b[i], maxXBorder, maxYBorder, scoreThreshold, - &(pointsArr[i]), &(levelsArr[i]), &(kPointsArr[i]), - &(scoreArr[i]), &(partsDisplacementArr[i])); - estimateBoxes(pointsArr[i], levelsArr[i], kPointsArr[i], - filters[componentIndex[i]]->sizeX, filters[componentIndex[i]]->sizeY, &(oppPointsArr[i])); - } - } -}; - -#endif -/* -// Computation root filters displacement and values of score function -// -// API -// int searchObjectThresholdSomeComponents(const featurePyramid *H, - const CvLSVMFilterObjectCascade **filters, - int kComponents, const int *kPartFilters, - const float *b, float scoreThreshold, - CvPoint **points, CvPoint **oppPoints, - float **score, int *kPoints); -// INPUT -// H - feature pyramid -// filters - filters (root filter then it's part filters, etc.) -// kComponents - root filters number -// kPartFilters - array of part filters number for each component -// b - array of linear terms -// scoreThreshold - score threshold -// OUTPUT -// points - root filters displacement (top left corners) -// oppPoints - root filters displacement (bottom right corners) -// score - array of score values -// kPoints - number of boxes -// RESULT -// Error status -*/ -int searchObjectThresholdSomeComponents(const CvLSVMFeaturePyramidCascade *H, - const CvLSVMFeaturePyramidCascade *H_PCA, - const CvLSVMFilterObjectCascade **filters, - int kComponents, const int *kPartFilters, - const float *b, float scoreThreshold, - CvPoint **points, CvPoint **oppPoints, - float **score, int *kPoints) -{ - int i, j, s, f, *componentIndex; - unsigned int maxXBorder, maxYBorder; - CvPoint **pointsArr, **oppPointsArr, ***partsDisplacementArr; - float **scoreArr; - int *kPointsArr, **levelsArr; - int sum; - - // Allocation memory - pointsArr = (CvPoint **)malloc(sizeof(CvPoint *) * kComponents); - oppPointsArr = (CvPoint **)malloc(sizeof(CvPoint *) * kComponents); - scoreArr = (float **)malloc(sizeof(float *) * kComponents); - kPointsArr = (int *)malloc(sizeof(int) * kComponents); - levelsArr = (int **)malloc(sizeof(int *) * kComponents); - partsDisplacementArr = (CvPoint ***)malloc(sizeof(CvPoint **) * kComponents); - componentIndex = (int *)malloc(sizeof(int) * kComponents); - - // Getting maximum filter dimensions - getMaxFilterDims(filters, kComponents, kPartFilters, &maxXBorder, &maxYBorder); - *kPoints = 0; - sum = 0; - componentIndex[0] = 0; - for (i = 1; i < kComponents; i++) - { - componentIndex[i] = componentIndex[i - 1] + (kPartFilters[i - 1] + 1); - } - // For each component perform searching -//#pragma omp parallel for schedule(dynamic) reduction(+ : sum) -#ifdef HAVE_TBB - PathOfModel POM( - componentIndex, - H, - H_PCA, - filters, - kPartFilters, - b, - maxXBorder, - maxYBorder, - pointsArr, - oppPointsArr, - partsDisplacementArr, - scoreArr, - kPointsArr, - levelsArr, - scoreThreshold, - oppPoints); - cv::parallel_for_( Range( 0, kComponents ), POM); -#else - for (i = 0; i < kComponents; i++) - { - searchObjectThreshold(H, H_PCA, &(filters[componentIndex[i]]), kPartFilters[i], - b[i], maxXBorder, maxYBorder, scoreThreshold, - &(pointsArr[i]), &(levelsArr[i]), &(kPointsArr[i]), - &(scoreArr[i]), &(partsDisplacementArr[i])); - estimateBoxes(pointsArr[i], levelsArr[i], kPointsArr[i], - filters[componentIndex[i]]->sizeX, filters[componentIndex[i]]->sizeY, &(oppPointsArr[i])); - } -#endif - for (i = 0; i < kComponents; i++) - { - //*kPoints += kPointsArr[i]; - sum += kPointsArr[i]; - } - *kPoints = sum; - *points = (CvPoint *)malloc(sizeof(CvPoint) * (*kPoints)); - *oppPoints = (CvPoint *)malloc(sizeof(CvPoint) * (*kPoints)); - *score = (float *)malloc(sizeof(float) * (*kPoints)); - - //file = fopen("point.txt", "w"); - s = 0; - for (i = 0; i < kComponents; i++) - { - f = s + kPointsArr[i]; - for (j = s; j < f; j++) - { - (*points)[j].x = pointsArr[i][j - s].x; - (*points)[j].y = pointsArr[i][j - s].y; - (*oppPoints)[j].x = oppPointsArr[i][j - s].x; - (*oppPoints)[j].y = oppPointsArr[i][j - s].y; - (*score)[j] = scoreArr[i][j - s]; - // fprintf(file, "%d %d %d %d %f\n", (*points)[j].x, (*points)[j].y, - // (*oppPoints)[j].x, (*oppPoints)[j].y, (*score)[j]); - } - s = f; - } - //fclose(file); - - // Release allocated memory - for (i = 0; i < kComponents; i++) - { - free(pointsArr[i]); - free(oppPointsArr[i]); - free(scoreArr[i]); - free(levelsArr[i]); - for (j = 0; j < kPointsArr[i]; j++) - { - free(partsDisplacementArr[i][j]); - } - free(partsDisplacementArr[i]); - } - free(pointsArr); - free(oppPointsArr); - free(scoreArr); - free(kPointsArr); - free(levelsArr); - free(partsDisplacementArr); - free(componentIndex); - return LATENT_SVM_OK; -} -} -} diff --git a/modules/latentsvm/src/lsvmc_latentsvmdetector.cpp b/modules/latentsvm/src/lsvmc_latentsvmdetector.cpp deleted file mode 100644 index 731d5e981..000000000 --- a/modules/latentsvm/src/lsvmc_latentsvmdetector.cpp +++ /dev/null @@ -1,331 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#include "precomp.hpp" -#include "_lsvmc_parser.h" -#include "_lsvmc_matching.h" -namespace cv -{ -namespace lsvm -{ - -std::string extractModelName( const std::string& filename ); - -const int pca_size = 31; - -CvLatentSvmDetectorCascade* cvLoadLatentSvmDetectorCascade(const char* filename); -void cvReleaseLatentSvmDetectorCascade(CvLatentSvmDetectorCascade** detector); -CvSeq* cvLatentSvmDetectObjectsCascade(IplImage* image, - CvLatentSvmDetectorCascade* detector, - CvMemStorage* storage, - float overlap_threshold); - -/* -// load trained detector from a file -// -// API -// CvLatentSvmDetectorCascade* cvLoadLatentSvmDetector(const char* filename); -// INPUT -// filename - path to the file containing the parameters of -// - trained Latent SVM detector -// OUTPUT -// trained Latent SVM detector in internal representation -*/ -CvLatentSvmDetectorCascade* cvLoadLatentSvmDetectorCascade(const char* filename) -{ - CvLatentSvmDetectorCascade* detector = 0; - CvLSVMFilterObjectCascade** filters = 0; - int kFilters = 0; - int kComponents = 0; - int* kPartFilters = 0; - float* b = 0; - float scoreThreshold = 0.f; - int err_code = 0; - float* PCAcoeff = 0; - - err_code = loadModel(filename, &filters, &kFilters, &kComponents, &kPartFilters, &b, &scoreThreshold, &PCAcoeff); - if (err_code != LATENT_SVM_OK) return 0; - - detector = (CvLatentSvmDetectorCascade*)malloc(sizeof(CvLatentSvmDetectorCascade)); - detector->filters = filters; - detector->b = b; - detector->num_components = kComponents; - detector->num_filters = kFilters; - detector->num_part_filters = kPartFilters; - detector->score_threshold = scoreThreshold; - detector->pca = PCAcoeff; - detector->pca_size = pca_size; - - return detector; -} - -/* -// release memory allocated for CvLatentSvmDetectorCascade structure -// -// API -// void cvReleaseLatentSvmDetector(CvLatentSvmDetectorCascade** detector); -// INPUT -// detector - CvLatentSvmDetectorCascade structure to be released -// OUTPUT -*/ -void cvReleaseLatentSvmDetectorCascade(CvLatentSvmDetectorCascade** detector) -{ - free((*detector)->b); - free((*detector)->num_part_filters); - for (int i = 0; i < (*detector)->num_filters; i++) - { - free((*detector)->filters[i]->H); - free((*detector)->filters[i]); - } - free((*detector)->filters); - free((*detector)->pca); - free((*detector)); - *detector = 0; -} - -/* -// find rectangular regions in the given image that are likely -// to contain objects and corresponding confidence levels -// -// API -// CvSeq* cvLatentSvmDetectObjects(const IplImage* image, -// CvLatentSvmDetectorCascade* detector, -// CvMemStorage* storage, -// float overlap_threshold = 0.5f); -// INPUT -// image - image to detect objects in -// detector - Latent SVM detector in internal representation -// storage - memory storage to store the resultant sequence -// of the object candidate rectangles -// overlap_threshold - threshold for the non-maximum suppression algorithm [here will be the reference to original paper] -// OUTPUT -// sequence of detected objects (bounding boxes and confidence levels stored in CvObjectDetection structures) -*/ -CvSeq* cvLatentSvmDetectObjectsCascade(IplImage* image, - CvLatentSvmDetectorCascade* detector, - CvMemStorage* storage, - float overlap_threshold) -{ - CvLSVMFeaturePyramidCascade *H = 0; - CvLSVMFeaturePyramidCascade *H_PCA = 0; - CvPoint *points = 0, *oppPoints = 0; - int kPoints = 0; - float *score = 0; - unsigned int maxXBorder = 0, maxYBorder = 0; - int numBoxesOut = 0; - CvPoint *pointsOut = 0; - CvPoint *oppPointsOut = 0; - float *scoreOut = 0; - CvSeq* result_seq = 0; - int error = 0; - - if(image->nChannels == 3) - cvCvtColor(image, image, CV_BGR2RGB); - - // Getting maximum filter dimensions - getMaxFilterDims((const CvLSVMFilterObjectCascade**)(detector->filters), detector->num_components, - detector->num_part_filters, &maxXBorder, &maxYBorder); - // Create feature pyramid with nullable border - H = createFeaturePyramidWithBorder(image, maxXBorder, maxYBorder); - - // Create PCA feature pyramid - H_PCA = createPCA_FeaturePyramid(H, detector, maxXBorder, maxYBorder); - - FeaturePyramid32(H, maxXBorder, maxYBorder); - - // Search object - error = searchObjectThresholdSomeComponents(H, H_PCA,(const CvLSVMFilterObjectCascade**)(detector->filters), - detector->num_components, detector->num_part_filters, detector->b, detector->score_threshold, - &points, &oppPoints, &score, &kPoints); - if (error != LATENT_SVM_OK) - { - return NULL; - } - // Clipping boxes - clippingBoxes(image->width, image->height, points, kPoints); - clippingBoxes(image->width, image->height, oppPoints, kPoints); - // NMS procedure - nonMaximumSuppression(kPoints, points, oppPoints, score, overlap_threshold, - &numBoxesOut, &pointsOut, &oppPointsOut, &scoreOut); - - result_seq = cvCreateSeq( 0, sizeof(CvSeq), sizeof(CvObjectDetection), storage ); - - for (int i = 0; i < numBoxesOut; i++) - { - CvObjectDetection detection; - detection.score = scoreOut[i]; - detection.rect.x = pointsOut[i].x; - detection.rect.y = pointsOut[i].y; - detection.rect.width = oppPointsOut[i].x - pointsOut[i].x; - detection.rect.height = oppPointsOut[i].y - pointsOut[i].y; - cvSeqPush(result_seq, &detection); - } - - if(image->nChannels == 3) - cvCvtColor(image, image, CV_RGB2BGR); - - freeFeaturePyramidObject(&H); - freeFeaturePyramidObject(&H_PCA); - free(points); - free(oppPoints); - free(score); - - return result_seq; -} - -class LSVMDetectorImpl : public LSVMDetector -{ -public: - - LSVMDetectorImpl( const std::vector& filenames, const std::vector& classNames=std::vector() ); - ~LSVMDetectorImpl(); - - bool isEmpty() const; - - void detect(cv::Mat const &image, CV_OUT std::vector& objects, float overlapThreshold=0.5f); - - const std::vector& getClassNames() const; - size_t getClassCount() const; - -private: - std::vector detectors; - std::vector classNames; -}; - -cv::Ptr LSVMDetector::create(std::vector const &filenames, - std::vector const &classNames) -{ - return cv::makePtr(filenames, classNames); -} - -LSVMDetectorImpl::ObjectDetection::ObjectDetection() : score(0.f), classID(-1) {} - -LSVMDetectorImpl::ObjectDetection::ObjectDetection( const Rect& _rect, float _score, int _classID ) : - rect(_rect), score(_score), classID(_classID) {} - - -LSVMDetectorImpl::LSVMDetectorImpl( const std::vector& filenames, const std::vector& _classNames ) -{ - for( size_t i = 0; i < filenames.size(); i++ ) - { - const std::string filename = filenames[i]; - if( filename.length() < 5 || filename.substr(filename.length()-4, 4) != ".xml" ) - continue; - - CvLatentSvmDetectorCascade* detector = cvLoadLatentSvmDetectorCascade( filename.c_str() ); - if( detector ) - { - detectors.push_back( detector ); - if( _classNames.empty() ) - { - classNames.push_back( extractModelName(filenames[i]) ); - } - else - classNames.push_back( _classNames[i] ); - } - } -} - -LSVMDetectorImpl::~LSVMDetectorImpl() -{ - for(size_t i = 0; i < detectors.size(); i++) - cv::lsvm::cvReleaseLatentSvmDetectorCascade(&detectors[i]); -} - -bool LSVMDetectorImpl::isEmpty() const -{ - return detectors.empty(); -} - -const std::vector& LSVMDetectorImpl::getClassNames() const -{ - return classNames; -} - -size_t LSVMDetectorImpl::getClassCount() const -{ - return classNames.size(); -} - -std::string extractModelName( const std::string& filename ) -{ - size_t startPos = filename.rfind('/'); - if( startPos == std::string::npos ) - startPos = filename.rfind('\\'); - - if( startPos == std::string::npos ) - startPos = 0; - else - startPos++; - - const int extentionSize = 4; //.xml - - int substrLength = (int)(filename.size() - startPos - extentionSize); - - return filename.substr(startPos, substrLength); -} - -void LSVMDetectorImpl::detect( cv::Mat const &image, - std::vector &objectDetections, - float overlapThreshold) -{ - objectDetections.clear(); - - for( size_t classID = 0; classID < detectors.size(); classID++ ) - { - IplImage image_ipl = image; - CvMemStorage* storage = cvCreateMemStorage(0); - CvSeq* detections = cv::lsvm::cvLatentSvmDetectObjectsCascade( &image_ipl, (CvLatentSvmDetectorCascade*)(detectors[classID]), storage, overlapThreshold); - - // convert results - objectDetections.reserve( objectDetections.size() + detections->total ); - for( int detectionIdx = 0; detectionIdx < detections->total; detectionIdx++ ) - { - CvObjectDetection detection = *(CvObjectDetection*)cvGetSeqElem( detections, detectionIdx ); - objectDetections.push_back( ObjectDetection(Rect(detection.rect), detection.score, (int)classID) ); - } - - cvReleaseMemStorage( &storage ); - } -} - -} // namespace cv -} diff --git a/modules/latentsvm/src/lsvmc_matching.cpp b/modules/latentsvm/src/lsvmc_matching.cpp deleted file mode 100644 index 4470c2193..000000000 --- a/modules/latentsvm/src/lsvmc_matching.cpp +++ /dev/null @@ -1,285 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#include "precomp.hpp" -#include "_lsvmc_matching.h" -#include - -#ifndef max -#define max(a,b) (((a) > (b)) ? (a) : (b)) -#endif - -#ifndef min -#define min(a,b) (((a) < (b)) ? (a) : (b)) -#endif -namespace cv -{ -namespace lsvm -{ - -void sort(int n, const float* x, int* indices); - -/* -// Computation border size for feature map -// -// API -// int computeBorderSize(int maxXBorder, int maxYBorder, int *bx, int *by); -// INPUT -// maxXBorder - the largest root filter size (X-direction) -// maxYBorder - the largest root filter size (Y-direction) -// OUTPUT -// bx - border size (X-direction) -// by - border size (Y-direction) -// RESULT -// Error status -*/ -int computeBorderSize(int maxXBorder, int maxYBorder, int *bx, int *by) -{ - *bx = (int)ceilf(((float) maxXBorder) / 2.0f + 1.0f); - *by = (int)ceilf(((float) maxYBorder) / 2.0f + 1.0f); - return LATENT_SVM_OK; -} - -/* -// Addition nullable border to the feature map -// -// API -// int addNullableBorder(featureMap *map, int bx, int by); -// INPUT -// map - feature map -// bx - border size (X-direction) -// by - border size (Y-direction) -// OUTPUT -// RESULT -// Error status -*/ -int addNullableBorder(CvLSVMFeatureMapCascade *map, int bx, int by) -{ - int sizeX, sizeY, i, j, k; - float *new_map; - sizeX = map->sizeX + 2 * bx; - sizeY = map->sizeY + 2 * by; - new_map = (float *)malloc(sizeof(float) * sizeX * sizeY * map->numFeatures); - for (i = 0; i < sizeX * sizeY * map->numFeatures; i++) - { - new_map[i] = 0.0; - } - for (i = by; i < map->sizeY + by; i++) - { - for (j = bx; j < map->sizeX + bx; j++) - { - for (k = 0; k < map->numFeatures; k++) - { - new_map[(i * sizeX + j) * map->numFeatures + k] = - map->map[((i - by) * map->sizeX + j - bx) * map->numFeatures + k]; - } - } - } - map->sizeX = sizeX; - map->sizeY = sizeY; - free(map->map); - map->map = new_map; - return LATENT_SVM_OK; -} - -/* -// Computation maximum filter size for each dimension -// -// API -// int getMaxFilterDims(const CvLSVMFilterObjectCascade **filters, int kComponents, - const int *kPartFilters, - unsigned int *maxXBorder, unsigned int *maxYBorder); -// INPUT -// filters - a set of filters (at first root filter, then part filters - and etc. for all components) -// kComponents - number of components -// kPartFilters - number of part filters for each component -// OUTPUT -// maxXBorder - maximum of filter size at the horizontal dimension -// maxYBorder - maximum of filter size at the vertical dimension -// RESULT -// Error status -*/ -int getMaxFilterDims(const CvLSVMFilterObjectCascade **filters, int kComponents, - const int *kPartFilters, - unsigned int *maxXBorder, unsigned int *maxYBorder) -{ - int i, componentIndex; - *maxXBorder = filters[0]->sizeX; - *maxYBorder = filters[0]->sizeY; - componentIndex = kPartFilters[0] + 1; - for (i = 1; i < kComponents; i++) - { - if (unsigned(filters[componentIndex]->sizeX) > *maxXBorder) - { - *maxXBorder = filters[componentIndex]->sizeX; - } - if (unsigned(filters[componentIndex]->sizeY) > *maxYBorder) - { - *maxYBorder = filters[componentIndex]->sizeY; - } - componentIndex += (kPartFilters[i] + 1); - } - return LATENT_SVM_OK; -} - -void sort(int n, const float* x, int* indices) -{ - int i, j; - for (i = 0; i < n; i++) - for (j = i + 1; j < n; j++) - { - if (x[indices[j]] > x[indices[i]]) - { - //float x_tmp = x[i]; - int index_tmp = indices[i]; - //x[i] = x[j]; - indices[i] = indices[j]; - //x[j] = x_tmp; - indices[j] = index_tmp; - } - } -} - -/* -// Perform non-maximum suppression algorithm (described in original paper) -// to remove "similar" bounding boxes -// -// API -// int nonMaximumSuppression(int numBoxes, const CvPoint *points, - const CvPoint *oppositePoints, const float *score, - float overlapThreshold, - int *numBoxesOut, CvPoint **pointsOut, - CvPoint **oppositePointsOut, float **scoreOut); -// INPUT -// numBoxes - number of bounding boxes -// points - array of left top corner coordinates -// oppositePoints - array of right bottom corner coordinates -// score - array of detection scores -// overlapThreshold - threshold: bounding box is removed if overlap part - is greater than passed value -// OUTPUT -// numBoxesOut - the number of bounding boxes algorithm returns -// pointsOut - array of left top corner coordinates -// oppositePointsOut - array of right bottom corner coordinates -// scoreOut - array of detection scores -// RESULT -// Error status -*/ -int nonMaximumSuppression(int numBoxes, const CvPoint *points, - const CvPoint *oppositePoints, const float *score, - float overlapThreshold, - int *numBoxesOut, CvPoint **pointsOut, - CvPoint **oppositePointsOut, float **scoreOut) -{ - int i, j, index; - float* box_area = (float*)malloc(numBoxes * sizeof(float)); - int* indices = (int*)malloc(numBoxes * sizeof(int)); - int* is_suppressed = (int*)malloc(numBoxes * sizeof(int)); - - for (i = 0; i < numBoxes; i++) - { - indices[i] = i; - is_suppressed[i] = 0; - box_area[i] = (float)( (oppositePoints[i].x - points[i].x + 1) * - (oppositePoints[i].y - points[i].y + 1)); - } - - sort(numBoxes, score, indices); - for (i = 0; i < numBoxes; i++) - { - if (!is_suppressed[indices[i]]) - { - for (j = i + 1; j < numBoxes; j++) - { - if (!is_suppressed[indices[j]]) - { - int x1max = max(points[indices[i]].x, points[indices[j]].x); - int x2min = min(oppositePoints[indices[i]].x, oppositePoints[indices[j]].x); - int y1max = max(points[indices[i]].y, points[indices[j]].y); - int y2min = min(oppositePoints[indices[i]].y, oppositePoints[indices[j]].y); - int overlapWidth = x2min - x1max + 1; - int overlapHeight = y2min - y1max + 1; - if (overlapWidth > 0 && overlapHeight > 0) - { - float overlapPart = (overlapWidth * overlapHeight) / box_area[indices[j]]; - if (overlapPart > overlapThreshold) - { - is_suppressed[indices[j]] = 1; - } - } - } - } - } - } - - *numBoxesOut = 0; - for (i = 0; i < numBoxes; i++) - { - if (!is_suppressed[i]) (*numBoxesOut)++; - } - - *pointsOut = (CvPoint *)malloc((*numBoxesOut) * sizeof(CvPoint)); - *oppositePointsOut = (CvPoint *)malloc((*numBoxesOut) * sizeof(CvPoint)); - *scoreOut = (float *)malloc((*numBoxesOut) * sizeof(float)); - index = 0; - for (i = 0; i < numBoxes; i++) - { - if (!is_suppressed[indices[i]]) - { - (*pointsOut)[index].x = points[indices[i]].x; - (*pointsOut)[index].y = points[indices[i]].y; - (*oppositePointsOut)[index].x = oppositePoints[indices[i]].x; - (*oppositePointsOut)[index].y = oppositePoints[indices[i]].y; - (*scoreOut)[index] = score[indices[i]]; - index++; - } - - } - - free(indices); - free(box_area); - free(is_suppressed); - - return LATENT_SVM_OK; -} -} -} diff --git a/modules/latentsvm/src/lsvmc_parser.cpp b/modules/latentsvm/src/lsvmc_parser.cpp deleted file mode 100644 index d551e9314..000000000 --- a/modules/latentsvm/src/lsvmc_parser.cpp +++ /dev/null @@ -1,1113 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#include "precomp.hpp" -#include -#include "string.h" -#include "_lsvmc_parser.h" -#include "_lsvmc_error.h" - -namespace cv -{ -namespace lsvm -{ - -int isMODEL (char *str); -int isP (char *str); -int isSCORE (char *str); -int isCOMP (char *str); -int isRFILTER (char *str); -int isPFILTERs (char *str); -int isPFILTER (char *str); -int isSIZEX (char *str); -int isSIZEY (char *str); -int isWEIGHTS (char *str); -int isV (char *str); -int isVx (char *str); -int isVy (char *str); -int isD (char *str); -int isDx (char *str); -int isDy (char *str); -int isDxx (char *str); -int isDyy (char *str); -int isB (char *str); -int isWEIGHTS_PCA (char *str); -int isPCA (char *str); -int isPCAcoeff (char *str); -int isCASCADE_Th (char *str); -int isHYPOTHES_PCA (char *str); -int isDEFORM_PCA (char *str); -int isHYPOTHES (char *str); -int isDEFORM (char *str); -int getTeg (char *str); - -void addFilter(CvLSVMFilterObjectCascade *** model, int *last, int *max); - -void parserCascadeThresholds (FILE * xmlf, CvLSVMFilterObjectCascade * model); - -void parserRFilter (FILE * xmlf, int p, int pca, CvLSVMFilterObjectCascade * model, float *b); - -void parserV (FILE * xmlf, int /*p*/, CvLSVMFilterObjectCascade * model); - -void parserD (FILE * xmlf, int /*p*/, CvLSVMFilterObjectCascade * model); - -void parserPFilter (FILE * xmlf, int p, int pca, int /*N_path*/, CvLSVMFilterObjectCascade * model); - -void parserPFilterS (FILE * xmlf, int p, int pca, CvLSVMFilterObjectCascade *** model, int *last, int *max); - -void parserComp (FILE * xmlf, int p, int pca, int *N_comp, CvLSVMFilterObjectCascade *** model, float *b, int *last, int *max); - -void parserModel(FILE * xmlf, CvLSVMFilterObjectCascade *** model, int *last, int *max, int **comp, float **b, int *count, float * score, float** PCAcoeff); - -void LSVMparser(const char * filename, - CvLSVMFilterObjectCascade *** model, - int *last, - int *max, - int **comp, - float **b, - int *count, - float * score, - float** PCAcoeff); - -int isMODEL (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return MODEL; - if(strcmp(etag, str) == 0)return EMODEL; - return 0; -} -int isP (char *str){ - char stag [] = "

"; - char etag [] = "

"; - if(strcmp(stag, str) == 0)return P; - if(strcmp(etag, str) == 0)return EP; - return 0; -} -int isSCORE (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return SCORE; - if(strcmp(etag, str) == 0)return ESCORE; - return 0; -} -int isCOMP (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return COMP; - if(strcmp(etag, str) == 0)return ECOMP; - return 0; -} -int isRFILTER (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return RFILTER; - if(strcmp(etag, str) == 0)return ERFILTER; - return 0; -} -int isPFILTERs (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return PFILTERs; - if(strcmp(etag, str) == 0)return EPFILTERs; - return 0; -} -int isPFILTER (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return PFILTER; - if(strcmp(etag, str) == 0)return EPFILTER; - return 0; -} -int isSIZEX (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return SIZEX; - if(strcmp(etag, str) == 0)return ESIZEX; - return 0; -} -int isSIZEY (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return SIZEY; - if(strcmp(etag, str) == 0)return ESIZEY; - return 0; -} -int isWEIGHTS (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return WEIGHTS; - if(strcmp(etag, str) == 0)return EWEIGHTS; - return 0; -} -int isV (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return TAGV; - if(strcmp(etag, str) == 0)return ETAGV; - return 0; -} -int isVx (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return Vx; - if(strcmp(etag, str) == 0)return EVx; - return 0; -} -int isVy (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return Vy; - if(strcmp(etag, str) == 0)return EVy; - return 0; -} -int isD (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return TAGD; - if(strcmp(etag, str) == 0)return ETAGD; - return 0; -} -int isDx (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return Dx; - if(strcmp(etag, str) == 0)return EDx; - return 0; -} -int isDy (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return Dy; - if(strcmp(etag, str) == 0)return EDy; - return 0; -} -int isDxx (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return Dxx; - if(strcmp(etag, str) == 0)return EDxx; - return 0; -} -int isDyy (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return Dyy; - if(strcmp(etag, str) == 0)return EDyy; - return 0; -} -int isB (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return BTAG; - if(strcmp(etag, str) == 0)return EBTAG; - return 0; -} - -int isWEIGHTS_PCA (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return WEIGHTSPCA; - if(strcmp(etag, str) == 0)return EWEIGHTSPCA; - return 0; -} - -int isPCA (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return PCA; - if(strcmp(etag, str) == 0)return EPCA; - return 0; -} - -int isPCAcoeff (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return PCACOEFF; - if(strcmp(etag, str) == 0)return EPCACOEFF; - return 0; -} - -int isCASCADE_Th (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return CASCADE_Th; - if(strcmp(etag, str) == 0)return ECASCADE_Th; - return 0; -} - -int isHYPOTHES_PCA (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return HYPOTHES_PCA; - if(strcmp(etag, str) == 0)return EHYPOTHES_PCA; - return 0; -} -int isDEFORM_PCA (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return DEFORM_PCA; - if(strcmp(etag, str) == 0)return EDEFORM_PCA; - return 0; -} -int isHYPOTHES (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return HYPOTHES; - if(strcmp(etag, str) == 0)return EHYPOTHES; - return 0; -} -int isDEFORM (char *str){ - char stag [] = ""; - char etag [] = ""; - if(strcmp(stag, str) == 0)return DEFORM; - if(strcmp(etag, str) == 0)return EDEFORM; - return 0; -} - -int getTeg(char *str){ - int sum = 0; - sum = isMODEL (str)+ - isP (str)+ - isSCORE (str)+ - isCOMP (str)+ - isRFILTER (str)+ - isPFILTERs (str)+ - isPFILTER (str)+ - isSIZEX (str)+ - isSIZEY (str)+ - isWEIGHTS (str)+ - isV (str)+ - isVx (str)+ - isVy (str)+ - isD (str)+ - isDx (str)+ - isDy (str)+ - isDxx (str)+ - isDyy (str)+ - isB (str)+ - isPCA (str)+ - isCASCADE_Th (str)+ - isHYPOTHES_PCA(str)+ - isDEFORM_PCA (str)+ - isHYPOTHES (str)+ - isDEFORM (str)+ - isWEIGHTS_PCA (str)+ - isPCAcoeff (str) - ; - - return sum; -} - -void addFilter(CvLSVMFilterObjectCascade *** model, int *last, int *max) -{ - CvLSVMFilterObjectCascade ** nmodel; - int i; - (*last) ++; - if((*last) >= (*max)){ - (*max) += 10; - nmodel = (CvLSVMFilterObjectCascade **)malloc(sizeof(CvLSVMFilterObjectCascade *) * (*max)); - for(i = 0; i < *last; i++){ - nmodel[i] = (* model)[i]; - } - free(* model); - (*model) = nmodel; - } - (*model) [(*last)] = (CvLSVMFilterObjectCascade *)malloc(sizeof(CvLSVMFilterObjectCascade)); - (*model) [(*last)]->Hypothesis = 0.0f; - (*model) [(*last)]->Deformation = 0.0f; - (*model) [(*last)]->Hypothesis_PCA = 0.0f; - (*model) [(*last)]->Deformation_PCA = 0.0f; - -} - -//############################################## -void parserCascadeThresholds (FILE * xmlf, CvLSVMFilterObjectCascade * model){ - int st = 0; - int tag; - int tagVal; - char ch; - int i,j; - char buf[1024]; - char tagBuf[1024]; - - i = 0; - j = 0; - st = 0; - tag = 0; - while(!feof(xmlf)){ - ch = (char) fgetc( xmlf ); - if(ch == '<'){ - tag = 1; - j = 1; - tagBuf[j - 1] = ch; - }else { - if(ch == '>'){ - tagBuf[j ] = ch; - tagBuf[j + 1] = '\0'; - - tagVal = getTeg(tagBuf); - - if(tagVal == ECASCADE_Th){ - return; - } - if(tagVal == HYPOTHES_PCA){ - st = 1; - i = 0; - } - if(tagVal == EHYPOTHES_PCA){ - st = 0; - buf[i] = '\0'; - model->Hypothesis_PCA =(float) atof(buf); - } - if(tagVal == DEFORM_PCA){ - st = 1; - i = 0; - } - if(tagVal == EDEFORM_PCA){ - st = 0; - buf[i] = '\0'; - model->Deformation_PCA =(float) atof(buf); - } - if(tagVal == HYPOTHES){ - st = 1; - i = 0; - } - if(tagVal == EHYPOTHES){ - st = 0; - buf[i] = '\0'; - model->Hypothesis = (float)atof(buf); - } - if(tagVal == DEFORM){ - st = 1; - i = 0; - } - if(tagVal == EDEFORM){ - st = 0; - buf[i] = '\0'; - model->Deformation = (float)atof(buf); - } - tag = 0; - i = 0; - }else{ - if((tag == 0)&& (st == 1)){ - buf[i] = ch; i++; - }else{ - tagBuf[j] = ch; j++; - } - } - } - } -} -//############################################## - -void parserRFilter (FILE * xmlf, int p, int pca, CvLSVMFilterObjectCascade * model, float *b){ - int st = 0; - int sizeX = 0, sizeY = 0; - int tag; - int tagVal; - char ch; - int i,j,ii; - char buf[1024]; - char tagBuf[1024]; - double *data; - //printf("\n"); - - model->V.x = 0; - model->V.y = 0; - model->V.l = 0; - model->fineFunction[0] = 0.0; - model->fineFunction[1] = 0.0; - model->fineFunction[2] = 0.0; - model->fineFunction[3] = 0.0; - - i = 0; - j = 0; - st = 0; - tag = 0; - while(!feof(xmlf)){ - ch = (char)fgetc( xmlf ); - if(ch == '<'){ - tag = 1; - j = 1; - tagBuf[j - 1] = ch; - }else { - if(ch == '>'){ - tagBuf[j ] = ch; - tagBuf[j + 1] = '\0'; - - tagVal = getTeg(tagBuf); - - if(tagVal == ERFILTER){ - //printf("\n"); - return; - } - if(tagVal == SIZEX){ - st = 1; - i = 0; - } - if(tagVal == ESIZEX){ - st = 0; - buf[i] = '\0'; - sizeX = atoi(buf); - model->sizeX = sizeX; - //printf("%d\n", sizeX); - } - if(tagVal == SIZEY){ - st = 1; - i = 0; - } - if(tagVal == ESIZEY){ - st = 0; - buf[i] = '\0'; - sizeY = atoi(buf); - model->sizeY = sizeY; - //printf("%d\n", sizeY); - } - if(tagVal == WEIGHTS){ - data = (double *)malloc( sizeof(double) * p * sizeX * sizeY); - CV_Assert(fread(data, sizeof(double), p * sizeX * sizeY, xmlf)); - model->H = (float *)malloc(sizeof(float)* p * sizeX * sizeY); - for(ii = 0; ii < p * sizeX * sizeY; ii++){ - model->H[ii] = (float)data[ii]; - } - free(data); - } - if(tagVal == WEIGHTSPCA){ - data = (double *)malloc( sizeof(double) * pca * sizeX * sizeY); - CV_Assert(fread(data, sizeof(double), pca * sizeX * sizeY, xmlf)); - model->H_PCA = (float *)malloc(sizeof(float)* pca * sizeX * sizeY); - for(ii = 0; ii < pca * sizeX * sizeY; ii++){ - model->H_PCA[ii] = (float)data[ii]; - } - free(data); - } - - if(tagVal == CASCADE_Th){ - parserCascadeThresholds (xmlf, model); - } - - if(tagVal == BTAG){ - st = 1; - i = 0; - } - if(tagVal == EBTAG){ - st = 0; - buf[i] = '\0'; - *b =(float) atof(buf); - //printf("%f\n", *b); - } - - tag = 0; - i = 0; - }else{ - if((tag == 0)&& (st == 1)){ - buf[i] = ch; i++; - }else{ - tagBuf[j] = ch; j++; - } - } - } - } -} - -void parserV (FILE * xmlf, int /*p*/, CvLSVMFilterObjectCascade * model){ - int st = 0; - int tag; - int tagVal; - char ch; - int i,j; - char buf[1024]; - char tagBuf[1024]; - //printf(" \n"); - - i = 0; - j = 0; - st = 0; - tag = 0; - while(!feof(xmlf)){ - ch = (char) fgetc( xmlf ); - if(ch == '<'){ - tag = 1; - j = 1; - tagBuf[j - 1] = ch; - }else { - if(ch == '>'){ - tagBuf[j ] = ch; - tagBuf[j + 1] = '\0'; - - tagVal = getTeg(tagBuf); - - if(tagVal == ETAGV){ - //printf(" \n"); - return; - } - if(tagVal == Vx){ - st = 1; - i = 0; - } - if(tagVal == EVx){ - st = 0; - buf[i] = '\0'; - model->V.x = atoi(buf); - //printf(" %d\n", model->V.x); - } - if(tagVal == Vy){ - st = 1; - i = 0; - } - if(tagVal == EVy){ - st = 0; - buf[i] = '\0'; - model->V.y = atoi(buf); - //printf(" %d\n", model->V.y); - } - tag = 0; - i = 0; - }else{ - if((tag == 0)&& (st == 1)){ - buf[i] = ch; i++; - }else{ - tagBuf[j] = ch; j++; - } - } - } - } -} -void parserD (FILE * xmlf, int /*p*/, CvLSVMFilterObjectCascade * model){ - int st = 0; - int tag; - int tagVal; - char ch; - int i,j; - char buf[1024]; - char tagBuf[1024]; - //printf(" \n"); - - i = 0; - j = 0; - st = 0; - tag = 0; - while(!feof(xmlf)){ - ch = (char)fgetc( xmlf ); - if(ch == '<'){ - tag = 1; - j = 1; - tagBuf[j - 1] = ch; - }else { - if(ch == '>'){ - tagBuf[j ] = ch; - tagBuf[j + 1] = '\0'; - - tagVal = getTeg(tagBuf); - - if(tagVal == ETAGD){ - //printf(" \n"); - return; - } - if(tagVal == Dx){ - st = 1; - i = 0; - } - if(tagVal == EDx){ - st = 0; - buf[i] = '\0'; - - model->fineFunction[0] = (float)atof(buf); - //printf(" %f\n", model->fineFunction[0]); - } - if(tagVal == Dy){ - st = 1; - i = 0; - } - if(tagVal == EDy){ - st = 0; - buf[i] = '\0'; - - model->fineFunction[1] = (float)atof(buf); - //printf(" %f\n", model->fineFunction[1]); - } - if(tagVal == Dxx){ - st = 1; - i = 0; - } - if(tagVal == EDxx){ - st = 0; - buf[i] = '\0'; - - model->fineFunction[2] = (float)atof(buf); - //printf(" %f\n", model->fineFunction[2]); - } - if(tagVal == Dyy){ - st = 1; - i = 0; - } - if(tagVal == EDyy){ - st = 0; - buf[i] = '\0'; - - model->fineFunction[3] = (float)atof(buf); - //printf(" %f\n", model->fineFunction[3]); - } - - tag = 0; - i = 0; - }else{ - if((tag == 0)&& (st == 1)){ - buf[i] = ch; i++; - }else{ - tagBuf[j] = ch; j++; - } - } - } - } -} - -void parserPFilter (FILE * xmlf, int p, int pca, int /*N_path*/, CvLSVMFilterObjectCascade * model){ - int st = 0; - int sizeX = 0, sizeY = 0; - int tag; - int tagVal; - char ch; - int i,j, ii; - char buf[1024]; - char tagBuf[1024]; - double *data; - //printf(" (%d)\n", N_path); - - model->V.x = 0; - model->V.y = 0; - model->V.l = 0; - model->fineFunction[0] = 0.0f; - model->fineFunction[1] = 0.0f; - model->fineFunction[2] = 0.0f; - model->fineFunction[3] = 0.0f; - - i = 0; - j = 0; - st = 0; - tag = 0; - while(!feof(xmlf)){ - ch = (char)fgetc( xmlf ); - if(ch == '<'){ - tag = 1; - j = 1; - tagBuf[j - 1] = ch; - }else { - if(ch == '>'){ - tagBuf[j ] = ch; - tagBuf[j + 1] = '\0'; - - tagVal = getTeg(tagBuf); - - if(tagVal == EPFILTER){ - //printf("\n"); - return; - } - - if(tagVal == TAGV){ - parserV(xmlf, p, model); - } - if(tagVal == TAGD){ - parserD(xmlf, p, model); - } - if(tagVal == SIZEX){ - st = 1; - i = 0; - } - if(tagVal == ESIZEX){ - st = 0; - buf[i] = '\0'; - sizeX = atoi(buf); - model->sizeX = sizeX; - //printf("%d\n", sizeX); - } - if(tagVal == SIZEY){ - st = 1; - i = 0; - } - if(tagVal == ESIZEY){ - st = 0; - buf[i] = '\0'; - sizeY = atoi(buf); - model->sizeY = sizeY; - //printf("%d\n", sizeY); - } - if(tagVal == WEIGHTS){ - data = (double *)malloc( sizeof(double) * p * sizeX * sizeY); - CV_Assert(fread(data, sizeof(double), p * sizeX * sizeY, xmlf)); - model->H = (float *)malloc(sizeof(float)* p * sizeX * sizeY); - for(ii = 0; ii < p * sizeX * sizeY; ii++){ - model->H[ii] = (float)data[ii]; - } - free(data); - } - if(tagVal == WEIGHTSPCA){ - data = (double *)malloc( sizeof(double) * pca * sizeX * sizeY); - CV_Assert(fread(data, sizeof(double), pca * sizeX * sizeY, xmlf)); - model->H_PCA = (float *)malloc(sizeof(float)* pca * sizeX * sizeY); - for(ii = 0; ii < pca * sizeX * sizeY; ii++){ - model->H_PCA[ii] = (float)data[ii]; - } - free(data); - } - if(tagVal == CASCADE_Th){ - parserCascadeThresholds (xmlf, model); - } - if(tagVal == EWEIGHTS){ - //printf("WEIGHTS OK\n"); - } - tag = 0; - i = 0; - }else{ - if((tag == 0)&& (st == 1)){ - buf[i] = ch; i++; - }else{ - tagBuf[j] = ch; j++; - } - } - } - } -} -void parserPFilterS (FILE * xmlf, int p, int pca, CvLSVMFilterObjectCascade *** model, int *last, int *max){ - int st = 0; - int N_path = 0; - int tag; - int tagVal; - char ch; - int j; - char tagBuf[1024]; - //printf("\n"); - - j = 0; - st = 0; - tag = 0; - while(!feof(xmlf)){ - ch = (char)fgetc( xmlf ); - if(ch == '<'){ - tag = 1; - j = 1; - tagBuf[j - 1] = ch; - }else { - if(ch == '>'){ - tagBuf[j ] = ch; - tagBuf[j + 1] = '\0'; - - tagVal = getTeg(tagBuf); - - if(tagVal == EPFILTERs){ - //printf("\n"); - return; - } - if(tagVal == PFILTER){ - addFilter(model, last, max); - parserPFilter (xmlf, p, pca, N_path, (*model)[*last]); - N_path++; - } - tag = 0; - }else{ - if((tag != 0) || (st != 1)){ - tagBuf[j] = ch; j++; - } - } - } - } -} -void parserComp (FILE * xmlf, int p, int pca, int *N_comp, CvLSVMFilterObjectCascade *** model, float *b, int *last, int *max){ - int st = 0; - int tag; - int tagVal; - char ch; - int j; - char tagBuf[1024]; - //printf(" %d\n", *N_comp); - - j = 0; - st = 0; - tag = 0; - while(!feof(xmlf)){ - ch = (char)fgetc( xmlf ); - if(ch == '<'){ - tag = 1; - j = 1; - tagBuf[j - 1] = ch; - }else { - if(ch == '>'){ - tagBuf[j ] = ch; - tagBuf[j + 1] = '\0'; - - tagVal = getTeg(tagBuf); - - if(tagVal == ECOMP){ - (*N_comp) ++; - return; - } - if(tagVal == RFILTER){ - addFilter(model, last, max); - parserRFilter (xmlf, p, pca, (*model)[*last],b); - } - if(tagVal == PFILTERs){ - parserPFilterS (xmlf, p, pca, model, last, max); - } - tag = 0; - }else{ - if((tag != 0) || (st != 1)){ - tagBuf[j] = ch; j++; - } - } - } - } -} -void parserModel(FILE * xmlf, CvLSVMFilterObjectCascade *** model, int *last, int *max, int **comp, float **b, int *count, float * score, float** PCAcoeff){ - int p = 0, pca = 0; - int N_comp = 0; - int * cmp; - float *bb; - int st = 0; - int tag; - int tagVal; - char ch; - int i,j, ii = 0, jj; - char buf[1024]; - char tagBuf[1024]; - double *data; - //printf("\n"); - - i = 0; - j = 0; - st = 0; - tag = 0; - while(!feof(xmlf)){ - ch = (char)fgetc( xmlf ); - if(ch == '<'){ - tag = 1; - j = 1; - tagBuf[j - 1] = ch; - }else { - if(ch == '>'){ - tagBuf[j ] = ch; - tagBuf[j + 1] = '\0'; - - tagVal = getTeg(tagBuf); - - if(tagVal == EMODEL){ - //printf("\n"); - for(ii = 0; ii <= *last; ii++){ - (*model)[ii]->numFeatures = p; - } - * count = N_comp; - return; - } - if(tagVal == COMP){ - if(N_comp == 0){ - cmp = (int *)malloc(sizeof(int)); - bb = (float *)malloc(sizeof(float)); - * comp = cmp; - * b = bb; - * count = N_comp + 1; - } else { - cmp = (int *)malloc(sizeof(int) * (N_comp + 1)); - bb = (float *)malloc(sizeof(float) * (N_comp + 1)); - for(ii = 0; ii < N_comp; ii++){ - cmp[ii] = (* comp)[ii]; - bb [ii] = (* b )[ii]; - } - free(* comp); - free(* b ); - * comp = cmp; - * b = bb; - * count = N_comp + 1; - } - parserComp(xmlf, p, pca, &N_comp, model, &((*b)[N_comp]), last, max); - cmp[N_comp - 1] = *last; - } - if(tagVal == P){ - st = 1; - i = 0; - } - if(tagVal == EP){ - st = 0; - buf[i] = '\0'; - p = atoi(buf); - //printf("

%d

\n", p); - } - if(tagVal == PCA){ - st = 1; - i = 0; - } - if(tagVal == EPCA){ - st = 0; - buf[i] = '\0'; - pca = atoi(buf); - //printf("%d\n", p); - } - if(tagVal == SCORE){ - st = 1; - i = 0; - } - if(tagVal == PCACOEFF){ - st = 0; - i = 0; - p--; - data = (double *)malloc( sizeof(double) * p * p); - (*PCAcoeff) = (float *)malloc( sizeof(float) * p * p); - CV_Assert(fread(data, sizeof(double), p * p, xmlf)); - for(jj = 0; jj < p * p; jj++){ - (*PCAcoeff)[jj] = (float)data[jj]; - } - free(data); - p++; - } - if(tagVal == EPCACOEFF){ - st = 0; - //printf("%d\n", p); - } - if(tagVal == SCORE){ - st = 1; - i = 0; - } - if(tagVal == ESCORE){ - st = 0; - buf[i] = '\0'; - *score = (float)atof(buf); - //printf("%f\n", score); - } - tag = 0; - i = 0; - }else{ - if((tag == 0)&& (st == 1)){ - buf[i] = ch; i++; - }else{ - tagBuf[j] = ch; j++; - } - } - } - } -} - -void LSVMparser(const char * filename, - CvLSVMFilterObjectCascade *** model, - int *last, - int *max, - int **comp, - float **b, - int *count, - float * score, - float** PCAcoeff) -{ - int tag; - char ch; - int j; - FILE *xmlf; - char tagBuf[1024]; - - (*max) = 10; - (*last) = -1; - (*model) = (CvLSVMFilterObjectCascade ** )malloc((sizeof(CvLSVMFilterObjectCascade * )) * (*max)); - - //printf("parse : %s\n", filename); - xmlf = fopen(filename, "rb"); - - j = 0; - tag = 0; - while(!feof(xmlf)){ - ch = (char) fgetc( xmlf ); - if(ch == '<'){ - tag = 1; - j = 1; - tagBuf[j - 1] = ch; - }else { - if(ch == '>'){ - tag = 0; - tagBuf[j ] = ch; - tagBuf[j + 1] = '\0'; - if(getTeg(tagBuf) == MODEL){ - parserModel(xmlf, model, last, max, comp, b, count, score, PCAcoeff); - } - }else{ - if(tag != 0) - { - tagBuf[j] = ch; j++; - } - } - } - } - fclose(xmlf); -} - -int loadModel( - const char *modelPath, - - CvLSVMFilterObjectCascade ***filters, - int *kFilters, - int *kComponents, - int **kPartFilters, - float **b, - float *scoreThreshold, - float ** PCAcoeff){ - int last; - int max; - int *comp; - int count; - int i; - float score; - - LSVMparser(modelPath, filters, &last, &max, &comp, b, &count, &score, PCAcoeff); - (*kFilters) = last + 1; - (*kComponents) = count; - (*scoreThreshold) = (float) score; - - (*kPartFilters) = (int *)malloc(sizeof(int) * count); - - for(i = 1; i < count;i++){ - (*kPartFilters)[i] = (comp[i] - comp[i - 1]) - 1; - } - (*kPartFilters)[0] = comp[0]; - - - for(i = 0; i < (*kFilters);i++){ - (*(filters))[i]->deltaX = 5;// maxX; - (*(filters))[i]->deltaY = 5;// maxY; - } - - return 0; -} -} -} diff --git a/modules/latentsvm/src/lsvmc_routine.cpp b/modules/latentsvm/src/lsvmc_routine.cpp deleted file mode 100644 index 1a751be64..000000000 --- a/modules/latentsvm/src/lsvmc_routine.cpp +++ /dev/null @@ -1,129 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#include "precomp.hpp" -#include "_lsvmc_routine.h" -namespace cv -{ -namespace lsvm -{ -int allocFilterObject(CvLSVMFilterObjectCascade **obj, const int sizeX, - const int sizeY, const int numFeatures) -{ - int i; - (*obj) = (CvLSVMFilterObjectCascade *)malloc(sizeof(CvLSVMFilterObjectCascade)); - (*obj)->sizeX = sizeX; - (*obj)->sizeY = sizeY; - (*obj)->numFeatures = numFeatures; - (*obj)->fineFunction[0] = 0.0f; - (*obj)->fineFunction[1] = 0.0f; - (*obj)->fineFunction[2] = 0.0f; - (*obj)->fineFunction[3] = 0.0f; - (*obj)->V.x = 0; - (*obj)->V.y = 0; - (*obj)->V.l = 0; - (*obj)->H = (float *) malloc(sizeof (float) * - (sizeX * sizeY * numFeatures)); - for(i = 0; i < sizeX * sizeY * numFeatures; i++) - { - (*obj)->H[i] = 0.0f; - } - return LATENT_SVM_OK; -} -int freeFilterObject (CvLSVMFilterObjectCascade **obj) -{ - if(*obj == NULL) return LATENT_SVM_MEM_NULL; - free((*obj)->H); - free(*obj); - (*obj) = NULL; - return LATENT_SVM_OK; -} - -int allocFeatureMapObject(CvLSVMFeatureMapCascade **obj, const int sizeX, - const int sizeY, const int numFeatures) -{ - int i; - (*obj) = (CvLSVMFeatureMapCascade *)malloc(sizeof(CvLSVMFeatureMapCascade)); - (*obj)->sizeX = sizeX; - (*obj)->sizeY = sizeY; - (*obj)->numFeatures = numFeatures; - (*obj)->map = (float *) malloc(sizeof (float) * - (sizeX * sizeY * numFeatures)); - for(i = 0; i < sizeX * sizeY * numFeatures; i++) - { - (*obj)->map[i] = 0.0f; - } - return LATENT_SVM_OK; -} -int freeFeatureMapObject (CvLSVMFeatureMapCascade **obj) -{ - if(*obj == NULL) return LATENT_SVM_MEM_NULL; - free((*obj)->map); - free(*obj); - (*obj) = NULL; - return LATENT_SVM_OK; -} - -int allocFeaturePyramidObject(CvLSVMFeaturePyramidCascade **obj, - const int numLevels) -{ - (*obj) = (CvLSVMFeaturePyramidCascade *)malloc(sizeof(CvLSVMFeaturePyramidCascade)); - (*obj)->numLevels = numLevels; - (*obj)->pyramid = (CvLSVMFeatureMapCascade **)malloc( - sizeof(CvLSVMFeatureMapCascade *) * numLevels); - return LATENT_SVM_OK; -} - -int freeFeaturePyramidObject (CvLSVMFeaturePyramidCascade **obj) -{ - int i; - if(*obj == NULL) return LATENT_SVM_MEM_NULL; - for(i = 0; i < (*obj)->numLevels; i++) - { - freeFeatureMapObject(&((*obj)->pyramid[i])); - } - free((*obj)->pyramid); - free(*obj); - (*obj) = NULL; - return LATENT_SVM_OK; -} -} -} diff --git a/modules/latentsvm/test/test_latentsvmdetector_cascade.cpp b/modules/latentsvm/test/test_latentsvmdetector_cascade.cpp deleted file mode 100644 index dbbdbccf2..000000000 --- a/modules/latentsvm/test/test_latentsvmdetector_cascade.cpp +++ /dev/null @@ -1,218 +0,0 @@ -/*M/////////////////////////////////////////////////////////////////////////////////////// -// -// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. -// -// By downloading, copying, installing or using the software you agree to this license. -// If you do not agree to this license, do not download, install, -// copy or use the software. -// -// -// License Agreement -// For Open Source Computer Vision Library -// -// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. -// Copyright (C) 2009, Willow Garage Inc., all rights reserved. -// Third party copyrights are property of their respective owners. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistribution's of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistribution's in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * The name of the copyright holders may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// This software is provided by the copyright holders and contributors "as is" and -// any express or implied warranties, including, but not limited to, the implied -// warranties of merchantability and fitness for a particular purpose are disclaimed. -// In no event shall the Intel Corporation or contributors be liable for any direct, -// indirect, incidental, special, exemplary, or consequential damages -// (including, but not limited to, procurement of substitute goods or services; -// loss of use, data, or profits; or business interruption) however caused -// and on any theory of liability, whether in contract, strict liability, -// or tort (including negligence or otherwise) arising in any way out of -// the use of this software, even if advised of the possibility of such damage. -// -//M*/ - -#include "test_precomp.hpp" - -#include - -#ifdef HAVE_CVCONFIG_H -#include "cvconfig.h" -#endif - -#ifdef HAVE_TBB -#include "tbb/task_scheduler_init.h" -#endif - -using namespace cv; - -const float score_thr = 0.05f; - -class LatentSVMDetectorCascadeTest : public cvtest::BaseTest -{ -protected: - void run(int); -}; - -static void writeDetections( FileStorage& fs, const std::string& nodeName, const std::vector& detections ) -{ - fs << nodeName << "["; - for( size_t i = 0; i < detections.size(); i++ ) //FIXME operator << - { - lsvm::LSVMDetector::ObjectDetection const &d = detections[i]; - fs << d.rect.x << d.rect.y << d.rect.width << d.rect.height - << d.score << d.classID; - } - fs << "]"; -} - -static void readDetections( FileStorage fs, const std::string& nodeName, - std::vector& detections ) -{ - detections.clear(); - - FileNode fn = fs.root()[nodeName]; - FileNodeIterator fni = fn.begin(); - while( fni != fn.end() ) - { - lsvm::LSVMDetector::ObjectDetection d; - fni >> d.rect.x >> d.rect.y >> d.rect.width >> d.rect.height - >> d.score >> d.classID; - detections.push_back( d ); - } -} - -static inline bool isEqualCaskad( const lsvm::LSVMDetector::ObjectDetection& d1, - const lsvm::LSVMDetector::ObjectDetection& d2, int eps, float threshold) -{ - return ( - std::abs(d1.rect.x - d2.rect.x) <= eps - && std::abs(d1.rect.y - d2.rect.y) <= eps - && std::abs(d1.rect.width - d2.rect.width) <= eps - && std::abs(d1.rect.height - d2.rect.height) <= eps - && (d1.classID == d2.classID) - && std::abs(d1.score - d2.score) <= threshold - ); -} - - -bool compareResults( const std::vector& calc, - const std::vector& valid, int eps, float threshold) -{ - if( calc.size() != valid.size() ) - return false; - - for( size_t i = 0; i < calc.size(); i++ ) - { - lsvm::LSVMDetector::ObjectDetection const &c = calc[i]; - lsvm::LSVMDetector::ObjectDetection const &v = valid[i]; - - if( !isEqualCaskad(c, v, eps, threshold) ) - { - std::cerr << "Expected: " << v.rect << " class=" << v.classID << " score=" << v.score << std::endl; - std::cerr << "Actual: " << c.rect << " class=" << c.classID << " score=" << c.score << std::endl; - return false; - } - } - return true; -} - -void LatentSVMDetectorCascadeTest::run( int /* start_from */) -{ - std::string test_data_path = ts->get_data_path() + "latentsvmdetector/"; - std::string img_path_cat = test_data_path + "cat.png"; - std::string img_path_cars = test_data_path + "cars.png"; - - std::string model_path_cat = test_data_path + "models_VOC2007_cascade/cat.xml"; - std::string model_path_car = test_data_path + "models_VOC2007_cascade/car.xml"; - - std::string true_res_path = test_data_path + "results_cascade.xml"; - - -#ifdef HAVE_TBB - int numThreads = 2; -#endif - - Mat image_cat = imread( img_path_cat ); - Mat image_cars = imread( img_path_cars ); - if( image_cat.empty() || image_cars.empty() ) - { - ts->set_failed_test_info( cvtest::TS::FAIL_INVALID_TEST_DATA ); - return; - } - - // We will test 2 cases: - // detector1 - to test case of one class 'cat' - // detector12 - to test case of two (several) classes 'cat' and car - - // Load detectors - cv::Ptr detector1 = lsvm::LSVMDetector::create(std::vector(1,model_path_cat)); - - std::vector models_pathes(2); - models_pathes[0] = model_path_cat; - models_pathes[1] = model_path_car; - cv::Ptr detector12 = lsvm::LSVMDetector::create(models_pathes); - - if( detector1->isEmpty() || detector12->isEmpty() || detector12->getClassCount() != 2 ) - { - ts->set_failed_test_info( cvtest::TS::FAIL_INVALID_TEST_DATA ); - return; - } - - // 1. Test method detect - // Run detectors - std::vector detections1_cat, detections12_cat, detections12_cars; - detector1->detect( image_cat, detections1_cat, 0.5); - detector12->detect( image_cat, detections12_cat, 0.5); - detector12->detect( image_cars, detections12_cars, 0.5); - - // Load true results - FileStorage fs( true_res_path, FileStorage::READ ); - if( fs.isOpened() ) - { - std::vector true_detections1_cat, true_detections12_cat, true_detections12_cars; - readDetections( fs, "detections1_cat", true_detections1_cat ); - readDetections( fs, "detections12_cat", true_detections12_cat ); - readDetections( fs, "detections12_cars", true_detections12_cars ); - - if( !compareResults(detections1_cat, true_detections1_cat, 1, score_thr) ) - { - std::cerr << "Results of detector1 are invalid on image cat.png" << std::endl; - ts->set_failed_test_info( cvtest::TS::FAIL_MISMATCH ); - } - if( !compareResults(detections12_cat, true_detections12_cat, 1, score_thr) ) - { - std::cerr << "Results of detector12 are invalid on image cat.png" << std::endl; - ts->set_failed_test_info( cvtest::TS::FAIL_MISMATCH ); - } - if( !compareResults(detections12_cars, true_detections12_cars, 1, score_thr) ) - { - std::cerr << "Results of detector12 are invalid on image cars.png" << std::endl; - ts->set_failed_test_info( cvtest::TS::FAIL_MISMATCH ); - } - } - else - { - fs.open( true_res_path, FileStorage::WRITE ); - if( fs.isOpened() ) - { - writeDetections( fs, "detections1_cat", detections1_cat ); - writeDetections( fs, "detections12_cat", detections12_cat ); - writeDetections( fs, "detections12_cars", detections12_cars ); - } - else - std::cerr << "File " << true_res_path << " cann't be opened to save test results" << std::endl; - } - - ts->set_failed_test_info( cvtest::TS::OK); -} - -TEST(Objdetect_LatentSVMDetectorCascade_cpp, regression) { LatentSVMDetectorCascadeTest test; test.safe_run(); } diff --git a/modules/latentsvm/test/test_main.cpp b/modules/latentsvm/test/test_main.cpp deleted file mode 100644 index 6b2499344..000000000 --- a/modules/latentsvm/test/test_main.cpp +++ /dev/null @@ -1,3 +0,0 @@ -#include "test_precomp.hpp" - -CV_TEST_MAIN("cv") diff --git a/modules/latentsvm/test/test_precomp.cpp b/modules/latentsvm/test/test_precomp.cpp deleted file mode 100644 index 5956e13e3..000000000 --- a/modules/latentsvm/test/test_precomp.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "test_precomp.hpp" diff --git a/modules/latentsvm/test/test_precomp.hpp b/modules/latentsvm/test/test_precomp.hpp deleted file mode 100644 index d32f480e1..000000000 --- a/modules/latentsvm/test/test_precomp.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wmissing-declarations" -# if defined __clang__ || defined __APPLE__ -# pragma GCC diagnostic ignored "-Wmissing-prototypes" -# pragma GCC diagnostic ignored "-Wextra" -# endif -#endif - -#ifndef __OPENCV_TEST_PRECOMP_HPP__ -#define __OPENCV_TEST_PRECOMP_HPP__ - -#include "opencv2/ts.hpp" -#include "opencv2/latentsvm.hpp" -#include "opencv2/imgproc.hpp" -#include "opencv2/highgui.hpp" - -#endif diff --git a/modules/latentsvm/testdata/latentsvm/cars.png b/modules/latentsvm/testdata/latentsvm/cars.png deleted file mode 100644 index 2d9bdf260..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/cars.png and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/cat.png b/modules/latentsvm/testdata/latentsvm/cat.png deleted file mode 100644 index 31f4e2e58..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/cat.png and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/mat2xml.m b/modules/latentsvm/testdata/latentsvm/mat2xml.m deleted file mode 100644 index 61bc9bf96..000000000 --- a/modules/latentsvm/testdata/latentsvm/mat2xml.m +++ /dev/null @@ -1,99 +0,0 @@ -function [] = mat2xml(fname_in, fname_out) -load(fname_in); -num_feat = 31; -rootfilters = []; -for i = 1:length(model.rootfilters) - rootfilters{i} = model.rootfilters{i}.w; -end -partfilters = []; -for i = 1:length(model.partfilters) - partfilters{i} = model.partfilters{i}.w; -end -for c = 1:model.numcomponents - ridx{c} = model.components{c}.rootindex; - oidx{c} = model.components{c}.offsetindex; - root{c} = model.rootfilters{ridx{c}}.w; - rsize{c} = [size(root{c},1) size(root{c},2)]; - numparts{c} = length(model.components{c}.parts); - for j = 1:numparts{c} - pidx{c,j} = model.components{c}.parts{j}.partindex; - didx{c,j} = model.components{c}.parts{j}.defindex; - part{c,j} = model.partfilters{pidx{c,j}}.w; - psize{c,j} = [size(part{c,j},1) size(part{c,j},2)]; - % reverse map from partfilter index to (component, part#) - % rpidx{pidx{c,j}} = [c j]; - end -end - -f = fopen(fname_out, 'wb'); -fprintf(f, '\n'); -fprintf(f, '\t\n'); -fprintf(f, '\t%d\n', model.numcomponents); -fprintf(f, '\t\n'); -fprintf(f, '\t

%d

\n', num_feat); -fprintf(f, '\t\n'); -fprintf(f, '\t%.16f\n', model.thresh); -for c = 1:model.numcomponents - fprintf(f, '\t\n'); - fprintf(f, '\t\t\n'); - fprintf(f, '\t\t\n'); - fprintf(f, '\t\t\t\n'); - rootfilter = root{c}; - fprintf(f, '\t\t\t%d\n', rsize{c}(2)); - fprintf(f, '\t\t\t%d\n', rsize{c}(1)); - fprintf(f, '\t\t\t\n'); - fprintf(f, '\t\t\t'); - for jj = 1:rsize{c}(1) - for ii = 1:rsize{c}(2) - for kk = 1:num_feat - fwrite(f, rootfilter(jj, ii, kk), 'double'); - end - end - end - fprintf(f, '\t\t\t\n'); - fprintf(f, '\t\t\t\n'); - fprintf(f, '\t\t\t%.16f\n', model.offsets{1,c}.w); - fprintf(f, '\t\t\n\n'); - fprintf(f, '\t\t\n'); - fprintf(f, '\t\t\n'); - fprintf(f, '\t\t\t%d\n', numparts{c}); - - for j=1:numparts{c} - fprintf(f, '\t\t\t\n', j); - fprintf(f, '\t\t\t\n'); - partfilter = part{c,j}; - anchor = model.defs{didx{c,j}}.anchor; - def = model.defs{didx{c,j}}.w; - - fprintf(f, '\t\t\t\t\n'); - fprintf(f, '\t\t\t\t%d\n', psize{c,j}(2)); - fprintf(f, '\t\t\t\t%d\n', psize{c,j}(1)); - fprintf(f, '\t\t\t\t\n'); - fprintf(f, '\t\t\t\t'); - for jj = 1:psize{c,j}(1) - for ii = 1:psize{c,j}(2) - for kk = 1:num_feat - fwrite(f, partfilter(jj, ii, kk), 'double'); - end - end - end - fprintf(f, '\t\t\t\t\n'); - fprintf(f, '\t\t\t\t\n'); - fprintf(f, '\t\t\t\t\n'); - fprintf(f, '\t\t\t\t\t%d\n', anchor(1)); - fprintf(f, '\t\t\t\t\t%d\n', anchor(2)); - fprintf(f, '\t\t\t\t\n'); - fprintf(f, '\t\t\t\t\n'); - fprintf(f, '\t\t\t\t\n'); - fprintf(f, '\t\t\t\t\t%.16f\n', def(2)); - fprintf(f, '\t\t\t\t\t%.16f\n', def(4)); - fprintf(f, '\t\t\t\t\t%.16f\n', def(1)); - fprintf(f, '\t\t\t\t\t%.16f\n', def(3)); - fprintf(f, '\t\t\t\t\n'); - fprintf(f, '\t\t\t\n'); - end - fprintf(f, '\t\t\n'); - fprintf(f, '\t\n'); -end -fprintf(f, '
'); -fclose(f); diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/aeroplane.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/aeroplane.xml deleted file mode 100644 index 4d37fe248..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/aeroplane.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/bicycle.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/bicycle.xml deleted file mode 100644 index 7ec2e3cfc..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/bicycle.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/bird.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/bird.xml deleted file mode 100644 index 3d18a7624..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/bird.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/boat.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/boat.xml deleted file mode 100644 index 18977d1cc..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/boat.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/bottle.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/bottle.xml deleted file mode 100644 index 3e756d818..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/bottle.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/bus.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/bus.xml deleted file mode 100644 index 9ac5697d1..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/bus.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/car.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/car.xml deleted file mode 100644 index 30fa895d5..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/car.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/cat.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/cat.xml deleted file mode 100644 index 1ccdef8b4..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/cat.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/chair.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/chair.xml deleted file mode 100644 index 4b37f0d75..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/chair.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/cow.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/cow.xml deleted file mode 100644 index d714029ab..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/cow.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/diningtable.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/diningtable.xml deleted file mode 100644 index e9d55387f..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/diningtable.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/dog.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/dog.xml deleted file mode 100644 index 6a4f958b5..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/dog.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/horse.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/horse.xml deleted file mode 100644 index e0e7ededc..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/horse.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/motorbike.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/motorbike.xml deleted file mode 100644 index 7fff6a4b3..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/motorbike.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/person.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/person.xml deleted file mode 100644 index 6da86a475..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/person.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/pottedplant.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/pottedplant.xml deleted file mode 100644 index 578b56215..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/pottedplant.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/sheep.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/sheep.xml deleted file mode 100644 index 41a1f764c..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/sheep.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/sofa.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/sofa.xml deleted file mode 100644 index ee2645858..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/sofa.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/train.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/train.xml deleted file mode 100644 index 008aefba0..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/train.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/tvmonitor.xml b/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/tvmonitor.xml deleted file mode 100644 index 19a829cc9..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/models_VOC2007_cascade/tvmonitor.xml and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/pcacoeff.bin b/modules/latentsvm/testdata/latentsvm/pcacoeff.bin deleted file mode 100644 index 7ca9cf38d..000000000 Binary files a/modules/latentsvm/testdata/latentsvm/pcacoeff.bin and /dev/null differ diff --git a/modules/latentsvm/testdata/latentsvm/results_cascade.xml b/modules/latentsvm/testdata/latentsvm/results_cascade.xml deleted file mode 100644 index a0e4686b7..000000000 --- a/modules/latentsvm/testdata/latentsvm/results_cascade.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - 0 0 340 485 -0.837739 0 - - 0 0 340 485 -0.837739 0 129 0 181 155 -0.795819 1 - -218 24 218 121 2.36436 1 0 285 233 129 1.93423 1 0 21 190 105 1.7496 1 202 183 202 -73 1.57262 1 0 171 171 68 1.49932 1 238 312 165 91 0.504801 1 0 181 226 90 0.404986 -1 0 0 240 171 0.158534 1 207 155 233 129 -0.1988589 1 195 278 250 139 -0.50933 1 - 89 0 328 119 -0.570692 1 0 295 422 154 -0.922104 1 -