Zivid SDK 2.9 preview brings new levels of point cloud quality, ease of use, plus a 10% capture speed increase
Zivid SDK 2.9 preview is now available. Come check out the wide range of features we have managed to fit into one easy to use package. To memory, this is our biggest, fullest coverage release to date. It is packed with features that will really make a difference in your 3D point cloud quality, ease of use and your system’s performance. So, lets dive in and take a look at all of the additions.
The improvements are broad in scope. But we can categorize them under three main themes:
No time to read? Check out this short video about the 2.9 preview highlights:
The ideal 3D camera is the one that returns a point cloud that is as true to reality as possible. Who doesn’t want to see exactly the same thing they see with their own eyes? With every new SDK release point cloud quality is always front of our minds, we tirelessly aim to provide a point cloud that can come closer and closer to meeting this ideal of ‘true-to-reality’.
In this SDK we’ve improved and added to our 3D filter stack which now does a far better job at suppressing noise and removing false points and clusters in the point cloud that shouldn’t be there, while still preserving small features.
This pursuit is straightforward in concept, but much harder to achieve in practice. As Einstein was rumored to have said: ‘Any intelligent fool can make things bigger and more complex, it takes a touch of genius to move in the opposite direction. Things should be as simple as possible, and no simpler’.
We’re with Albert on this one. There is a great deal of complexity living inside a 3D camera or sensor, much of it very specialized in nature. The Zivid approach is that you can be fresh in the field of 3D vision and still be able to get superb point clouds from a Zivid camera. Zivid Studio features map directly to the API, so that what you see and do in the UI visually, you can do programmatically with the API. We realized, sometimes you need to go the other way as well. In this SDK we worked to ensure that we provide improved functionality through the API and to Zivid Studio to make your development a breeze.
We are continuing where we left off in our previous SDK release with further optimization of the acquisition and processing execution for faster captures with more reliable and precise timing that you can take advantage of.
Full SDK 2.9 feature overviewBenefit | Feature |
Pristine and complete point clouds | Cluster filter |
Smoothing filter | |
Camera pre-sets in Zivid SDK/Studio | |
Developer simplicity | Camera pre-sets in Zivid SDK/Studio |
Region-of-interest filter | |
File cameras in Zivid Studio for all models | |
Faster, reliable captures | capture() and capture2D() functions return as soon as camera acquisition is complete |
Region-of-interest filter | |
10% speed improvement |
The cluster filter is the newest addition to the filters in Zivid’s artifact reduction technology suite. This filter complements other filters such as the reflection filter and the outlier filter. The cluster filter identifies groupings of anomalous points that are not part of any object in the scene. These unwanted points are a frequent byproduct of capturing objects made of highly reflective materials, think shiny chrome cylinders, or plastic film wrap over new items, and you know what we mean.
The cluster filter will reduce ambiguity and help improve matching precision for CAD matching and other pose estimation algorithms. The cluster filter will also increase the success rate of path planning algorithms by eliminating potential false positive collision checks that are triggered by floating points. This will increase the number of approaches and picking positions the robot can reliably make. In total, the cluster filter will improve the success rate of your picking solution by yielding higher precision pose estimation with higher chance of using the optimal approach path.
Key benefits: Increased object matching score. Better path planning. Detect more objects with higher matching precision.
Example with reflective stamped metal parts
Without Cluster filter, see especially floating points above the objects (depth colored point cloud)
With Cluster filter, point cloud is clean (depth colored point cloud)
No matter how perfect your instrumentation is there is always noise introduced when you are capturing your data. 3D cameras are no different. To combat this Zivid introduced the gaussian filter as one of the first filters to provide cleaner, better point clouds, now it has gotten a killer upgrade to provide, smoother and more accurate data than ever before.
The new and improved Gaussian filter now preserves edges and shapes of surfaces while attenuating unwanted noise. This helps reduce ambiguity and increase the precision of CAD matching algorithms commonly used in manufacturing, and plane fitting-based pose estimation algorithms commonly used in parcel and piece picking applications. Compared to the previous versions of our Gaussian filter, this new one can now be used more freely and with higher strength.
Example with random boxes and parcels
Without Gaussian filter (see high-frequency noise, ripples, and spikes in depth colored point cloud)
With Gaussian filter (smoother surfaces without real edges, spikes, and bumps being distorted)
Some key examples where the improved Gaussian filter has shown increased effectivity are:
Bin picking of thin sheet metal parts where the Gaussian filter will create smooth surfaces on these reflective objects while maintaining edges on 2-3mm thick sheets.
Key benefits: Low noise surfaces, especially flat surfaces. Clear definable edges of boxes and objects.
Example of preset menu for camera settings
Sometimes it feels like we need an expert photographer to get the best captures of our scenes. With the variety in materials, colors, positions, lighting conditions and cameras, there are almost too many factors to consider.
With this in mind, we have worked to make a set of pre-sets that allow the user to get a better starting point when it comes to capturing their scene.
Getting started with 3D machine vision can sometimes be a learning curve for those that are new to it. At Zivid we are all about flattening out that learning curve and reducing frustrations. Our new presets put you in pole position to start capturing great point clouds on the objects you will be working with. They are available in Zivid SDK and Studio. You can simply select the preset that most closely approximates to your intended objects, e.g., shiny chrome cylinders. This means the camera settings will likely be very close to your final needs, so you can start with the preset, introduce your objects using those settings, from there it could be some fine-tuning to take it to the very best point clouds possible.
Check out an example of the pre-sets that will be seen in Zivid 2.9 for the Zivid Two camera. The first preview will contain some temporary pre-sets for your scenes while we put on the final touches to find the best camera settings.
Preset (application) | Options |
Piece picking for consumer goods | Quality capture |
Fast Capture | |
Parcels | Matte |
Reflective | |
Metal parts for manufacturing and bin picking | Diffuse |
Semi shiny | |
Shiny |
Key benefits: Reduce development time and effort.
Often when using a 3D camera the field of view of the camera covers more of the space than you are actually interested in seeing. Perhaps the area outside the bin, off the sides of the table, or behind the conveyor system. To allow you the benefit of not wasting computation or confusing your algorithm on data outside of your region-of-interest, we have introduced two new methods to help you to remove points that are out-of-bounds; one ROI filter based on a box volume, and one on a distance range from the 3D camera. This means more relevant and streamlined point cloud data is delivered to system software for tasks such as detection and pose estimation and can reduce your processing time. We also plan on improving the 3D camera’s speed performance with the help of these methods.
Key benefits: Ease of use, developer simplicity, processing efficiency
Trust but verify is a thought that dominates most engineers’ minds. For this, we added infield correction, and now in 2.9 we have fully integrated it into Zivid Studio.
Infield correction is a very important tool in the Zivid toolbox. It is designed to calculate, verify and correct the dimension trueness of Zivid 3D cameras. Using infield correction, you can check the dimension trueness at different points in the field of view (FOV) and determine if it is acceptable for your application. If the verification shows the camera is not sufficiently accurate, then a simple correction process can be performed. Typically, after performing infield correction using several measurements dimension trueness error can be expected to be close to zero (<0.1%). In previous SDK versions the infield correction could only be performed using the command line. Now, it has been added to Zivid Studio and offers a much more intuitive experience.
Example screenshot from the infield correction tool in Studio
Key benefits: Always high-degree dimension trueness of Zivid 3D camera. Simple and intuitive operation of a key maintenance tool.
There are a lot of steps that go into capturing quality point clouds: Capturing the scene, transferring data, processing, filtering and then delivery. But there are two main steps that we know our customers truly care about:
The answer to the second question is when the point cloud copyData() command returns. What’s new in this release is that now the capture() and capture2D() commands will return immediately after the camera is done acquiring all of its images.
This allows you to know exactly when the camera is done projecting patterns over the scene.
The point cloud processing can be happening simultaneous to the robot’s motion. When the capture() function returns it is now safe to move the scene or the robot arm without any fear of disrupting the capturing of the point cloud. This feature is also helpful for better synchronization in multi camera setups, allowing tighter integration between your sensors or scheduling with other 3rd party equipment
Time line in point cloud process for return of capture() vs copyData()
Key benefits: better synchronization and management of Zivid 3D cameras, especially in multicamera setups.
Oh, I nearly forgot.
A very nice bonus in this release is that there is an overall speed-up of 10% on average with this SDK. We’ve benchmarked against a broad range of GPUs, and obviously there’s variation depending on the class of GPU being used, but averaged out, you can expect a to see a 10% reduction in capture times, nice, eh?
While this is not an individual feature itself, it is the product of improvements across the vision processing pipeline that have been implemented in this release. Faster captures, zero stoppages, is the customer dream, and always a goal we are chasing. In this release we have really made progress.
(of course, I didn’t forget. 10%, that’s huge!)
You can download Zivid SDK 2.9 preview today from our website. We are sure it will impress you, and we feel we have delivered significantly to the core concerns of even better quality point clouds, faster capture speeds and improved ease-of-use. We hope you agree that this really is a belter of a release. We are already hard at work on more great new features for next time around.
See you then, and as always happy developing with Zivid!