Scopri come i rilevatori basati su anchor rivoluzionano il rilevamento di oggetti con localizzazione precisa, adattabilità della scala e applicazioni reali.
I rilevatori basati su anchor sono una classe fondamentale di modelli di object detection nella computer vision. Questi modelli operano utilizzando un insieme predefinito di box, noti come anchor box, per identificare e localizzare gli oggetti all'interno di un'immagine. Gli anchor box sono essenzialmente una griglia di template con varie dimensioni e proporzioni che vengono affiancati sull'immagine. Il modello prevede come spostare e scalare questi anchor per corrispondere ai bounding box degli oggetti, insieme a un punteggio di confidenza che indica la presenza di un oggetto. Questo approccio semplifica il problema di trovare oggetti trasformandolo in un'attività di regressione e classificazione rispetto a questi anchor fissi.
Esempi importanti di architetture basate su anchor includono la famiglia R-CNN, come Faster R-CNN, e i primi detector a stadio singolo come SSD (Single Shot MultiBox Detector) e molti modelli YOLO, tra cui l'affermato Ultralytics YOLOv5.
L'idea alla base del rilevamento basato su anchor è quella di utilizzare un insieme di riquadri di riferimento predefiniti come punto di partenza. Durante il processo di addestramento del modello, il rilevatore impara a svolgere due compiti principali per ogni riquadro di ancoraggio:
Queste previsioni vengono effettuate dalla detection head del modello dopo aver elaborato le caratteristiche dell'immagine estratte dal backbone. Poiché un singolo oggetto può essere rilevato da più anchor box, viene utilizzata una fase di post-elaborazione chiamata Non-Maximum Suppression (NMS) per filtrare i rilevamenti ridondanti e conservare solo la box più adatta. Le prestazioni di questi modelli vengono spesso valutate utilizzando metriche come la mean Average Precision (mAP) e l'Intersection over Union (IoU).
Negli ultimi anni, i rilevatori anchor-free sono emersi come una valida alternativa. A differenza dei modelli basati su anchor, gli approcci anchor-free prevedono direttamente le posizioni e le dimensioni degli oggetti, spesso identificando i punti chiave (come i centri o gli angoli degli oggetti) o prevedendo le distanze da un punto ai bordi dell'oggetto, eliminando la necessità di forme di anchor predefinite.
Le differenze chiave includono:
Sebbene i detector basati su anchor come YOLOv4 abbiano avuto un grande successo, molte architetture moderne, tra cui Ultralytics YOLO11, hanno adottato design anchor-free per sfruttare i loro vantaggi in termini di semplicità ed efficienza. Puoi esplorare i vantaggi del rilevamento anchor-free in YOLO11 e vedere i confronti tra diversi modelli YOLO.
I rilevatori basati su anchor sono ampiamente utilizzati in varie applicazioni in cui gli oggetti hanno forme e dimensioni relativamente standard.
Lo sviluppo e l'implementazione di modelli di object detection, sia anchor-based che anchor-free, implica l'utilizzo di framework come PyTorch o TensorFlow e librerie come OpenCV. Piattaforme come Ultralytics HUB offrono flussi di lavoro semplificati per il training di modelli personalizzati, la gestione dei dataset e l'implementazione di soluzioni, supportando varie architetture di modelli. Per approfondire, risorse come Papers With Code elencano i modelli all'avanguardia e i corsi di piattaforme come DeepLearning.AI trattano i concetti fondamentali.