Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Como treinar modelos Ultralytics YOLO para detect animais na natureza

Abirami Vina

Leitura de 5 minutos

15 de abril de 2025

Aprenda a treinar modelos YOLO para detect animais na natureza utilizando o African Wildlife Dataset e utilize o modelo para efetuar inferências em imagens não vistas.

A vida selvagem do nosso planeta é incrivelmente diversa, desde abelhas zumbindo até elefantes imponentes, e preservar essa biodiversidade é fundamental para manter um ecossistema equilibrado. No entanto, os esforços de conservação estão se tornando mais desafiadores devido à perda de habitat, à caça furtiva e às mudanças climáticas. Todos esses fatores afetam negativamente as populações de vida selvagem. 

Os métodos tradicionais de monitoramento animal, como a análise manual de imagens de armadilhas fotográficas e a realização de levantamentos de campo, podem ser lentos e exigir muitos recursos. Esses esforços geralmente não conseguem cobrir grandes áreas e grandes populações de forma eficaz.

Para ultrapassar estas limitações, a inteligência artificial (IA) pode ser utilizada como uma ferramenta com impacto na conservação da vida selvagem. Especificamente, modelos de visão computacional como o Ultralytics YOLO11 podem analisar dados visuais, como imagens e vídeos, para automatizar a identificação e o seguimento de animais em tempo real. 

As tarefas de visão por computador, como a deteção de objectos e a segmentação de instâncias, apoiadas pelo YOLO11, são muito úteis neste contexto. Ao analisar dados visuais, estas tarefas ajudam-nos a recolher dados cruciais, a identificar padrões ecológicos e a responder mais eficazmente às ameaças ambientais.

Neste artigo, vamos percorrer o processo de treino YOLO11 para detect animais. Vamos começar!

Introdução ao Ultralytics YOLO11

Antes de nos debruçarmos sobre o tutorial, vejamos as diferentes opções de configuração e ferramentas necessárias para treinar e utilizar YOLO11. 

A principal ferramenta de que vai precisar é o pacoteUltralytics Python , que facilita o trabalho com modelos YOLO para tarefas como treino, deteção de objectos e execução de inferências. Para utilizar o pacote Ultralytics , terá de configurar um ambiente para executar o seu código, e existem várias opções à sua escolha.

Aqui estão algumas das opções mais populares para configurar seu ambiente de desenvolvimento:

  • Interface de linha de comandos (CLI): A CLI, também conhecida como terminal, é uma ferramenta baseada em texto que permite interagir com o computador através da introdução de comandos. Ao contrário das interfaces gráficas (GUIs), em que se clicam em botões e se utiliza um rato, a CLI requer que se escrevam instruções de texto para executar programas ou tarefas.
  • Jupyter Notebooks: Estes notebooks permitem que você escreva e execute código em pequenos blocos chamados células. É interativo, o que significa que você pode ver o resultado do seu código imediatamente, tornando mais fácil testar e depurar.
  • Google Colab: Google Colab é uma plataforma baseada na nuvem que funciona como o Jupyter Notebooks, mas oferece acesso gratuito a poderosas GPUs. É fácil de configurar e não precisa de instalar nada no seu computador.

Embora existam outras opções para configurar o seu ambiente que pode explorar na documentação oficial Ultralytics , as três opções mencionadas acima requerem muito pouca configuração e são fáceis de utilizar, o que as torna ideais para começar rapidamente. 

Neste tutorial, vamos mostrar como configurar e treinar YOLO11 usando Google Colab, Jupyter Notebooks ou um simples ficheiro Python , uma vez que os passos são muito semelhantes em todos estes ambientes.

Entendendo o Conjunto de Dados da Vida Selvagem Africana

Depois de selecionar um ambiente de desenvolvimento, para treinar YOLO11 para detect especificamente animais selvagens, precisamos de um conjunto de dados de alta qualidade de imagens rotuladas. Cada imagem deve mostrar claramente onde estão os animais e de que tipo são, para que o modelo possa aprender a reconhecê-los através da aprendizagem supervisionada.

Neste tutorial, vamos utilizar o African Wildlife Dataset. É suportado pelo pacote Ultralytics Python e foi especificamente concebido para detetar animais normalmente encontrados nos ecossistemas africanos. Contém imagens anotadas de quatro espécies principais: búfalos, elefantes, rinocerontes e zebras.

Fig. 1. Uma amostra do Dataset de Vida Selvagem Africana.

