From 467980d3b550f940bb8e961e3a575a621a9395a6 Mon Sep 17 00:00:00 2001 From: Liangliang Zhang Date: Wed, 26 Sep 2018 21:31:42 -0700 Subject: [PATCH] Perception: added fused_classifier_test. --- modules/perception/inference/utils/util.h | 4 +-- .../perception/lidar/common/object_sequence.h | 10 +++++-- .../lib/classifier/fused_classifier/BUILD | 30 +++++++++++++------ .../fused_classifier/fused_classifier.h | 7 ++++- .../fused_classifier_test.cc} | 7 +++-- 5 files changed, 41 insertions(+), 17 deletions(-) rename modules/perception/lidar/{test/lidar_lib_classifier_fused_classifier_test.cc => lib/classifier/fused_classifier/fused_classifier_test.cc} (99%) diff --git a/modules/perception/inference/utils/util.h b/modules/perception/inference/utils/util.h index 2409d25a5c..897fcc1376 100644 --- a/modules/perception/inference/utils/util.h +++ b/modules/perception/inference/utils/util.h @@ -18,8 +18,6 @@ #define MODULES_PERCEPTION_INFERENCE_UTILS_UTIL_H_ #include - -#include #include #include #include @@ -27,6 +25,8 @@ #include #include +#include "boost/shared_ptr.hpp" + #include "modules/perception/base/blob.h" namespace apollo { diff --git a/modules/perception/lidar/common/object_sequence.h b/modules/perception/lidar/common/object_sequence.h index b1331253fb..172996e3ba 100644 --- a/modules/perception/lidar/common/object_sequence.h +++ b/modules/perception/lidar/common/object_sequence.h @@ -17,9 +17,11 @@ #define MODULES_PERCEPTION_LIDAR_COMMON_OBJECT_SEQUENCE_H_ #include +#include #include #include -#include + +#include "gtest/gtest_prod.h" #include "modules/perception/base/object.h" #include "modules/perception/lidar/common/lidar_log.h" @@ -33,7 +35,8 @@ class ObjectSequence { typedef int TrackIdKey; typedef double TimeStampKey; typedef std::map> TrackedObjects; + std::shared_ptr> + TrackedObjects; public: ObjectSequence() = default; @@ -47,9 +50,10 @@ class ObjectSequence { TimeStampKey window_time); protected: + FRIEND_TEST(FusedClassifierTest, test_one_sequence_fusion); + FRIEND_TEST(FusedClassifierTest, test_one_sequence_fusion_bad_timestamp); void RemoveStaleTracks(TimeStampKey current_stamp); - protected: TimeStampKey current_; std::map sequence_; std::mutex mutex_; diff --git a/modules/perception/lidar/lib/classifier/fused_classifier/BUILD b/modules/perception/lidar/lib/classifier/fused_classifier/BUILD index 17f4a4d2cc..2b935f1cef 100644 --- a/modules/perception/lidar/lib/classifier/fused_classifier/BUILD +++ b/modules/perception/lidar/lib/classifier/fused_classifier/BUILD @@ -11,8 +11,8 @@ cc_library( "util.h", ], deps = [ - "//modules/perception/base:object", "//framework:cybertron", + "//modules/perception/base:object", "@eigen", ], ) @@ -24,8 +24,8 @@ cc_library( ], deps = [ "//modules/perception/base:object", - "//modules/perception/lib/registerer:registerer", - "//modules/perception/lidar/common:common", + "//modules/perception/lib/registerer", + "//modules/perception/lidar/common", ], ) @@ -38,16 +38,16 @@ cc_library( "ccrf_type_fusion.h", ], deps = [ - ":util", ":type_fusion_interface", + ":util", + "//framework:cybertron", "//modules/common/util:file_util", "//modules/perception/base:object", "//modules/perception/base:point_cloud", - "//modules/perception/lib/config_manager:config_manager", + "//modules/perception/lib/config_manager", "//modules/perception/lib/io:file_util", "//modules/perception/lidar/common:object_sequence", "//modules/perception/proto:ccrf_type_fusion_config_proto", - "//framework:cybertron", ], ) @@ -61,14 +61,26 @@ cc_library( ], deps = [ ":type_fusion_interface", + "//framework:cybertron", "//modules/common/util:file_util", - "//modules/perception/proto:fused_classifier_config_proto", - "//modules/perception/lib/config_manager:config_manager", + "//modules/perception/lib/config_manager", "//modules/perception/lib/io:file_util", "//modules/perception/lidar/common:lidar_frame", "//modules/perception/lidar/common:object_sequence", "//modules/perception/lidar/lib/interface:base_classifier", - "//framework:cybertron", + "//modules/perception/proto:fused_classifier_config_proto", + ], +) + +cc_library( + name = "fused_classifier_test", + srcs = [ + "fused_classifier_test.cc", + ], + deps = [ + ":fused_classifier", + ":util", + "@gtest//:main", ], ) diff --git a/modules/perception/lidar/lib/classifier/fused_classifier/fused_classifier.h b/modules/perception/lidar/lib/classifier/fused_classifier/fused_classifier.h index 355ccc25de..439ea05272 100644 --- a/modules/perception/lidar/lib/classifier/fused_classifier/fused_classifier.h +++ b/modules/perception/lidar/lib/classifier/fused_classifier/fused_classifier.h @@ -16,8 +16,10 @@ #ifndef MODULES_PERCEPTION_LIDAR_LIB_CLASSIFIER_FUSED_CLASSIFIER_H_ #define MODULES_PERCEPTION_LIDAR_LIB_CLASSIFIER_FUSED_CLASSIFIER_H_ -#include #include +#include + +#include "gtest/gtest_prod.h" #include "modules/perception/lib/config_manager/config_manager.h" #include "modules/perception/lidar/common/lidar_frame.h" @@ -41,6 +43,9 @@ class FusedClassifier : public BaseClassifier { std::string Name() const override { return "FusedClassifier"; } private: + FRIEND_TEST(FusedClassifierTest, test_one_shot_fusion); + FRIEND_TEST(FusedClassifierTest, test_one_sequence_fusion); + FRIEND_TEST(FusedClassifierTest, test_one_sequence_fusion_bad_timestamp); ObjectSequence sequence_; double temporal_window_ = 20.0; bool enable_temporal_fusion_ = true; diff --git a/modules/perception/lidar/test/lidar_lib_classifier_fused_classifier_test.cc b/modules/perception/lidar/lib/classifier/fused_classifier/fused_classifier_test.cc similarity index 99% rename from modules/perception/lidar/test/lidar_lib_classifier_fused_classifier_test.cc rename to modules/perception/lidar/lib/classifier/fused_classifier/fused_classifier_test.cc index 53ebd9d4ec..02286db6d6 100644 --- a/modules/perception/lidar/test/lidar_lib_classifier_fused_classifier_test.cc +++ b/modules/perception/lidar/lib/classifier/fused_classifier/fused_classifier_test.cc @@ -13,14 +13,17 @@ * See the License for the specific language governing permissions and * limitations under the License. *****************************************************************************/ -#include +#include "modules/perception/lidar/lib/classifier/fused_classifier/fused_classifier.h" + #include #include + +#include "gtest/gtest.h" + #include "modules/perception/base/object.h" #include "modules/perception/lidar/common/lidar_frame.h" #include "modules/perception/lidar/common/lidar_log.h" #include "modules/perception/lidar/common/object_sequence.h" -#include "modules/perception/lidar/lib/classifier/fused_classifier/fused_classifier.h" #include "modules/perception/lidar/lib/classifier/fused_classifier/util.h" namespace apollo { -- GitLab