Ejemplo n.º 1
0
    def testCameraVisualization(self):
        metric = detection_3d_metrics.CameraVisualization()

        batch_size = 4
        num_preds = 10

        images = np.random.rand(batch_size, 512, 1024, 3)
        bbox_corners = np.random.rand(batch_size, num_preds, 8, 2)
        bbox_scores = np.random.rand(batch_size, num_preds)

        metric.Update(
            py_utils.NestedMap({
                'camera_images': images,
                'bbox_corners': bbox_corners,
                'bbox_scores': bbox_scores
            }))

        # Test that the metric runs.
        _ = metric.Summary('test')
Ejemplo n.º 2
0
    def CreateDecoderMetrics(self):
        """Decoder metrics for KITTI."""
        p = self.params

        kitti_metric_p = p.ap_metric.Copy().Set(
            cls=kitti_ap_metric.KITTIAPMetrics)
        apm = kitti_metric_p.Instantiate()
        class_names = apm.metadata.ClassNames()

        # Convert the list of class names to a dictionary mapping class_id -> name.
        class_id_to_name = dict(enumerate(class_names))

        top_down_transform = transform_util.MakeCarToImageTransform(
            pixels_per_meter=32.,
            image_ref_x=512.,
            image_ref_y=1408.,
            flip_axes=True)

        decoder_metrics = py_utils.NestedMap({
            'top_down_visualization':
            (detection_3d_metrics.TopDownVisualizationMetric(
                top_down_transform,
                image_height=1536,
                image_width=1024,
                class_id_to_name=class_id_to_name)),
            'num_samples_in_batch':
            metrics.AverageMetric(),
            'kitti_AP_v2':
            apm,
        })

        decoder_metrics.mesh = detection_3d_metrics.WorldViewer()

        if p.summarize_boxes_on_image:
            decoder_metrics.camera_visualization = (
                detection_3d_metrics.CameraVisualization(
                    bbox_score_threshold=p.
                    visualization_classification_threshold))

        return decoder_metrics