Commit Graph

655 Commits

Author SHA1 Message Date
Olexa Bilaniuk
5748cea80d Removed unnecessary precision in damped Cholesky decomposition.
Cholesky decomposition is stable; It is not necessary to carry it out
internally at double precision if the result will be truncated to single
precision when stored.
2015-02-26 21:47:29 -05:00
Vladislav Vinogradov
44e41baffe use new functions before all tegra:: calls 2015-02-26 19:34:58 +03:00
Dmitry-Me
2311504c44 Reduce variables scope 2015-02-25 10:38:44 +03:00
Olexa Bilaniuk
f454929d9c PRNG changes: xorshift128+ algorithm, and seeding API.
- Switched to the extremely fast, while simple and high-quality,
xorshift128+ PRNG algorithm by Sebastiano Vigna in "Further scramblings
of Marsaglia's xorshift generators. CoRR, abs/1402.6246, 2014" (2^128-1
period, passes BigCrush tests). Performance improved by 10% over
random().
- Added an API to allow seeding with a specified seed, rather than using
rand() or random(). This allows deterministic, reproducible results in
tests using our algorithm (although findHomography() does not yet
support passing an entropy source on its own end).
2015-02-21 12:31:55 -05:00
Olexa Bilaniuk
0ea009f611 Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-02-20 08:26:04 -05:00
Olexa Bilaniuk
f148f23382 Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-02-18 21:04:39 -05:00
Maksim Shabunin
da383e65e2 Remove deprecated methods from cv::Algorithm 2015-02-16 15:28:54 +03:00
Vadim Pisarevsky
edab3916aa Merge pull request #3696 from Dmitry-Me:shouldPassByReference 2015-02-16 11:29:22 +00:00
Vladislav Vinogradov
a932d8aba1 use full qualified name for all internal namespaces to prevent ambiguous symbol errors 2015-02-16 11:31:21 +03:00
Olexa Bilaniuk
e5696bc5e6 Whitespace change reverts to minimize delta w.r.t master. 2015-02-13 08:07:15 -05:00
Hamid Bazargani
e22678018b Fix sacCalcJacobianErrors arguments. (curr.inl replaced with best.inl)
Fix the issue given NULL inlMask
2015-02-13 00:30:18 -05:00
Hamid Bazargani
42176f8eb1 Fix sacCalcJacobianErrors arguments. (curr.inl replaced with best.inl)
Fix the issue given NULL inlMask
2015-02-13 00:09:37 -05:00
ASUS
9a555063e8 Fix sacCalcJacobianErrors arguments. (curr.inl replaced with best.inl)
Fix the issue given NULL inlMask
2015-02-12 23:34:48 -05:00
ASUS
6b04351ce1 Merge branch 'accuracy' of https://github.com/obilaniu/opencv into accuracy
Conflicts:
	modules/calib3d/src/rhorefc.cpp
2015-02-12 21:27:08 -05:00
ASUS
6dbf13d7b5 saveBestModel() is modified. accuracy test is passed. 2015-02-12 21:22:52 -05:00
Olexa Bilaniuk
ff2509af56 Fixed printouts in testcase to blame the correct method for a failure.
Previously, certain test failures by the method RHO would result in an
error blaming RANSAC instead. The fix involves a parameter change to
several functions in test_homography.cpp.
2015-02-12 14:42:37 -05:00
Dmitry-Me
c3f8fc41b7 Parameters should have been passed by reference 2015-02-12 17:32:43 +03:00
Olexa Bilaniuk
ccd33a721e Fixed build failures related to designSPRTTest(). 2015-02-07 01:19:40 -05:00
Olexa Bilaniuk
adac8c04bb Converted to C++ style, + bugfixes.
The code has been refactored in response to feedback on Pull Request

