ImFusion SDK 4.3
Computer Vision Plugin

Plugin for computer vision functionality. More...

+ Collaboration diagram for Computer Vision Plugin:

Detailed Description

Plugin for computer vision functionality.

The ImFusionVision plugin offers a comprehensive set of 2D and 3D computer vision algorithms including feature and marker detection, single and stereo camera calibration, optical flow and stereo computation and much more. It combines traditional techniques with modern algorithms powered by state-of-the-art machine learning models.

Topics

 Camera Calibration
 Comprehensive guide to Camera Calibration.
 
 ICP and Mesh Alignment
 Comprehensive guide to point cloud and mesh alignment using ICP and MeshAlignmentAlgorithm.
 
 Marker Detection
 Comprehensive guide to marker detection.
 
 Monocular Depth Estimation
 Guide to monocular depth estimation from single RGB images.
 
 Optical Flow
 Guide to optical flow estimation from RGB image sequences.
 
 Stereo Reconstruction
 Guide to 3D reconstruction from a sequence of stereo images using the StereoReconstructionAlgorithm class.
 
 Stereo Structure
 Comprehensive guide to Stereo Image.
 

Classes

class  CameraCalibrationDataComponent
 A data component storing mainly the intrinsic calibration of a pinhole camera Information such as image size, extrinsic poses and distortions are also stored Debug values like MRE and standard deviations estimated for intrinsic parameters, which are used for evaluating the calibration results during the calibration process are also saved here. More...
 
class  CreateStereoSharedImageSetAlgorithm
 The algorithm creates a stereo shared image set from two shared image sets The algorithm take over the ownership of the input two image sets It is recommended to first run this algorithm to convert the two image sets into a stereo image set before using any stereo-related algorithm. More...
 
class  HandEyeCalibrationAlgorithm
 Performs hand-eye calibration between two tracking sequences. More...
 
class  ImageSharpnessEstimationAlgorithm
 Algorithm for esimating sharpness of the image (based on paper "The Blur Effect: Perception and Estimation with a New No-Reference Perceptual Blur Metric") More...
 
class  InterlacedToStereoAlgorithm
 This algorithm converts a interlaced image into two shared image sets or a stereo image set Input image should have even number of lines. More...
 
class  LeastSquaresPoseGraphSolution
 Pose graph optimization with Least Squares solution based on g2o's implementation The first pose is the reference pose and will stay fixed, all other poses are free to change. More...
 
class  MotionAveragingPoseGraphSolution
 Pose graph optimization with motion averaging, this is to be utilized in MAICP The first pose is the reference pose and will stay fixed, all other poses are free to change. More...
 
class  PointCloudMeasuringAlgorithm
 Algorithm for measuring distances between points in a point cloud. More...
 
class  PoseGraphOptimization
 Pose graph optimization The first pose is the reference pose and will stay fixed, all other poses are free to change. More...
 
class  SideBySideToStereoAlgorithm
 This Algorithm converts a side-by-side images set to a Stereo Image Set. More...
 
class  StereoCalibrationDataComponent
 A data component storing the registration matrix between the left and right camera of a stereo camera pair. More...
 
class  StereoImage
 This class stores a pair of images, taken by a stereo camera at the same time point. More...
 
class  StereoImageExtractSelection
 Algorithm to extract the current StereoSharedImageSet selection into a new object instance. More...
 
class  StereoImageReduceToSelection
 Algorithm for reducing a StereoSharedImageSet to its selected samples. More...
 
class  StereoSharedImageSet
 This class is the main high-level container for stereo image data set. More...
 
class  CameraCalibrationAlgorithm
 Camera calibration algorithm Description: More...
 
class  CameraCalibrationSettings
 The class stores all parameters/settings for camera calibration. More...
 
class  CameraRegistrationAlgorithm
 Camera registration algorithm Description: This algorithm performs camera registration for a stereo camera system using known fiducial markers (e.g., chessboard or a ChArUco board) to estimate the relative pose between the left and right cameras. More...
 
