Explore a mecânica dos detetores de objetos de duas etapas, com foco em propostas de regiões e classificação. Saiba por que modelos modernos como Ultralytics agora lideram.
Os detetores de objetos de duas fases são uma classe sofisticada de arquiteturas de aprendizagem profunda (DL) utilizadas na visão computacional para identificar e localizar itens dentro de uma imagem. Ao contrário dos seus homólogos de uma fase, que realizam a detecção numa única passagem, estes modelos dividem a tarefa em duas fases distintas: proposta de região e classificação de objetos. Esta abordagem bifurcada foi pioneira para priorizar a alta precisão de localização, tornando estes detetores historicamente significativos na evolução da inteligência artificial (IA). Ao separar o «onde» do «o quê», os detetores de duas fases geralmente alcançam uma precisão superior, principalmente em objetos pequenos ou ocultos, embora isso normalmente acarrete um aumento nos recursos computacionais necessários e uma latência de inferência mais lenta.
A arquitetura de um detetor de duas fases baseia-se num fluxo de trabalho sequencial que imita a forma como um ser humano poderia examinar cuidadosamente uma cena.
Exemplos proeminentes dessa arquitetura incluem a família R-CNN, especificamente Faster R-CNN e Mask R-CNN, que estabeleceram o padrão para referências académicas por vários anos.
É útil distinguir os modelos de duas fases dos detetores de objetos de uma fase, como o Single Shot MultiBox Detector (SSD) e aYOLO Ultralytics YOLO . Enquanto os modelos de duas fases priorizam a precisão ao processar regiões separadamente, os modelos de uma fase enquadram a deteção como um único problema de regressão, mapeando os pixels da imagem diretamente para coordenadas de caixas delimitadoras e probabilidades de classe.
Historicamente, isso criou uma compensação: os modelos de duas etapas eram mais precisos, mas mais lentos, enquanto os modelos de uma etapa eram mais rápidos, mas menos precisos. No entanto, os avanços modernos tornaram essa linha mais tênue. Modelos de última geração, como o YOLO26, agora utilizam arquiteturas completas que rivalizam com a precisão dos detetores de duas etapas, mantendo a velocidade necessária para a inferência em tempo real.
Devido à sua ênfase na precisão e na recuperação, os detetores de duas fases são frequentemente preferidos em cenários onde a segurança e os detalhes são mais críticos do que a velocidade bruta de processamento.
Embora os detetores de duas fases tenham estabelecido as bases para uma visão de alta precisão, os programadores modernos utilizam frequentemente modelos avançados de uma fase que oferecem um desempenho comparável com fluxos de trabalho de implementação significativamente mais fáceis. Ultralytics simplifica o treino e a implementação desses modelos, gerindo conjuntos de dados e recursos computacionais de forma eficiente.
Python a seguir demonstra como carregar e executar a inferência usando um fluxo de trabalho moderno de detecção de objetos com
ultralytics, alcançando resultados de alta precisão semelhantes às abordagens tradicionais de duas etapas, mas com maior
eficiência:
from ultralytics import YOLO
# Load the YOLO26 model, a modern high-accuracy detector
model = YOLO("yolo26n.pt")
# Run inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")
# Process results (bounding boxes, classes, and confidence scores)
for result in results:
result.show() # Display the detection outcomes
print(result.boxes.conf) # Print confidence scores