O que é detecção de objetos?

Autores

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

A detecção de objetos é uma técnica que usa redes neurais para localizar e classificar objetos em imagens. Essa tarefa de computer vision tem uma ampla gama de aplicações, desde imagens médicas até carros autônomos.

A detecção de objetos é uma tarefa de computer vision que visa localizar objetos em imagens digitais. Dessa forma, é uma instância de inteligência artificial que consiste em treinar computadores para verem como os humanos, especificamente reconhecendo e classificando objetos de acordo com categorias semânticas.1 A localização de objetos é uma técnica para determinar a localização de objetos específicos em uma imagem, demarcando o objeto por meio de uma caixa delimitadora. A classificação de objetos é outra técnica que determina a qual categoria um objeto detectado pertence. A tarefa de detecção de objetos combina subtarefas de localização e classificação de objetos para estimar simultaneamente a localização e o tipo de instâncias de objetos em uma ou mais imagens.2

Tarefas da visão computacional

A detecção de objetos se sobrepõe a outras técnicas de computer vision, mas os desenvolvedores a tratam como um esforço discreto.

A classificação de imagens (ou reconhecimento de imagens) tem como objetivo classificar imagens de acordo com categorias definidas. Um exemplo rudimentar disso são os testes de imagem CAPTCHA, nos quais um grupo de imagens pode ser organizado como imagens com e sem sinais de pare. A classificação de imagens atribui uma etiqueta a toda a imagem.

A detecção de objetos, em comparação, delineia objetos individuais em uma imagem de acordo com categorias especificadas. Enquanto a classificação de imagens divide as imagens entre as que têm sinais de pare e as que não têm, a detecção de objetos localiza e categoriza todos os sinais de trânsito em uma imagem, bem como outros objetos, como carros e pessoas.

A segmentação de imagens (ou segmentação semântica) é semelhante à detecção de objetos, embora mais precisa. Assim como a detecção de objetos, a segmentação delineia objetos em uma imagem de acordo com categorias semânticas. Mas, em vez de marcar objetos usando caixas, a segmentação demarca os objetos no nível do pixel.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Como funciona a detecção de objetos

Entender as máquinas internas da detecção de objetos requer uma base em computer vision e processamento de imagens digitais de forma mais ampla. Esta seção fornece uma visão geral.

Processamento de imagens

Na computer vision, as imagens são expressas como funções contínuas em um plano de coordenadas 2D representado como f(x,y). Quando digitalizadas, as imagens passam por dois processos primários chamados de amostragem e quantização, que, juntos, convertem a função de imagem contínua em uma estrutura de grade discreta de elementos de pixels. Então, o computador pode segmentar uma imagem em regiões discretas, de acordo com a semelhança visual e a proximidade dos pixels.3

Ao rotular imagens usando uma interface de anotação, os usuários definem um objeto específico como uma região de funcionalidades específicas em nível de pixel (por exemplo, área, valor de cinza e assim por diante). Ao receber uma imagem de entrada, o modelo de detecção de objetos reconhece regiões com funcionalidades semelhantes àquelas definidas no conjunto de dados de treinamento como o mesmo objeto. Dessa forma, a detecção de objetos é uma forma de reconhecimento de padrões. Os modelos de detecção de objetos não reconhecem objetos em si, mas sim agregados de propriedades como tamanho, forma, cor e assim por diante, e classificam regiões de acordo com padrões visuais inferidos de dados de treinamento anotados manualmente.4

Um modelo de detecção de objetos para um carro autônomo, por exemplo, não reconhece pedestres, mas um conjunto de funcionalidades que formam o padrão geral que caracteriza os objetos pedestres (conforme definido nos dados de treinamento).

Arquitetura de modelos

Embora diferentes famílias de modelos usem arquiteturas diferentes, os modelos de deep learning para detecção de objetos seguem uma estrutura geral. Eles consistem em uma espinha dorsal, pescoço e cabeça.

A espinha dorsal extrai funcionalidades de uma imagem de entrada. Frequentemente, a espinha dorsal é derivada de parte de um modelo de classificação pré-treinado. A extração de funcionalidades produz uma miríade de mapas de funcionalidades de diferentes resoluções que a espinha dorsal passa para o pescoço. Essa última parte da estrutura concatena os mapas de funcionalidades de cada imagem. Então, a arquitetura passa os mapas de funcionalidades em camadas para a cabeça, que prevê caixas delimitadoras e pontuações de classificação para cada conjunto de funcionalidades.