class  ORBFeatureDetector
 Implementation of the ORB feature detection and description algorithm. More...
 
class  SIFTFeatureDetector
 Implementation of the SIFT feature detection and description algorithm. More...
 
class  ShiTomasiFeatureDetector
 Implementation of the Shi-Tomasi corner detection algorithm. More...
 
class  IdentitySampler
 Identity sampler, returns input keypoints unchanged. More...
 
class  NMSSampler
 Non-Maximum Suppression sampler. More...
 
class  BruteForceMatcher
 Brute-force matcher for feature descriptors. More...
 
class  GridBasedMatcher
 Grid-based matcher for feature descriptors. More...
 
class  IdentityMatchPruner
 Identity match pruner, returns input matches unchanged. More...
 
class  HomographyMatchPruner
 Pruner using homography inlier threshold. More...
 
class  FundamentalMatrixMatchPruner
 Pruner using fundamental matrix inlier threshold. More...
 
class  AutomaticMatchPruner
 Automatic pruner selecting between homography and fundamental matrix based on decomposition score. More...
 
class  MatchScorePruner
 Pruner based on match score and/or maximum number of matches. More...
 
class  GMSPruner
 Pruner applying motion smoothness as a criterion (GMS). More...
 
class  FeatureDetectionAlgorithm
 Feature detection algorithm. More...
 
class  HomographyAndFundamentalMatrixDecomposition
 This class, given point correspondences from two images, estimates the homography and the fundamental matrix, then, depending on the score, decomposes one of them into rotation and translation. More...
 
class  ImageUndistortion
 This class enables the undistortion of images, i.e. More...
 
class  ImageUndistortionAlgorithm
 Algorithm for undistoring images, intrinsics and distortion parameters are retrieved from CameraCalibrationDataComponent, if not then user defined ones are used. More...
 
class  MarkerConfiguration
 Describes the configuration of a marker calibration target. More...
 
class  MarkerDetection
 Generic marker detection class for a wide range of marker types, such as Aruco, Charuco, Chessboard, Circle Board, AprilTag and STag. More...
 
class  MarkerDetectionAlgorithm
 Marker detection algorithm. More...
 
class  MarkerGenerationAlgorithm
 Algorithm for creating calibration markers. More...
 
class  MarkerHandEyeCalibrationAlgorithm
 Performs hand eye calibration of a sensor that provides tracking information (called "tracker") to a camera that captured images of a marker board (called "camera") More...
 
class  OpticalFlow
 Base class for optical flow algorithms producing flow maps (2-channel floating point images). More...
 
class  OpticalFlowFactory
 
class  OpticalFlowAlgorithm
 
class  StereoReconstruction
 Base class for stereo reconstruction algorithms producing disparity maps. More...
 
class  StereoBlockMatchingReconstruction
 Implementation of block matching stereo reconstruction It depends on block matching from OpenCV. More...
 
class  StereoSemiGlobalBlockMatchingReconstruction
 Implementation of Semi Global block matching stereo reconstruction It depends on Semi Global block matching from OpenCV. More...
 
class  StereoReconstructionAlgorithm
 This algorithm performs 3D reconstruction from a pair of stereo images. More...
 
class  StereoRectification
 Performs stereo rectification und unrectification on images. More...
 
class  StereoRectificationAlgorithm
 Stereo Rectification Algorithm. More...
 
class  GlobalICP
 Global ICP point cloud alignment. More...
 
class  ICP
 ICP-based point cloud alignment. More...
 
class  PointCloudFilteringAlgorithm
 Implements a flexible and extensible algorithm for filtering and processing point clouds. More...
 
class  PointCloudOverlapAlgorithm
 Computes the geometric overlap between multiple dense, calibrated point clouds. More...
 
class  PoseGraphOptimizationAlgorithm
 Pose graph optimization using motion-averaging or graph-based least squares solver. More...
 