Also, outputZeroH() now also zeroes the inlier set, much like
outputModel().
2015-02-07 00:56:58 -05:00
Olexa Bilaniuk
87c2b8197a Bug fixes in mask output.
Previously, the output mask of inliers could remain completely
uninitialized. This fix is the first part of a solution.
2015-02-05 02:18:41 -05:00
Olexa Bilaniuk
b90800f0c7 Corrected typo in comment.
The inverted JtJ does not multiply itself, but rather Jte. Correct this
in the comment.
2015-02-04 12:12:14 -05:00
Olexa Bilaniuk
2609e77af7 Silence spurious loss-of-data warnings from Windows.
Added explicit casts to silence warnings in fundam.cpp and rhorefc.cpp.
2015-02-04 02:26:01 -05:00
Olexa Bilaniuk
ce0570b777 Splitting vectorized code into separate branch.
Deleted SSE code from master branch.
Slight cleanups in fundam.cpp were made as a consequence.
2015-02-03 23:33:52 -05:00
Olexa Bilaniuk
69b146412a Edited Doxygen documentation in the module calib3d.
Added a mention within calib3d.hpp that the flag RHO is available as an
option on calls to findHomography().
2015-02-03 22:55:40 -05:00
Olexa Bilaniuk
8907e6feac Merge remote-tracking branch 'refs/remotes/upstream/master' into rho 2015-02-03 22:50:45 -05:00
Vadim Pisarevsky
bd4580a242 Merge pull request #3589 from JBosch:master 2015-01-21 10:46:53 +00:00
Olexa Bilaniuk
045f8294bb Merge remote-tracking branch 'refs/remotes/upstream/master' into rho 2015-01-20 13:11:09 -05:00
Olexa Bilaniuk
02124f19e6 Further LevMarq improvements.
Implemented a damping-parameter choice strategy similar to that
described in http://www2.imm.dtu.dk/documents/ftp/tr99/tr05_99.pdf.
Removed a few debug statements.
Chosen a new starting lambda value, 0.01.
We now actually output the mask of inliers.
2015-01-15 04:21:16 -05:00
Olexa Bilaniuk
ff91af825d LevMarq made semi-functional.
Replaced the complex rules OpenCV uses to select lambda with a naive but
fast heuristic. It's imperfect but produces good results. It is still
subject to the same problem as OpenCV - namely, on occasion LevMarq will
make a poor result even worse.
2015-01-14 04:22:48 -05:00
Olexa Bilaniuk
4401095b38 Optimizations to Jacobian and error calculations.
Deleted multiplications by zero and consequent additions of zero terms.
2015-01-12 11:33:05 -05:00
Olexa Bilaniuk
7fca146b21 More LevMarq bugfixes.
LevMarq now doesn't outright fail, but doesn't seem to improve things
much if at all.
2015-01-12 05:37:40 -05:00
Olexa Bilaniuk
33a3fba2d1 Work on LevMarq code.
Refactoring of Cholesky decomposition.
Fix for memory corruption bug.
LevMarq as a whole still non-functional.
2015-01-12 04:58:07 -05:00
Olexa Bilaniuk
c175a86cbb Merge remote-tracking branch 'upstream/master' into rho 2015-01-12 02:11:14 -05:00
Timur Sattarov
4762728fd5 More sensible error messages 2015-01-11 03:56:07 +04:00
Josep Bosch
75c99d65a5 Fisheye calibration methods available now in python 2015-01-09 10:05:36 +01:00
Vadim Pisarevsky
1c8493fb0d Merge pull request #3549 from mshabunin:sphinx-doc-remove 2014-12-31 09:14:22 +00:00
Olexa Bilaniuk
46631c4b18 Merge remote-tracking branch 'upstream/master' into rho 2014-12-29 20:55:24 -05:00
Julien Nabet
2d5e3b57ea Fix cppcheck reports warnings:
(performance) Possible inefficient checking for 'lmap' emptiness
(warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
(style) Array index '<xxx>' is used before limits check
2014-12-27 10:54:34 +01:00
Maksim Shabunin
d01bedbc61 Removed Sphinx documentation files 2014-12-26 19:12:19 +03:00
Maksim Shabunin
c485aee464 Included c-headers for better 2.4 compatibility 2014-12-19 17:05:26 +03:00
Olexa Bilaniuk
bcc630a8dc Merge remote-tracking branch 'upstream/master' into rho 2014-12-15 12:31:22 -05:00
Dmitry-Me
f269828160 Reduce variables scope, move declaration to first use point 2014-12-08 18:21:17 +03:00
Olexa Bilaniuk
51963f95dd Merge remote-tracking branch 'upstream/master' into rho 2014-12-05 15:56:33 -05:00
Dmitry-Me
cb049657e5 Prevent division by zero 2014-12-02 14:44:09 +03:00
Maksim Shabunin
03e213ccae Doxygen documentation: BiB references and fixes 2014-12-01 15:50:55 +03:00
Maksim Shabunin
1523fdcc1c Doxygen documentation: more fixes and cleanups 2014-12-01 15:50:36 +03:00
Maksim Shabunin
c5a698fb54 Doxygen documentation: calib3d and features2d modules 2014-12-01 15:47:13 +03:00
Olexa Bilaniuk
68e59d6154 [RHO] Initial commit of RHO algorithm for rapid homography estimation.
Implements the RHO algorithm as presented in

Paper: Bilaniuk, Olexa, Hamid Bazargani, and Robert Laganiere. "Fast
Target Recognition on Mobile Devices: Revisiting Gaussian Elimination
for the Estimation of Planar Homographies." In Computer Vision and
Pattern Recognition Workshops (CVPRW), 2014 IEEE Conference on, pp.
119-125. IEEE, 2014.

- Complete, heavily documented reference C implementation, as well as
temporarily disabled dirty SSE2 port.
- Enabled tests for RHO in test_homography; Currently these fail
presumably due to too-stringent accuracy requirements.
- Refinement and final refinement are not yet functional; Do not pass
their corresponding flags to RHO.
2014-11-17 15:06:08 -05:00
Alexander Duda
60cacbfd66 solvePnPRansac: fix mask generation 2014-11-09 23:10:43 +01:00
Alexander Duda
ed55d13112 PnPRansacCallback::computeError: fix count in case of Nx3 matrices 2014-11-09 23:08:47 +01:00
Pat O'Keefe
83ccdabe7e Add test for calib3d function decomposeProjectionMatrix(...) 2014-10-25 19:11:02 -06:00
vbystricky
21ad8e92d4 Optimize OpenCL version of StereoBM function
Fix problems on NVidia devices.
2014-10-23 20:18:53 +04:00
Vadim Pisarevsky
d2b9dc5530 quickly corrected the previous refactoring of features2d: moved from set(SOME_PROP, val) to setSomeProp(val) 2014-10-18 20:44:26 +04:00
Vadim Pisarevsky
4038beb67e fixed incorrect array access in solvepnp (which affected debug builds only) 2014-10-17 17:01:39 +04:00
Vadim Pisarevsky
1a809ca89b fixed msvc compile warning 2014-10-17 15:56:27 +04:00
Vadim Pisarevsky
1176d4ef84 fixed some more compile errors and test failures 2014-10-17 15:02:56 +04:00
Alexander Alekhin
af1d29db83 Merge pull request #3332 from lupustr3:pvlasov/implementation_detector 2014-10-16 14:51:53 +00:00
Vadim Pisarevsky
b30ad42609 Merge pull request #3270 from boaz001:patch-1 2014-10-16 10:09:28 +00:00
Boaz Stolk
ae81006eab Applied proposed fix 2014-10-15 22:36:38 +02:00
Pavel Vlasov
45958eaabc Implementation detector and selector for IPP and OpenCL;
IPP can be switched on and off on runtime;

Optional implementation collector was added (switched off by default in CMake). Gathers data of implementation used in functions and report this info through performance TS;

TS modifications for implementations control;
2014-10-15 14:24:41 +04:00
Vadim Pisarevsky
3b250d6e9c this is trivial change; the main change is in opencv_extra - added regression data for perf tests 2014-10-11 22:57:22 +04:00
edgarriba
4071c4e7c9 Updating to c++ interfaces 2014-10-11 01:44:46 +02:00
edgarriba
88aed15ffa Removing windows compilation crashes 2014-10-07 09:10:03 +02:00
edgarriba
f317d1277f Merge remote-tracking branch 'upstream/master' 2014-10-06 23:46:30 +02:00
edgarriba
2494e028c0 Updating upnp sanity heck 2014-10-06 18:18:03 +02:00
edgarriba
1709421c2c Updating sanity check 2014-10-06 17:43:01 +02:00
edgarriba
71dd9a6f1b Updating sanity check 2014-10-06 17:22:43 +02:00
edgarriba
862b675bee Updating sanity check 2014-10-06 16:23:21 +02:00
edgarriba
f328f9a10d Removing whitespaces 2014-10-06 14:53:06 +02:00
edgarriba
72fb85f6a0 Removing whitespaces 2014-10-06 13:01:23 +02:00
edgarriba
4d54f35a96 Updating documentation 2014-10-06 10:31:50 +02:00
edgarriba
d6bf209bb3 Updating for N=2 2014-10-06 10:28:04 +02:00
edgarriba
dc76ca5fc9 Updating documentation 2014-10-02 21:39:29 +02:00
edgarriba
7520544840 Return the estimated focal length 2014-10-02 17:05:42 +02:00
edgarriba
ea893bf9d9 Updating UPNP documentation 2014-10-02 17:05:06 +02:00
edgarriba
7429454171 Add UPNP acc_test and perf_test 2014-10-02 16:45:59 +02:00
edgarriba
a5b3a205d9 Add UPNP case + Modify model_points 2014-10-02 16:45:04 +02:00
edgarriba
84475ef1de UPNP code for N=1 2014-10-02 16:43:50 +02:00
edgarriba
71f4894d87 Added UPNP flag 2014-10-02 16:43:15 +02:00
Vadim Pisarevsky
e5ab0ac294 Merge pull request #3201 from PhilLab:patch-3 2014-09-14 18:49:35 +00:00
Philipp Hasper
62c704d1e9 Updated PnP parameter documentation 2014-09-09 12:24:05 +02:00
Philipp Hasper
cc7aa5890d Fixing documentation links 2014-09-08 14:41:29 +02:00
PhilLab
e95c33dd18 PnP solver: fixed element-wise access 2014-08-25 17:06:17 +02:00
Vadim Pisarevsky
887a950243 Merge pull request #3116 from shubhra:master 2014-08-22 07:15:40 +00:00
Vadim Pisarevsky
5afaa6b1e7 Merge pull request #3129 from PhilLab:patch-2 2014-08-21 05:30:17 +00:00
Shubhra Pandit
7b2a1d15cc Doc changes for feature changes 1544 and 1557 2014-08-20 20:49:50 -04:00
PhilLab
e09adc4fde Clarified parameter useExtrinsicGuess in solvePnP 2014-08-19 11:08:16 +02:00
edgarriba
deec233519 cleaned dls code 2014-08-19 00:56:13 +02:00
edgarriba
15704c384e cleaned dls code 2014-08-19 00:52:09 +02:00
edgarriba
2653d745fd updated sanity data 2014-08-19 00:35:22 +02:00
edgarriba
6ea73a5bff updated dls perf test 2014-08-19 00:22:08 +02:00
edgarriba
7e2bb63378 Merge branch 'master' of https://github.com/Itseez/opencv 2014-08-18 22:30:00 +02:00
edgarriba
620387fbe1 Update perf_pnp && ransac model points 2014-08-18 21:46:16 +02:00
Shubhra Pandit
6ca893be23 Adding feature 1544 and 1557
-cv::findHomography added a parameter for RANSAC iterations
 -cv::findHomography added a parameter for RANSAC confidence
2014-08-17 13:06:06 -04:00
Adil Ibragimov
8a4a1bb018 Several type of formal refactoring:
1. someMatrix.data -> someMatrix.prt()
2. someMatrix.data + someMatrix.step * lineIndex -> someMatrix.ptr( lineIndex )
3. (SomeType*) someMatrix.data -> someMatrix.ptr<SomeType>()
4. someMatrix.data -> !someMatrix.empty() ( or !someMatrix.data -> someMatrix.empty() ) in logical expressions
2014-08-13 15:21:35 +04:00
edgarriba
3c3d695d4d Perf test update 2014-08-12 18:29:43 +02:00
edgarriba
12f8d8069d removed old code 2014-08-12 16:49:19 +02:00
edgarriba
1dec1645e5 Merge branch 'master' of https://github.com/Itseez/opencv 2014-08-12 16:45:22 +02:00
edgarriba
de2861e7a9 DLS performance modifications 2014-08-12 16:20:22 +02:00
edgarriba
d1f4f6f4b8 DLS performance modifications 2014-08-12 16:15:19 +02:00