Back to blog

How to Use 3D Object Interpolation to Speed Up Point Cloud Annotation

3D & LiDAR

Label a 3D bounding box at the start and end of a point cloud episode and let spline interpolation fill the frames between. Step-by-step guide with video.

How to Use 3D Object Interpolation to Speed Up Point Cloud Annotation

3D object interpolation speeds up point cloud annotation. You label a cuboid in the first and last frames of a segment, and the 3D BBox Interpolation app fills in the frames between with spline interpolation. It works best when the object's motion is simple; for harder trajectories use the MBPTrack tracking tutorial.

You run it inside the LiDAR and sensor fusion labeling toolbox. The toolbox docs cover point cloud episodes.

Labeling 3D point clouds is slow, and every extra frame adds work. If the object's motion is not very complicated, interpolation cuts that work a lot. In this tutorial you will learn what interpolation is and how to run it in Supervisely.

Example of 3D object interpolation for LiDAR point clouds in Supervisely

How does 3D interpolation work? (video tutorial)

Follow this step-by-step video guide to learn how to use 3D object interpolation tool for labeling point cloud episodes (sequences) in Supervisely Platform.

What is interpolation, and when to use spline vs linear?

Interpolation is a process of finding unknown intermediate values of some function from the available discrete set of its known values. There are many variants of interpolation. The simplest one is linear interpolation. If you have 2 data points, linear interpolation will be a straight line between these 2 points.

Linear and spline interpolationsLinear and spline interpolations

Linear interpolationSpline interpolation
How it worksStraight line between each pair of known pointsLow-degree polynomials that fit smoothly together
ResultA continuous curve of straight segmentsA smoother path
Trade-offSimple and computationally cheap, but not very accurate in some scenariosSmaller interpolation error
Used in the appNoYes, a modification of it
  1. Linear interpolation

    To get linear interpolation of a set of data points, you need to concatenate linear interpolation between each pair of available data points. The result will look like a continuous curve. Linear interpolation is pretty simple and computationally cheap, but it is not very accurate in some scenarios.

  2. Spline interpolation

    Unlike linear interpolation, which uses a linear function for each of intervals [Xk, Xk+1], spline interpolation applies low-degree polynomials to find missing data points, and selects the polynomial pieces such that they fit smoothly together. The resulting function will be a piecewise polynomial called a spline.

    Compared to linear interpolation, spline interpolation allows to get smoother interpolation and smaller interpolation error. That's why we decided to use it in our app.

How do you run 3D bounding box interpolation in Supervisely?

It is possible to interpolate between data points not only in 2D space, but also in 3D space. Let's assume that you have a number of point cloud episodes and want to label them with bounding boxes. Labeling every single point cloud from scratch can be very time consuming, but you can label only several point clouds and label other point clouds automatically with the help of interpolation.

Supervisely Ecosystem provides a simple tool for interpolating your bounding boxes in point clouds - 3D BBox Interpolation. This app uses a modification of spline interpolation to label point clouds based on bounding boxes given in first and last point clouds in the sequence.

This application is started automatically and should be available out of the box. But if it is not, run it yourself or contact your instance administrator to run and make available for all users.

  1. Label 3D objects in point cloud segment

    Label object with 3D bounding box tool on at least at the beginning and end of the point cloud segment.

  2. Interpolate segment

    Select range of point clouds (first and last point cloud in the range must be labeled) in the timeline and press Interpolate button.

  3. Preview results and correct manually if needed

    Interpolation will generate new cuboids in the segment, you can preview the object track and correct the position of the 3D bounding box if needed with using the axis arrows.

Conclusion

In this tutorial we learned about simple, fast and efficient way of speeding up point clouds labeling process with interpolation. Sign up and try to label your point clouds for free in Community Edition.

Frequently asked questions

What is 3D object interpolation in point clouds?

You label a 3D bounding box (cuboid) in some frames of a point cloud episode, and the tool computes the cuboids for the frames in between, instead of labeling every frame from scratch.

How many frames do I need to label?

At least the first and last frames of the segment you interpolate.

Is the interpolation linear or spline?

The 3D BBox Interpolation app uses a modification of spline interpolation. Spline interpolation gives a smoother path and a smaller interpolation error than linear interpolation.

When should I use object tracking instead?

Interpolation works best when the motion trajectory is not very complicated. For harder cases, use a 3D tracking model such as MBPTrack, which follows the object from a first cuboid.

Can I correct the interpolated boxes?

Yes. Preview the object track and adjust any cuboid with the axis arrows.

Is the app available out of the box?

It is started automatically and should be available. If it is not, run it yourself or ask your instance administrator to run it and make it available to all users.

More from the blog

All posts