How to get more detections?

This article presents best practices to maximize the number of object detections. Note that for an object to be sent to the robot for picking, it needs to be both detected (this article) and pickable. The latter is the scope of the companion article on how to get more pickable parts.

Finding many and high-quality detections depends on a number of factors, ranging from the quality of the captured image to the detection configuration. The following sections present them in detail.

Tip

When optimizing any part of your application, make sure to validate your results in representative conditions. For example, on a bin picking application, validate your results across the expected range of part orientations (top, bottom, side) and locations (bin top, bin bottom, next to bin wall, middle of bin).

This can be done by means of test runs of your application, but can also be done systematically by saving a number of representative snapshots and comparing before/after results.

This recommendation applies not only to getting more detections, but also to other optimizations like getting less false detections, faster detections, or more pickable parts.

Camera

Parts should be captured by the camera with enough fidelity to be reliably detected.

  • Camera type. Pickit is compatible with a number of 3D cameras. Use one that is adequate for the size and material of your parts.

  • Camera mount and location: Determine the best configuration for your application.

  • Camera settings: Select the settings that produce the best possible 3D capture. Be mindful that there is a compromise between capture speed and quality, and that longer capture times might be required on more challenging scenes.

You can inspect the quality of the captured point cloud in the Points view.

Region of interest

The Region of Interest (ROI) should contain as few points not belonging to the parts to be detected as possible.

After initially building the ROI, make sure to fine-tune it to remove elements like the ground plane and bin walls. This way, Pickit’s computational effort is focused in the relevant regions of the 3D image, and not wasted in regions where parts are not expected to be.

../../_images/roi.png

Tip

If the bin walls are irregular, or their location can change slightly over time, consider enabling the ROI wall filter. If your detection region is not box-shaped, as can happen with slanted-wall bins, you can use the point-based ROI filter to teach the shape of the empty bin and substract it from the captured point cloud.

Object model

The model of the object to detect should be as accurate as possible.

  • If the model is given by a geometric primitive, such as when using Teach cylinders, Teach boxes or Flex, make sure that the dimensions are correctly specified.

  • If the model is taught from camera, follow the recommendations on how to teach a good model. Note that if parts can be randomly oriented, more than one viewpoint might need to be taught.

  • If the model is taught from CAD, make sure that the model matches the real parts. For instance, you will have worse matches if you use the CAD model of a finished part to detect unfinished parts that have different geometric features or dimensions.

Object detection

There are two parameters that have a great influence on detection results:

Learn more about finding good values for these parameters here. Apart from the above, there are a few additional settings worth reviewing in your Pickit configuration: