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