Aqui estão algumas características importantes do African Wildlife Dataset:

  • Escala: O conjunto de dados consiste em 1504 imagens divididas em três subconjuntos: 1052 para treinamento, 225 para validação e 227 para teste. Essa divisão garante que o modelo aprenda de forma eficaz e seja avaliado minuciosamente.

  • Integração perfeita: Ultralytics fornece um ficheiro de configuração YAML que define os caminhos do conjunto de dados, as classes e outros detalhes, facilitando a sua utilização no treino de modelos YOLO .

  • Licença aberta: Este conjunto de dados é distribuído ao abrigo da licença AGPL-3.0 , incentivando a transparência e a colaboração.

Treino do Ultralytics YOLO11 para deteção de animais

Agora que explorámos o African Wildlife Dataset, podemos começar a treinar um modelo YOLO11 para detect animais em imagens. O processo envolve a configuração do ambiente de desenvolvimento, o treino do modelo YOLO11 e a avaliação do desempenho do modelo.

Passo 1: Configurando o ambiente

Para começar, vamos preparar um ambiente para treinar e testar o modelo. Podem ser utilizados Google Colab, os Jupyter Notebooks ou um simples ficheiro Python , dependendo da sua preferência. Crie um novo bloco de notas Google Colab, um bloco de notas Jupyter ou um ficheiro Python em conformidade.

Se estiver a utilizar Google Colab, o ambiente é executado por predefinição numa CPU (Unidade Central de Processamento), o que pode tornar o treino mais lento. Para acelerar o processo, especialmente para modelos maiores, pode mudar o tempo de execução para utilizar uma GPU. No Google Colab, pode navegar para o separador "Tempo de execução" no menu, selecionar "Alterar tipo de tempo de execução" e definir o acelerador de hardware para uma GPU (de preferência uma GPU T4). Isto é importante para reduzir os tempos de formação.

Em seguida, independentemente do ambiente que estiver a utilizar, é necessário instalar o pacotePython Ultralytics . Se estiver a utilizar um ambiente baseado num notebookGoogle Colab ou Jupyter), execute o seguinte comando com um ponto de exclamação (!) no início

pip install ultralytics

Passo 2: Carregar YOLO11 e preparar o conjunto de dados

Uma vez instalado o pacote Ultralytics , o passo seguinte é carregar o modelo YOLO11 e preparar o conjunto de dados para treino. Primeiro, carregamos o modelo YOLO11 , que já está pré-treinado em tarefas gerais de deteção de objectos. Este modelo pré-treinado dá-nos um bom ponto de partida, uma vez que já aprendeu a detect vários objectos.

Em seguida, especificamos o conjunto de dados usando um arquivo YAML, que contém informações sobre as imagens e rótulos. Este arquivo informa ao modelo onde encontrar o conjunto de dados e quais objetos ele deve aprender a reconhecer. 

O conjunto de dados sobre a fauna selvagem africana é suportado pelo pacote Ultralytics , pelo que será descarregado automaticamente quando iniciar a formação, poupando-lhe o trabalho de o configurar manualmente.

Uma vez que o conjunto de dados está pronto, o modelo começa a treinar. O modelo passará pelo conjunto de dados várias vezes, um processo chamado de treinamento em múltiplas épocas, para melhorar sua capacidade de reconhecer animais nas imagens. Durante este processo, as imagens serão redimensionadas para um tamanho consistente para processamento, e o modelo trabalhará com um número definido de imagens de cada vez, conhecido como um lote. Isso ajuda o modelo a aprender de forma mais eficiente.

Resumindo, o modelo é carregado, o conjunto de dados é descarregado automaticamente e o treino começa a ser executado para detect animais com base no Conjunto de Dados da Vida Selvagem Africana quando o excerto de código abaixo é executado.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)

Passo 3: Passo a passo da formação YOLO11

Uma vez que o trecho de código acima é executado, o modelo começa a treinar com base nas configurações que lhe demos. Dissemos ao modelo através do código para percorrer as imagens de treinamento 30 vezes. Então, significa que o modelo vai olhar para todas as imagens no conjunto de dados 30 vezes, cada vez aprendendo um pouco mais.

Imagine que você está tentando aprender a desenhar um animal. Na primeira vez que você desenha, pode não ficar bom, mas depois de praticar repetidamente, você começa a melhorar. Cada vez que você tenta novamente, você aprende com o que deu errado e corrige. É isso que cada época faz pelo modelo - ele olha para as imagens, comete erros, aprende com eles e fica melhor em reconhecer animais a cada vez.

