We introduce FruitNeRF, a unified novel fruit counting framework that leverages state-of-the-art view synthesis methods to count any fruit type directly in 3D. Our framework takes an unordered set of posed images captured by a monocular camera and segments fruit in each image. To make our system independent of the fruit type, we employ a foundation model that generates binary segmentation masks for any fruit. Utilizing both modalities, RGB and semantic, we train a semantic neural radiance field. Through uniform volume sampling of the implicit Fruit Field, we obtain fruit-only point clouds. By applying cascaded clustering on the extracted point cloud, our approach achieves precise fruit count. The use of neural radiance fields provides significant advantages over conventional methods such as object tracking or optical flow, as the counting itself is lifted into 3D. Our method prevents double counting fruit and avoids counting irrelevant fruit. We evaluate our methodology using both real-world and synthetic datasets. The real-world dataset consists of three apple trees with manually counted ground truths, a benchmark apple dataset with one row and ground truth fruit location, while the synthetic dataset comprises various fruit types including apple, plum, lemon, pear, peach, and mangoes. Additionally, we assess the performance of fruit counting using the foundation model compared to a U-Net.
We extend our gratitude to Adam Kalisz for his unique Blender skills and Victoria Schmidt & Annika Killer for their invaluable assistance in evaluating the recorded apple trees. Additional thanks to Roland Gruber, Christoph Drescher and Julian Bittner for their annotation support. This project is funded by the 5G innovation program of the German Federal Ministry for Digital and Transport under the funding code 165GU103B.
@Article{FruitNeRF2024,
author = {Lukas Meyer and Andreas Gilson and Ute Schmid and Marc Stamminger},
title = {FruitNeRF: A Unified Neural Radiance Field based Fruit Counting Framework},
journal = {ArXiv},
month = {February},
year = {2024},
url = {https://meyerls.github.io/fruit_nerf}
}