Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added perf_test and test based on distance and overlap for tracking API #4

Merged
merged 1 commit into from Nov 13, 2013

Conversation

lenlen
Copy link
Contributor

@lenlen lenlen commented Oct 28, 2013

Added OPE tests tracking

  • Reinitialized random number generator (TrackerMIL and TrackerBoosting)
  • Removed unused meanSigmaPair

Changed sample tracker.cpp with a list of images instead the video file

Modified OPE tests tracking

  • The overlap threshold varies from 0.0 to 1.0
  • The location error threshold varies from 0 to 50

Changed name for the tests

Removed unused field

Enlarged first rect of 10% respect the ground truth

Added TRE test

TRE test for the temporal robustness evaluation

Added SRE Test (spatial robustness evaluation)

  • Removed the enlargment of the first frame
  • TRE corrected the computation of the distance and the overlap
  • TrackerBoosting changed the search factor

Fixed last segment in test TRE

First stub for regression test

Added test for faceocc2

Added perf_test for mil and boosting trackers

Modified SANITY_CHECK with ERROR_RELATIVE

@lenlen
Copy link
Contributor Author

lenlen commented Oct 28, 2013

The test are based on [1]. I have developed three types of test:
1-OPE one-pass evaluation
2-TRE robustness evaluation
3-SRE spatial robustness evaluation
These tests check the differences on the euclidean distance and the ratio of the overlap between the tracking rectangle and the ground truth rectangle.
The thresholds are dynamic: the distance starts from 0 pixel up to 50px, the overlap starts from 0% up to 100%.

I have a doubt. I put the dataset with three sets of images sequence in my branch of opencv_extra with the agreement of the authors [1].
So if one uses the test of tracking module, he must have the images sequence in opencv_extra. How can we organize the work?
I'll make a pull request in opencv_extra or is needed a new opencv_extra contrib repository?

[1] Wu, Yi, Jongwoo Lim, and Ming-Hsuan Yang. "Online Object Tracking: A Benchmark." in Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on. IEEE, 2013.

@bhack
Copy link

bhack commented Nov 8, 2013

@kirill-kornyakov Is there any new on this? We need to handle another opencv-extra-contrib repo?

@kirill-korniakov
Copy link

Sorry for the delay. I was kind of busy with 2.4.7 and other activities. Going to reply by Monday...

@kirill-korniakov
Copy link

Well, this pull request requires adding of 76Mb images to the opencv_extra. This is probably too much, and people will resist to commit such a big update...

At the same time I do not want us to create a separate repository for the contributed testdata. It may confuse people even more, so better to have only one opencv_extra. However, we should minimize the size of the testdata somehow.

Can we encode image sequences into videos?

@lenlen
Copy link
Contributor Author

lenlen commented Nov 11, 2013

If it is possible, I'd like to maintain consistency of structure of the dataset with the authors of the benchmark, because possibly they can modified it and we need every time to encode video. David has 13 mb, so if I remove dudek and faceocc images could be ok?

@kirill-korniakov
Copy link

13mb should be OK.

But what is wrong with the video encoding? If we see any differences in any of the sequences, we can easily create a new video with a simple command line. Of course updating of some random frames will be faster than uploading a new video, but I don't think that authors will modify some individual frames. Most likely they will regenerate the whole thing (resize, stronger/weaker compression, etc).

So, please consider video encoding once again. But if you don't like this approach, we can proceed with 13mb of images.

Added OPE tests tracking

- Reinitialized random number generator (TrackerMIL and TrackerBoosting)
- Removed unused meanSigmaPair

Changed sample tracker.cpp with a list of images instead the video file

Modified OPE tests tracking

- The overlap threshold varies from 0.0 to 1.0
- The location error threshold varies from 0 to 50

Changed name for the tests

Removed unused field

Enlarged first rect of 10% respect the ground truth

Added TRE test

TRE test for the temporal robustness evaluation

Added SRE Test (spatial robustness evaluation)

- Removed the enlargment of the first frame
- TRE corrected the computation of the distance and the overlap
- TrackerBoosting changed the search factor

Fixed last segment in test TRE

First stub for regression test

Added test for faceocc2

Added perf_test for mil and boosting trackers

Modified SANITY_CHECK with ERROR_RELATIVE

In xml generated added the ratio between of the correct bounding box (based on dynamic threshold)

OPE Test: works with video and not with sequence of images

TRE Test: works with video and not with sequence of images

SRE Test: works with video and not with sequence of images

Perf test: works with video and not with sequence of images

Removed unused file

sample tracker.cpp: works with video and not with sequence of images
@lenlen
Copy link
Contributor Author

lenlen commented Nov 12, 2013

@kirill-kornyakov I have combined the images in a video files and I made a pull request:
opencv/opencv_extra#95
I had to change test, perf_test e the tracker.cpp sample in order to use the new inputs

