654 字
2 分钟
fruitNeRF++入门笔记
项目地址
论文信息
FruitNeRF++: A Generalized Multi-Fruit Counting Method Utilizing Contrastive Learning and Neural Radiance Fields
作者:Lukas Meyer, Andrei-Timotei Ardelean, Tim Weyrich, Marc Stamminger
会议:2025 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)
DOI:https://doi.org/10.1109/IROS60139.2025.11247341
介绍
核心定位
FruitNeRF++ 是一个基于神经辐射场(NeRF)的通用果树果实计数框架。它最大的特点是**“水果无关”(fruit-agnostic)——不需要针对苹果、梨、柑橘等分别训练,而是通过实例嵌入(Instance Embedding)+ 对比学习**,让模型自动区分”每一颗独立的果实”,从而实现跨品种的统一计数。
技术 Pipeline
多视角果园照片 + COLMAP 位姿 ↓Grounding-SAM / Detic → 自动生成果实实例掩码(零样本,无需人工标注) ↓对比学习 → 为每颗果实生成独特的"身份编码"(Instance Embedding) ↓Nerfstudio 训练 → 同时优化: ├─ RGB 场(外观) ├─ 语义场(果实 vs 背景) └─ 实例场(每颗果实的身份向量) ↓体采样导出 → 带实例特征的稠密点云 ↓HDBSCAN / 级联聚类 → 三维空间聚类 → 输出果实数量 + 空间坐标三大创新点
- 神经实例场(Neural Instance Field):在标准 NeRF 的密度+颜色基础上,新增一个”实例分支”,把每颗果实的身份编码进辐射场。
- 对比学习(Contrastive Learning):在训练时拉近”同一颗果实在不同视角下”的特征距离,推远”不同果实之间”的特征距离,让后续的 3D 聚类更准。
- 水果无关聚类:计数时完全不依赖果实的形状、颜色或纹理,只依赖实例嵌入的相似度,因此苹果、梨、桃、柑橘可以混着来。
关键参数(来自官方)
- 训练框架:Nerfstudio 1.1.5(必须锁定此版本)
- 显存需求:
cf-nerf-small约 8GB,cf-nerf约 12GB - 分割模型:SAM / Grounding-SAM / Detic(自动生成掩码,无需标注)
- 聚类算法:HDBSCAN,空间距离权重 λ=1.2,特征相似度权重 λ=0.2
与 FruitNeRF(前代)的区别
| FruitNeRF (2024) | FruitNeRF++ (2025) | |
|---|---|---|
| 品种支持 | 每类水果需单独适配 | 通用框架,多品种统一处理 |
| 分割方式 | 依赖特定类别标注 | 集成 Grounding-SAM / Detic,零样本 |
| 实例区分 | 语义场 | 实例场 + 对比学习 |
| 计数精度 | 基础 | 更高,遮挡处理更强 |
相关资源链接
| 资源 | 链接 |
|---|---|
| Nerfstudio 文档(安装必读) | https://docs.nerf.studio/ |
| Grounding-SAM(分割依赖) | https://github.com/IDEA-Research/Grounded-Segment-Anything |
| FruitNeRF 项目页(前代对比) | https://meyerls.github.io/fruit_nerf |
总结
FruitNeRF++ 把”多视角拍照 → 自动分割 → NeRF 重建 → 3D 聚类”串成了一条无需人工标注的流水线,核心突破是用对比学习让每颗果实在三维空间里拥有唯一身份编码,从而摆脱了对特定水果外观的依赖。
fruitNeRF++入门笔记
https://fredsblog-2dc.pages.dev/posts/note-nerf-fruitnerf-begin/ 部分信息可能已经过时









