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)#