Se o código de treinamento estiver sendo executado com sucesso, você verá a seguinte saída à medida que o treinamento avança:

  • Configuração do treino: A primeira parte mostra a versão do Ultralytics, PyTorch e o hardware que está a ser utilizadoCPU neste caso), juntamente com a configuração do treino, incluindo o modelo (yolo11n.pt), o tamanho do lote, as épocas e o tamanho da imagem.
  • Resumo do modelo: Ele fornece informações sobre a complexidade do modelo, como o número de camadas e parâmetros, mostrando o tamanho do modelo.
  • Optimizador e taxa de aprendizagem: Menciona o optimizador (por exemplo, AdamW) e a taxa de aprendizagem, que controlam a forma como o modelo ajusta os seus parâmetros durante o treino.
  • Verificação do conjunto de dados: O modelo verifica o conjunto de dados, mostrando quantas imagens são válidas e estão prontas para o treinamento. Ele confirma que não há problemas com o conjunto de dados.
  • Progresso do treinamento: A saída é atualizada após cada época (ciclo de treinamento), mostrando o progresso do treinamento juntamente com os principais valores de perda (box_loss, cls_loss, dfl_loss), que indicam o quão bem o modelo está aprendendo.
  • Métricas de desempenho: Após cada época, você verá métricas de desempenho como precisão, recuperação e mAP (precisão média média). Esses valores mostram a precisão do modelo na deteção e classificação de objetos.
  • Uso de memóriaGPU : Se estiver a utilizar uma GPU, a saída mostra a utilização da memória para track a utilização do hardware.
Fig 2. A saída que você verá enquanto o treinamento do modelo está em execução.

Passo 4: Avaliando o desempenho do modelo treinado sob medida

Após a conclusão do processo de formação, pode rever e validar as métricas de desempenho do modelo. No Google Colab, pode navegar para a pasta "runs" (execuções), depois para a pastadetect"detect) e, finalmente, para a pasta "train" (treinar), onde encontrará registos que apresentam os principais indicadores de desempenho.

Para os utilizadores num ambiente Python , os resultados do treino são guardados por defeito no diretório "runs/train/" no diretório de trabalho atual. Cada execução de treino cria um novo subdiretório (por exemplo, runs/train/exp, runs/train/exp2, etc.), onde pode encontrar os registos e outros resultados relacionados com o treino.

Se estiver a utilizar o CLI, pode aceder facilmente a estes resultados e definições utilizando o comando "yolo settings", que lhe permite ver ou modificar os caminhos e outras configurações relacionadas com os registos de formação e os detalhes da experiência.

Entre os logs, você também encontrará alguns gráficos que pode analisar para ver o quão bem o processo de treinamento do modelo foi. Esses gráficos, criados após a conclusão do treinamento, mostram se o modelo melhorou ao longo do tempo, cometendo menos erros e se tornando mais preciso. 

track o progresso do modelo, mostrando como a perda (a diferença entre as previsões do modelo e os valores reais) diminuiu e como a precisão aumentou durante o treino. Isto ajuda-o a compreender até que ponto o modelo aprendeu a reconhecer animais e até que ponto melhorou no final do treino.

Fig 3. Um exemplo dos gráficos que você pode analisar para avaliar seu modelo.

Principais métricas de avaliação de desempenho

Além disso, aqui está uma análise mais detalhada de algumas das métricas que você pode usar para avaliar o desempenho do modelo:

  • Precisão média média (mAP): Esta métrica mede a exatidão global do modelo na deteção de animais em todas as classes, calculando a média das pontuações de precisão em diferentes níveis de recolha.
  • Precisão: Isso representa a porcentagem de detecções que estão corretas, calculada dividindo o número de detecções verdadeiras positivas pelo número total de detecções feitas.
  • Recall: Indica a porcentagem de animais reais nas imagens que foram corretamente identificados pelo modelo, refletindo sua capacidade de capturar todas as instâncias relevantes.

Essas métricas de avaliação podem ajudar a ajustar o modelo para melhorar a precisão antes de usá-lo em aplicações do mundo real.

Executar inferências utilizando o seu modelo YOLO11 treinado à medida

Agora que treinámos e avaliámos YOLO11, está na altura de o utilizar para analisar imagens e fazer inferências. Pode utilizar as imagens de teste do conjunto de dados ou novas imagens de diferentes fontes.

