25#include "modules/perception/radar4d_detection/lib/classifier/proto/ccrf_type_fusion_config.pb.h"
37 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
55 std::shared_ptr<perception::base::Object>
object)
override;
61 std::string
Name()
const override {
return "CCRFOneShotTypeFusion"; }
71 const std::shared_ptr<perception::base::Object>&
object,
81 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
105 std::string
Name()
const override {
return "CCRFSequenceTypeFusion"; }
ObjectSequence::TrackedObjects TrackedObjects
std::string Name() const override
Get class name
bool TypeFusion(const TypeFusionOption &option, std::shared_ptr< perception::base::Object > object) override
Type fusion of objects
Matrixd confidence_smooth_matrix_
EIGEN_MAKE_ALIGNED_OPERATOR_NEW bool Init(const TypeFusionInitOption &option) override
INit type fusion
bool FuseOneShotTypeProbs(const std::shared_ptr< perception::base::Object > &object, Vectord *log_prob)
Get object type probabilities
apollo::common::EigenMap< std::string, Matrixd > smooth_matrices_
bool TypeFusion(const TypeFusionOption &option, TrackedObjects *tracked_objects) override
Type fusion of tracked object
bool RecoverFromLogProbability(Vectord *prob, std::vector< float > *dst, perception::base::ObjectType *type)
bool FuseWithConditionalProbabilityInference(TrackedObjects *tracked_objects)
std::string Name() const override
Get class name
Matrixd transition_matrix_
apollo::common::EigenVector< Vectord > fused_sequence_probs_
CCRFOneShotTypeFusion one_shot_fuser_
apollo::common::EigenVector< Vectori > state_back_trace_
apollo::common::EigenVector< Vectord > fused_oneshot_probs_
EIGEN_MAKE_ALIGNED_OPERATOR_NEW bool Init(const TypeFusionInitOption &option) override
Init type fusion
std::map< T, EigenType, std::less< T >, Eigen::aligned_allocator< std::pair< const T, EigenType > > > EigenMap
std::vector< EigenType, Eigen::aligned_allocator< EigenType > > EigenVector
Eigen::Matrix< double, VALID_OBJECT_TYPE, VALID_OBJECT_TYPE > Matrixd
Eigen::Matrix< double, VALID_OBJECT_TYPE, 1 > Vectord