Interface DepthVisualOdometry<Vis extends ImageBase<Vis>,Depth extends ImageGray<Depth>>

Type Parameters:
Vis - Visual camera sensor
Depth - Depth camera sensor
All Superinterfaces:
VerbosePrint, VisualOdometry<Se3_F64>
All Known Implementing Classes:
PyramidDirectColorDepth_to_DepthVisualOdometry, VisOdomPixelDepthPnP_to_DepthVisualOdometry

public interface DepthVisualOdometry<Vis extends ImageBase<Vis>,Depth extends ImageGray<Depth>> extends VisualOdometry<Se3_F64>

Visual odometry that estimate the camera's ego-motion in Euclidean space using a camera image and a depth image. Camera motion is estimated relative to the first frame in the left camera's point of view.

The following is a set of assumptions and behaviors that all implementations of this interface must follow:

  • Visual and depth images must be captured simultaneously
  • Cameras must have a global shutter
  • Calibration parameters can be changed at any time, but must be set at least once before processing an image.
  • If process returns false then the motion could not be estimated and isFault() should be checked
  • If isFault() is true then the reset() should be called since it can't estimate motion any more
  • reset() puts back into its initial state

Optional interfaces are provided for accessing internal features.

  • Method Details

    • setCalibration

      void setCalibration(CameraPinholeBrown paramVisual, Point2Transform2_F32 visToDepth)
      Specifies the intrinsic parameters for the visual camera and the transform from visual to depth pixels.
      Parameters:
      paramVisual - Intrinsic parameters for visual camera
      visToDepth - Transform from visual camera pixels into depth camera pixels
    • process

      boolean process(Vis visual, Depth depth)
      Process the new image and update the motion estimate. The return value must be checked to see if the estimate was actually updated. If false is returned then VisualOdometry.isFault() also needs to be checked to see if the pose estimate has been reset.
      Parameters:
      visual - Image from visual camera
      depth - Image from depth sensor
      Returns:
      true if the motion estimate has been updated and false if not
    • getVisualType

      ImageType<Vis> getVisualType()
      Type of visual images it can process.
      Returns:
      The image type
    • getDepthType

      Class<Depth> getDepthType()
      Type of depth images it can process.
      Returns:
      The image type