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

Merge 4.x #2768

Merged
merged 51 commits into from
Nov 29, 2020
Merged

Merge 4.x #2768

merged 51 commits into from
Nov 29, 2020

Conversation

alalek
Copy link
Member

@alalek alalek commented Nov 27, 2020

#2610 from EricFlorin:VizWindowNamePrepend_Contrib
#2619 from akashsharma02:submap
#2664 from archit120:julia_calib3d
#2671 from riskiest:color-calibration
#2690 from pauljurczak:patch-2
#2698 from DumDereDum:new_HashTSDF_implementation
#2713 from crownedone:tbmr_features
#2716 from tsukada-cs:feature/fld-is_edge-option
#2722 from DumDereDum:tsdf_integrate_replacement
#2725 from DumDereDum:integrateVolumeUnit_fix
#2728 from alalek:fix_uninitialized_var
#2729 from sunitanyk:master
#2730 from GArik:rgbd
#2732 from alalek:support_ceres_2.0.0
#2733 from alalek:fix_sfm_memory_leak
#2737 from alalek:tracking_api
#2740 from alalek:3.x_support_ceres_2.0.0
#2748 from alalek:text_drop_ambiguous_api
#2749 from Bleach665:fix_win_vs2019
#2751 from akashsharma02:master
#2752 from berak:phase_unwrapping_input_type
#2753 from alalek:video_tracking_api
#2755 from alalek:fix_sfm_build_std_move
#2758 from CEvangelist:3.4
#2762 from chargerKong:vizdoc
#2764 from alalek:4.x-xcode12

Main PR: opencv/opencv#18951

archit120 and others added 30 commits September 9, 2020 15:10
…ation functions with UsacParams parameter; just skip this overloaded variant

* added colors to chessboard_corners.jl sample
[GSoC] Add Submaps and PoseGraph optimization for Large Scale Depth Fusion

* - Add HashTSDF class
    - Implement Integrate function (untested)

* Integration seems to be working, raycasting does not

* Update integration code

* Integration and Raycasting fixes, (both work now)

* - Format code
- Clean up comments and few fixes

* Add Kinect Fusion backup file

* - Add interpolation for vertices and normals (slow and unreliable!)
- Format code
- Delete kinfu_back.cpp

* Bug fix for integration and noisy odometry

* - Create volume abstract class
- Address Review comments

* - Add getPoints and getNormals function
- Fix formatting according to comments
- Move volume abstract class to include/opencv2/rgbd/
- Write factory method for creating TSDFVolumes
- Small bug fixes
- Minor fixes according to comments

* - Add tests for hashTSDF
- Fix raycasting bug causing to loop forever
- Suppress warnings by explicit conversion
- Disable hashTsdf test until we figure out memory leak
- style changes
- Add missing license in a few files, correct precomp.hpp usage

* - Use CRTP based static polymorphism to choose between CPU and GPU for
HashTSDF volume

* Create submap and submapMgr
Implement overlap_ratio check to create new submaps

