Interseção sobre União (IoU) e Métricas de Avaliação
Intersection over Union (IoU) é uma métrica que mede a precisão das caixas delimitadoras previstas, calculando a razão entre a área de sobreposição das caixas previstas e reais e a área da união dessas caixas.
Como é Calculado
Matematicamente, o IoU é dado por:
Onde:
- Área de Sobreposição é a interseção entre as caixas delimitadoras prevista e real;
- Área de União é a área total coberta por ambas as caixas.
12345678910111213141516171819202122232425262728import numpy as np def compute_iou(boxA, boxB): # Extract coordinates xA = max(boxA[0], boxB[0]) yA = max(boxA[1], boxB[1]) xB = min(boxA[2], boxB[2]) yB = min(boxA[3], boxB[3]) # Compute intersection area interArea = max(0, xB - xA) * max(0, yB - yA) # Compute areas of both boxes boxAArea = (boxA[2] - boxA[0]) * (boxA[3] - boxA[1]) boxBArea = (boxB[2] - boxB[0]) * (boxB[3] - boxB[1]) # Compute union area unionArea = boxAArea + boxBArea - interArea # Compute IoU iou = interArea / unionArea return iou # Example usage box1 = [50, 50, 150, 150] # [x1, y1, x2, y2] box2 = [100, 100, 200, 200] iou_score = compute_iou(box1, box2) print("IoU Score:", iou_score)
IoU como Métrica de Precisão de Caixa Delimitadora
IoU é comumente utilizado para avaliar o quão bem uma caixa delimitadora prevista se alinha com o valor real. Valores mais altos de IoU indicam melhor alinhamento, sendo que um IoU de 1.0 significa sobreposição perfeita e 0.0 indica ausência total de sobreposição.
Definição de Limiares de IoU para Verdadeiros Positivos e Falsos Positivos
Para determinar se uma detecção é correta (verdadeiro positivo) ou incorreta (falso positivo), normalmente é definido um limiar para o IoU. Os limiares mais utilizados incluem:
- IoU > 0,5: considerado um Verdadeiro Positivo (TP);
- IoU < 0,5: considerado um Falso Positivo (FP).
A definição de limiares de IoU mais altos aumenta a precisão, mas pode diminuir o recall, pois menos detecções atendem aos critérios.
Métricas de Avaliação: Precisão, Recall e mAP
Além do IoU, outras métricas de avaliação auxiliam na análise de modelos de detecção de objetos:
- Precisão: mede a proporção de caixas delimitadoras corretamente previstas entre todas as previsões;
- Recall: mede a proporção de caixas delimitadoras corretamente previstas entre todos os objetos de referência (ground truth);
- Mean Average Precision (mAP): calcula a média da precisão em diferentes limiares de IoU e categorias de objetos, fornecendo uma avaliação abrangente do desempenho do modelo.
123456789def precision_recall(tp, fp, fn): precision = tp / (tp + fp) if (tp + fp) > 0 else 0 recall = tp / (tp + fn) if (tp + fn) > 0 else 0 return precision, recall # Example usage tp, fp, fn = 50, 10, 20 precision, recall = precision_recall(tp, fp, fn) print(f"Precision: {precision:.2f}, Recall: {recall:.2f}")
IoU é uma métrica fundamental na avaliação de modelos de detecção de objetos, auxiliando na análise da precisão das caixas delimitadoras previstas. Ao combinar IoU com precisão, recall e mAP, pesquisadores e engenheiros podem ajustar seus modelos para alcançar maior acurácia e confiabilidade na detecção.
1. O que a métrica Intersection over Union (IoU) mede na detecção de objetos?
2. Qual das alternativas a seguir é considerada um falso negativo em detecção de objetos?
3. Como a Precisão é calculada em detecção de objetos?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain how the IoU formula works in more detail?
What are some common applications of IoU in computer vision?
How does changing the IoU threshold affect model evaluation?
Awesome!
Completion rate improved to 3.45
Interseção sobre União (IoU) e Métricas de Avaliação
Deslize para mostrar o menu
Intersection over Union (IoU) é uma métrica que mede a precisão das caixas delimitadoras previstas, calculando a razão entre a área de sobreposição das caixas previstas e reais e a área da união dessas caixas.
Como é Calculado
Matematicamente, o IoU é dado por:
Onde:
- Área de Sobreposição é a interseção entre as caixas delimitadoras prevista e real;
- Área de União é a área total coberta por ambas as caixas.
12345678910111213141516171819202122232425262728import numpy as np def compute_iou(boxA, boxB): # Extract coordinates xA = max(boxA[0], boxB[0]) yA = max(boxA[1], boxB[1]) xB = min(boxA[2], boxB[2]) yB = min(boxA[3], boxB[3]) # Compute intersection area interArea = max(0, xB - xA) * max(0, yB - yA) # Compute areas of both boxes boxAArea = (boxA[2] - boxA[0]) * (boxA[3] - boxA[1]) boxBArea = (boxB[2] - boxB[0]) * (boxB[3] - boxB[1]) # Compute union area unionArea = boxAArea + boxBArea - interArea # Compute IoU iou = interArea / unionArea return iou # Example usage box1 = [50, 50, 150, 150] # [x1, y1, x2, y2] box2 = [100, 100, 200, 200] iou_score = compute_iou(box1, box2) print("IoU Score:", iou_score)
IoU como Métrica de Precisão de Caixa Delimitadora
IoU é comumente utilizado para avaliar o quão bem uma caixa delimitadora prevista se alinha com o valor real. Valores mais altos de IoU indicam melhor alinhamento, sendo que um IoU de 1.0 significa sobreposição perfeita e 0.0 indica ausência total de sobreposição.
Definição de Limiares de IoU para Verdadeiros Positivos e Falsos Positivos
Para determinar se uma detecção é correta (verdadeiro positivo) ou incorreta (falso positivo), normalmente é definido um limiar para o IoU. Os limiares mais utilizados incluem:
- IoU > 0,5: considerado um Verdadeiro Positivo (TP);
- IoU < 0,5: considerado um Falso Positivo (FP).
A definição de limiares de IoU mais altos aumenta a precisão, mas pode diminuir o recall, pois menos detecções atendem aos critérios.
Métricas de Avaliação: Precisão, Recall e mAP
Além do IoU, outras métricas de avaliação auxiliam na análise de modelos de detecção de objetos:
- Precisão: mede a proporção de caixas delimitadoras corretamente previstas entre todas as previsões;
- Recall: mede a proporção de caixas delimitadoras corretamente previstas entre todos os objetos de referência (ground truth);
- Mean Average Precision (mAP): calcula a média da precisão em diferentes limiares de IoU e categorias de objetos, fornecendo uma avaliação abrangente do desempenho do modelo.
123456789def precision_recall(tp, fp, fn): precision = tp / (tp + fp) if (tp + fp) > 0 else 0 recall = tp / (tp + fn) if (tp + fn) > 0 else 0 return precision, recall # Example usage tp, fp, fn = 50, 10, 20 precision, recall = precision_recall(tp, fp, fn) print(f"Precision: {precision:.2f}, Recall: {recall:.2f}")
IoU é uma métrica fundamental na avaliação de modelos de detecção de objetos, auxiliando na análise da precisão das caixas delimitadoras previstas. Ao combinar IoU com precisão, recall e mAP, pesquisadores e engenheiros podem ajustar seus modelos para alcançar maior acurácia e confiabilidade na detecção.
1. O que a métrica Intersection over Union (IoU) mede na detecção de objetos?
2. Qual das alternativas a seguir é considerada um falso negativo em detecção de objetos?
3. Como a Precisão é calculada em detecção de objetos?
Obrigado pelo seu feedback!