Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

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

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

Licenças

  • Acesso aberto
  • Artigo: CC BY 4.0

Tudo o que segue se baseia no artigo completo sob a licença CC BY 4.0; sua figura é mostrada com crédito aos autores.

Em resumo

Acrescenta a um NeRF de frutos um campo de instâncias treinado de forma contrastiva, para que frutos de qualquer tipo possam ser contados agrupando uma nuvem de pontos 3D, sem modelos de forma específicos de cada fruta.

Por que importa

Um único pipeline lida com seis tipos de fruta sem modelos por fruta, usando fotografias sem ordem e modelos de fundação prontos para uso para as máscaras. Para a estimativa de produtividade de pomares, isso elimina o ajuste por fruta e por estágio de crescimento que o clustering baseado em modelos exigia.

Problema

A contagem de frutos apoia o planejamento da mão de obra da colheita, a embalagem, o armazenamento e o processamento, mas a maioria dos métodos existentes é feita para um único tipo de fruta. O antecessor FruitNeRF eleva máscaras RGB e semânticas a um campo neural, mas seu clustering em cascata depende de modelos específicos de cada fruta e de vários hiperparâmetros sensíveis, que precisam mudar com o tipo de fruta e o estágio de crescimento.

Solução proposta

O FruitNeRF++ acrescenta ao NeRF um campo de instâncias neural e o treina com uma perda contrastiva no estilo InfoNCE sobre máscaras de instância 2D do Grounded-SAM ou do Detic, usando a característica média de cada fruto como positivo e os frutos vizinhos como negativos difíceis. Os campos de densidade e cor são treinados primeiro, depois o campo semântico e então apenas o campo de instâncias, com os demais congelados. A cena é amostrada em uma nuvem de pontos de frutos com características de instância de 32 dimensões, dividida em partições com k-means, e cada partição é agrupada com HDBSCAN usando uma soma ponderada da distância cosseno entre características e da distância euclidiana.

Principais ideias

  • Usar uma característica protótipo (média) por fruto como positivo, em vez de contrastar cada par de pixels, deu um sinal de treinamento melhor para o campo de instâncias.
  • A amostragem uniforme de pixels serve para treinar a cor do NeRF, mas não para aprender instâncias, porque os pixels de fundo dominam; amostrar grupos de frutos vizinhos fornece negativos locais difíceis.
  • O clustering com a distância cosseno entre características mais a distância euclidiana entre posições funcionou melhor que cada uma sozinha; nos dados sintéticos, a maior parte da separação veio da posição porque frutos encostados são raros. A Seção IV-E dá λe = 5 como peso euclidiano, enquanto a Seção V informa λe = 1 para os experimentos sintéticos e λe = 5 para o FUJI.
  • Uma temperatura contrastiva τ entre 0,1 e 0,3, com pico em 0,2, funcionou nos dados sintéticos; fora dessa faixa, o clustering não conseguiu separar as instâncias.
  • A qualidade das máscaras limita as contagens: nos dados sintéticos, as máscaras do Grounded-SAM atingiram IoU médio de 0,561 e as do Detic 0,49, e uma folha ou galho atravessando um fruto pode dividi-lo em duas instâncias.

Principais resultados

  • F1 médio em seis tipos de fruta sintéticos: 0,925 com máscaras reais (ground truth), 0,832 com máscaras do Grounded-SAM e 0,776 com máscaras do Detic.
  • Com máscaras reais, F1 por fruta do FruitNeRF++ contra o FruitNeRF (Tabela II, valores do FruitNeRF retirados do próprio artigo dele): maçã 0,996 contra 1, ameixa 0,859 contra 0,885, limão 0,978 contra 0,978, pera 0,996 contra 0,971, pêssego 0,996 contra 0,987, manga 0,713 contra 0,873.
  • A manga foi o caso mais difícil (649 de 1150 contadas com máscaras reais), o que os autores atribuem ao grande número de frutos e à forte oclusão.
  • Conjunto de dados real de maçãs FUJI (582 imagens, 12 árvores): F1 de 0,765 com máscaras do Grounded-SAM, contra 0,881 do método específico para a fruta de Gené-Mola et al.
  • No conjunto de dados Messy Rooms, com 100 objetos domésticos, 99 objetos foram detectados.
  • Para maçãs, o F1 chega a 1 com um tamanho de embedding D = 16; ameixas e mangas precisam de embeddings maiores.

Limitações

  • O treinamento em uma cena maior como o FUJI leva cerca de 8 horas em uma Nvidia A5000 (24 GB), então o método não é em tempo real; a convergência lenta do campo de instâncias responde por mais da metade desse tempo.
  • Os resultados dependem de uma boa cobertura da árvore; dados ruidosos, principalmente poses de câmera imprecisas, fazem os embeddings de um fruto contaminarem os vizinhos.
  • A segmentação de instâncias tende a prever duas instâncias quando uma folha ou galho divide visualmente um fruto, afastando os embeddings das duas metades.
  • Frutos que crescem em cachos, como bananas, bagas ou tâmaras, precisam de mais pesquisa para estimar o tamanho dos cachos e as contagens.
  • A avaliação no mundo real cobre um único conjunto de dados de maçãs cujas poses de câmera exigiram o COLMAP mais o registro manual dos dois lados da árvore; os autores atribuem a diferença em relação a Gené-Mola et al. a essas poses ruidosas.

Impacto na área

O FruitNeRF++ foi finalista de um prêmio do IROS 2025 e tem 5 citações. Os autores indicam um repositório de código, github.com/meyerls/FruitNeRFpp, com o código a ser disponibilizado após a aceitação, e ampliam o conjunto de dados multifruta do FruitNeRF com máscaras de instância.

Resumo

Apresentamos o FruitNeRF++, uma nova abordagem de contagem de frutos que combina aprendizado contrastivo com campos de radiância neurais para contar frutos a partir de fotografias de entrada não estruturadas de pomares. Nosso trabalho se baseia no FruitNeRF, que emprega um campo semântico neural combinado com uma abordagem de clustering específica para cada fruta. A necessidade de adaptação para cada tipo de fruta limita a aplicabilidade do método e dificulta seu uso na prática. Para eliminar essa limitação, projetamos um framework de contagem multifruta independente da forma, que complementa os dados RGB e semânticos com máscaras de instância previstas por um modelo de fundação de visão. As máscaras são usadas para codificar a identidade de cada fruto como embeddings de instância em um campo de instâncias neural. Amostrando volumetricamente os campos neurais, extraímos uma nuvem de pontos com as características de instância embutidas, que pode ser agrupada de forma independente da fruta para obter a contagem de frutos. Avaliamos nossa abordagem com um conjunto de dados sintético contendo maçãs, ameixas, limões, peras, pêssegos e mangas, além de um conjunto de dados de benchmark real de maçãs. Nossos resultados demonstram que o FruitNeRF++ é mais fácil de controlar e se compara favoravelmente a outros métodos do estado da arte.

Links

  • 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
  • Código: https://github.com/meyerls/FruitNeRFpp
  • Página do projeto: https://meyerls.github.io/fruit_nerfpp

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.