14.03.2019: Version 1.0.0 is released!

Regard3D 1.0.0 has been released! Please find it under the links provided in the Download page.


Changelog:

  • Upgraded to OpenMVG 1.4
  • Upgraded to OpenCV 4.0
  • Added new Incremental pipeline of OpenMVG
  • GPS information can be used now

 

It has been a long time since the previous release, but unfortunately I am quite busy with many other things. But this release brings a handful of very interesting features. For example, a new incremental SfM pipeline from OpenMVG 1.4 (the old one is still available), and the possibility to use GPS information. If available, it can be switched on at the triangulation stage. For now, the triangulated points will be in the ECEF coordinate system. This means that "up" (positive Z coordinate) is in the direction of the north pole, and the generated models will be rotated depending on where the pictures were taken.

 

The Windows version has been built with Visual C++ 2015 Update 3 Community Edition, including all third-party tools.

The Mac version has been built with Clang 3.9 (http://clang.llvm.org/), including all third-party tools.

27.01.2018: Version 0.9.5 is released

Regard3D 0.9.5 has been released! Please find it under the links provided in the Download page.


Changelog:

  • Path of user camera db can be set in properties
  • Fixed bug: Now Brown camera model can be used
  • New export to external MVS SURE (commercial tool by nFrames)

 

There is a new export for external third-party MVS, for a program called "SURE" by nFrames. It is a commercial tool meant for very big projects, usually too big for Regard3D. But if you want to evaluate SURE, you can now use Regard3D.


The Windows version has been built with Visual C++ 2015 Update 3 Community Edition, including all third-party tools.

The Mac version has been built with Clang 3.9 (http://clang.llvm.org/), including all third-party tools.

15.09.2017: Version 0.9.3 is released

Regard3D 0.9.3 has been released! Please find it under the links provided in the Download page.

Changelog:

 

 

  • Added user-defined camera sensor width database, added ability to set focus length
  • Added possibility to set camera model (Pinhole with various distortions, among them Fisheye)
  • Removed PCL (point cloud library) as a dependency
  • Fixed issue #9, JPEGs with EXIF data about camera orientation

 

The biggest change in this release is that you can now enter the sensor size of your cameras directly using the GUI! Regard3D stores this data in a database file. Whenever you load new pictures, this database is consulted first.

Also new is the usage of camera model (pinhole, fisheye). Fisheye model might be helpful for some action-cameras with fisheye distortion.

 

The Windows version has been built with Visual C++ 2015 Update 3 Community Edition, including all third-party tools.

 

The Mac version has been built with Clang 3.9 (http://clang.llvm.org/), including all third-party tools.

 

 

 

Known issues:

 

  • Triangulations created with a version before Regard3D 0.8.0 can still be loaded, but not used for densifications. Please create new triangulations.

04.01.2018: Version 0.9.4 is released

 

Regard3D 0.9.4 has been released! Please find it under the links provided in the Download page.


Changelog:

  • Upgraded to OpenMVG 1.3
  • Added SMVS as new densification tool
  • Added new algorithms for pairwise feature matching: KGraph, MRPT

 

SMVS is a relatively new Multiple-View-Stereo-Software developed by F. Langguth and others at TU Darmstadt, by the same group that develops MVE. It has very good results, try it out! However you need a CPU which supports at least the POPCNT instruction. If your CPU supports SSE 4.1, Regard3D selects an optimized version of SMVS.

I added also some new pairwise feature matching algorithms, but currently they are only for testing purposes. For the general usage, I still recommend FLANN. KGraph is based on the "small-world-graph" algorithm and is quite promising, however in my tests it was slower than FLANN. MRPT is a different approach based on random projection. In my tests I found that it is sometimes faster, sometimes slower than FLANN. For the interested of you, try it out, I would be happy to hear your experience!

There is also a "brute-force matcher", please only use it for very small projects! It is extremely slow compared to the others, and I am not talking about a constant factor. This algorithm has a runtime of O(N^2) if N is the amount of found keypoints, while the others are usually in the range of O(N*logN). That means with large N this algorithm might not terminate within reasonable time!
 

The Windows version has been built with Visual C++ 2015 Update 3 Community Edition, including all third-party tools.


The Mac version has been built with Clang 3.9 (http://clang.llvm.org/), including all third-party tools.

 

19.08.2017: Version 0.9.2 is released

Regard3D 0.9.2 has been released! Please find it under the links provided in the Download page.

Changelog:

 

  •  Upgraded to OpenMVG 1.2
  • Added Fast-AKAZE, TBMR keypoint detectors
  • Bugfix: Export of textured surfaces now works again (Issue #4)

 

Most notably, the OpenMVG library has been updated to 1.2, and I have added Fast-AKAZE and TBMR keypoint detectors. Fast-AKAZE (taken from here) is quite faster than AKAZE, but due to how it is used in Regard3D it generates slightly worse results than Classic AKAZE. TBMR (tree-based morse regions, see here) can be used to add some keypoints which were previously not used.

The Windows version has been built with Visual C++ 2015 Update 3 Community Edition, including all third-party tools.

The Mac version has been built with Clang 3.9 (http://clang.llvm.org/), including all third-party tools.

 

Known issues:

  • Triangulations created with a version before Regard3D 0.8.0 can still be loaded, but not used for densifications. Please create new triangulations.
  • With some scenes it can happen that the incremental chain fails, if the selected image pair is too close. Please select another pair in this case. However, due to improvements in OpenMVG this only happens in very few cases.