26#include "modules/perception/lidar_segmentation/segmentor/graph_segmentation/proto/graph_segmentation_config.pb.h"
68 std::string
Name()
const override {
69 return "GraphSegmentation";
114 bool NeedSplit(std::shared_ptr<base::Object>
object);
128 size_t min_pt_number_;
130 float height_threshold_;
131 float semantic_cost_ = 2.0;
136 std::vector<std::shared_ptr<base::Object>> bg_objects_;
bool SetBgObjectDefaulVal(LidarFrame *frame)
Set the Bacground Object Defaul Value
GraphSegmentation()=default
~GraphSegmentation()=default
float NodeDistance(BgNode n1, int x1, int y1, BgNode n2, int x2, int y2)
Compute node distance
bool Segment(LidarFrame *frame)
Graph segment
bool NeedSplit(std::shared_ptr< base::Object > object)
judge if the object need to split
bool Detect(const LidarDetectorOptions &options, LidarFrame *frame) override
Segment pointcloud into objects
bool Split(LidarFrame *frame)
background filter
void GetObjectsFromClusters(LidarFrame *frame)
Get the Objects From Clusters
std::string Name() const override
Get class name
bool Init(const LidarDetectorInitOptions &options=LidarDetectorInitOptions()) override
Init graph segmentation