Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@savuor
Copy link
Contributor

@savuor savuor commented Apr 18, 2024

fixes #25336

Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

  • I agree to contribute to the project under Apache 2 License.
  • To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
  • The PR is proposed to the proper branch
  • There is a reference to the original bug report and related work
  • There is accuracy test, performance test and test data in opencv_extra repository, if applicable
    Patch to opencv_extra has the same branch name.
  • The feature is well documented and sample code can be built with the project CMake

@asmorkalov
Copy link
Contributor

asmorkalov commented Apr 19, 2024

@vpisarev @opencv-alalek Could you take a look current state? The performance test makes iterations on different input for solve/SVD, but not the same parameters each time. Is it allowed behaviour of the test? Each iteration of performance test has different behaviour internally and the test may not converge in sense of statistics distribution.

@savuor savuor marked this pull request as ready for review April 23, 2024 10:21
}

// generates random vectors, performs Gram-Schmidt orthogonalization on them
Mat randomOrtho(int rows, int ftype, RNG& rng)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gram-Schmidt is known to produce huge rounding errors. Use QR decomposition instead and remove the 'R' part.

Copy link
Contributor Author

@savuor savuor Apr 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. We don't need exact orhogonalization, just some random orthogonal matrix
  2. I've checked its orthogonality (A^T*A-Ias well as A*A^T-I) and its in acceptable epsilon bounds
  3. The only QR decomposition we have is in cv::hal namespace, I'm not sure whether it's OK to use it in test even if it's exposed to public API

@asmorkalov asmorkalov self-assigned this Apr 27, 2024
@asmorkalov asmorkalov merged commit 357b9ab into opencv:4.x Apr 27, 2024
@savuor savuor deleted the rv/svd_perf branch April 28, 2024 22:30
klatism pushed a commit to klatism/opencv that referenced this pull request May 17, 2024
Perf tests for SVD and solve() created opencv#25450

fixes opencv#25336

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
@mshabunin mshabunin mentioned this pull request Jun 14, 2024
savuor added a commit to savuor/opencv that referenced this pull request Nov 5, 2024
Perf tests for SVD and solve() created opencv#25450

fixes opencv#25336

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
savuor added a commit to savuor/opencv that referenced this pull request Nov 8, 2024
Perf tests for SVD and solve() created opencv#25450

fixes opencv#25336

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
savuor added a commit to savuor/opencv that referenced this pull request Nov 21, 2024
Perf tests for SVD and solve() created opencv#25450

fixes opencv#25336

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

SVD and cv::solve() are not covered with performance tests

4 participants