open3d.ml.torch.pipelines.ObjectDetection

class open3d.ml.torch.pipelines.ObjectDetection(model, dataset=None, name='ObjectDetection', main_log_dir='./logs/', device='cuda', split='train', **kwargs)

Pipeline for object detection.

__init__(model, dataset=None, name='ObjectDetection', main_log_dir='./logs/', device='cuda', split='train', **kwargs)

Initialize.

Parameters
  • model – A network model.

  • dataset – A dataset, or None for inference model.

  • device – ‘cuda’ or ‘cpu’.

  • distributed – Whether to use multiple gpus.

  • kwargs

Returns

The corresponding class.

Return type

class

get_3d_summary(infer_bboxes_batch, inputs_batch, epoch, results=None, save_gt=True)

Create visualization for input point cloud and network output bounding boxes.

Parameters
  • infer_bboxes_batch (Sequence[Sequence[BoundingBox3D]) – Batch of predicted bounding boxes from inference_end()

  • (Sequence[Sequence[bbox_objs (inputs_batch) – Object3D, point: array(N,3)]]): Batch of ground truth boxes and pointclouds.

  • epoch (int) – step

  • results (torch.FloatTensor) – Model output (only required for RPN stage of PointRCNN).

  • save_gt (bool) – Save ground truth (for ‘train’ or ‘valid’ stages).

Returns

[Dict] visualizations of inputs and outputs suitable to save as an

Open3D for TensorBoard summary.

load_ckpt(ckpt_path=None, is_resume=True)
run_inference(data)

Run inference on given data.

Parameters

data – A raw data.

Returns

Returns the inference results.

run_test()

Run test with test data split, computes mean average precision of the prediction results.

run_train()

Run training with train data split.

run_valid(epoch=0)

Run validation with validation data split, computes mean average precision and the loss of the prediction results.

Parameters

epoch (int) – step for TensorBoard summary. Defaults to 0 if unspecified.

save_ckpt(epoch)
save_config(writer)

Save experiment configuration with tensorboard summary.

save_logs(writer, epoch)