Post

Visualizzazione dei post da gennaio, 2025

Average Precision (AP) e mAP: Cosa Sono e Come Funzionano

Average Precision (AP) e mAP: Cosa Sono e Come Funzionano 🏆 Average Precision (AP) e mAP: Cosa Sono e Come Funzionano Nel mondo della Object Detection , una delle principali sfide è valutare con precisione la qualità dei modelli. Le metriche più utilizzate per questa valutazione sono l' Average Precision (AP) e la mean Average Precision (mAP) . Ma cosa significano esattamente e come vengono calcolate? Scopriamolo insieme! 🚀 📌 Cos'è l'Average Precision (AP)? L' Average Precision (AP) è una metrica che misura la qualità delle previsioni di un modello di object detection combinando due aspetti fondamentali: Precision (Precisione) – Quanto sono accurate le predizioni? Recall (Richiamo) – Quanti oggetti reali vengono effettivamente rilevati? Il valore di AP viene calcolato come l'area sotto la curva Precision-Recall (PR), fornendo un'indicazione di quanto bene il m...

Object Detection: Cos'è e Come Funziona?

Object Detection: Cos'è e Come Funziona | AI e Computer Vision 🔍 Object Detection: Cos'è e Come Funziona? L' Object Detection è una tecnica di computer vision che permette di identificare e localizzare oggetti all'interno di un'immagine o di un video. A differenza della semplice classificazione delle immagini, questa tecnologia può riconoscere più oggetti contemporaneamente e disegnarne i contorni con delle bounding boxes . 📌 Differenza tra Object Detection, Image Classification e Image Segmentation 🔹 Image Classification Risponde alla domanda: "Cosa c'è in questa immagine?" e assegna un'unica etichetta a tutta l'immagine. 🔹 Object Detection Risponde alla domanda: "Quali oggetti sono presenti e dove si trovano?" . Utilizza bounding boxes per segnalare la posizione degli oggetti. 🔹 Image Segmentation Risponde alla domanda: "Qual è ...

Metrica Intersection over Union (IoU) – Cos'è e perché è importante?

Immagine
Intersection over Union (IoU) – Cos'è e perché è importante? Intersection over Union (IoU) – Cos'è e perché è importante? Intersection over Union (IoU) è una metrica chiave in computer vision utilizzata per valutare la qualità delle predizioni di un modello di object detection . Essa misura la sovrapposizione tra la bounding box predetta dal modello e la bounding box reale (ground truth). 📏 Come si calcola IoU? IoU è definita come il rapporto tra l'area dell'intersezione e l'area dell'unione tra le due bounding box: IoU = Area dell'Intersezione / Area dell'Unione Dove: L’ intersezione è l’area comune tra la bounding box predetta e la ground truth. L’ unione è la somma delle due aree, sottraendo l’intersezione per evitare duplicati. 🔹 Valori tipici di IoU IoU = 0 → Nessuna sovrapposizione IoU tra 0 e 0.5 → Predizione scarsa ...

Region Proposal Network (RPN): La Chiave di Faster R-CNN

Region Proposal Network (RPN): La Chiave di Faster R-CNN 🚀 Il Region Proposal Network (RPN) è un componente fondamentale di Faster R-CNN , introdotto da Ren et al. nel 2015 , che ha rivoluzionato l' object detection rendendo il processo più veloce ed efficiente. 📌 Cos’è un RPN? È una rete neurale convoluzionale (CNN) che genera automaticamente regioni candidate (proposte) in cui potrebbero trovarsi gli oggetti, eliminando la necessità di metodi lenti come Selective Search utilizzato nei modelli precedenti (R-CNN e Fast R-CNN). 1. Perché Serve un RPN? Nei modelli di object detection, il primo passo è trovare regioni di interesse che potrebbero contenere oggetti. 💡 Problema dei modelli precedenti: R-CNN e Fast R-CNN usavano Selective Search , un metodo lento e non ottimizzato per il deep learning. Questo rallentava il processo e lo rendeva inadatto alle applicazioni in tempo reale. 🔥 Soluzione: Il RPN genera automaticamente le regioni d...