class  MeshAlignmentAlgorithm
 Algorithm for aligning meshes and point clouds. More...
 
class  MonocularDepthEstimation
 Base class for monocular depth estimation algorithms producing depth maps and (optionally) also point clouds. More...
 
class  MonocularDepthEstimationAlgorithm
 Algorithm for estimating relative depth from a single RGB image. More...
 
class  MonocularDepthEstimationCustomModel
 Performs depth estimation on a monocular image using a traced machine learning model provided by the user. More...
 
class  OpticalFlowRAFT
 
class  OpticalFlowSEARAFT
 
class  OpticalFlowCustomModel
 Performs optical flow estimation using a traced machine learning model provided by the user. More...
 
class  RIDEFeatureDetector
 Implementation of "RIDE: Self-Supervised Learning of Rotation-Equivariant Keypoint Detection and Invariant Description for Endoscopy" published at ICRA 2024: https://ieeexplore.ieee.org/abstract/document/10611381. More...
 
class  StereoCGIReconstruction
 
class  StereoReconstructionRAFT
 
class  StereoReconstructionCustomModel
 Performs stereo reconstruction using a traced machine learning model provided by the user. More...
 
class  LiveHandEyeCalibrationAlgorithm
 Takes two tracking streams, and allows to sample frames and to compute the calibration from them The expected input is a stream containing the transforms from base to hand (i.e. More...
 
class  LiveHandEyeEvaluationAlgorithm
 Takes two tracking streams and the respective calibration, and computes the chain error. More...
 
class  CameraCalibrationSetterAlgorithm
 The algorithm loads an existing calibration onto a given image set or image stream. More...
 
class  CreateGroupedStereoImageStreamAlgorithm
 The algorithm creates a GroupedStereoImageStream from two image streams and takes over their control Before using any stereo-related algorithms (e.g., depth estimation, disparity calculation, or 3D reconstruction), it is recommended to first run this algorithm to convert the two image streams into a stereo image stream. More...
 
class  GroupedStereoImageStream
 GroupedStereoImageStream simultaneously owns and controls its stereo sub-streams. More...
 
class  PlaybackStereoImageStream
 StereoImage-based stream created from the playback of a stereo image set. More...
 
class  PlaybackStereoImageStreamAlgorithm
 Creates PlaybackStereoImageStream from one StereoSharedImageSet For more details please refer to PlaybackStereoImageStream. More...
 
class  PlaybackStereoImageStreamController
 Controller for replaying stereo shared image sets. More...
 
class  SideBySideToStereoStreamAlgorithm
 This class convert a stream with side-by-side image into a stereo image stream. More...
 
class  StereoCalibrationSetterAlgorithm
 The algorithm loads an existing calibration onto a given stereo image set or stereo image stream. More...
 
class  StereoImageStream
 Base class for streams based on stereo images. More...
 
class  StereoImageStreamData
 Stereo Image data streamed from a stereo camera. More...
 
class  InterlacedToStereoStreamAlgorithm
 This class convert a stream with interlaced image into a stereo image stream Input image should have even number of lines. More...
 
class  LiveStereoCalibrationAlgorithm
 Takes two image streams, and allows to sample frames and to compute the calibration from them Both streams have to see the same calibration board The output is the intrinsic calibration for each camera, transformation between the cameras and the deformation fields for stereo rectification Another variant of the algorithm takes image samples as an input. More...
 
class  LiveTrackingAlgorithm
 Live tracking algorithm for image based pose detectors Use the Configurable interface for setting up the detector. More...
 
class  StereoStreamToVideoRecorder
 Records stereo image streams to two video files The algorithm internally uses VideoFileRecorder to save videos. More...
 
class  StereoStreamToVideoAlgorithm
 Algorithm to record stereo image streams to video files The algorithm internally uses VideoFileRecorder to save videos. More...
 
Search Tab / S to search, Esc to close