Go to the documentation of this file. 1 #ifndef ED_SENSOR_INTEGRATION_SEGMENTER_H_
2 #define ED_SENSOR_INTEGRATION_SEGMENTER_H_
9 #include <opencv2/core/core.hpp>
43 const geo::Pose3D& sensor_pose,
double background_padding);
46 const geo::Pose3D& shape_pose, cv::Mat& filtered_depth_image)
const;
75 const std::string& area_description =
"",
bool verbose=
false);
Result of the segmentation pipeline containing masks, bounding boxes, and YOLO classification info fo...
cv::Mat preprocessRGBForSegmentation(const cv::Mat &rgb_image, const cv::Mat &filtered_depth_image) const
Preprocess RGB image for segmentation. This function masks the RGB image with the filtered depth imag...
tue::Configuration config_
void removeBackground(cv::Mat &depth_image, const ed::WorldModel &world, const geo::DepthCamera &cam, const geo::Pose3D &sensor_pose, double background_padding)
SegmentationResult cluster(const cv::Mat &depth_image, const geo::DepthCamera &cam_model, const geo::Pose3D &sensor_pose, std::vector< EntityUpdate > &clusters, const cv::Mat &rgb_image, const std::string &area_description="", bool verbose=false)
Cluster the depth image into segments. Applies new algorithm which is the YOLO - SAM - BMM depth segm...
std::unordered_map< std::string, std::string > surface_label_map_
void calculatePointsWithin(const rgbd::Image &image, const geo::Shape &shape, const geo::Pose3D &shape_pose, cv::Mat &filtered_depth_image) const
Segmentation pipeline class that maintains YOLO and SAM models state. This prevents initializing heav...
Segmenter(tue::Configuration config)
SamSegPipeline sam_pipeline_
tue::config::ReaderWriter config