|
pcod-common v1.0.0
Shared preprocessing and postprocessing for point-cloud object detection
|
Classes | |
| struct | ArtifactConfig |
| struct | BoundingBox |
| struct | BoundingBoxVertex |
| struct | ClassificationEntry |
| struct | FrozenContract |
| struct | FrozenModelConfig |
| struct | FrozenPostprocessConfig |
| struct | FrozenPreprocessConfig |
| struct | Line |
| struct | ModelManifest |
| struct | NmsConfig |
| struct | PbodOutputsView |
| struct | PbodPostprocessConfig |
| struct | PillarGrid |
| struct | PillarPreprocessCudaConfig |
| class | PillarPreprocessCudaContext |
| struct | PillarPreprocessCudaDeviceOutputs |
| struct | PillarPreprocessCudaOutputs |
| struct | PillarPreprocessPoint |
| struct | PointPreprocessConfig |
| class | PointPreprocessor |
| struct | RuntimeDefaults |
Enumerations | |
| enum class | PointFeatureNormalizationType { kNone , kValueThreshold , kMinMax , kZScore } |
Functions | |
| template<typename T > | |
| constexpr const T & | clamp (const T &value, const T &low, const T &high) |
| template<typename T > | |
| T | scale_score (T score, T old_thresh, T new_thresh) |
| float | wrap_to_range (float val, float min_val, float max_val) |
| ModelManifest | LoadModelManifest (const std::string &path) |
| void | ValidateModelManifest (const ModelManifest &manifest) |
| void | ApplyRotatedNms (std::vector< BoundingBox > &bboxes, const NmsConfig &config) |
| std::vector< BoundingBox > | DecodePbod (const PbodOutputsView &outputs, const PillarGrid &grid, const PbodPostprocessConfig &config) |
| PillarGrid | BuildPillarGrid (const std::array< int, 2 > &pillar_map_size, const std::array< std::array< float, 2 >, 3 > &pillar_map_range, int first_up_stride, int stride) |
| bool | HasCudaPillarPreprocessSupport () |
| PointFeatureNormalizationType | ParsePointFeatureNormalizationType (const std::string &value) |
Variables | |
| constexpr const char * | kVersion = "1.0.0" |
| constexpr const char * | kManifestSchemaVersion = "2.0" |
|
strong |
Available normalization strategies for the additional point feature.
| Enumerator | |
|---|---|
| kNone | |
| kValueThreshold | |
| kMinMax | |
| kZScore | |
Definition at line 12 of file point_preprocess.hpp.
| void pcod_common::ApplyRotatedNms | ( | std::vector< BoundingBox > & | bboxes, |
| const NmsConfig & | config ) |
Filter and reorder boxes in place.
| bboxes | Boxes to process. |
| config | Suppression configuration. |
Definition at line 12 of file nms.cpp.
References pcod_common::NmsConfig::internal_score_threshold, pcod_common::NmsConfig::iou_threshold, pcod_common::NmsConfig::max_detections, scale_score(), and pcod_common::NmsConfig::score_thresholds.
Referenced by main().
| PillarGrid pcod_common::BuildPillarGrid | ( | const std::array< int, 2 > & | pillar_map_size, |
| const std::array< std::array< float, 2 >, 3 > & | pillar_map_range, | ||
| int | first_up_stride, | ||
| int | stride ) |
Build the output pillar grid represented by an exported model.
| pillar_map_size | Base map dimensions in X and Y. |
| pillar_map_range | XYZ coordinate ranges. |
| first_up_stride | Upsampling factor applied before model strides. |
| stride | Model output stride. |
Definition at line 10 of file pillar_grid.cpp.
References pcod_common::PillarGrid::centers, pcod_common::PillarGrid::grid_x, pcod_common::PillarGrid::grid_y, pcod_common::PillarGrid::x_max, pcod_common::PillarGrid::x_min, pcod_common::PillarGrid::y_max, pcod_common::PillarGrid::y_min, pcod_common::PillarGrid::z_max, and pcod_common::PillarGrid::z_min.
Referenced by main().
|
inlineconstexpr |
| std::vector< BoundingBox > pcod_common::DecodePbod | ( | const PbodOutputsView & | outputs, |
| const PillarGrid & | grid, | ||
| const PbodPostprocessConfig & | config ) |
Decode PBOD tensors into oriented boxes.
| outputs | Non-owning model-output tensors. |
| grid | Spatial pillar centers. |
| config | Class names and thresholds. |
Definition at line 24 of file pbod_postprocess.cpp.
References pcod_common::BoundingBox::center, pcod_common::PillarGrid::centers, pcod_common::PbodOutputsView::class_logits, pcod_common::BoundingBox::classification, pcod_common::BoundingBox::existence_probability, pcod_common::PbodOutputsView::focal_logits, pcod_common::BoundingBox::height, pcod_common::BoundingBox::length, pcod_common::PbodOutputsView::num_classes, pcod_common::PbodOutputsView::num_pillars, pcod_common::PbodOutputsView::reg_dim, pcod_common::PbodOutputsView::reg_logits, pcod_common::PbodPostprocessConfig::score_thresholds, pcod_common::PbodOutputsView::size_posterior, pcod_common::BoundingBox::width, wrap_to_range(), pcod_common::BoundingBox::yaw, and pcod_common::BoundingBox::z.
Referenced by main().
| bool pcod_common::HasCudaPillarPreprocessSupport | ( | ) |
Return whether this build and runtime provide CUDA pillar preprocessing.
Definition at line 10 of file pillar_preprocess_cuda_stub.cpp.
Referenced by pcod_common::PillarPreprocessCudaContext::isAvailable().
| ModelManifest pcod_common::LoadModelManifest | ( | const std::string & | path | ) |
| path | Manifest YAML path. |
Definition at line 235 of file model_manifest.cpp.
References pcod_common::ModelManifest::schema_version, and ValidateModelManifest().
Referenced by main().
| PointFeatureNormalizationType pcod_common::ParsePointFeatureNormalizationType | ( | const std::string & | value | ) |
| value | Manifest normalization name. |
| std::invalid_argument | for unknown names. |
Definition at line 10 of file point_preprocess.cpp.
References kMinMax, kNone, kValueThreshold, and kZScore.
Referenced by main().
| T pcod_common::scale_score | ( | T | score, |
| T | old_thresh, | ||
| T | new_thresh ) |
Remap a confidence score while preserving zero and one.
| score | Input confidence. |
| old_thresh | Existing threshold pivot. |
| new_thresh | Desired threshold pivot. |
Definition at line 23 of file math.hpp.
Referenced by ApplyRotatedNms().
| void pcod_common::ValidateModelManifest | ( | const ModelManifest & | manifest | ) |
| manifest | Manifest to validate. |
| std::runtime_error | for contract violations. |
Definition at line 442 of file model_manifest.cpp.
References pcod_common::ModelManifest::artifact, pcod_common::ArtifactConfig::backend, pcod_common::ArtifactConfig::bundle_name, pcod_common::ArtifactConfig::Files::checkpoint, pcod_common::FrozenPostprocessConfig::class_names, pcod_common::RuntimeDefaults::Postprocessing::class_score_threshold, pcod_common::ArtifactConfig::device, pcod_common::ArtifactConfig::TritonDeployment::enabled, pcod_common::FrozenPreprocessConfig::PointFeatureNormalizationContract::epsilon, pcod_common::ArtifactConfig::export_format, pcod_common::ArtifactConfig::export_timestamp_utc, pcod_common::ArtifactConfig::files, pcod_common::FrozenModelConfig::first_up_stride, pcod_common::ModelManifest::frozen_contract, pcod_common::ArtifactConfig::head_name, pcod_common::ArtifactConfig::inputs, kManifestSchemaVersion, pcod_common::RuntimeDefaults::Postprocessing::max_detections, pcod_common::FrozenPreprocessConfig::max_num_points, pcod_common::ArtifactConfig::Files::model, pcod_common::FrozenContract::model, pcod_common::ArtifactConfig::TritonDeployment::model_name, pcod_common::ArtifactConfig::TritonDeployment::model_version, pcod_common::RuntimeDefaults::Postprocessing::nms_iou_threshold, pcod_common::RuntimeDefaults::Postprocessing::nms_score_thresholds, pcod_common::FrozenPostprocessConfig::num_classes, pcod_common::FrozenPreprocessConfig::num_point_features, pcod_common::ArtifactConfig::outputs, pcod_common::FrozenModelConfig::pillar_map_size, pcod_common::RuntimeDefaults::Preprocessing::point_feature, pcod_common::FrozenPreprocessConfig::point_feature_normalization, pcod_common::FrozenContract::postprocessing, pcod_common::RuntimeDefaults::postprocessing, pcod_common::ArtifactConfig::precision, pcod_common::FrozenContract::preprocessing, pcod_common::RuntimeDefaults::preprocessing, pcod_common::ArtifactConfig::Files::resolved_training_config, pcod_common::ModelManifest::runtime_defaults, pcod_common::ModelManifest::schema_version, pcod_common::FrozenModelConfig::stride, pcod_common::ArtifactConfig::triton, pcod_common::ArtifactConfig::Files::triton_config, pcod_common::ArtifactConfig::Files::triton_model, pcod_common::ArtifactConfig::Files::triton_repository, pcod_common::FrozenModelConfig::up_stride, and pcod_common::RuntimeDefaults::Preprocessing::PointFeature::value_threshold.
Referenced by LoadModelManifest(), and main().
|
inline |
| val | Input value. |
| min_val | Lower bound. |
| max_val | Upper bound. |
Definition at line 32 of file math.hpp.
Referenced by DecodePbod().
|
inlineconstexpr |
Supported model-manifest schema version.
Definition at line 10 of file version.hpp.
Referenced by main(), and ValidateModelManifest().
|
inlineconstexpr |
Library release version.
Definition at line 8 of file version.hpp.