ApolloAuto / apollo

An open autonomous driving platform
Apache License 2.0
25.18k stars 9.71k forks source link

[Perception] Lidar Obstacle Detection fails to detect random shape obstacle. #12073

Closed ntutangyun closed 4 years ago

ntutangyun commented 4 years ago

Issue

Hi team,

Recently I've been trying Apollo's lidar perception module with LGSVL simulator. I generated a bunch of random-shaped obstacles, and Apollo lidar detection fails to detect some of them.

Here's one example. random_shape_not_detected_static2

Steps to reproduce

here's a bag file (point cloud data included) recorded during runtime when lidar perception failed to work.

Expected behavior


Although the shape is randomly generated, the lidar points were there and from a human's perspective, clearly there was something big in front of the ego vehicle. I believe it's proper for Apollo to at least produce an unknown obstacle ahead.

Configurations

Below is my dag file for lidar perception:

module_config {
  module_library : "/apollo/bazel-bin/modules/perception/onboard/component/libperception_component_lidar.so"

 components {
    class_name : "SegmentationComponent"
    config {
      name: "Velodyne128Segmentation"
      config_file_path: "/apollo/modules/perception/production/conf/perception/lidar/velodyne128_segmentation_conf_lgsvl.pb.txt"
      flag_file_path: "/apollo/modules/perception/production/conf/perception/perception_common.flag"
      readers {
          channel: "/apollo/sensor/lidar128/compensator/PointCloud2"
        }
    }
  }

  components {
    class_name : "RecognitionComponent"
    config {
      name: "RecognitionComponent"
      config_file_path: "/apollo/modules/perception/production/conf/perception/lidar/recognition_conf.pb.txt"
      readers {
          channel: "/perception/inner/SegmentationObjects"
        }
    }
  }

  components {
    class_name: "FusionComponent"
    config {
      name: "SensorFusion"
      config_file_path: "/apollo/modules/perception/production/conf/perception/fusion/fusion_component_conf.pb.txt"
      readers {
          channel: "/perception/inner/PrefusedObjects"
        }
    }
  }
}

Please let me know if any other resources are needed to verify this. Thanks.

ntutangyun commented 4 years ago

Here is the update of another run. In this case, I placed a normal vehicle aside to show that the Perception is at least doing something.

recording file

Video

ntutangyun commented 4 years ago

my initial investigation is that the CNN Segmentation failed to produce a segmented object for the random-shape obstacle.

jeroldchen commented 4 years ago

Hi @ntutangyun , segmentation method is no longer maintained, as we have set PointPillars as perception's lidar detection method. Thank you for your interest in Apollo.