Apollo  v5.5.0
Open source self driving car software
Classes | Typedefs | Enumerations | Functions | Variables
apollo::perception::benchmark Namespace Reference

Classes

class  AsyncSequenceDataLoader
 
class  BaseRangeInterface
 
class  BoxBasedRangeInterface
 
struct  Cache
 
struct  CameraSupplement
 
class  DetectionEvaluation
 
class  DistanceBasedRangeInterface
 
class  DistanceBasedRangeRadarInterface
 
class  Frame
 
struct  FrameMetrics
 
class  FrameStatistics
 
class  LidarOption
 
struct  LidarSupplement
 
class  MetaStatistics
 
struct  Object
 
struct  ObjectMatch
 
class  OptionParser
 
struct  OrientationSimilarityMetric
 
class  PointCloudFrame
 
struct  PointXYZIL
 
struct  PointXYZIT
 
struct  PointXYZL
 
struct  PositionMetric
 
struct  PositionMetricOption
 
struct  RadarSupplement
 
class  RoiDistanceBasedRangeInterface
 
struct  Segment
 
struct  SensorObjects
 
class  SequenceDataLoader
 
class  SequenceMaintainer
 
class  SequenceSelfStatistics
 
struct  SPRCTuple
 
class  ViewBasedRangeInterface
 
class  Visibility
 
struct  VisPoint
 

Typedefs

template<typename ObjectKey >
using SequenceType = std::map< ObjectKey, ObjectPtr >
 
typedef std::shared_ptr< ObjectObjectPtr
 
typedef std::shared_ptr< const ObjectObjectConstPtr
 
using SeqId = uint32_t
 
typedef std::shared_ptr< LidarSupplementLidarSupplementPtr
 
typedef std::shared_ptr< const LidarSupplementLidarSupplementConstPtr
 
typedef std::shared_ptr< RadarSupplementRadarSupplementPtr
 
typedef std::shared_ptr< const RadarSupplementRadarSupplementConstPtr
 
typedef std::shared_ptr< CameraSupplementCameraSupplementPtr
 
typedef std::shared_ptr< const CameraSupplementCameraSupplementConstPtr
 
typedef ::pcl::PointIndices PointIndices
 
typedef ::pcl::PointIndices::Ptr PointIndicesPtr
 
typedef ::pcl::PointXY Point2d
 
typedef ::pcl::PointCloud< Point2dPointCloud2d
 
typedef ::pcl::PointCloud< Point2d >::Ptr PointCloud2dPtr
 
typedef ::pcl::PointCloud< Point2d >::ConstPtr PointCloud2dConstPtr
 
typedef ::pcl::PointCloud< PointXYZITPointXYZITCloud
 
typedef ::pcl::PointCloud< PointXYZIT >::Ptr PointXYZITCloudPtr
 
typedef ::pcl::PointCloud< PointXYZIT >::ConstPtr PointXYZITCloudConstPtr
 
typedef ::pcl::PointCloud< PointXYZLPointXYZLCloud
 
typedef ::pcl::PointCloud< PointXYZL >::Ptr PointXYZLCloudPtr
 
typedef ::pcl::PointCloud< PointXYZL >::ConstPtr PointXYZLCloudConstPtr
 
typedef PointXYZIL Point
 
typedef pcl::PointCloud< PointPointCloud
 
typedef pcl::PointCloud< Point >::Ptr PointCloudPtr
 
typedef pcl::PointCloud< Point >::ConstPtr PointCloudConstPtr
 

Enumerations

enum  RangeType { DISTANCE = 0, VIEW = 1, BOX = 2, ROI = 3 }
 
enum  Orientation { Orientation::left = 1, Orientation::right = -1, Orientation::collinear = 0 }
 
enum  ObjectType {
  UNKNOWN = 0, UNKNOWN_MOVABLE = 1, UNKNOWN_UNMOVABLE = 2, PEDESTRIAN = 3,
  BICYCLE = 4, VEHICLE = 5, MAX_OBJECT_TYPE = 6
}
 
enum  InternalObjectType {
  INT_BACKGROUND = 0, INT_SMALLMOT = 1, INT_PEDESTRIAN = 2, INT_NONMOT = 3,
  INT_BIGMOT = 4, INT_UNKNOWN = 5, INT_MAX_OBJECT_TYPE = 6
}
 
enum  SensorType {
  VELODYNE_64 = 0, VELODYNE_16 = 1, RADAR = 2, CAMERA = 3,
  UNKNOWN_SENSOR_TYPE = 4
}
 
enum  UpdateOperation { UpdateOperation::add = 0, UpdateOperation::remove = 1 }
 

Functions

void compute_ap_aos (const std::vector< unsigned int > &cumulated_match_num_per_conf, const std::vector< unsigned int > &cumulated_detection_num_per_conf, const unsigned int total_gt_num, const unsigned int recall_dim, double *ap, std::vector< SPRCTuple > *tuples, const std::vector< double > &cumulated_orientation_similarity_per_conf=std::vector< double >(), double *aos=nullptr)
 