* Early draft of posegraph and submaps (Doesn't even compile)

* Minor cleanup (no compilation)

* Track all submaps (no posegraph update yet)

* Return inliers from ICP for weighting the constraints
(Huber threshold based inliers pending)

* Add updating constraints between submaps and retain same current map

* Fix constraints creation between submaps and allow for switching between
submaps

* - Fix bug in allocate volumeUnits
 - Simplify calculation of visibleBlocks

* Remove inlier calculation in fast_icp (not required)

* Modify readFile to allow reading other datasets easily

* - Implement posegraph update, Gauss newton is unstable

 - Minor changes to Gauss newton and Sparse matrix. Residual still
increases slightly over iterations

* Implement simplified levenberg marquardt

* Bug fixes for Levenberg Marquardt and minor changes

* minor changes

* Fixes, but Optimizer is still not well behaved

* Working Ceres optimizer

* - Reorganize IO code for samples in a separate file
- Minor fix for Ceres preprocessor definition
- Remove unused generatorJacobian, will be used for opencv implementation
of levenberg marquardt
- Doxygen docs fix
- Minor preprocessor fixes

* - Reorganize IO code for samples in a separate file
- Minor fix for Ceres preprocessor definition
- Remove unused generatorJacobian, will be used for opencv implementation
of levenberg marquardt
- Doxygen docs fix
- Minor preprocessor fixes
- Move inline functions to header, and make function params const
references

* - Add Python bindings for volume struct
- Remove makeVolume(const VolumeParams&) Python binding due to compilation
issues
- Minor changes according to comments

* - Remove dynafu::Params() since it is identical to kinfu::Params()
- Use common functions for dynafu_demo
- Suppress "unreachable code" in volume.cpp

* Minor API changes

* Minor

* Remove CRTP for HashTSDF class

* Bug fixes for HashTSDF integration
…ation

New HashTSDF implementation

* create new variables

* rewrite reset()

* first valid version of new HasHTSDF

* some warning fixes

* create lambda raycast

* reduce time raycast

* minor fix

* minor fix volDims

* changed _atVolumeUnit, reduce memory consumption

* delete older inmplemetation of atVolumeUnit

* changes _at

* AAA, I want to cry!

* it works!

* it works twice o_o

* minor fix

* new adding to volumes

* delete volDims at strust VolumeUnit

* new names of vars

* rename one var

* minor fix

* new resize volumes

* rename volUnitsMatrix

* minor fix in at function

* add tsdf_functions.hpp

* minor fix

* remove two args at _at function signature

* solved the link problem with tsdf_functions

* build fix

* build fix 1

* build fix 2

* build fix 3

* build fix 4

* replace integrateVolumeUnit to tsdf_functions and fix 2 warnings

* docs fix

* remove extra args at atVolumeUnit signature

* change frame params checking

* move volStrides to CPU class

* inline convertion functions in tsdf_functions

* minor fix

* add SIMD version of integrateVolumeUnit

* fix something :)

* docs fix

* warning fix

* add degub asserts

* replace vars initialization with reset()

* remove volDims var

* new resize buffer

* minor vars name fix

* docs fix

* warning fix

* minor fix

* minor fix 1

* remove dbg asserts

Co-authored-by: arsaratovtsev <[email protected]>
…ment

Tsdf integrate replacement

* replase invoker with integrateVolumeUnit

* remove extra code

* bug fix

* minor fix

* it works!

Co-authored-by: arsaratovtsev <[email protected]>
Fixes two errors when building with the options WITH_CUDA=ON and BUILD_CUDA_STUBS=ON on a machine without CUDA.

In the cudaarithm module, make sure cuda_runtime.h only gets included when CUDA is installed.

In the stitching module, don't assume that cuda is present just because cudaarithm and cudawarping are present (as is the case when building with the above options).

original commit: opencv/opencv@22ee5c0
…tion

Added edge input feature to fast_line_detector

* add is_edge option on fast_line_detector

* Fixed function declarations

* Added is_edge test

* Add input_edge option to createFastLineDetector().

Deleted is_edge option from detect().

* Fixed the Docs issue (whitespace opencv_contrib).

* Fixed Docs issue.

* Added assertion check on canny_aperture_size = 0.

Removed the input_edge option from createFastLineDetector().

* fixed Docs and coding style
integrateVolumeUnit fix

* replace int with Point3i at integrateVolumeUnit signature

* Update hash_tsdf.hpp

* Update hash_tsdf.cpp

* Update hash_tsdf.cpp

* error fix

* minor fix
Fixes the following compiler error:

  rgbd/test/test_dynafu.cpp:44:17: error: 'Params' is not a member of 'cv::dynafu'
     44 |     Ptr<dynafu::Params> params;
        |                 ^~~~~~
…ontrib

* Edited Documentation

Edited the Viz "getWindowByName" documentation so it reflects the actual behaviour of getWindowByName. More specifically, that "Viz - " is not prefixed automatically to the window name given by the user if they haven't prefixed "Viz - " already.
Added Python wrapping and documentation for alphamat module

* updated documentation with more results for alphamat module

* Updated the image links in the tutorial