Faster R-CNN: Un Modello Two-Stage per l'Object Detection

Faster R-CNN: Un Modello Two-Stage per l'Object Detection 🚀 Faster R-CNN (Region-based Convolutional Neural Network) è un modello di object detection sviluppato da Ren et al. nel 2015 , ed è una delle architetture più precise per il riconoscimento degli oggetti. 📌 Caratteristiche principali: È un modello two-stage , ovvero identifica prima le regioni candidate e poi le classifica. Introduce il Region Proposal Network (RPN) , che genera le regioni di interesse in modo più efficiente rispetto ai modelli precedenti (R-CNN e Fast R-CNN). Offre un ottimo bilanciamento tra accuratezza e velocità , rendendolo ideale per applicazioni che richiedono precisione. 1. Perché Faster R-CNN è un miglioramento rispetto ai modelli precedenti? Prima di Faster R-CNN, i modelli di object detection avevano alcuni limiti: R-CNN (2014) → Troppo lento, perché processava ogni regione candidata separatamente. Fast R-CNN (2015) → Più veloce, ma dipendeva anc...

Max Pooling: Cos’è e come funziona?

Max Pooling: Cos’è e come funziona? 🔍 Max Pooling: Cos’è e come funziona? Il Max Pooling è una tecnica di riduzione della dimensionalità utilizzata nelle reti neurali convoluzionali (CNN) per ottimizzare l'elaborazione delle immagini. Il suo scopo principale è ridurre la quantità di informazioni mantenendo le feature più importanti, migliorando così l'efficienza della rete e prevenendo l'overfitting. 🛠 Come funziona il Max Pooling? Il processo si divide in 3 passaggi fondamentali : Definizione di una finestra di pooling (kernel): - Una finestra scorre sulla feature map con un determinato passo ( stride ). - Tipicamente si usano kernel 2x2 o 3x3 con uno stride di 2 . Selezione del valore massimo in ogni finestra: - Per ogni regione coperta dal kernel, viene scelto solo il valore massimo . - Questo aiuta a preservare le caratteristiche più significative riducendo il ...

ROI Pooling Layer: Cos’è e come funziona?