template<typename T >
void shuffle_by_indices (std::vector< T > *src, const std::vector< std::size_t > &indices)
 
template<typename T >
void quaternion_to_rotation_matrix (const T *quat, T *R)
 
bool is_point_xy_in_polygon2d_xy (const Point &point, const PointCloud &polygon, float distance_to_boundary)
 
bool approx_equal (float a, float b)
 
bool strictly_less (float a, float b)
 
Orientation compute_orientation (const VisPoint &o, const VisPoint &a, const VisPoint &b)
 
bool intersects (const VisPoint &ray, const Segment &segment, VisPoint *intersection)
 
bool load_pcl_pcds (const std::string &filename, PointCloudPtr cloud_out, const std::string &cloud_type="xyzit")
 
bool load_pcl_pcds_xyzit (const std::string &filename, PointCloudPtr cloud_out)
 
bool load_pcl_pcds_xyzl (const std::string &filename, PointCloudPtr cloud_out)
 
bool load_frame_objects (const std::string &filename, const std::set< std::string > &black_list, std::vector< ObjectPtr > *objects_out, std::vector< PointCloud > *left_boundary=nullptr, std::vector< PointCloud > *right_boundary=nullptr, std::vector< PointCloud > *road_polygon=nullptr, std::vector< PointCloud > *left_lane_boundary=nullptr, std::vector< PointCloud > *right_lane_boundary=nullptr, PointCloud *cloud=nullptr)
 
bool load_sensor2world_pose (const std::string &filename, Eigen::Matrix4d *pose_out)
 
bool save_frame_objects (const std::string &filename, const std::vector< ObjectPtr > &objects, const int frame_id=0)
 
ObjectType translate_string_to_type (const std::string &str)
 
unsigned int translate_type_to_index (const ObjectType &type)
 
std::string translate_type_index_to_string (unsigned int index)
 
std::string translate_type_to_string (ObjectType type)
 
SensorType translate_string_to_sensor_type (const std::string &str)
 
std::string translate_sensor_type_to_string (const SensorType &type)
 
bool get_bbox_vertices (const ObjectConstPtr object, std::vector< Eigen::Vector3d > *vertices)
 
bool fill_objects_with_point_cloud (std::vector< ObjectPtr > *objects, const PointCloudConstPtr cloud)
 
bool fill_axis_align_box (ObjectPtr object)
 

Variables

struct apollo::perception::benchmark::PointXYZIT EIGEN_ALIGN16
 

Typedef Documentation

◆ CameraSupplementConstPtr

◆ CameraSupplementPtr

◆ LidarSupplementConstPtr

◆ LidarSupplementPtr

◆ ObjectConstPtr

typedef std::shared_ptr<const Object> apollo::perception::benchmark::ObjectConstPtr

◆ ObjectPtr

◆ Point

◆ Point2d

◆ PointCloud

◆ PointCloud2d

◆ PointCloud2dConstPtr

typedef ::pcl::PointCloud<Point2d>::ConstPtr apollo::perception::benchmark::PointCloud2dConstPtr

◆ PointCloud2dPtr

◆ PointCloudConstPtr

typedef pcl::PointCloud<Point>::ConstPtr apollo::perception::benchmark::PointCloudConstPtr

◆ PointCloudPtr

typedef pcl::PointCloud<Point>::Ptr apollo::perception::benchmark::PointCloudPtr

◆ PointIndices

typedef ::pcl::PointIndices apollo::perception::benchmark::PointIndices

◆ PointIndicesPtr

typedef ::pcl::PointIndices::Ptr apollo::perception::benchmark::PointIndicesPtr

◆ PointXYZITCloud

◆ PointXYZITCloudConstPtr

◆ PointXYZITCloudPtr

◆ PointXYZLCloud

◆ PointXYZLCloudConstPtr

◆ PointXYZLCloudPtr

◆ RadarSupplementConstPtr

◆ RadarSupplementPtr

◆ SeqId

using apollo::perception::benchmark::SeqId = typedef uint32_t

◆ SequenceType

template<typename ObjectKey >
using apollo::perception::benchmark::SequenceType = typedef std::map<ObjectKey, ObjectPtr>

Enumeration Type Documentation

◆ InternalObjectType

Enumerator
INT_BACKGROUND 
INT_SMALLMOT 
INT_PEDESTRIAN 
INT_NONMOT 
INT_BIGMOT 
INT_UNKNOWN 
INT_MAX_OBJECT_TYPE 

◆ ObjectType

Enumerator
UNKNOWN 
UNKNOWN_MOVABLE 
UNKNOWN_UNMOVABLE 
PEDESTRIAN 
BICYCLE 
VEHICLE 
MAX_OBJECT_TYPE 

◆ Orientation

Enumerator
left 
right 
collinear 

◆ RangeType

Enumerator
DISTANCE 
VIEW 
BOX 
ROI 