Utilizaremos o seguinte trecho de código para executar o modelo numa imagem do conjunto de dados de teste. Importa os módulos necessários da biblioteca Ultralytics . Em seguida, define o caminho para o ficheiro de pesos do melhor modelo ("best.pt") armazenado no diretório de resultados. O modelo YOLO11 treinado à medida é carregado utilizando estes pesos. 

Depois disso, o caminho para uma imagem do conjunto de dados de teste da Vida Selvagem Africana é definido. O modelo é aplicado a esta imagem para detecção de objetos, os resultados são gerados e a saída (como objetos detectados ou anotações) é salva.

from ultralytics import settings

best_model_path = results.save_dir / "weights/best.pt"

model = YOLO(best_path)

image_path = f"{settings['datasets_dir']}/african-wildlife/test/images/1 (168).jpg"

img_results = model(image_path, save=True) 

A imagem de saída apresentada abaixo será guardada na pasta "predict" localizada no diretório detect . Para testes subsequentes, serão criadas novas pastas, como "predict2", "predict3", etc., para armazenar as imagens.

Fig. 4. Execução de uma inferência utilizando o modelo YOLO11 ajustado numa imagem de teste.

Para testar imagens de diferentes fontes, você pode usar o código abaixo. Usamos uma imagem do Pexels. Você pode usar a mesma imagem ou qualquer outra imagem relevante.

best_model_path = results.save_dir / "weights/best.pt"

model = YOLO(best_path)

img2_results = model("https://images.pexels.com/photos/18341011/pexels-photo-18341011/free-photo-of-elephant-and-zebras-in-savannah.png", save=True)

A imagem de saída mostrada abaixo será salva na pasta apropriada.

Fig. 5. Deteção de vida selvagem utilizando o modelo YOLO11 ajustado numa imagem não vista.

IA para a conservação da vida selvagem: Aplicações no mundo real

Modelos como o YOLO11 podem detect e track automaticamente os animais, o que permite uma variedade de aplicações práticas. Eis um vislumbre de algumas das principais áreas em que a IA de visão pode ser utilizada para apoiar os esforços de conservação da vida selvagem:

  • Monitorização de espécies: A IA de visão pode ser utilizada para processar dados visuais, como imagens e vídeos, para identificar com precisão espécies, contar populações e track os seus movimentos ao longo do tempo.
  • Alertas de câmaras inteligentes: Em áreas remotas, a visão por computador pode ser utilizada para classify continuamente os animais e enviar alertas em tempo real, permitindo que as autoridades responsáveis pela vida selvagem respondam rapidamente a ameaças como comportamentos anormais dos animais ou conflitos entre humanos e animais selvagens.
  • Análise de comportamento: Ao monitorar a migração, os hábitos alimentares e as interações sociais, os sistemas de visão de IA podem fornecer insights abrangentes sobre a dinâmica entre espécies.
  • Prevenção da caça furtiva: A IA de visão pode ser utilizada para detect a presença humana não autorizada e sinais de caça furtiva, ao mesmo tempo que utiliza a aprendizagem automática e os dados históricos para identificar os pontos de risco.

Principais conclusões

Os modelos de visão por computador, como o YOLO11 , podem desempenhar um papel fundamental na conservação da vida selvagem, automatizando a deteção e o seguimento de animais. Com a IA de visão, podemos processar grandes volumes de imagens e vídeos de várias fontes, tornando possível efetuar avaliações precisas da vida selvagem. 

Ultralytics YOLO11, em particular, é uma excelente escolha para a deteção de objectos em tempo real, o que o torna perfeito para tarefas como a vigilância anti-caça furtiva, a análise comportamental e a monitorização de ecossistemas. Ao incorporar modelos orientados por IA nos esforços de conservação, podemos proteger melhor as espécies, melhorar o rastreio da biodiversidade e tomar decisões mais informadas para salvaguardar a vida selvagem ameaçada.

Junte-se à nossa comunidade e explore o repositório GitHub para saber mais sobre visão computacional. Descubra mais aplicações relacionadas com a IA nos cuidados de saúde e a visão computacional no fabrico nas nossas páginas de soluções. Confira as opções de licenciamentoUltralytics para começar a usar a IA de visão.

Vamos construir o futuro
da IA juntos!

Comece sua jornada com o futuro do aprendizado de máquina

Comece gratuitamente