robokudo.annotators.cluster_pose_bb

Classes

ClusterPoseBBAnnotator

Calculate the 3D Position for every Object Hypothesis (cluster) that has 3d points.

Module Contents

class robokudo.annotators.cluster_pose_bb.ClusterPoseBBAnnotator(name='ClusterPoseBBAnnotator', descriptor=Descriptor())

Bases: robokudo.annotators.core.BaseAnnotator

Calculate the 3D Position for every Object Hypothesis (cluster) that has 3d points. The pose will be calculated by building a z-axis aligned Oriented Bounding Box for every cluster. BB rotation is determined by projecting the cluster 3d points to the world transform and then calculate a minimum area BB in 2d.

class Descriptor

Bases: robokudo.annotators.core.BaseAnnotator.Descriptor

class Parameters
align_x_axis_by_max_bbox_extent = False
bounding_box_visualization_color = [0, 0, 0]
parameters
adjust_bb_orientation_by_bb_size(pose_orientation: numpy.typing.NDArray, bounding_box_extents: list)

Aligns the 6D pose so that the X-axis points in the direction of the biggest side of the bounding box. This will also change the extents of the bounding box, because the axes will be flipped and the extents have to be adjusted accordingly.

Parameters: - pose_orientation: numpy array, orientation of the pose as a rotation matrix (3x3). - bounding_box_extents: numpy array, extents of the bounding box (x,y,z).

Returns: - new_pose_orientation: numpy array, the aligned orientation of the bounding box. - new_bounding_box_extents: numpy array, the re-arranged bounding box extent list.

update()