◆ SensorType

Enumerator
VELODYNE_64 
VELODYNE_16 
RADAR 
CAMERA 
UNKNOWN_SENSOR_TYPE 

◆ UpdateOperation

Enumerator
add 
remove 

Function Documentation

◆ approx_equal()

bool apollo::perception::benchmark::approx_equal ( float  a,
float  b 
)
inline

◆ compute_ap_aos()

void apollo::perception::benchmark::compute_ap_aos ( const std::vector< unsigned int > &  cumulated_match_num_per_conf,
const std::vector< unsigned int > &  cumulated_detection_num_per_conf,
const unsigned int  total_gt_num,
const unsigned int  recall_dim,
double *  ap,
std::vector< SPRCTuple > *  tuples,
const std::vector< double > &  cumulated_orientation_similarity_per_conf = std::vector< double >(),
double *  aos = nullptr 
)

◆ compute_orientation()

Orientation apollo::perception::benchmark::compute_orientation ( const VisPoint o,
const VisPoint a,
const VisPoint b 
)

◆ fill_axis_align_box()

bool apollo::perception::benchmark::fill_axis_align_box ( ObjectPtr  object)

◆ fill_objects_with_point_cloud()

bool apollo::perception::benchmark::fill_objects_with_point_cloud ( std::vector< ObjectPtr > *  objects,
const PointCloudConstPtr  cloud 
)

◆ get_bbox_vertices()

bool apollo::perception::benchmark::get_bbox_vertices ( const ObjectConstPtr  object,
std::vector< Eigen::Vector3d > *  vertices 
)

◆ intersects()

bool apollo::perception::benchmark::intersects ( const VisPoint ray,
const Segment segment,
VisPoint intersection 
)

◆ is_point_xy_in_polygon2d_xy()

bool apollo::perception::benchmark::is_point_xy_in_polygon2d_xy ( const Point point,
const PointCloud polygon,
float  distance_to_boundary 
)

◆ load_frame_objects()

bool apollo::perception::benchmark::load_frame_objects ( const std::string &  filename,
const std::set< std::string > &  black_list,
std::vector< ObjectPtr > *  objects_out,
std::vector< PointCloud > *  left_boundary = nullptr,
std::vector< PointCloud > *  right_boundary = nullptr,
std::vector< PointCloud > *  road_polygon = nullptr,
std::vector< PointCloud > *  left_lane_boundary = nullptr,
std::vector< PointCloud > *  right_lane_boundary = nullptr,
PointCloud cloud = nullptr 
)

◆ load_pcl_pcds()

bool apollo::perception::benchmark::load_pcl_pcds ( const std::string &  filename,
PointCloudPtr  cloud_out,
const std::string &  cloud_type = "xyzit" 
)

◆ load_pcl_pcds_xyzit()

bool apollo::perception::benchmark::load_pcl_pcds_xyzit ( const std::string &  filename,
PointCloudPtr  cloud_out 
)

◆ load_pcl_pcds_xyzl()

bool apollo::perception::benchmark::load_pcl_pcds_xyzl ( const std::string &  filename,
PointCloudPtr  cloud_out 
)

◆ load_sensor2world_pose()

bool apollo::perception::benchmark::load_sensor2world_pose ( const std::string &  filename,
Eigen::Matrix4d *  pose_out 
)

◆ quaternion_to_rotation_matrix()

template<typename T >
void apollo::perception::benchmark::quaternion_to_rotation_matrix ( const T *  quat,
T *  R 
)

◆ save_frame_objects()

bool apollo::perception::benchmark::save_frame_objects ( const std::string &  filename,
const std::vector< ObjectPtr > &  objects,
const int  frame_id = 0 
)

◆ shuffle_by_indices()

template<typename T >
void apollo::perception::benchmark::shuffle_by_indices ( std::vector< T > *  src,
const std::vector< std::size_t > &  indices 
)

◆ strictly_less()

bool apollo::perception::benchmark::strictly_less ( float  a,
float  b 
)
inline

◆ translate_sensor_type_to_string()

std::string apollo::perception::benchmark::translate_sensor_type_to_string ( const SensorType type)

◆ translate_string_to_sensor_type()

SensorType apollo::perception::benchmark::translate_string_to_sensor_type ( const std::string &  str)

◆ translate_string_to_type()

ObjectType apollo::perception::benchmark::translate_string_to_type ( const std::string &  str)

◆ translate_type_index_to_string()

std::string apollo::perception::benchmark::translate_type_index_to_string ( unsigned int  index)

◆ translate_type_to_index()

unsigned int apollo::perception::benchmark::translate_type_to_index ( const ObjectType type)

◆ translate_type_to_string()

std::string apollo::perception::benchmark::translate_type_to_string ( ObjectType  type)

Variable Documentation

◆ EIGEN_ALIGN16

struct apollo::perception::benchmark::PointXYZIL apollo::perception::benchmark::EIGEN_ALIGN16