Super3d

Algorithm Implementations

compute_depth

class compute_depth : public kwiver::vital::algo::compute_depth

A class for depth map estimation.

Public Functions

PLUGGABLE_IMPL (compute_depth, "Compute depth maps from image sequences, using vxl", PARAM_DEFAULT(iterations, int, "Number of iterations to run optimizer", 2000), PARAM_DEFAULT(theta0, double, "Begin value of quadratic relaxation term", 1.0), PARAM_DEFAULT(theta_end, double, "End value of quadratic relaxation term", 0.001), PARAM_DEFAULT(lambda, double, "Weight of the data term", 0.65), PARAM_DEFAULT(gw_alpha, double, "gradient weighting term", 20), PARAM_DEFAULT(epsilon, double, "Huber norm term, trade off between L1 and L2 norms", 0.01), PARAM_DEFAULT(world_plane_normal, vnl_double_3, "up direction in world space", vnl_double_3(0, 0, 1)), PARAM_DEFAULT(callback_interval, int, "number of iterations between updates (-1 turns off updates)", -1), PARAM_DEFAULT(uncertainty_in_callback, bool, "If true, compute the uncertainty in each callback for a " "live preview at additional computational cost. " "Otherwise, uncertainty is only computed at the end.", false), PARAM_DEFAULT(depth_sample_rate, double, "Specifies the maximum sampling rate, in pixels, of the " "depth steps projected into support views.  This rate " "determines the number of depth slices in the cost " "volume.  Smaller values create more depth slices.", 0.5)) virtual ~compute_depth()=default

Destructor.

virtual bool check_configuration(vital::config_block_sptr config) const

Check that the algorithm’s currently configuration is valid.

virtual kwiver::vital::image_container_sptr compute(std::vector<kwiver::vital::image_container_sptr> const &frames, std::vector<kwiver::vital::camera_perspective_sptr> const &cameras, double depth_min, double depth_max, unsigned int reference_frame, vital::bounding_box<int> const &roi, kwiver::vital::image_container_sptr &depth_uncertainty, std::vector<kwiver::vital::image_container_sptr> const &masks = std::vector<kwiver::vital::image_container_sptr>()) const

Compute a depth map from an image sequence and return uncertainty by ref

Implementations of this function should not modify the underlying objects contained in the input structures. Output references should either be new instances or the same as input.

Parameters:
  • frames[in] image sequence to compute depth with

  • cameras[in] corresponding to the image sequence

  • depth_min[in] minimum depth expected

  • depth_max[in] maximum depth expected

  • reference_frame[in] index into image sequence denoting the frame that depth is computed on

  • roi[in] region of interest within reference image (can be entire image)

  • depth_uncertainty[out] reference which will contain depth uncertainty

  • masks[in] optional masks corresponding to the image sequence

virtual void set_callback(callback_t cb)

Set callback for receiving incremental updates.