@kirill-korniakov
Copy link

15Mb is much better than 76 :)

Please finish the test updating, and we'll merge both pull-requests.

@lenlen
Copy link
Contributor Author

lenlen commented Nov 13, 2013

@kirill-kornyakov the implementation for test end perf_test is complete

@kirill-korniakov kirill-korniakov merged commit 7c4aead into opencv:master Nov 13, 2013
ArtemSkrebkov added a commit to ArtemSkrebkov/opencv_contrib that referenced this pull request Oct 13, 2014
tucna added a commit to tucna/opencv_contrib that referenced this pull request Aug 20, 2015
fixes

fixed compile error and warning

Remove AGAST (for merger to upstream opencv)

wrapping remaining xfeature2d classes to scripting

added test for http://code.opencv.org/issues/3943;
replaced "const InputArray" with "InputArray" to avoid warnings about "const const _InputArray&"

added test for http://code.opencv.org/issues/3943;
replaced "const InputArray" with "InputArray" to avoid warnings about "const const _InputArray&"

adding LATCH

fixed warnings in LATCH

fixed errors

fixed warnings

fixed warnings2

fixed warnings3

fixed warnings4

fixed warnings5

added description of LATCH and fixed indentation

cleaned the code a bit

added tests and renamed LATCH

Code to grab the red lined polygon from Google Maps

added python support and completed documentation

figure update

added stdout welcome message and fixed warning

fixed warning

text enhancement

trying to fix python wrapper warning on win64

trying to solve pyhton warnings

bugfix4269 included remarks in http://answers.opencv.org/question/59293/problem-with-example-motemplcpp/

Replace tab with four space

Add rotation invariance option for BRIEF descriptor.

Fix docs and repush for buildbot.

Bug fix for feature extraction

According to CartToPolar() function documentation, result angles could be in range (0..360). To prevent index overflow this check is important.

Adding edge-aware disparity filtering

Added basic interface and demo for disparity filtering, added unoptimized fast weighted least
squares filter implementation. Current demo tests domain transform, guided and
weighted least squares filters on a dataset, measures speed and quality.

Fix for Bug 4074. This seems to be just a typo-error, because the Tesseract API can handle correctly with RGB images (double-checked and it works).

Fix for Bug opencv#3633: do away with "quads [2][3] = 255;" The four lowest bits in each quads[i][j] correspond to the 2x2 binary patterns Q_1, Q_2, Q_3 in the NM paper [1] (see in page 4 at the end of first column). Q_1 and Q_2 have four patterns, while Q_3 has only two.

added INRIA pedestrian dataset

autowbGrayworld: include+src+test+testdata+sample

Add saturation based thresholding to grayworld WB

Add basic perf tests for grayworld

Add more doxygen comments

Suppress uchar conv related warning on Windows

Apply fixes suggested by Vadim

Be more correct with int types

Remove dangling N_good++

Use cvRound to suppress Windows warnings

remove floor call

vs2010 does not know, ceil, floor, round and friends.

also, those are plain integer divisions, that do not need floor at all.

New stereo module created and added some relevant files for this module

Update README.md

made some extra changes to the modules so I receive no warnings

moved the opencv2/core/private.hpp from stereo_binary_sgbm.cpp to precomp.hpp

fix for issue opencv#195

avoid overflow in histogram access

SurfaceMatching: OpenMP indices

Fixes compiler error: "index variable in OpenMP 'for' statement must have signed integral type"

Adding confidence support and optimizing disparity filtering

DisparityWLSFilter demonstrated the best results, so I removed all the other
filters. Quality was significantly improved by adding confidence support
to the filter (left-right consistency + penalty for areas near depth discontinuities).
Filter was optimized using parallel_for_ and HAL intrinsics. Demo application was
rewritten for better compliance with OpenCV standards. Added accuracy and
performance tests. Documentation was added, as well as references to the
original papers.

added PASCAL VOC dataset

+ add KCF Tracker, initial commit, added: tutorial, trackerKCF.cpp, modified: tracker.cpp, tracker.hpp

adding the resize feature

References for KCF tracker and KCF-CN  tracker

Unified the formatting

Fixed: ROI extraction when the given ROI is out of image; made the max_patch_size to be adjustable; add the CN feature extraction method

Removing all shadowing variables, make functions to const, make the table of color-names become static

change the color-names table to const

Add a framework for choosing the descriptor

Added error message for descriptor other than GRAY

Added new line at end of file

Fixing the ColorNames table initialization

Fixed warning: conversion from double to int

Updated the support for color-names features and fixing some typos

Fixing the tabulation

Split the training coefficient into numerator and denumerator

Added the feature compression method

Fixing some indentations