Detectores de dois estágios separam a localização e a classificação de objetos na cabeça, enquanto detectores de estágio único combinam essas tarefas. Os primeiros geralmente retornam maior precisão de localização, enquanto os segundos têm um desempenho mais rápido.5

Métricas de avaliação

Intersecção sobre união (IoU) é uma métrica de avaliação comum usada em modelos de detecção de objetos. Uma caixa delimitadora é a saída do quadrado demarcando um objeto detectado conforme previsto pelo modelo. A IoU calcula a proporção da área de interseção de duas caixas delimitadoras (ou seja, a área das seções sobrepostas das caixas) sobre sua área de união (ou seja, a área total de ambas as caixas combinadas):6

Podemos visualizar essa equação como:

Os modelos usam a IoU para medir a precisão da previsão ao calcular a IoU entre uma caixa prevista e uma caixa de verdade terrestre. As arquiteturas de modelo também usam a IoU para gerar previsões finais de caixas delimitadoras. Como os modelos geralmente geram inicialmente várias centenas de previsões de caixas delimitadoras para um único objeto detectado, os modelos usam a IoU para ponderar e consolidar previsões de caixas delimitadoras em uma única caixa por objeto detectado.

Outras métricas podem ser utilizadas para diferentes avaliações de modelos de detecção de objetos. A intersecção generalizada sobre união (GIoU) é uma versão modificada da IoU que leva em conta melhorias na localização de objetos para os quais a IoU básica ainda pode retornar um valor nulo.7 A pesquisa de detecção de objetos também emprega métricas comuns de recuperação informativa, como precisão média e recall.

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Algoritmos e arquiteturas de detecção de objetos

Há uma série de abordagens de aprendizado de máquina para tarefas de detecção de objetos. Como exemplos, temos o framework Viola-Jones 8 e o histograma de gradientes orientados.9 Pesquisas e desenvolvimentos recentes em detecção de objetos, no entanto, têm se concentrado principalmente em redes neurais convolucionais (CNNs). Dessa forma, esta página se concentra em dois tipos de CNNs mais discutidas na pesquisa de detecção de objetos. Observe que estes modelos são testados e comparados utilizando conjuntos de dados de benchmark, como o conjunto de dados Microsoft COCO ou o ImageNet.

A R-CNN (rede neural convolucional baseada na região) é um detector de dois estágios que usa um método chamado propostas de região para gerar 2.000 previsões de região por imagem. Então, a R-CNN deforma as regiões extraídas para um tamanho uniforme e executa essas regiões por meio de redes separadas para extração e classificação de funcionalidades. Cada região é classificada de acordo com a confiança de sua classificação. Então, a R-CNN rejeita regiões que têm uma certa sobreposição de IoU com uma região selecionada de pontuação mais alta. As regiões classificadas não sobrepostas e com melhor classificação restantes são a saída do modelo.10 Como esperado, essa arquitetura é computacionalmente cara e lenta. A Fast R-CNN e a Faster R-CNN são modificações posteriores que reduzem o tamanho da arquitetura da R-CNN e, assim, diminuem o tempo de processamento e aumentam a precisão.11

O YOLO (You Only Look Once) é uma família de arquiteturas de detecção de estágio único baseadas no Darknet, um framework de CNN de código aberto. Desenvolvida pela primeira vez em 2016, a arquitetura YOLO prioriza a velocidade. De fato, a velocidade do YOLO o torna preferível para detecção de objetos em tempo real e lhe rendeu o descritor comum de detector de objetos de última geração. O YOLO difere do R-CNN de várias maneiras. Enquanto o R-CNN passa regiões de imagem extraídas por várias redes que extraem funcionalidades e classificam imagens separadamente, o YOLO condensa essas ações em uma única rede. Em segundo lugar, em comparação com as propostas de aproximadamente 2000 regiões do R-CNN, o YOLO faz menos de 100 previsões de caixas delimitadoras por imagem. Além de ser mais rápido que o R-CNN, o YOLO também produz menos falsos positivos em segundo plano, embora tenha um erro de localização maior.12 Houve muitas atualizações no YOLO desde o seu início, geralmente com foco em velocidade e precisão.13