ROI Pooling Layer: Cos’è e come funziona? ROI Pooling Layer: Cos’è e come funziona? ROI Pooling (Region of Interest Pooling) è una tecnica fondamentale nei modelli di Object Detection come Fast R-CNN . Il suo obiettivo è ridimensionare dinamicamente le regioni proposte (ROI) per adattarle a una dimensione fissa, indipendentemente dalle loro dimensioni originali. 🔹 Problema e Soluzione Problema: Le regioni individuate dagli algoritmi di region proposal hanno dimensioni variabili, mentre i classificatori di reti neurali richiedono input di dimensione fissa. Soluzione: Il ROI Pooling Layer estrae feature dalle regioni di interesse e le converte in una dimensione standardizzata, senza bisogno di ridimensionare direttamente le immagini! 🔍 Come funziona il ROI Pooling? Il processo si divide in 4 fasi principali : Selezione della regione di interesse (ROI): - Le bounding boxes generate (ad esempio con ...

Fast R-CNN

Fast R-CNN: Guida Completa al Rilevamento di Oggetti Fast R-CNN: Guida Completa al Rilevamento di Oggetti Fast R-CNN è un'ottimizzazione del modello R-CNN per il rilevamento di oggetti . È stato sviluppato per risolvere i problemi di lentezza e consumo di memoria del modello originale, migliorando il processo di rilevamento. 🚀 Miglioramenti rispetto a R-CNN ✔ Elaborazione dell'intera immagine in un unico passaggio con una CNN. ✔ Feature extraction più efficiente grazie alla ROI Pooling Layer . ✔ Eliminazione della necessità di classificatori SVM esterni. 🔍 Come funziona Fast R-CNN? Il processo si divide in 4 fasi principali : Elaborazione dell'immagine con una CNN: - L'intera immagine viene passata attraverso una rete convoluzionale (CNN) per generare una feature map . - A differenza di R-CNN, l'immagine viene processata tutta in una volta! Region Propos...

Region-Based CNN (R-CNN)

Region-Based CNN (R-CNN) - Guida completa al rilevamento di oggetti Region-Based CNN (R-CNN): Guida completa al rilevamento di oggetti Le Region-Based Convolutional Neural Networks (R-CNN) sono una famiglia di modelli utilizzati per il rilevamento di oggetti nella computer vision . Combinano tecniche di region proposal con reti neurali convoluzionali ( CNN ) per individuare e classificare oggetti in un'immagine con elevata precisione. Come funziona R-CNN? Il processo in un modello R-CNN standard si divide in tre fasi principali: Generazione delle regioni proposte: Un algoritmo di region proposal come Selective Search estrae un numero di possibili bounding boxes che potrebbero contenere oggetti. Feature Extraction con una CNN: Ogni regione proposta viene ridimensionata e passata attraverso una rete convoluzionale (CNN) pre-addestrata (come AlexNet o VGG) per estrarre caratteristiche ( feature maps ). Classific...

Region Proposal

Region Proposal Region Proposal Region Proposal (proposta di regioni) è una tecnica utilizzata nell’ambito del rilevamento di oggetti in computer vision per individuare aree di interesse all’interno di un'immagine che potrebbero contenere oggetti. Queste regioni vengono poi analizzate più nel dettaglio (ad esempio, con un classificatore) per determinare la classe dell'oggetto che esse contengono. Come funziona la Region Proposal? Generazione delle regioni : L'idea di base della region proposal è quella di generare un numero relativamente ridotto di proposte di regioni da un’immagine che probabilmente contengono un oggetto. Non è necessario esaminare ogni singolo pixel, il che consente di risparmiare tempo e risorse di calcolo. Filtraggio delle regioni : Una volta che queste regioni sono generate, vengono poi filtrate per mantenere solo quelle che sono più promettenti in termini di contenere un oggetto. Classificazione : ...

Selective Search, un algoritmo di region proposal

Selective Search, un algoritmo di region proposal Selective Search Selective Search è un algoritmo di region proposal (proposta di regioni) usato nel campo del rilevamento di oggetti. Viene utilizzato per identificare possibili aree di interesse all'interno di un'immagine, da cui il modello successivamente cercherà di classificare gli oggetti. Come funziona Selective Search? Superpixels : L'algoritmo inizia suddividendo l'immagine in superpixels (piccole regioni omogenee), usando tecniche come la segmentazione basata sulla similarità dei colori e delle texture. Un superpixel è un gruppo di pixel che condividono caratteristiche simili, creando delle regioni visivamente coerenti. Raggruppamento delle regioni : Dopo aver creato i superpixels, l'algoritmo tenta di combinare questi superpixels in regioni proposte . L'idea è di unire piccole aree che sembrano appartenere allo stesso oggetto o scena. Vengono esplorati diversi modi ...

Non-Maximum Suppression (NMS) – Cos’è e come funziona?

Non-Maximum Suppression (NMS) - Object Detection 🚀 Non-Maximum Suppression (NMS) – Cos’è e come funziona? Quando un modello di object detection (come SSD, YOLO, Faster R-CNN) analizza un'immagine, può generare più bounding box per lo stesso oggetto, spesso con valori di confidenza diversi. Il compito della Non-Maximum Suppression (NMS) è eliminare i riquadri inutili, mantenendo solo quelli più affidabili. 🔹 Come funziona la NMS? Si ordinano le bounding box in base al punteggio di confidenza. Si prende la box con il punteggio più alto e la si mantiene. Si calcola l’IoU (Intersection over Union) tra questa box e le altre. Si eliminano le box con IoU superiore a una soglia (es. 0.5). Si ripete il processo fino a esaurire le box. 📌 Algoritmo della NMS in Python import torch def nms(boxes, scores, iou_threshold=0.5): indices = scores.argsort(descending=True) keep = [...

SSD (Single Shot MultiBox Detector)

Immagine
SSD (Single Shot MultiBox Detector) - Object Detection SSD (Single Shot MultiBox Detector) – Object Detection in un unico passo SSD (Single Shot MultiBox Detector) è un modello di object detection single-stage , che rileva oggetti e bounding box in un unico passaggio , senza bisogno di un processo separato di region proposal (come Faster R-CNN). 🚀 Come funziona SSD? SSD utilizza una rete convoluzionale (CNN) che genera contemporaneamente: Bounding box degli oggetti nell'immagine. Classi degli oggetti contenuti in ogni bounding box. A differenza di YOLO , SSD genera più bounding box di varie dimensioni e proporzioni, chiamate default boxes o prior boxes . Per ogni bounding box tra le k disponibili in una data posizione, SSD calcola: c punteggi di classe (uno per ciascuna delle classi dell'oggetto). 4 valori di offset (che rappresentano la variazione rispetto alla forma predefinita della box)...

