matlabbe
775b80eff5
0.15.2: Fixed Transform's not orthogonal rotation matrix causing problems with GTSAM (normalize rotation each time transforms are multiplied, and for backward compatibility automatically normalize rotation of all transforms loaded from old databases prior to 0.15.2). Added Vis/CorGuessMatchToProjection, Icp/PMMatcherKnn and Icp/PMMatcherEpsilon parameters. CameraRGB: fixed max scans number when filtering. Link: transfering maximum covariance when merging. OptimizerGTSAM: updated how covariance are copied based on GTSAM official example. util3d::loadBINCloud(): fixed dim parameter not used. DatabaseViewer: Added option in graph view to ignore intermediate nodes when optimizing the graph.
2017-12-09 21:44:53 -05:00
matlabbe
4452e637ad
0.15.1: CameraImages: added ground truth time diff, fixed memory leak when loading binary scans. CameraRGBDImages and CameraStereoImages: fixed start id. Feature2D: added grid rows and cols parameters (Kp/GridRows, Kp/GridCols, Vis/GridRows, Vis/GridCols). OdomInfo: publish bundle frames. OdometryORBSLAM2: added OdomORBSLAM2/Fps and OdomORBSLAM2/MaxFeatures parameters. Registration: added Reg/RepeatOnce parameter and removed variance normalization. For util2d::getDepth() and util3d::projectDepthTo3D(), maxZError parameter is now depthErrorRatio to be dependent of the sensor range. Database: save image width and height from stereo calibration. OptimizerG2O: fixed SBA optimization when using g2o built from ORBSLAM2 library. OptimizerGTSAM: to increase optimization stability, all rotations in information matrix are divided by 100000. Added rtabmap-report tool.
2017-11-30 16:52:03 -05:00
matlabbe
274e7c579e
Added some warnings
2017-11-14 16:28:47 -05:00
matlabbe
3443c3b8ea
RegistrationVis: fixed assert covariance in bundle adjustement when transform is perfect (covariance is null) by setting an epsilon to generated covariance is null or very close to 0
2017-07-26 15:27:54 -04:00
matlabbe
e361abcecd
Reg: normalize covariance angle /10
2017-05-22 21:11:36 -04:00
matlabbe
385b7e3389
Parameters: Added "Reg/VarianceNormalized". Registration: Transforms are now only normalized in Registration. Added rgbd_dataset tool. MainWindow: odom inliers-only shown option. ExportCloudsDialog: ignoring intermediate nodes for texturing (if they don't have data). DatabaseViewer: "optimized" checkbox enabled in Constraints view for non-neighbor links too.
2017-05-22 11:48:01 -04:00
matlabbe
104c1e6945
0.13.0 Database: Added velocity field to Node table, renamed Map_Node_Word table to Feature, added information_matrix field to Link table (replacing rot_variance and trans_variance). Added graph::calcKittiSequenceErrors().Added "Mem/IntermediateNodeDataKept" parameter (default false). Updated all interfaces using rotVariance and transVariance values with covariance matrix instead. g2o SBA: always use covariance in links. kitti-dataset tool: added --disp option and kitti statistics are shown at the end. StatsToolBox: units can have "/".
2017-05-11 15:02:18 -04:00
matlabbe
af1cdadabd
Tango: updated export workflow, added sketchfab activity, added graph optimization parameters, fixed raw images kept in memory (disabled reexctract words on loop closure while updating memory to be able to create more features for transform estimation than needed in vocabulary), portrait/landscape orientation, updated to Eisa TangoSDK. DBReader: fixed high variance when node has no links (if not the first in the current map id). MainWindow: remove frustums not in the current graph.
2017-02-15 19:07:10 -05:00
matlabbe
0d0577a886
3D Rendering: Added option to show graph's frustums, added option to filter floor and/or ceiling.
2017-02-09 18:32:44 -05:00
matlabbe
8895173a2b
Memory::computeTransform(): Fixed empty "from" image when reextract features is true and ICP-only registration is used
2017-01-05 19:31:18 -05:00
matlabbe
ac1c5f81ae
fixed some compilation warnings
2017-01-03 22:14:21 -05:00
matlabbe
6abed48af6
0.11.13. OdometryF2M: fixed/improved bundle adjustment option. OptimizerG2O: now doing stereo BA instead of mono BA (interface of Optimizer::optimzeBA() has slightly changed to include depth in word references). Registration and Odometry set angular and linear variances separately. RegistrationVis set x100 smaller variance for rotation. Added keypoints3D member to SensorData. Added Transform::getAngle() for convenience. Odometry normalizes variances. RtabmapThread does variance summation when frames are discarded. Updated how variance is computed by util3d::estimateMotion3Dto2D(), ignoring very large variance from the computation (stereo issue with very far matched features). MainWindow: added option to align with ground truth or not (default true as before), added for odometry statistics (including bundle stuff), update ground truth statistics every time a graph is loaded/optimized. CameraRGB can now load odometry files (to fake an input odometry). PreferencesDialog: Added option to Odometry so it can use a different registration approach than the default one (the one used for loop closure). Parameters: added new g2o/Solver option 3 (Eigen), added g2o/RobustKernelDelta, g2o/Baseline and Odom/VisKeyFrameThr. Database: from 0.11.13, ignoring patch version when comparing is database version is newer than app version used.
2017-01-03 21:05:00 -05:00
matlabbe
3363772ce5
CloudViewer: added backface culling option on right-click menu. MainWindow: removed error msg on wrong decimation (util3d already handle this case)
2016-11-27 20:10:05 -05:00
matlabbe
121446d648
Removed parameter "OdomF2M/FixedMapPath". GUI: added odometry disabled option. Rtabmap can now localize even if odometry input is null (only in localization mode).
2016-11-27 14:30:11 -05:00
matlabbe
693f623e5e
Fixed GUI crash when using rectified RGB only (with odometry). Fixed empty local map when loading a fixed local map for OdometryF2M.
2016-11-25 19:52:34 -05:00
matlabbe
9276607920
Added Bundle Adjustment options to OdometryF2M (OdomF2M/BundleAdjustment) and RegistrationVis (Vis/BundleAdjustment). Added logger thread filter. RegistrationVis: Copy back corresponding input word IDs to output words when available. Memory::computeTransform() added option to use already computed corespondences if possible (proximity detection by time uses this). Updated Optimizer::optimizeBA() interface.
2016-11-14 19:54:31 -05:00
matlabbe
edcd92fbb7
DBViewer: merged Refine (visual) and Refine (ICP) in the same Refine action (registration used is defined by Reg/Strategy value). Updated how detect more loop closures work in MainWindow and DBViewer (using current registration parameters, visual and/or icp)
2016-11-09 16:44:08 -05:00
matlabbe
fe6eb01404
Fixed opencv setSize assert error (RegistrationVis):
...
[DEBUG] (2016-08-29 10:26:03.821) RegistrationVis.cpp:460::computeTransformationImpl() kptsFrom=0
[DEBUG] (2016-08-29 10:26:03.821) RegistrationVis.cpp:461::computeTransformationImpl() kptsTo=0
OpenCV Error: Assertion failed (s >= 0) in setSize, file /home/mathieu/workspace/opencv-2.4.11/modules/core/src/matrix.cpp, line 116
terminate called after throwing an instance of 'cv::Exception'
what(): /home/mathieu/workspace/opencv-2.4.11/modules/core/src/matrix.cpp:116: error: (-215) s >= 0 in function setSize
2016-08-31 12:43:54 -04:00
matlabbe
a0d76eabe5
RegistrationVis: don't assert if descriptorsFrom is 0, only if kptsFrom and descriptorsFrom are non null and not equal
2016-08-12 10:59:43 -04:00
matlabbe
ca6cd19fb1
Updated Copyright year and About dialog summary
2016-07-17 21:57:10 -04:00
matlabbe
1398b71b60
Merge branch 'master' of github.com:introlab/rtabmap into devel
2016-06-27 12:17:55 -04:00
matlabbe
f69ca56179
Features2D: Using 255 mask values for ORB ( #89 ). Fixed ignored mask by FAST when called from ORB.
2016-06-27 11:54:21 -04:00
matlabbe
798c3cb373
Registration: added warning when GuessFlowSize is set and multi-camera is detected instead of crashing on an assert
2016-06-15 18:13:11 -04:00
matlabbe
dece54ca3e
Added parameters: Mem/ImagePreDecimation Mem/ImagePostDecimation Odom/ImageDecimation
2016-04-08 16:15:08 -04:00
matlabbe
04df6ba41c
Stereo: Fixed min/max depth filtering
2016-03-13 16:58:36 -04:00
matlabbe
6c15cb8b25
Fixed multi-kinects keypoint projection
2016-03-11 23:27:41 -05:00
matlabbe
609cc3dc59
Fixed some missing rgb conversions before descriptor extractions. RegVis: re-extracting 3D kpts if Signature.words3() and actual kpts are not the same size. Updated fast visual guess on Memory::computeTransform().
2016-03-09 19:17:29 -05:00
matlabbe
0f477d6853
RegVis: if calibration is not found, local features matching using guess is not done, global matching is done instead. CameraModel/StereoCameraModel: added imageSize argument to constructors
2016-03-09 17:15:05 -05:00
matlabbe
62c8be40b9
Added ORB+FastGrid implementation (only with OpenCV2). Updated default parameters: Odom/GuessFromMotion=false, Vis/CorNNType=1. RegistrationVis: octave aware on features matching with motion
2016-03-08 12:31:32 -05:00
matlabbe
eefd557ab4
Added parameter "RGBD/ProximityAngle"
...
Updated default of GuessMotion parameters
Proximity detection by time: added guess transform based on optimized poses
RegistrationVis: ByPass OpticalFlow if no images are detected (use features matching instead if features are set)
solvePnPRansac() refining: using std dev instead of variance
Statistics panel: creating Camera/GUI/Odometry panels without the need to start detection (issue #51 )
Statistics: Adding a GT panel when ground truth poses are detected with RMSE info
2016-03-02 18:11:19 -05:00
matlabbe
b6fb947310
3D->3D estimation refining: using 3x sqrt(variance) instead of sqrt(9x variance). GUI: added features cloud rendering option. CloudViewer: fixed slow updateCameraTargetPosition()
2016-03-01 17:33:27 -05:00
matlabbe
a89b8cb4fe
Removed parameters Vis/UseDepthAsMask and Mem/UseDepthAsMask (just always do it when a depth is detected)
2016-03-01 14:40:40 -05:00
matlabbe
e6e9c61c38
RegistraitonVis: generate always 3D keypoints if possible
2016-02-29 16:41:37 -05:00
matlabbe
a8d1b91083
OdometryF2F: Fixed broken OpticalFlow approach
2016-02-24 17:42:23 -05:00
matlabbe
172e9857c7
Fixed RegistrationVis feature matching behavior when NaN 3D keypoints are found
2016-02-24 12:45:00 -05:00
matlabbe
061211b1b6
OodmetryF2M: Added getter to last frame
2016-02-23 11:46:07 -05:00
matlabbe
9e446aab7a
Fixed some signed/unsigned comparison warnings
2016-02-23 11:06:24 -05:00
matlabbe
ccc4b4a6c2
Parameters renamed: "OdomLocalMap" group is now "OdomF2M" for Frame to Map odometry. Visual registration feature matching: using guess transform to limit the radius of correspondences "Vis/CorGuessWinSize=16"
2016-02-22 16:13:14 -05:00
matlabbe
c6a46a7238
0.11.2: First Google Tango release
2016-02-15 19:35:24 -05:00
matlabbe
eb21280f04
Changed CameraModel::isValid() to CameraModel::isValidForProjection() for clarity (in contrast to CameraModel::isValidForRectification())
2016-01-19 21:01:56 -05:00
matlabbe
7bfd76e747
-Updated CameraModel and StereoCameraModel so that a stereo camera model can be initialization from know intrinsics and extrinsics
...
-CreateSimpleCalibrationDialog updated to create mono/stereo calibration files with advanced option (setting intrinsics of each camera + extrinsics between them). Rectification R and new camera P matrices are then automatically computed.
-Added GeodeticCoords class for convience conversion between GPS values (latitude/longitude/altitude) to local coordinate (ENU).
-Added support of Malaga Urban and St Lucia ground truths.
-CameraImages: added option to debayer images. Timestamps file: added support of "sec millisec" format.
-Added UException class: exceptions are sent instead of exiting the application on UASSERT or UFATAL.
2016-01-19 17:43:33 -05:00
matlabbe
136867253d
Added "Vis/UseDepthAsMask" parameter (don't detect features where depth is not available or it is over "Vis/MaxDepth")
2016-01-13 09:20:15 -05:00
matlabbe
6d399b6fb9
Refactoring Odometry
2016-01-07 13:59:21 -05:00
matlabbe
28d9bbb85d
Refactoring Registration: added RegistrationInfo class, pipeline registration. Camera source: create laser scan from depth image. Removed OdometryICP as the same behavior can be achieved with OdometryF2F and "Reg/Strategy" = 1 (ICP) or 2 (Vis+ICP).
2016-01-06 17:26:55 -05:00
matlabbe
389d29ebf5
fixed Ubuntu build
2016-01-05 15:44:34 -05:00
matlabbe
b578fc732e
Fixed Stereo parameters not used for OdometryBOW. Saving parameters in Memory and Feature2D to re-use old parameters when underlaying algorithm strategies are re-created.
2016-01-04 11:41:13 -05:00
matlabbe
51300dde06
Fixed PnP in OpenCV3: added parameter Vis/PnPRefineIterations (default 1)
...
CameraRGBDImages: Fixed calibration not loaded
Fixed loading ground truth from RGBD-SLAM format
MainWindow: added ground truth paths in CloudViewer and GraphViewer
2015-12-22 19:32:52 -05:00
matlabbe
2e9634cf65
Refactoring: removed some code duplication about transformation estimation and features (2D-3D) extraction.
...
Added Feature2D::generateKeypoints3D() for convenience.
Added parameter "Vis/PnPOpenCV2".
Added parameter "Vis/ForwardEstOnly".
Removed OdometryOpticalFlow class, replaced by OdometryF2F (frame-to-frame). To get the same previous OpticalFLow approach, parameter "Vis/CorType" should be set to 1.
Some parameters under group "OdomFlow/..." are now under "Vis/CorFlow...".
In Registration class, add computeTransformationMod() method to modify input signatures.
Added constructor Signature(SensorData) for convenience.
Modified words multimap used with cv::Point3f instead of pcl::PointXYZ to limit the use of PCL headers where they are not really required.
Added Stereo::create() for convenience.
Transform: fixed quaternion constructor where data_ was not initialized. Added parentheses operator for convenience.
DatabaseViewer: loading .rtabmap/rtabmap.ini instead of .rtabmap/dbViewer.ini when used from rtabmap application. Added vertical layout option for convenience.
MainWindow: fixed wrong Odometry speed values
ParametersToolBox: using QStackedWidget instead of a QToolBox for space, added "Restore Defaults" button.
2015-12-21 17:27:05 -05:00
matlabbe
3292fb1146
Refactoring of the cameraStereoImages and cameraRGBDImages classes (now inheriting from CameraImages) for easy setting of laser scan path, timestamps path and ground truth path.
...
Added graph::importPoses().
Can now have a ground truth published with SensorData (filled optionally by CameraImages classes).
Increased database closing time performance when the database is not saved.
Added ParametersToolBox widget in DatabaseViewer for core parameters (refactoring done to make easy access to all rtabmap parameters in DatabaseViewer).
Added Parameters::getType(key).
Added Transform::interpolate() to interpolate between two transforms (SLERP)
Updated pf_filter.m and added test_pf_filter.m MATLAB scripts (making easier to compare with a ground truth)
UPlot: can now save all curve data of a figure in one action (see right-click on legend area->"Copy all curve data to clipboard")
2015-12-17 14:13:19 -05:00
matlabbe
e58f907440
Added CameraInfo class (added Camera tab in Statistics panel). Scans/userData are not saved anymore when Mem/BinDataKept=false. StereoACameraImages: Fixed error when scan path is not set. Refactoring of OdometryOpticalFlow class to provide variance when 3D->2D estimation is used.
2015-11-30 18:49:28 -05:00