Uma imagem aérea pode impressionar. Uma ortofoto pode medir. Um modelo de machine learning pode classificar. Mas o que acontece quando essas três coisas começam a conversar?
Essa é a pergunta por trás do VisionAgro, nome utilizado no MVP de um projeto em desenvolvimento pela Luminvs Tecnologia. O ponto de partida é concreto: pegar uma ortofoto georreferenciada, um perímetro da área e amostras conhecidas em campo, ensinar um modelo a reconhecer padrões de cor e transformar milhões de pixels em classes espacialmente distribuídas.
O ponto de chegada pode ser muito maior.
Imagine abrir um mapa e não apenas enxergar cores, mas perguntar:
“Onde estão as áreas mais ambíguas desta propriedade? Quanto cada classe ocupa? Quais pontos eu deveria conferir primeiro em campo? O que mudou em relação ao voo anterior?”
E receber uma resposta construída a partir dos próprios dados geoespaciais, das métricas do modelo, das camadas classificadas e do histórico da área.
É aí que entra a visão de uma futura camada de LLM — Large Language Model. Não para “adivinhar” o que existe no terreno e muito menos para substituir medição, geoprocessamento ou avaliação agronômica. O LLM entraria como uma interface inteligente sobre resultados calculados por métodos rastreáveis.
A ideia é medir primeiro, classificar com um modelo técnico, guardar a geografia corretamente e só depois permitir que uma IA converse com esses resultados.
Da imagem para a decisão: onde realmente está o valor?
Drones já são utilizados no setor agropecuário para mapeamento, monitoramento, inspeção e produção de ortomosaicos. A FAO destaca usos de imagens aéreas e sensoriamento remoto para cartografia, apoio ao trabalho de campo e estimativas agrícolas, e também registra o uso crescente de drones para mapeamento e monitoramento.
Mas capturar a imagem é apenas a primeira etapa.
Uma ortofoto de alta resolução pode conter milhões ou bilhões de pixels. Para uma pessoa, observar a imagem inteira e delimitar manualmente cada tipo de cobertura pode ser lento, subjetivo e difícil de repetir da mesma forma em diferentes momentos.
O desafio então passa a ser:
- como transformar pixels em categorias?
- como saber se o modelo está acertando?
- como medir cada classe em hectares?
- como identificar onde a classificação ficou incerta?
- como apresentar isso de uma forma compreensível para quem toma decisão?
O VisionAgro começa exatamente aí.
1. O que é o VisionAgro?
O VisionAgro é, neste momento, uma prova funcional em Python criada para reproduzir e evoluir um pipeline científico que originalmente existia em R.
Não é ainda um SaaS comercial. Não é um produto acabado. Não possui cobrança, licenciamento ou sincronização em nuvem. E, principalmente, a IA generativa ainda não está implementada no MVP atual.
Isso é importante porque separa duas coisas:
O que já existe: uma cadeia de geoprocessamento e machine learning executável.
O que estamos projetando: uma camada futura de inteligência conversacional capaz de operar sobre esses resultados.
VisionAgro — o núcleo que já existe
Antes de colocar um LLM na conversa, o dado precisa sobreviver ao mundo real.
2. O que já funciona no MVP atual
O código recebido já implementa um pipeline completo o suficiente para provar a arquitetura central.
O sistema atualmente consegue:
- validar a existência do GeoTIFF, shapefile de perímetro e planilha de amostras;
- ler largura, altura, número de bandas, resolução, CRS, bounds e tamanho do raster;
- calcular a área do perímetro em hectares;
- ler as amostras georreferenciadas;
- extrair os valores das bandas RGB exatamente nas coordenadas dessas amostras;
- treinar um modelo RandomForestClassifier;
- separar amostras entre treino e validação;
- calcular acurácia, Kappa, matriz de confusão e relatório por classe;
- identificar amostras conflitantes ou ambíguas;
- classificar a ortofoto inteira sem carregá-la integralmente na memória RAM;
- calcular quantidade de pixels, área em hectares e percentual por classe;
- produzir um GeoTIFF classificado;
- produzir um GeoTIFF individual para cada classe;
- gerar prévias PNG;
- exibir perímetro, amostras, conflitos e classes em mapa Leaflet.
Esse último ponto é fundamental: o projeto não termina em uma tabela de métricas. Ele volta para o território.
3. Três peças de entrada: imagem, território e verdade de campo
O MVP trabalha com três grupos de dados principais.
A ortofoto
O arquivo Voo_23.tif é um GeoTIFF. Diferentemente de uma imagem comum, ele carrega informação espacial: resolução, projeção, extensão territorial e a posição de cada pixel no espaço.
O perímetro
O shapefile Perimetro.shp define a área que interessa. O sistema reprojeta o perímetro para o mesmo sistema de referência da ortofoto e usa essa geometria como máscara.
Isso evita classificar tudo o que existe na imagem quando o interesse está apenas dentro da propriedade ou unidade de análise.
As amostras
A planilha Ano_23.xlsx possui coordenadas Coord_x, Coord_y e uma coluna Classe. O README do projeto registra 125 amostras no conjunto utilizado originalmente.
Essas amostras são a ponte entre conhecimento humano e aprendizado de máquina.
O ponto em campo ensina o pixel
Machine learning supervisionado começa com exemplos conhecidos.
4. Aqui a máquina aprende com exemplos reais
Esse ponto merece destaque porque “inteligência artificial” muitas vezes é usada como sinônimo de chatbot. No VisionAgro, a inteligência começa muito antes de um LLM.
O algoritmo recebe exemplos rotulados. Para cada amostra, ele sabe qual classe foi atribuída e quais valores RGB existiam naquela coordenada da ortofoto.
Isso é aprendizado supervisionado.
O conhecimento humano entra por meio das amostras. O algoritmo procura padrões que diferenciem as classes. Depois, tenta aplicar os padrões aprendidos a pixels que nunca viu.
Existe uma consequência importante: a qualidade do modelo depende também da qualidade das amostras. Se as classes forem mal rotuladas, pouco representativas ou insuficientes para capturar a variabilidade da área, o modelo pode reproduzir essas limitações.
Por isso o projeto não trata o treinamento como uma caixa-preta mágica. Ele mede o desempenho e preserva pontos problemáticos para revisão.
5. Random Forest: 500 árvores votando sobre os pixels
O MVP utiliza o RandomForestClassifier do scikit-learn com 500 árvores, max_features=2, paralelismo por todos os núcleos disponíveis e random_state=123 para reprodutibilidade.
A documentação do scikit-learn define Random Forest como um conjunto de várias árvores de decisão treinadas sobre subamostras, combinando seus resultados para melhorar a capacidade preditiva e controlar overfitting.
No VisionAgro, as variáveis de entrada do MVP são deliberadamente simples: R, G e B.
Isso significa que o primeiro objetivo não é esgotar todas as possibilidades do sensoriamento remoto. É provar que o núcleo científico pode ser reproduzido em Python de maneira consistente, modular e operacional.
Treinamento atual
Parâmetros definidos no código do MVP.
O ganho aqui não é “ter um número bonito”. É conseguir comparar versões do modelo, conjuntos de amostras e estratégias futuras de forma objetiva.
6. Talvez a parte mais interessante: o sistema também registra onde está em dúvida
Uma solução realmente útil não deveria mostrar apenas onde acredita estar certa. Ela precisa mostrar onde o próprio modelo encontra dificuldade.
O VisionAgro faz isso.
Depois do treinamento, o Random Forest calcula probabilidades para todas as amostras. O sistema ordena essas probabilidades e compara as duas maiores.
Se a diferença entre a primeira e a segunda classe for menor que 0,20, a amostra é marcada como ambígua. Se a classe predita divergir da classe originalmente informada, também é marcada como conflito.
Esses registros são gravados em conflitos.csv com:
- coordenadas;
- classe original;
- classe predita;
- probabilidade da classe original;
- margem de ambiguidade;
- indicador de erro de classificação.
Isso cria um recurso poderoso para evolução do projeto: active learning humano no território.
A incerteza deixa de ser defeito escondido e vira informação para o próximo ciclo de aprendizado.
7. Depois do treinamento, vem a escala: classificar a ortofoto inteira
Treinar com centenas de pontos é uma coisa. Aplicar o modelo a milhões de pixels é outra.
O módulo de classificação foi escrito para processar o GeoTIFF em blocos. Ele percorre as janelas internas do raster em vez de carregar toda a imagem de uma vez na RAM.
Em cada bloco:
- lê as três bandas RGB;
- calcula quais pixels estão dentro do perímetro;
- transforma os pixels válidos em linhas RGB;
- executa
model.predict(); - converte as classes em códigos numéricos;
- grava o resultado diretamente no GeoTIFF de saída;
- acumula a contagem de pixels por classe.
Classificação em blocos
Processar um raster grande sem exigir memória proporcional ao tamanho total.
Esse detalhe é essencial para sair do experimento acadêmico e entrar em processamento operacional.
8. O pixel deixa de ser pixel: vira hectare e percentual
Depois de classificar, o sistema conhece quantos pixels pertencem a cada classe. Como o GeoTIFF informa a resolução espacial, é possível calcular a área física de um pixel.
O código converte essa área para hectares e produz, para cada classe:
- quantidade de pixels;
- área em hectares;
- percentual da área classificada.
Além do raster geral, o MVP 2 gera um GeoTIFF individual por classe. Cada camada pode ser aberta em software GIS para análise posterior.
Essa transição é fundamental:
“Vejo uma mancha diferente” passa a poder se tornar “esta classe ocupa X hectares e Y% do perímetro analisado”.
9. O resultado volta para o espaço: Leaflet, amostras, conflitos e camadas
O projeto também possui uma rota /mapa. Nela, o perímetro é convertido para GeoJSON e exibido em um mapa Leaflet.
O usuário pode ligar e desligar:
- perímetro;
- 125 amostras;
- pontos conflitantes;
- camadas classificadas individualmente.
No MVP atual, as prévias PNG das classes são posicionadas sobre os bounds do perímetro para inspeção visual rápida. O próprio README reconhece a limitação e aponta a evolução natural: servir tiles ou COG para alinhamento raster rigoroso no navegador.
Esse nível de transparência é importante. O projeto já diferencia artefato visual de inspeção e artefato GIS georreferenciado correto.
10. E o LLM? Ele ainda não está no MVP — e isso é uma boa notícia
O README é explícito: IA generativa está fora do escopo deliberado do MVP atual.
Isso significa que qualquer camada de LLM descrita daqui em diante é visão de evolução, não funcionalidade já entregue.
E essa sequência faz sentido.
Colocar um LLM antes de estabilizar o pipeline geoespacial criaria uma interface inteligente sobre dados frágeis. O caminho mais robusto é o inverso:
A ordem certa
LLM não substitui GIS; ele pode se tornar a interface do GIS.
Uma linha recente de pesquisa em GIS propõe justamente sistemas em que LLMs atuam como núcleo de decisão para orquestrar ferramentas de geoprocessamento. Trabalhos sobre “Autonomous GIS” já exploram LLMs capazes de decompor tarefas, escolher ferramentas, executar análises espaciais e produzir mapas. Ao mesmo tempo, benchmarks recentes mostram que tarefas espaciais complexas ainda exigem avaliação rigorosa e supervisão humana.
Ou seja: existe uma fronteira real de pesquisa aqui. Não é ficção científica, mas também não é motivo para abandonar controle técnico.
11. A visão: um copiloto geoespacial que conversa com a propriedade
Agora podemos “viajar” — mas com arquitetura.
Imagine que cada voo processado gere um conjunto estruturado de artefatos:
- metadados da ortofoto;
- data do voo;
- resolução;
- perímetro;
- amostras;
- métricas do modelo;
- matriz de confusão;
- conflitos;
- áreas por classe;
- GeoTIFFs individuais;
- histórico de versões;
- observações de campo.
O LLM não precisaria “enxergar” tudo sozinho. Ele teria ferramentas.
Uma pergunta como:
“Qual classe ocupa a maior área e onde estão os pontos em que o modelo está menos seguro?”
poderia ser decomposta em duas consultas: ler areas_classes_python.json e filtrar conflitos.csv por menor margem. Depois, o LLM explicaria o resultado em linguagem natural e destacaria os pontos no mapa.
Outra pergunta:
“Mostre só os conflitos da classe X e gere uma rota de conferência de campo.”
poderia acionar ferramentas GIS, ordenar pontos espacialmente e produzir uma camada específica para vistoria.
É uma mudança importante de paradigma: o mapa deixa de ser apenas uma interface que a pessoa precisa aprender a operar e passa a aceitar intenção em linguagem natural.
12. E quando houver voo 2023, 2024, 2025, 2026...?
O projeto atual trabalha com arquivos nomeados como Ano_23.xlsx e Voo_23.tif. Isso naturalmente sugere uma evolução temporal.
Quando múltiplas campanhas forem armazenadas de forma padronizada, o sistema poderá comparar não apenas classes dentro de uma ortofoto, mas mudanças entre ortofotos.
Uma futura camada analítica poderia responder:
- quais áreas mudaram de classe entre dois voos?
- quantos hectares permaneceram estáveis?
- onde houve maior mudança espacial?
- quais regiões mudaram, mas possuem baixa confiança?
- quais pontos merecem nova amostragem?
- qual campanha apresentou maior divergência entre campo e modelo?
O mapa começa a ganhar memória
Quando o tempo entra, a ortofoto deixa de ser fotografia e vira série histórica.
Nesse cenário, o LLM passa a ter algo ainda mais valioso do que uma imagem: histórico estruturado.
13. O melhor uso da IA pode ser dizer onde o humano precisa olhar
Existe uma tentação recorrente em projetos de IA: vender a ideia de retirar completamente o especialista do processo.
No VisionAgro, a oportunidade mais interessante pode ser outra.
Os pontos conflitantes já são uma forma embrionária de supervisão ativa. Se o modelo demonstra baixa margem entre classes, talvez aquele local seja exatamente onde uma nova visita de campo gera mais informação.
Um ciclo futuro poderia funcionar assim:
Aprendizado contínuo com campo
A dúvida do modelo aponta onde uma nova observação humana pode valer mais.
A IA, nesse desenho, não “substitui quem conhece o campo”. Ela ajuda a usar melhor o tempo de quem conhece.
14. A arquitetura já aponta para um produto maior
Mesmo sendo um MVP, a organização do código já está separada em serviços:
dataset_service.pypara validação e inspeção dos dados;ml_service.pypara treinamento e métricas;classification_service.pypara classificação raster e geração de camadas;map_service.pypara GeoJSON e visualização espacial;app.pypara exposição das rotas Flask.
Essa separação facilita evoluir o sistema sem transformar tudo em um único script.
Arquitetura atual + camada futura
O núcleo científico já está desacoplado da interface.
15. O que o sistema ainda não faz — e por que isso precisa ficar claro
O próprio README registra explicitamente funcionalidades fora do escopo atual:
- geração da ortofoto a partir das fotografias brutas do drone;
- cálculo de matéria seca;
- capacidade de suporte;
- diagnóstico econômico;
- IA generativa;
- cobrança e licenciamento;
- SaaS comercial;
- sincronização em nuvem.
Portanto, este artigo não apresenta esses itens como funcionalidades existentes.
Mas o roadmap é revelador.
Matéria seca e capacidade de suporte mostram uma possível direção de integração entre classificação espacial e indicadores produtivos. Para isso, seriam necessários dados adicionais, modelos próprios, validação agronômica e metodologia adequada — não é algo que possa ser inferido de RGB por simples vontade do software.
Da mesma forma, uma futura IA generativa precisa operar sobre dados produzidos por ferramentas controladas. Ela pode explicar um cálculo de área; não deve inventar um cálculo de área.
16. Onde essa tecnologia pode chegar?
Classificação de cobertura
O uso mais direto é separar visualmente classes presentes na área e quantificar sua distribuição espacial.
Priorização de vistoria
Conflitos e margens baixas podem gerar mapas de prioridade para novas visitas de campo.
Acompanhamento temporal
Com múltiplos voos, a plataforma pode evoluir para análise de mudança entre campanhas.
Geração automática de relatórios
Uma futura camada LLM pode transformar métricas e mapas em relatórios técnicos preliminares, sempre indicando fonte, data do voo, modelo utilizado, métricas e limitações.
Consulta em linguagem natural
“Quanto da área está na classe X?”, “onde o modelo teve mais dúvida?”, “quais amostras discordam da previsão?” e “compare dois voos” são exemplos de perguntas que podem ser convertidas em chamadas a ferramentas.
Integração com dados adicionais
O RGB é apenas o MVP. Uma arquitetura futura poderia receber índices espectrais, sensores multiespectrais, dados de solo, chuva, relevo e outras variáveis — desde que cada fonte seja tratada metodologicamente.
Suporte à decisão
O objetivo maior não é fazer uma IA “dar ordens”. É reunir evidências espaciais e apresentá-las de forma que um produtor, técnico, pesquisador ou gestor consiga decidir com mais informação.
Pesquisa científica aplicada
O pipeline também pode servir como base experimental para comparar algoritmos, conjuntos de atributos, estratégias de amostragem e desempenho entre campanhas.
Primeiro ensinamos a máquina a ler o mapa. Depois queremos ensinar a IA a conversar com ele.
O VisionAgro começa com geoprocessamento, amostras de campo e machine learning supervisionado. A visão futura é unir esses resultados a uma camada de LLM para transformar análise geoespacial em uma experiência conversacional, auditável e orientada por dados.
Conhecer a Luminvs Tecnologia17. Perguntas frequentes
Como analisar uma ortofoto de drone com IA?
O caminho mais confiável é separar etapas. Primeiro, transformar a ortofoto em dados mensuráveis e treinar um modelo com amostras conhecidas. Depois, avaliar métricas, gerar camadas e áreas. Uma IA generativa pode entrar por cima para consultar e explicar esses resultados — não para substituir a medição.
O VisionAgro já usa ChatGPT ou outro LLM?
Não no MVP analisado. O README informa explicitamente que IA generativa está fora desta etapa. A proposta descrita neste artigo para LLM é uma visão de evolução do projeto.
Qual algoritmo o MVP usa?
Random Forest com 500 árvores, duas variáveis consideradas por divisão e divisão 50/50 entre treino e validação, com semente fixa para reprodutibilidade.
O sistema classifica a imagem inteira?
Sim. O raster é processado em janelas, permitindo classificar a área sem carregar toda a ortofoto simultaneamente na RAM.
Como são calculados os hectares?
A resolução espacial do GeoTIFF fornece as dimensões do pixel. O sistema calcula a área do pixel, converte para hectares e multiplica pelo número de pixels atribuídos a cada classe.
O mapa serve apenas para visualização?
No MVP atual ele permite inspecionar perímetro, amostras, conflitos e prévias das classes. Os GeoTIFFs individuais continuam sendo os artefatos GIS georreferenciados corretos para análise especializada.
Uma LLM pode controlar análises GIS?
Esse é um campo ativo de pesquisa. Trabalhos recentes exploram LLMs como orquestradores de ferramentas geoespaciais, mas também mostram a necessidade de validação rigorosa, especialmente em tarefas que exigem raciocínio espacial complexo.
Conclusão: a ortofoto é o começo, não o produto final
O VisionAgro ainda está no início. E talvez essa seja exatamente a fase mais interessante para observá-lo.
Já existe um núcleo técnico concreto: Python, Flask, GeoTIFF, shapefile, amostras georreferenciadas, Rasterio, GeoPandas, Random Forest, métricas, conflitos, processamento em blocos, hectares por classe e mapa GIS.
Não é uma demonstração em que uma IA recebe uma imagem e produz um texto convincente. O pipeline mede, treina, valida, classifica, quantifica e grava artefatos espaciais.
A inteligência generativa ainda vem depois.
E é justamente aí que a visão fica empolgante.
Quando um LLM puder chamar ferramentas para consultar os resultados, selecionar camadas, comparar voos, ler métricas, localizar conflitos e solicitar novas análises, o usuário poderá deixar de conversar apenas com menus e começar a conversar com o próprio conjunto de dados.
Não seria:
“IA, o que você acha desta fazenda?”
Seria:
“Com base no voo, nas amostras, no modelo e no histórico, mostre o que mudou, diga onde existe maior incerteza e prepare os pontos que precisamos conferir em campo.”
Essa diferença muda tudo.
Talvez seja uma máquina que sabe medir, sabe onde está em dúvida, sabe buscar os dados certos — e sabe chamar o humano exatamente onde ele faz mais diferença.
VisionAgro — do pixel ao hectare, do hectare ao mapa e, no futuro, do mapa para uma conversa inteligente com o território.
Referências para aprofundamento: FAO — uso de drones, mapeamento e ortomosaicos na agricultura, scikit-learn — RandomForestClassifier, GIScience in the Era of Artificial Intelligence: Towards Autonomous GIS e GeoAnalystBench — avaliação de LLMs em fluxos de análise geoespacial.