YOLO (You Only Look Once): L'Object Detection in Tempo Reale

Immagine
SSD (Single Shot MultiBox Detector) - Object Detection YOLO (You Only Look Once): L'Object Detection in Tempo Reale 🚀 YOLO (You Only Look Once) è una delle architetture più veloci per l'object detection . Introdotto da Joseph Redmon nel 2015 , ha rivoluzionato il campo grazie alla sua capacità di rilevare oggetti in tempo reale . 📌 Differenze con i modelli precedenti: I modelli two-stage come Faster R-CNN analizzano le immagini in più fasi (region proposal → classificazione). YOLO , invece, analizza l'intera immagine in un solo passaggio , rendendolo molto più veloce. 1. Perché YOLO è così popolare? ✅ Velocità estrema 🚀 → Adatto per applicazioni in tempo reale come videosorveglianza e guida autonoma. ✅ Precisione migliorata 🎯 → Con le nuove versioni, è competitivo con modelli two-stage. ✅ Architettura semplice 🛠 → Più facile da implementare rispetto a Faster R-CNN. ❌ Difficoltà con oggetti piccoli → Può so...

Approcci Two-Stage in Object Detection

SSD (Single Shot MultiBox Detector) - Object Detection Approcci Two-Stage in Object Detection 🎯 L' Object Detection è un compito chiave nella computer vision , utilizzato in veicoli autonomi, videosorveglianza, diagnosi mediche e altro ancora. Gli approcci di object detection si dividono in: One-Stage → Predicono direttamente le classi e i bounding box ( YOLO, SSD, RetinaNet ). Two-Stage → Generano prima delle regioni candidate e poi le classificano ( R-CNN, Faster R-CNN, Mask R-CNN ). 🔹 In questo articolo analizziamo i modelli two-stage , che offrono una maggiore accuratezza rispetto agli approcci one-stage. 1. Perché scegliere un approccio Two-Stage? ✅ Maggiore accuratezza 🎯 → Rilevano oggetti con maggiore precisione rispetto ai modelli one-stage. ✅ Buona gestione di oggetti piccoli → Grazie alla selezione di regioni candidate. ✅ Robusti in scenari complessi → Utilizzati in applicazioni scientifiche e industriali. ...

Approcci One-Stage in Object Detection

SSD (Single Shot MultiBox Detector) - Object Detection Approcci One-Stage in Object Detection 🚀 L' Object Detection è un compito fondamentale nella computer vision , utilizzato in applicazioni come la sorveglianza, la guida autonoma e l'analisi di immagini mediche. Gli approcci di object detection possono essere suddivisi in: Two-stage detection → Generano prima delle regioni candidate e poi le classificano (es. Faster R-CNN). One-stage detection → Predicono direttamente le classi e i bounding box senza generare regioni intermedie. 💡 In questo articolo analizzeremo gli approcci one-stage , che sono più veloci e adatti ad applicazioni in tempo reale. 1. Perché scegliere un approccio One-Stage? ✅ Più veloce 🚀 → Non richiede la generazione di proposte di regione. ✅ Adatto a tempo reale → Utile in applicazioni come la guida autonoma. ✅ Architettura più semplice → Facile da implementare rispetto ai modelli two-stage. ...