Fixing some indentations

Fixing alignments

Fixing some alignments

Use Doxigen format

Remove whitespaces

Removing whitespaces in featureColorName.cpp

Add an example code for the KCF tracker

update the header in example/kcf.cpp

Updating the rectangle drawing, avoid warning from variable conversion

Added doxygen documentations

Fixing warnings

remove warnings

Fixing some warnings

TLD Fixes & Optimizations

1. TLD now have module structure
2. Made some small code optimizations
3. Fixed Ensemble Classifier according to the original paper - 10
randomized ferns
4. Added comments to most of the functions and methods

Added test on TLD Dataset

Added BSD-compatible license

Added BSD-compatible license to some files

Fixed header

Fixed build error

Fix

Fix opencv#2

Fix opencv#3

Fix opencv#4

Fixed Warnings opencv#1

Fixed Warnings opencv#2

Fixed Warnings opencv#3

Shadow Fix

Fixing whitespaces

Fixing whitespaces opencv#2

Fixing whitespaces opencv#3

Adds a first implementation of the OCRBeamSearchDecoder class using the Single Layer CNN character classifier described in Coates, Adam, et al. paper: Text detection and character recognition in scene images with unsupervised feature learning, ICDAR 2011

Add a demo program for the OCRBeamSearchDecoder class and needed data files

trailing whitespaces

fix compilation warnings

fix win64 compilation error: arrays must be defined with compile-time fixed size :)

fix doxygen warnings

Fix for opencv#278 - core dump in the case of no match results.

Modified reported poses by constraining to the number of poses found.

ulong -> size_t

fixed warnings in the tracking module

Added OCL versions of Sr and Sc functions

2-nd level of parallelization + detector remake

1. Added 2-nd level of parallelization of NN on OpenCL
2. Restructured detector - now all filters work independently:
Variance Filter->Ensemble->NN,  through "buffers"

Warnings Fix opencv#1

Fixing Warnings opencv#2

Fixing Warnings opencv#3

Fixing Warnings opencv#4

Fixing Warnings opencv#5

Fixing Warnings opencv#3

Fixing Warnings opencv#4

Fixing Warnings opencv#5

Added OCL version of "integrateAdditional" function

Whitespace Fix

Transparent API Support

Fixing Warnings

Fixed bug in LSDDetector where mask doesn't remove all undesired lines

Fixing GCC 4.9 warning

Fix memory leak bug #4420

Fix bug #4373: Error (Assertion failed in resize) when passing very elongated contours to the recognition module

make sources compile again on MSVC 2012 (VC 11) by adding round()

fix suffix that was in-compatible with MSVC 2012 (VC 11)

eliminate some warnings

use better condition for checking if compiler supports round()

fixing facerecognizer tutorials and interface

Adds createOCRHMMTransitionsTable() utility function to create a tailored language model transitions table from a given list of words (lexicon)

update to use the new createOCRHMMTransitionsTable() function, and fix program description in header comments

fix Winx64 warnings

Better CNN model for character recognition. Trained with an augmented dataset by adding translation/scale variations. Updated the croped word recognition with new class numbering (compatible with previous NM classifier).

Overload the run() method in BaseOCR class in order to adapt to different classifier callbacks. The original run() method accepts only one Mat input image, this is expected to be a binarzed image with black and white text and works both with the OCRTesseract class and the OCRHMMDecoder class when the character classifier callback works with binary images (e.g. NM). The new run() method accepts two Mat input parameters. One for the gray scale (or color) source image and the other for a binary mask where each connected component corresponds to a pre-segmented character in the input image. This way the OCRHMMDecoder is able to work with character classifiers that operate in grey scale (or color) images (e.g. a CNN).

Adds example on segmented word recognition. Shows the use of the OCRHMMDecoder with the NM and CNN default classifiers.

Minor bugfix: removes unwanted space character at the begining of recognition output strings.

Fix w64 warnings

Fix w64 warnings

Improving DisparityWLSFilter interface and adding a tutorial

Now the filter natively supports StereoBM and StereoSGBM with no
parameter tuning required. Also, now user won't need to set the ROI and
the right matcher parameters manually, it is all done in the respective
convenience factory method based on the left matcher instance. Tutorial
was added to clarify the provided example of use.

doc update
@inferrna inferrna mentioned this pull request Sep 18, 2015
opencv-pushbot pushed a commit that referenced this pull request Nov 3, 2015
Auron-X added a commit to Auron-X/opencv_contrib that referenced this pull request Jun 25, 2016
berak added a commit to berak/opencv_contrib that referenced this pull request Dec 24, 2017
berak added a commit to berak/opencv_contrib that referenced this pull request Dec 26, 2017
@zhanglaplace zhanglaplace mentioned this pull request Apr 6, 2021
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants