Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

FruitNeRF++: A Generalized Multi-Fruit Counting Method Utilizing Contrastive Learning and Neural Radiance Fields

作者: Lukas Meyer, Andrei-Timotei Ardelean, Tim Weyrich, Marc Stamminger · IROS 2025

许可协议

  • 开放获取
  • 论文: CC BY 4.0

以下内容均依据论文全文,按其 CC BY 4.0 许可协议使用;其中的图已注明作者。

一句话总结

在水果 NeRF 中加入一个以对比方式训练的实例场,使任何种类的水果都能通过对 3D 点云聚类来计数,无需针对特定水果的形状模板。

为何重要

一条流程即可处理六种水果,无需逐种水果的模板,使用的是无序照片和现成的基础模型来生成掩码。对于果园产量估计而言,这免去了基于模板的聚类所需的、针对每种水果和每个生长阶段的调参。

问题

水果计数有助于采收人力规划、包装、储存和加工,但现有方法大多只针对一种水果构建。前身 FruitNeRF 将 RGB 和语义掩码提升到神经场中,但其级联聚类依赖针对特定水果的模板和若干敏感的超参数,这些都必须随水果类型和生长阶段而改变。

提出的方法

FruitNeRF++ 在 NeRF 中加入一个神经实例场,并在来自 Grounded-SAM 或 Detic 的 2D 实例掩码上,用 InfoNCE 风格的对比损失对其进行训练,以每个水果的均值特征作为正样本,以相邻水果作为困难负样本。先训练密度场和颜色场,再训练语义场,然后在冻结其他场的情况下单独训练实例场。场景被采样为一个带有 32 维实例特征的水果点云,用 k-means 划分为若干分区,再对每个分区用 HDBSCAN 进行聚类,所用距离为余弦特征距离与欧氏距离的加权和。

关键见解

  • 用每个水果的一个原型(均值)特征作为正样本,而不是对每一对像素做对比,为实例场提供了更好的训练信号。
  • 均匀像素采样适合 NeRF 的颜色训练,但不适合实例学习,因为背景像素占主导;对相邻水果成组采样则能提供困难的局部负样本。
  • 基于余弦特征距离加欧氏位置距离进行聚类,效果优于只用其中任何一种;在合成数据上,由于相互接触的水果很少,大部分区分来自位置。Section IV-E 给出的欧氏距离权重为 λe = 5,而 Section V 称合成实验使用 λe = 1,FUJI 使用 λe = 5。
  • 对比温度 τ 在 0.1 到 0.3 之间时在合成数据上有效,在 0.2 时达到峰值;超出这一范围,聚类就无法区分实例。
  • 掩码质量限制了计数结果:在合成数据上,Grounded-SAM 掩码的平均 IoU 达到 0.561,Detic 为 0.49,而一片叶子或一根树枝横在水果前面,就可能把它拆成两个实例。

主要结果

  • 六种合成水果的平均 F1:使用真值掩码时为 0.925,使用 Grounded-SAM 掩码时为 0.832,使用 Detic 掩码时为 0.776。
  • 使用真值掩码时,FruitNeRF++ 与 FruitNeRF 的逐水果 F1 对比(Table II,FruitNeRF 的数值取自其自身论文):苹果 0.996 对 1,李子 0.859 对 0.885,柠檬 0.978 对 0.978,梨 0.996 对 0.971,桃 0.996 对 0.987,芒果 0.713 对 0.873。
  • 芒果是最难的情况(使用真值掩码时 1150 个中数出 649 个),作者将其归因于果实数量多且遮挡严重。
  • 真实 FUJI 苹果数据集(582 张图像,12 棵树):使用 Grounded-SAM 掩码时 F1 为 0.765,而 Gené-Mola et al. 针对特定水果的方法为 0.881。
  • 在包含 100 件家居物品的 Messy Rooms 数据集上,检测出了 99 件物品。
  • 对苹果而言,嵌入维度 D = 16 时 F1 即达到 1;李子和芒果需要更大的嵌入。

局限

  • 在 FUJI 这样较大的场景上训练,在 Nvidia A5000(24 GB)上约需 8 小时,因此该方法不是实时的;实例场收敛缓慢占了其中一半以上的时间。
  • 结果取决于对果树的良好覆盖;含噪声的数据(主要是不准确的相机位姿)会让一个水果的嵌入污染相邻水果。
  • 当叶子或树枝在视觉上把一个水果分开时,实例分割往往会预测出两个实例,从而把两半的嵌入拉开。
  • 成簇生长的水果,例如香蕉、浆果或椰枣,需要进一步研究来估计簇的大小和数量。
  • 真实世界评估只涵盖一个苹果数据集,其相机位姿需要借助 COLMAP 加上对树两侧的人工配准;作者将与 Gené-Mola et al. 之间的差距归因于这些含噪声的位姿。

对领域的影响

FruitNeRF++ 入围 IROS 2025 奖项决选,被引用 5 次。作者给出了代码仓库 github.com/meyerls/FruitNeRFpp,代码将在论文被接收后发布,并为 FruitNeRF 多水果数据集补充了实例掩码。

摘要

我们提出 FruitNeRF++,一种新颖的水果计数方法,它将对比学习与神经辐射场相结合,从果园的非结构化输入照片中清点水果。我们的工作基于 FruitNeRF,后者采用神经语义场并结合一种针对特定水果的聚类方法。需要针对每种水果类型进行适配,限制了该方法的适用性,也使其难以在实践中使用。为消除这一限制,我们设计了一个与形状无关的多水果计数框架,用视觉基础模型预测的实例掩码来补充 RGB 和语义数据。这些掩码被用来将每个水果的身份编码为实例嵌入,存入神经实例场中。通过对神经场进行体积采样,我们提取出嵌入了实例特征的点云,可以用与水果类型无关的方式对其聚类,从而得到水果数量。我们使用一个包含苹果、李子、柠檬、梨、桃和芒果的合成数据集,以及一个真实世界的苹果基准数据集评估了我们的方法。我们的结果表明,FruitNeRF++ 更易于控制,并且与其他最先进方法相比表现良好。

链接

  • arXiv 2505.19863: https://arxiv.org/abs/2505.19863
  • DOI 10.1109/IROS60139.2025.11247341: https://doi.org/10.1109/IROS60139.2025.11247341
  • PDF: https://arxiv.org/pdf/2505.19863v1
  • 代码: https://github.com/meyerls/FruitNeRFpp
  • 项目主页: https://meyerls.github.io/fruit_nerfpp

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。