A deteção de objectos é uma tarefa fundamental na visão computacional (CV) que envolve a identificação da presença, localização e tipo de um ou mais objectos numa imagem ou vídeo. Ao contrário da classificação de imagens, que atribui um único rótulo a uma imagem inteira (por exemplo, "gato"), a deteção de objectos delineia com precisão cada instância de objeto utilizando uma caixa delimitadora e atribui-lhe um rótulo de classe (por exemplo, "gato" nas coordenadas x, y, largura, altura). Esta capacidade permite que as máquinas compreendam as cenas visuais com maior granularidade, imitando mais de perto a perceção visual humana e permitindo interações mais complexas com o ambiente. É uma tecnologia essencial subjacente a muitas aplicações modernas de inteligência artificial (IA).
Como funciona a deteção de objectos
A deteção de objectos combina normalmente duas tarefas principais: classificação de objectos (determinar "que" objeto está presente) e localização de objectos (determinar "onde" o objeto está localizado, normalmente através de coordenadas de caixa delimitadora). Os sistemas modernos de deteção de objectos dependem fortemente da aprendizagem profunda (DL), em particular das Redes Neuronais Convolucionais (CNN). Estas redes são treinadas em grandes conjuntos de dados anotados, como o popular conjunto de dados COCO ou o Open Images V7, para aprender caraterísticas visuais e padrões associados a diferentes classes de objectos.
Durante a operação (conhecida como inferência), o modelo treinado processa uma imagem ou quadro de vídeo de entrada. Emite uma lista de potenciais objectos, cada um representado por uma caixa delimitadora, uma etiqueta de classe prevista (por exemplo, "carro", "pessoa", "cão") e uma pontuação de confiança que indica a certeza do modelo quanto à deteção. Técnicas como a Supressão Não Máxima (NMS) são frequentemente utilizadas para refinar estes resultados, removendo caixas redundantes e sobrepostas para o mesmo objeto. O desempenho destes modelos é normalmente avaliado utilizando métricas como a Intersecção sobre a União (IoU) e a Precisão Média (mAP).
Deteção de Objectos vs. Tarefas Relacionadas
É importante distinguir a deteção de objectos de outras tarefas relacionadas com a visão computacional:
- Classificação de imagens: Atribui uma única etiqueta a uma imagem inteira (por exemplo, "Esta imagem contém um cão"). Não localiza o(s) objeto(s).
- Segmentação de imagens: Classifica cada pixel de uma imagem, criando um mapa detalhado dos limites do objeto. Isto é mais granular do que as caixas delimitadoras da deteção de objectos.
- Segmentação semântica: Atribui uma etiqueta de classe a cada pixel (por exemplo, todos os pixels pertencentes a "carros" são etiquetados como "carro"). Não faz distinção entre diferentes instâncias da mesma classe.
- Segmentação de Instância: Atribui uma etiqueta de classe a cada pixel e diferencia entre instâncias individuais da mesma classe (por exemplo, 'carro 1', 'carro 2'). Combina a deteção e a segmentação.
- Seguimento de objectos: Envolve a deteção de objectos em fotogramas de vídeo consecutivos e a atribuição de uma identificação única a cada objeto para seguir o seu movimento ao longo do tempo. Baseia-se na deteção de objectos.
Tipos de modelos de deteção de objectos
Os modelos de deteção de objectos dividem-se geralmente em duas categorias principais, que diferem principalmente na sua abordagem e nos compromissos de velocidade/precisão:
- Detectores de objectos de duas fases: Estes modelos propõem primeiro regiões de interesse (RoIs) onde os objectos podem estar localizados e depois classificam os objectos dentro dessas regiões. Exemplos incluem a família R-CNN (Fast R-CNN, Faster R-CNN). Frequentemente atingem uma elevada precisão, mas tendem a ser mais lentos.
- Detectores de objectos de uma fase: Estes modelos prevêem diretamente caixas delimitadoras e probabilidades de classe a partir da imagem de entrada numa única passagem, sem um passo separado de proposta de região. Os exemplos incluem o Ultralytics YOLO (You Only Look Once), SSD (Single Shot MultiBox Detetor) e RetinaNet. São normalmente mais rápidos, o que os torna adequados para inferência em tempo real, por vezes à custa de uma precisão ligeiramente inferior em comparação com os métodos de duas fases, embora modelos como YOLO11 colmata esta lacuna de forma eficaz. As abordagens mais recentes, como os detectores sem âncoras, simplificam ainda mais o processo de uma fase. Podes explorar as comparações entre diferentes modelos YOLO e outras arquitecturas como RT-DETR.
Aplicações no mundo real
A deteção de objectos é uma tecnologia fundamental que permite inúmeras aplicações em diversas indústrias:
- Sistemas autónomos: Essencial para a condução autónoma de automóveis e robótica, permitindo que os veículos e robôs percebam o que os rodeia, detectando peões, outros veículos, obstáculos, sinais de trânsito e itens específicos para interação. Empresas como a Tesla e a Waymo dependem fortemente de uma deteção de objectos robusta.
- Segurança e vigilância: Utilizada em sistemas de alarme de segurança para detetar intrusos, monitorizar multidões(Vision AI in Crowd Management), identificar objectos abandonados e melhorar a eficiência da monitorização em espaços públicos e propriedades privadas.
- Análise de retalho: Potencia aplicações como sistemas de caixa automatizados, gestão de inventário orientada por IA, monitorização de prateleiras (deteção de artigos fora de stock) e análise de padrões de tráfego de clientes.
- Cuidados de saúde: Aplicado na análise de imagens médicas para detetar anomalias como tumores(Using YOLO11 for Tumor Detection) ou lesões em raios X, tomografias e ressonâncias magnéticas, ajudando os radiologistas no diagnóstico(Radiology: Artificial Intelligence).
- Agricultura: Permite técnicas de agricultura de precisão, como a deteção de pragas, doenças, ervas daninhas, contagem de frutos(visão computacional na agricultura) e monitorização da saúde das culturas(soluções de IA na agricultura).
- Fabrico: Utilizado para controlo de qualidade através da deteção de defeitos em produtos nas linhas de montagem(Inspeção de Qualidade no Fabrico), garantindo a segurança através da monitorização de áreas perigosas e automatizando tarefas robóticas.
Ferramentas e formação
O desenvolvimento e a implementação de modelos de deteção de objectos envolvem várias ferramentas e técnicas. Estruturas populares de aprendizagem profunda como PyTorch e TensorFlow fornecem as bibliotecas de base. As bibliotecas de visão computacional, como o OpenCV, oferecem funções essenciais de processamento de imagem.
Ultralytics fornece o que há de mais moderno Ultralytics YOLO incluindo os modelos YOLOv8 e YOLO11optimizados para velocidade e precisão. A plataforma Ultralytics HUB simplifica ainda mais o fluxo de trabalho, oferecendo ferramentas para gerir conjuntos de dados, treinar modelos personalizados, efetuar o ajuste de hiperparâmetros e facilitar a implementação de modelos. O treinamento eficaz de modelos geralmente se beneficia de estratégias e técnicas de aumento de dados, como o aprendizado por transferência, usando pesos pré-treinados de conjuntos de dados como o ImageNet.