* Included cite
alalek and others added 21 commits November 17, 2020 12:00
- simplify Tracker API
- fix perf tests (don't measure video decoding)
tracking: move Tracking API to the main repository
Tbmr features (purely topological adaptation on MSER)

* initial commit

* fix test data reusing stereomatching testdata.

* fix incorrect function, ellipse notation, types and comments.

* add required precomp.hpp, fix warnings.

* fix naming

* remove ocl for now. (we want to add opencl functionality later)

* update readme

* fix invalid module dependency.

* add angle, minAxis and majAxis calculation.

* formatting fixes.
restructure component tree calculation.
remove sort_indexes by using cv::sortIdx.

* fix test using virtual data.

* move tbmr to xfeatures2d. Add standard tests in xFeatures2d.

* octave/scale and descriptor extraction using sift added

* try fix the errors

* fix parameter error

* add scale for pyramid extraction and filter scaled points for duplicates.

* fix exports

* remove unrelated changes due to indentation

* remove unrelated indentation changes in tests

* externalize msd_pyramid
add export wrappers

* exchange malloc/calloc with AutoBuffer

* fix warning
fix correct license text
The UTF-8 string u8"…" causes following errors when building under VS2019:
C2001  newline in constant
C2143 syntax error: missing ';' before '}'
C2146 syntax error: missing ';' before identifier 'str'
Color Calibration Algorithm Implementation Revised

* Add utils, io helpers, the operations for linearization and distance

* Add the code for color, colorspace, linearization and ccm computation

* Add sample code for color correction

* Add the dependency to opencv_imgcodes in CMakeLists.txt

* Add the color correction tutorial, introducing build steps and
parameters

* Add sample code to color correction tutorial

* Add color correction algorithms introductions

* Update color_correction_model.markdown

* Fix warnings of whitespace, undeclared function, shadow variables.

* Fix the warnings of shadow variables, unused variable in base class.
Fix the error whitespace and 'EOF' on the docs.

* Fix the warnnings on win & macos

* Fix bugs & support Vinyl ColorChecker

* fix shadow variables warning & code style

* update document for sample

* update license

* fix linearize.hpp

* Add basic io, utils, operations helpers.
Implement color distance.

* Implement color, colorspace, linearization and ccm features.

* Add the dependencies to opencv_imgcodecs in CMakeLists.txt

* Add color correction model sample code.
Co-authored-by: Chenqi Shan <[email protected]>

* Add the index markdown of color correction tutorial.

Co-authored-by: Chenqi Shan <[email protected]>

* Add the introduction for color correction sample.

* Split operations into .hpp and .cpp

* Split mcc, color, colorspace and linearize into .cpp & .hpp

* Update test cases

* Split distance, io and utils into cpp & hpp.
Refer ccm.hpp in entrypoint header and update realted refs in sampe & tutorial

* add static method

* fix shared_ptr

* fix markdown for new version

* delete useless include message

* update unittests

* update docs & fix bugs for InitialwhiteBalance()

* update doc for doxygen

* update doc&DigitalSG

* replace whitespace for utils.hpp&color.hpp

* update getilluminants,imgcodes,

* Fix Mat wrapper over data from C arrays, fix doxygen's @snippet instead of direct code.

* remove array from color.h

* remove hpp from include/mcc/

* add hpp to opencv/model/mcc/

* dst unsolved

* remove bugs about dst

* add make passed

* update codes using the structure "impl"

* update documents

* update ccm member for class ColorCorrectionModel

* remove  macro CV_EXPORTS_W for codes in src/*.hpp

* move class Impl private

* remove unnesasary notice

* remove trailing whitespace

* update documents&samples

* move typedef MatFunc into class and move dead codes

* minimize list of required headers, add getCCM() method

* move type: information for parameters

* move underscores _ in public headers

* add @defgroup for ccm

* move <iostream> and add getloss() method for class ColorCorrection Model

* update sample/color_correction_model.cpp

* add getIOs() function for minimize initialization of IO variables

* mcc(ccm): apply clang-format

* mcc(ccm): fix documentation, code style

* remove duplicate enum values

* add prefixes for enum values

* update codes using cv_Error

* update test_ccm file

* update test_ccm file

* update sample --help

* mcc: reduce global initializers

* update function naming style

* update formulas and note for ccm.hpp

* add const value

Co-authored-by: Chenqi Shan <[email protected]>
Co-authored-by: Jinheng Zhang <[email protected]>
Co-authored-by: Zhen Ju <[email protected]>
Co-authored-by: Longbu Wang <[email protected]>
Co-authored-by: shanchenqi <[email protected]>
Add depth_factor argument in rescaleDepth and typedef dynafu::Params for backwards compatibility

* Add depth factor argument (default = 1000.0) to rescaleDepth to
potentially support TUM type datasets

* typedef dynafu::Params as kinfu::Params for compatibility
@alalek
Copy link
Member Author

alalek commented Nov 29, 2020

👍

@alalek alalek merged commit b4459e1 into opencv:next Nov 29, 2020
@alalek alalek mentioned this pull request Apr 9, 2021
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.