Embora originalmente desenvolvidos para detecção de objetos, versões posteriores do R-CNN e do YOLO também podem treinar modelos de classificação e segmentação. Especificamente, o Mask R-CNN combina detecção e segmentação de objetos, enquanto o YOLOv5 pode treinar modelos separados de classificação, detecção e segmentação.

É claro que existem muitas outras arquiteturas de modelos além do R-CNN e do YOLO. O SSD e o Retinanet são dois modelos adicionais que usam uma arquitetura simplificada semelhante ao YOLO.14 O DETR é outra arquitetura desenvolvida pelo Facebook (agora Meta), que combina CNN com um modelo de transformador e mostra desempenho comparável ao Faster R-CNN.15

Exemplos de casos de uso

Em muitos casos de uso, a detecção de objetos não é um fim em si mesmo, mas um estágio em uma tarefa maior de computer vision.

Condução autônoma

Carros autônomos adotam amplamente a detecção de objetos para reconhecer objetos como carros e pedestres. Um exemplo disso é o Autopilot AI da Tesla. Devido à sua maior velocidade, arquiteturas simples como o YOLO e o SimpleNet são obviamente mais ideais para a condução autônoma.16

Geração de imagens médicas

A detecção de objetos pode ajudar em tarefas de inspeção visual . Por exemplo, um corpo substancial de pesquisa de detecção de objetos investiga métricas e modelos para identificar indicadores psicológicos de doenças em imagens médicas, como raios X e imagens de ressonância magnética. Nessa área, muita pesquisa tem se concentrado em melhorar os desequilíbrios do conjunto de dados, dada a escassez dessas imagens médicas de doenças.17

Segurança

A vigilância por vídeo pode empregar detecção de objetos em tempo real para rastrear objetos associados a crimes, como armas ou facas, em imagens de câmeras de segurança. Ao detectar esses objetos, os sistemas de segurança podem prever e prevenir crimes. Pesquisadores desenvolveram algoritmos de detecção de armas usando tanto o R-CNN quanto o YOLO.18

Pesquisa recente

Conjuntos de dados desequilibrados são um problema que assola as tarefas de detecção de objetos, pois amostras negativas (ou seja, imagens sem o objeto de interesse) superam em muito as amostras positivas em muitos conjuntos de dados específicos de domínios. Esse é um problema particular com imagens médicas, onde amostras positivas de doenças são difíceis de adquirir. Pesquisas recentes utilizam o aumento de dados para expandir e diversificar conjuntos de dados limitados para melhorar o desempenho do modelo.19

Os desenvolvimentos anteriores na detecção de objetos focavam principalmente em imagens 2D. Mais recentemente, os pesquisadores recorreram a aplicações de detecção de objetos para imagens e vídeos 3D. O desfoque de movimento e a mudança do foco da câmera causam problemas na identificação de objetos nos quadros de vídeo. Os pesquisadores exploraram uma variedade de métodos e arquiteturas para ajudar a rastrear objetos em quadros, apesar dessas condições, como a arquitetura de rede neural recorrente de memória de longo e curto prazos (LSTM)20 e os modelos baseados em transformadores.21 Os transformadores foram utilizados para acelerar modelos de detecção de objetos para tarefas de detecção em tempo real. Técnicas de processamento paralelo são mais uma área notável de estudo nesse empreendimento.22

Soluções relacionadas
IBM Maximo Visual Inspection

Aproveite todo o poder da visão computacional sem código para automatizar inspeções visuais.

Conheça o Maximo Visual Inspection
Consultoria e serviços em inteligência artificial (IA)

Os serviços de IA da IBM® Consulting ajudam a reinventar a forma como as empresas trabalham com IA para gerar transformações.

Explore os serviços de inteligência artificial
Soluções de inteligência artificial

Coloque a IA em ação na sua empresa tendo a seu lado o conhecimento técnico em IA líder do setor e o portfólio de soluções da IBM.

Explore as soluções de IA
Dê o próximo passo

O IBM Maximo Visual Inspection coloca o poder dos recursos de visão computacional por IA nas mãos de suas equipes de controle de qualidade e inspeção. Aproveite todo o poder da visão computacional sem código para automatizar inspeções visuais.

Conheça o Maximo Visual Inspection Faça um tour pelo produto