A real-world benchmark, dataset, and evaluation suite for active viewpoint planning under severe occlusion.
Active vision is the process of moving a camera to resolve occlusions and gather more informative views, which is important for robots operating in cluttered greenhouses. WUR-AV-Bench provides a densely sampled real-world dataset and a four-task evaluation protocol for developing and comparing active viewpoint-planning methods, without needing a physical robot.
We present WUR-AV-Bench, a benchmark consisting of a dataset and evaluation tools for developing, evaluating, and comparing active viewpoint planning methods in complex greenhouse environments with tomato plants subject to severe occlusions. The dataset comprises densely sampled viewpoints containing RGB-D images, 3D point clouds, and camera poses, together with object-pose annotations and per-object occlusion and complexity scores. The benchmark defines four progressively more challenging tasks, requiring methods to detect leaf and tomato truss nodes in single images, estimate their 2D orientation, and actively select informative viewpoints for 3D localization and 5D pose estimation under severe occlusion. These tasks enable systematic analysis of perception accuracy, viewpoint planning efficiency, and robustness across different levels of scene complexity. To demonstrate the benchmark, we evaluate two baseline methods: a random viewpoint selection method and an active viewpoint selection method. Results are reported in terms of precision, recall, and viewpoint efficiency across varying occlusion levels. The presented benchmark provides a systematic and reproducible framework for evaluating active viewpoint planning methods in complex agricultural environments.
The data were recorded in a commercial-style greenhouse with cherry-tomato plants, across different times of day, weather conditions, and lighting.
Every plant is annotated at its peduncle and petiole nodes, the junctions where trusses and leaves attach to the stem, with full 5-DoF poses. Each node also has an occlusion score and each plant a complexity score, which are used to stratify the evaluation.
Alongside the benchmark, we release a separate dataset with image-level annotations, namely segmentation masks and keypoints for peduncles and petioles. It can be used to train the object detectors that the active-vision tasks depend on.
Complexity increases from a single 2D image to full 5D pose estimation across many actively selected viewpoints.
Detect peduncles and petioles in single images, using a background-aware protocol that does not penalize correct but task-irrelevant background objects.
Localize each node and predict its 2D orientation from two keypoints, scored with a strict on-node distance criterion.
Actively select viewpoints to localize nodes in 3D with as few observations as possible, rewarding both accuracy and viewpoint efficiency.
Extend 3D localization with orientation, giving full 5-DoF node poses relevant to de-leafing and harvesting.
In dense canopies, target nodes are visible from only a small fraction of viewpoints. This is where informed viewpoint planning is expected to help, and where less challenging benchmarks do not separate strong methods from weak ones.
Each annotated node has an occlusion score, defined as the fraction of surrounding viewpoints from which it is hidden. Each plant has a complexity score. Results are reported separately for the low, medium, and high terciles, which shows how a method holds up as scenes become harder.
Two reference baselines share one perception pipeline: a random viewpoint selector, and an active planner that samples candidate views around a region of interest and picks the one with the highest expected information gain.
The active planner improves node recall over the random baseline at every occlusion level, with the largest gains on the least-occluded nodes. Both baselines still remain far from complete reconstruction, which indicates the benchmark is challenging and leaves clear room for improvement.
The benchmark ships as a single Python package, wur-av-bench. Its main component is the
evaluation code; the remaining commands support scoring, annotation, and preprocessing.
wur-av-bench evalThe core of the benchmark. It matches predicted node reconstructions to the ground truth and reports precision, recall, and F1 per viewpoint, stratified by plant complexity, together with 3D visualizations of matches and errors.
wur-av-bench visibilityComputes the per-node occlusion score by rendering each node from many sampled viewpoints. This score is the basis for the occlusion-stratified evaluation.
wur-av-bench annotateAn Open3D tool for annotating 5-DoF node poses directly on point clouds.
convert-pose / convert-axes / fit-stem-linesConvert keypoints to poses, switch between Open3D and ROS conventions, and fit per-plant detection filters.
Citation details will be added once the paper is published.