Quem trabalha com inventário florestal sabe onde boa parte do tempo vai embora. Drone voa, ortomosaico fica pronto, os dados estão todos ali, mas transformar milhões de pixels em árvores identificadas, delimitadas e georreferenciadas ainda pode exigir bastante trabalho manual.
É exatamente nesse ponto que o Netflora começa a ficar interessante.
A Embrapa Acre levou para dentro do QGIS uma tecnologia que vinha sendo desenvolvida há alguns anos com drones, sensoriamento remoto e inteligência artificial. O resultado é um plugin capaz de processar ortomosaicos, detectar copas de árvores e outras classes de interesse e transformar essas detecções em dados georreferenciados que podem continuar sendo trabalhados normalmente no GIS.
E não estamos falando de mais um experimento acadêmico que exige clonar um repositório, editar scripts Python, ajustar caminhos e torcer para todas as dependências funcionarem. A grande mudança é justamente esta: o Netflora agora está disponível como plugin do QGIS e integrado ao Processing. A versão experimental mais recente publicada no repositório oficial é a 0.1.5, compatível com QGIS 3.22 até 3.99.
Para quem trabalha com floresta, drone ou geoprocessamento, vale entender melhor o que está acontecendo aqui.
O que é o Netflora
O Netflora nasceu na Embrapa Acre como uma metodologia para automatizar partes do inventário florestal usando imagens aéreas e inteligência artificial.
A ideia é relativamente simples de explicar, embora nada simples de desenvolver.
Primeiro são produzidas ortofotos de alta resolução com drones. Copas de árvores conhecidas são identificadas e usadas para formar um grande conjunto de treinamento. Redes neurais aprendem os padrões visuais dessas copas e, depois, esses modelos podem ser aplicados a novas imagens para tentar localizar automaticamente indivíduos ou grupos de interesse.
A própria Embrapa descreve o projeto como uma ferramenta voltada ao manejo sustentável, ao inventário florestal e ao monitoramento da atividade florestal na Amazônia. A página institucional atualmente informa um banco de dados construído a partir de 100 mil hectares de floresta mapeada e algoritmos capazes de considerar 60 espécies florestais de valor econômico.
Há uma pequena diferença entre as fontes oficiais. A documentação do plugin e alguns repositórios ainda mencionam mais de 50 mil hectares utilizados na construção do dataset. Isso provavelmente reflete momentos diferentes da evolução do projeto, e não uma contradição técnica.
De qualquer forma, estamos falando de uma base de treinamento incomum para uma solução brasileira de visão computacional aplicada diretamente ao manejo de florestas nativas.
O que mudou com o plugin para QGIS
O Netflora já existia antes do plugin.
A versão original exigia uma rotina bem mais próxima do que um profissional de machine learning esperaria encontrar: scripts Python, modelos treinados, parâmetros e processamento fora do ambiente GIS tradicional. A própria versão anterior disponível no GitHub ainda mostra essa abordagem, com execução através de scripts como detect.py e posterior processamento dos resultados.
Isso não chega a ser um problema para quem programa todos os dias. Para boa parte dos engenheiros florestais, técnicos, pesquisadores e profissionais de GIS, porém, cria uma barreira desnecessária.
O plugin muda essa relação.
O processamento passa a fazer parte do ambiente do QGIS. Você fornece o raster georreferenciado, seleciona o algoritmo adequado e recebe de volta uma camada espacial com as detecções.
Por baixo do capô continua existindo visão computacional, inferência de redes neurais, divisão do raster em tiles, filtragem e reconstrução das geometrias. Para o usuário, porém, boa parte disso deixa de ser um problema operacional.
Essa talvez seja a contribuição mais importante do plugin. Ele transforma uma pesquisa de IA em uma ferramenta de GIS utilizável.
Como a detecção funciona
Quando um ortomosaico grande entra no Netflora, o plugin não tenta carregar e analisar toda a imagem de uma única vez.
O raster é dividido em pequenos blocos, ou tiles. Cada bloco passa pelo modelo de inteligência artificial correspondente à categoria escolhida. As detecções são então reunidas, duplicidades são filtradas e o resultado final é reconstruído em coordenadas geográficas.
Isso é importante porque ortomosaicos de drone podem ficar gigantescos. Mesmo uma área relativamente pequena, voada com GSD de poucos centímetros, pode produzir arquivos com dezenas de milhares de pixels em cada dimensão.
A divisão em tiles permite trabalhar com essas imagens sem exigir que todo o raster seja carregado simultaneamente na memória.
O resultado final pode ser exportado como uma camada de polígonos, contendo informações como classe identificada e confiança da detecção.
Ou seja, depois da etapa de IA, você volta ao território conhecido do GIS.
As árvores detectadas deixam de ser apenas bounding boxes perdidas em uma imagem e passam a existir como feições espaciais que podem ser cruzadas com talhões, parcelas, limites de manejo, estradas, hidrografia, áreas protegidas ou qualquer outra camada disponível no projeto.
E não é apenas Amazônia
Aqui há uma novidade interessante que passa despercebida quando o Netflora é apresentado apenas como ferramenta para a Amazônia Ocidental.
O projeto nasceu nesse contexto, e é ali que está sua base científica mais forte. Mas a versão atual do plugin já possui algoritmos organizados para diferentes biomas.
Na Amazônia aparecem categorias para açaí solteiro, açaí em touceira, castanheira, espécies madeireiras, não madeireiras, palmeiras, invasoras e outras classes. O plugin também apresenta categorias para Cerrado, Mata Atlântica, Caatinga, Pantanal e Pampa. Há inclusive opção para executar modelos personalizados fornecidos pelo próprio usuário.
Isso não significa que todos esses modelos tenham a mesma maturidade ou capacidade de generalização.
É exatamente aí que precisamos colocar um pouco de freio no entusiasmo.
Deep learning funciona muito bem quando os dados de produção se parecem com os dados usados no treinamento. Troque espécie, época do ano, fenologia, altitude de voo, sensor, iluminação, GSD, estrutura do dossel ou região geográfica e a precisão pode mudar bastante.
Portanto, o fato de existir um botão chamado “Palmeiras” não significa que qualquer palmeira fotografada em qualquer lugar do Brasil será identificada corretamente.
Os modelos precisam ser tratados pelo que realmente são: modelos treinados sobre determinados conjuntos de dados, não classificadores botânicos universais.
A resolução da imagem importa muito
Esse é provavelmente o ponto mais importante para quem pretende testar o Netflora.
IA não recupera detalhe que não existe na imagem.
A documentação técnica da Embrapa descreve a construção do dataset utilizando recortes de ortofotos de alta resolução espacial, inclusive com imagens melhores que 4 centímetros em algumas etapas do desenvolvimento.
Isso ajuda a entender por que simplesmente pegar qualquer ortofoto disponível e jogar no algoritmo pode produzir resultados decepcionantes.
Para reconhecer uma espécie pela copa, o modelo precisa enxergar características suficientes daquela copa.
GSD, altitude de voo, câmera, nitidez, sombras, sobreposição, qualidade da reconstrução fotogramétrica e época da aquisição podem afetar diretamente o resultado.
Um ortomosaico visualmente bonito não é necessariamente um bom dataset para reconhecimento automático de espécies.
Esse é um detalhe que eu avaliaria antes de culpar o modelo caso os resultados fossem ruins.
Da copa para informações de manejo
O trabalho fica ainda mais interessante quando saímos da simples pergunta “qual espécie está aqui?” e começamos a usar a geometria da copa.
A solução apresentada pela Embrapa permite automatizar a geolocalização das árvores detectadas e extrair métricas relacionadas à morfometria das copas. Essas medidas podem ser correlacionadas com informações coletadas em campo para desenvolver estimativas de variáveis como área basal e volume individual.
Essa distinção é importante.
O Netflora não olha uma fotografia RGB e magicamente mede o DAP escondido embaixo do dossel. O que existe é a possibilidade de estabelecer relações estatísticas entre características observáveis da copa e medições dendrométricas realizadas em campo.
Isso, aliás, já fazia parte da visão de longo prazo da pesquisa da Embrapa. Trabalhos anteriores do grupo citavam justamente a possibilidade de calcular dimensões de copa, estimar DAP, CAP e área basal e desenvolver equações de volume usando dados de morfometria obtidos remotamente em conjunto com medições de campo.
É uma abordagem muito mais interessante do que simplesmente contar árvores.
Se essas relações forem suficientemente boas para uma determinada espécie e região, parte do trabalho pesado de inventário preliminar pode ser transferida para o processamento remoto.
O inventário de campo acabou? Não.
Seria fácil vender o Netflora com esse argumento, mas seria errado.
Há informações que uma imagem aérea simplesmente não consegue enxergar.
Qualidade do fuste, ocos, podridões, cipós próximos à base, árvores comerciais escondidas sob o dossel, determinadas características dendrométricas e várias verificações operacionais continuam dependendo de trabalho de campo.
A própria literatura técnica ligada ao desenvolvimento do projeto separa atividades que podem ser realizadas por RPA daquelas que ainda exigem equipes na floresta.
O ganho está em outro lugar.
Se antes uma equipe precisava entrar praticamente às cegas em uma área extensa, agora existe a possibilidade de chegar ao campo com uma camada indicando onde estão prováveis indivíduos de interesse, quantos foram detectados, que classe receberam e qual é sua geometria aproximada.
Isso muda bastante a logística.
O Netflora faz mais sentido como multiplicador do inventário florestal do que como substituto completo dele.
Instalação no QGIS
A instalação do plugin em si é simples.
No QGIS, abra Plugins → Gerenciar e Instalar Plugins, procure por Netflora e instale a versão disponível.
No momento, o plugin continua marcado como experimental no repositório oficial. A versão 0.1.5 exige QGIS 3.22 ou superior e declara compatibilidade até a série 3.99.
Existe, porém, uma diferença importante entre instalar o plugin e ter todo o ambiente pronto para executar os modelos.
Os arquivos de pesos da inteligência artificial não são distribuídos dentro do pacote do plugin. Seria pouco prático fazer isso porque cada modelo ONNX pode ocupar bastante espaço e existem várias categorias.
Quando um algoritmo é executado pela primeira vez, o Netflora pode buscar automaticamente o respectivo arquivo .onnx nos releases do projeto e armazená-lo no perfil local do QGIS. Depois do download, o modelo pode permanecer em cache para novas execuções.
Essa arquitetura é particularmente interessante para trabalho de campo, já que evita depender permanentemente de internet para executar modelos que já foram baixados.
ONNX Runtime: o detalhe que pode pegar muita gente
Existe uma dependência que merece atenção.
O QGIS precisa ter acesso ao ONNX Runtime em seu ambiente Python.
ONNX é um formato aberto usado para transportar modelos de machine learning entre diferentes frameworks. O Netflora utiliza esses arquivos para executar a inferência dos modelos sem precisar carregar todo o ambiente originalmente usado no treinamento.
A documentação do projeto cita onnxruntime para processamento em CPU e opções como onnxruntime-gpu, DirectML ou OpenVINO dependendo do hardware disponível.
Na prática, é provavelmente aqui que usuários menos familiarizados com Python podem encontrar mais dificuldades, principalmente no Windows, porque o Python usado pelo QGIS nem sempre é o mesmo Python instalado separadamente no sistema.
A documentação recomenda fazer a instalação no ambiente Python correto do QGIS, por exemplo através do OSGeo4W Shell nas instalações tradicionais do Windows.
Depois disso, GPU é vantagem, não requisito.
O processamento pode rodar em CPU. Naturalmente, quanto maior o ortomosaico e mais pesado o modelo, maior será o tempo necessário.
O plugin também planeja voos
Uma função que eu não esperava encontrar inicialmente no Netflora é o planejamento de missões.
O plugin não se limita à etapa posterior ao voo. Existe também um planejador que recebe uma área de interesse e permite gerar linhas de voo configurando orientação, sobreposição, altitude e velocidade.
A missão pode ser exportada em CSV compatível com Litchi, além de gerar layers de waypoints e trajetórias dentro do próprio QGIS.
Isso fecha uma parte interessante do fluxo.
Você pode desenhar ou carregar a área no QGIS, planejar a missão, executar o voo, produzir o ortomosaico e depois retornar ao mesmo ambiente para executar a detecção.
Ainda existe software de fotogrametria no meio do caminho, naturalmente, mas boa parte do planejamento e da análise fica centralizada no GIS.
Onde eu acho que o Netflora realmente tem potencial
O caso óbvio são inventários de espécies com copa visualmente característica e valor suficiente para justificar seu mapeamento individual.
Castanhais são um bom exemplo.
Imagine receber um ortomosaico de alguns milhares de hectares e, em vez de começar procurando manualmente copas, gerar automaticamente uma primeira camada de candidatos. Mesmo que essa camada precise ser validada, já existe um ganho operacional enorme.
O mesmo raciocínio vale para determinadas palmeiras, espécies não madeireiras, árvores dominantes ou outras classes que possam ser reconhecidas de cima.
Há também aplicações de monitoramento que talvez sejam ainda mais interessantes do que o inventário convencional.
Se uma determinada área é imageada periodicamente, as detecções podem ser comparadas ao longo do tempo. Uma árvore desapareceu? Houve abertura de clareira? Mudou a estrutura do dossel? Surgiu uma alteração em uma área onde não deveria ocorrer exploração?
O valor começa a aparecer quando IA, drone e GIS deixam de ser tecnologias separadas e passam a formar uma sequência operacional.
O que ainda me deixa cauteloso
O plugin é promissor, mas ainda está marcado como experimental. Isso importa.
Eu não trataria uma detecção automática como verdade de campo simplesmente porque veio de um modelo de inteligência artificial.
Antes de incorporar o resultado a um inventário ou plano de manejo, eu faria uma validação simples e objetiva em uma amostra conhecida.
Pegaria uma área onde já existem árvores identificadas em campo, executaria o Netflora e montaria uma matriz comparando verdade de campo e resultado do modelo.
Quantas árvores existentes foram encontradas?
Quantas passaram despercebidas?
Quantas detecções eram falsas?
A confiança indicada pelo modelo realmente acompanha a probabilidade de acerto?
Esse pequeno teste diz muito mais sobre a utilidade do algoritmo naquela propriedade, naquele sensor e naquela época do ano do que qualquer percentual de acurácia apresentado de forma genérica.
Esse é provavelmente o melhor modo de usar IA no geoprocessamento hoje: não como uma caixa-preta que deve ser obedecida, mas como uma ferramenta que pode ser medida.
Um projeto brasileiro que vale acompanhar
Há dezenas de demonstrações impressionantes de inteligência artificial aplicadas a imagens de satélite e drones. Muitas nunca passam do artigo científico, do notebook no GitHub ou de uma prova de conceito que somente o autor consegue executar.
Por isso o Netflora chama atenção.
Ele nasceu de um problema real de manejo florestal brasileiro, foi treinado com dados coletados nas nossas condições e agora está sendo colocado dentro de uma ferramenta aberta que milhares de profissionais já utilizam.
QGIS, drones relativamente baratos, ortomosaicos RGB e modelos de visão computacional executados localmente formam uma combinação poderosa justamente porque reduzem a dependência de plataformas proprietárias caras.
Não significa que inventário florestal virou apertar um botão.
Mas significa que uma atividade que exigia programação, configuração de ambiente de deep learning e manipulação manual de resultados está começando a caber dentro de um fluxo de trabalho comum do QGIS.
E isso é um avanço considerável.
Para quem trabalha com inventário florestal, manejo de precisão, monitoramento ambiental ou sensoriamento remoto com drones, eu testaria o Netflora em uma área pequena com verdade de campo conhecida.
Não para descobrir se “a IA funciona”.
Isso já é uma pergunta ultrapassada.
A pergunta útil é outra: quanto trabalho de campo e interpretação manual esse modelo consegue eliminar no seu caso específico sem comprometer a qualidade do inventário?
É aí que o Netflora pode começar a pagar a conta.
Onde encontrar
O plugin está disponível no repositório oficial de plugins do QGIS. Netflora no repositório oficial do QGIS
A Embrapa mantém uma página específica do projeto com documentação, informações técnicas e materiais relacionados. Projeto Netflora na Embrapa Acre
O código-fonte da versão atual do plugin também está disponível publicamente no GitHub. Código do plugin Netflora no GitHub
Veja abaixo um video que mostra a ferramenta:
Se você trabalha com inventário florestal ou processamento de imagens de drone e já testou o Netflora, deixe nos comentários qual foi a espécie, resolução da ortofoto e como ficou a qualidade das detecções. Esse tipo de resultado de campo é provavelmente o que mais vai ajudar outros profissionais a entender até onde a ferramenta já consegue chegar.
