Settings Selector based on Capture Speed
This section provides detailed guidance on the best camera settings based on your time budget from when you trigger an acquisition until you get the point cloud. Here we also consider your PC specs because data transfer and point cloud processing depend on that as well. We address settings for 3D captures to get good point clouds and 2D captures to get good color images.
You have determined which Zivid camera to use for your Piece Picking application, and you have mounted it and positioned it correctly. The next step is to select the camera settings that meet your cycle time requirements, given your PC specs. If you haven’t got a PC yet, then this section is also about finding the PC specs that will meet your capture time requirements in combination with the settings used.
3D settings
We have split the Piece Picking application into two categories based on scene complexity. For each category, we specify and recommend settings that meet the given imaging requirements and capture speed requirements.
Consumer Goods
If your scene does not consist of very bright, shiny, and dark objects, you can save significant cycle time by choosing Fast settings for Piece Picking. The Fast settings cover a narrower dynamic range but provide faster captures. Here is an example of a scene where Fast settings work well. As you can see, there are no items that cause strong direct reflections, highlights and saturation, and there are no very dark items.
Note
If there are no bright, shiny, and dark items in your scene, choose Fast settings.
With Quality settings for Consumer Goods, the camera covers a reasonably wide dynamic range, providing good point clouds for a large variety of objects. The scene can, in this case, include anything from bright and reflective plastic-wrapped objects and items in poly bags to dark absorptive material. The image below depicts a typical complex Consumer Goods scene that requires Quality settings.
Note
If you want to be sure that the camera will not miss seeing anything, choose Quality settings.
Settings Selector Table
The following table represents a settings selector tool based on the required capture time budget. The same table indicates the performance and thus the cost of a PC that can meet your capture speed requirements. Check out Recommended Industrial PCs to see examples of High-End, Mid-End, and Low-End configurations.
Application |
Capture Time (2D + 3D) |
Camera Settings |
||
---|---|---|---|---|
High-End PC |
Mid-End PC |
Low-End PC |
||
Consumer Goods (Quality) |
~1000 ms |
~1250 ms |
~1500 ms |
|
Consumer Goods (Fast) |
~500 ms |
~750 ms |
~1000 ms |
|
To download the desired settings file, connect to the camera (your specific model) in Zivid Studio, select the preset settings, turn on Ambient Light Adaption, and export the settings. The capture time with settings adapted for ambient light frequency might be longer.
To download the desired settings file, connect to the camera (your specific model) in Zivid Studio, select the preset settings, turn on Ambient Light Adaption, and export the settings. The capture time with settings adapted for ambient light frequency might be longer.
Note
If you plan to take a separate 2D capture, then you can disable color in your 3D capture by setting Sampling::Color
to disabled
to save capture time.
The color in the preset settings is enabled by default.
To demonstrate reaching the above requirements for piece picking we continuously run benchmark capture programs with our cameras on various PCs. The following table shows the results.
Parcel Picking
Parcel is also split into two settings depending on scene complexity and capture time.
Parcels Fast (Zivid 2+) / Matte (Zivid 2) settings are designed to achieve the shortest cycle times. These settings have a limited dynamic range but are good enough for objects that are relatively straightforward for imaging, for example:
cardboard boxes
white envelopes
bright poly bags
Note
If you image only boxes, parcels, satchels, etc., choose Parcels Fast (Zivid 2+) / Matte (Zivid 2) settings.
Tip
Try increasing the exposure time for more data coverage on dark specular objects or switch to Parcels Quality (Zivid 2+) / Reflective (Zivid 2) presets.
For more challenging scenes, you should try out Parcels Quality (Zivid 2+) / Reflective (Zivid 2) settings. These settings have larger dynamic range and are capable of getting good surface coverage on objects such as:
black poly bags
dark plastic bags
dark plastic wrap
Tip
To reduce capture time, switch the engine from Omni to Stripe; note that you may get less coverage on black parcels.
Settings Selector Table
If you experience artifacts in the form of ripples/waves across the whole point cloud, choose 50/60 Hz to select presets adapted to the ambient light (grid) frequency. If the ambient light is unproblematic, select Off for optimal performance.
Application |
Capture Time (2D + 3D) |
Camera Settings |
||
---|---|---|---|---|
High-End PC |
Mid-End PC |
Low-End PC |
||
Parcels (Quality/Reflective) |
~400 ms |
~600 ms |
~800 ms |
|
Parcels (Fast/Matte) |
~200 ms |
~350 ms |
~500 ms |
|
To download the desired settings file, connect to the camera (your specific model) in Zivid Studio, select the preset settings, turn on Ambient Light Adaption, and export the settings. The capture time with settings adapted for ambient light frequency might be longer.
To download the desired settings file, connect to the camera (your specific model) in Zivid Studio, select the preset settings, turn on Ambient Light Adaption, and export the settings. The capture time with settings adapted for ambient light frequency might be longer.
Note
If you plan to take a separate 2D capture, we recommend disabling color in your 3D capture by setting Sampling::Color
to disabled
.
This will reduce the capture time.
The color in the preset settings is enabled by default.
To demonstrate reaching the above requirements for parcels we continuously run benchmark capture programs with our cameras on various PCs. The following table shows the results.
Testing 3D Settings
We can use Zivid Studio to test 3D settings.
To import the settings in Zivid Studio:
Click on File → Import Capture Settings
Navigate to the location of your settings file
Click Open
You can also drag and drop a YML file into Zivid Studio to import the settings.
std::cout << "Loading settings from file" << std::endl;
const auto settingsFile =
std::string(ZIVID_SAMPLE_DATA_DIR) + "/Settings/" + settingsFolder(camera) + "/Settings01.yml";
const auto settings = Zivid::Settings(settingsFile);
Console.WriteLine("Loading settings from file");
var settingsFile = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
+ "/Zivid/Settings/" + SettingsFolder(camera) + "/Settings01.yml";
var settings = new Zivid.NET.Settings(settingsFile);
print("Loading settings from file")
settings_file = Path(user_options.settings_path)
settings = zivid.Settings.load(settings_file)
2D settings
Although you get color images through 3D captures, they may not be adequate for your 2D application due to the light from the projector of the camera. You can read more about this in 2D + 3D Capture Strategy. We provide two options for acquiring 2D settings for your Piece Picking application:
Get 2D settings automatically using the Zivid calibration board with a code sample
Use a look-up table and find your appropriate 2D settings
Manually tune 2D settings
Automatic 2D settings
Run the auto_2d_settings.py sample to automatically find the acquisition settings and color balance for a 2D capture using a Zivid calibration board. Place the calibration board at either the top or bottom of the bin and run the sample by specifying the calibration board location and the desired focus range (bin height) as command line arguments. If you, for example, place the calibration board at the bin top and the bin height is 400 mm, run the sample as:
python auto_2d_settings.py --desired-focus-range 400 --checkerboard-at-start-of-range
If you place the calibration board at the bin bottom, run:
python auto_2d_settings.py --desired-focus-range 400 --checkerboard-at-end-of-range
This sample does not use the internal projector when finding 2D settings by default, but this can be set by the optional argument --use-projector
.
Additionally, you can choose to not balance colors by the optional argument --no-color-balance
.
Since the sample calibrates with the ambient light in the scene you should use similar lighting conditions as in your actual application.
Settings Selector Table
The table below is a settings selector tool for 2D settings based on the illuminance at the bottom of the bin and the distance to the bin top. These 2D settings assume not using the internal projector as the light source, only the external light source.
To use the table, first determine the illuminance at the bottom of the bin given the expected lighting conditions. Then, choose the settings based on the distance from the camera to the bin top.
Note
Illuminance, measured in lux (lx), is the total luminous power incident on a surface per unit area. Luminous power, measured in lumen (lm), is a measure of the total quantity of visible light emitted by a source per unit of time.
Tip
You can roughly measure the illuminance in the scene with a light meter app for Android or Apple; for an accurate measurement, you need a Light / Lux Meter.
At bin bottom |
To bin top |
|||||
---|---|---|---|---|---|---|
600 mm |
800 mm |
1100 mm |
1400 mm |
1700 mm |
1900 mm |
|
~300 lx |
||||||
~1000 lx |
||||||
Tip
To benchmark 3D and/or 2D settings on your PC, you can run ZividBenchmark.cpp sample with settings loaded from YML files. Go to Samples, and select C++ for instructions.
Below we show 2D benchmark captures with our cameras on various PCs.
Manually tune 2D settings
If automatic tuning or the look-up table does not provide sufficient 2D quality, you can manually tune the color settings by adjusting the color balance and gamma parameters. Gamma correction can be used to either darken or brighten the image. The color channel parameters makes the color image look more natural. We recommend using our projector as a flash when capturing 2D images. IN this case, you do not need to adjust the color balance. If you choose to capture without the projector, you need to re-tune the white balance. We explain how to do this in Color Balance article.
For an in-depth tutorial on how to optimize for colors, see Optimizing Color Image.
Testing 2D Settings
To test 2D settings, you can either use the 2D capture mode in Zivid Studio or run our code sample.
To import the settings in Zivid Studio:
Click on File → Import Capture Settings
Navigate to the location of your settings file
Click Open
You can also drag and drop a YML file into Zivid Studio to import the settings.
Using our code sample, you can provide the path to the 2D acquisition settings YML file as an argument.
python capture_2d_with_settings_from_yml.py <path-to-2d-settings.yml>
The sample load the 2D settings, capture an image, displays it, and saves it.
user_options = _options()
camera = app.connect_camera()
settings_2d = zivid.Settings2D.load(user_options.path)
with camera.capture(settings_2d) as frame_2d:
image = frame_2d.image_rgba()
rgba = image.copy_data()
display_rgb(rgba[:, :, 0:3], title="RGB image", block=True)
image_file = "Image.png"
print(f"Saving 2D color image to file: {image_file}")
image.save(image_file)
Note
We have tested the 3D and 2D settings we recommend for the above typical scenes in low (~300 lx) and high (~1000 lx) ambient light conditions. This we have done for the range of distances that we specify in the Camera Selector section, and all with various items in the scene. Therefore, we are confident that these settings will work the majority of scenes that fit into these categories. However, if you know exactly what items you expect in your scene and you are an expert camera user, you can manually configure settings to optimize them for your case. Check out Capturing High Quality Point Clouds to learn how to do that.
In the next section, we cover Optimizing Robot Cycle Times for speed by making use of multithreading.
Version History
SDK |
Changes |
---|---|
2.12.0 |
Zivid One+ has reached its End-of-Life and is no longer supported. |