Se você encontrou o Classes de objetos visuais PASCAL (VOC) e Objetos comuns em contexto (COCO) da MS desafio, ou se envolveu com projetos envolvendo recuperação de informação e reidentificação (ReID), você pode estar familiarizado com uma métrica chamada precisão média média (mAP). A precisão média média ou às vezes simplesmente referida como precisão média é uma métrica popular usada para medir o desempenho de modelos que fazem recuperação de documentos/informações e tarefas de detecção de objetos.
A equação para a precisão média (mAP) de um conjunto de consultas é:
Onde Pq é o número de consultas no conjunto e AveP(q) é a precisão média (AP) para uma determinada consulta, q.
O que a fórmula está essencialmente nos dizendo é que, para uma dada consulta, q, calculamos seu AP correspondente, e então a média de todas essas pontuações de AP nos daria um único número, chamado mAP. Isso quantifica o quão bom nosso modelo é em executar a consulta.
Essa definição confunde pessoas (como eu) que estão apenas começando neste campo. Eu tinha perguntas como o que é esse conjunto de consultas? E o que AP significa? É apenas uma média da precisão?
Este artigo espera abordar essas questões e calcular o mAP para tarefas de detecção de objetos e recuperação de informações. Também exploraremos por que o mAP é uma métrica apropriada e comumente usada para tarefas de recuperação de informações e detecção de objetos.
O que é precisão média?
Como discutimos, a precisão média avalia o quão bom um modelo é em executar uma consulta. Para entender melhor como funciona, é importante revisar a precisão e a recuperação, duas métricas comumente usadas para julgar o desempenho de um dado modelo de classificação.
Precisão e recall em ciência de dados
Em Estatisticas e ciência de dados, precisão de uma dada classe na classificação, ou valor preditivo positivo, é dado como a razão de verdadeiro positivo (TP) e o número total de positivos previstos. A fórmula é dada como tal:
De forma similar, o recalltaxa de verdadeiro positivo ou sensibilidade, de uma dada classe na classificação, é definida como a razão de verdadeiro positivo e total de positivos de verdade básica. A fórmula é dada como tal:
Apenas olhando para as fórmulas, poderíamos suspeitar que para um dado modelo de classificação, há um trade-off entre sua precisão e desempenho de recall. Se estivermos usando um rede neuralesse trade-off pode ser ajustado pela camada final do modelo Softmax limite.
Para que nossa precisão seja alta, precisaríamos diminuir nosso número de falsos positivos. Mas, ao fazer isso, diminuiríamos nossa recordação. Da mesma forma, diminuir nosso número de falsos negativos aumentaria nossa recordação e diminuiria nossa precisão. Muitas vezes, para casos de recuperação de informações e detecção de objetos, gostaríamos que nossa precisão fosse alta (nossos positivos previstos fossem TP).
Precisão e recall são comumente usados junto com outras métricas, como exatidão, Pontuação F1especificidade ou taxa de verdadeiro negativo (TNR), características operacionais do receptor (ROC)levante e ganhe.
Precisão e recall na recuperação de informações
Entretanto, quando se trata de recuperação de informações, a definição é diferente.
A precisão representa a proporção de documentos relevantes que o modelo recupera com base na consulta de um usuário em relação ao número total de documentos recuperados.
Mantendo a nomenclatura semelhante à fórmula definida acima, um documento relevante pode ser considerado um TP.
Por padrão, a precisão leva em conta todos os documentos recuperados, mas também pode ser avaliada em um determinado número de documentos recuperados, comumente conhecido como classificação de corte, onde o modelo é avaliado apenas considerando suas consultas mais importantes. A medida é chamada de precisão em k ou P@K.
Vamos usar um exemplo para entender melhor a fórmula.
O que é uma tarefa de recuperação?
Uma tarefa típica na recuperação de informações é um usuário fornecer uma consulta a um banco de dados e recuperar informações semelhantes à consulta. Vamos agora executar um cálculo para precisão com um exemplo com três positivos de verdade básica (GTP). Os positivos de verdade básica são os dados rotulados como positivos. Em outras palavras, os documentos relevantes.
Definiremos as seguintes variáveis:
- Pq é a consulta do usuário.
- G é um conjunto de dados rotulados no banco de dados.
- d(i,j) é a função de pontuação para mostrar o quão semelhante o objeto eu é para eu.
- G’ que um conjunto ordenado de G de acordo com a função de pontuação d( , ).
- o ser o índice de G’.
Depois de calcular d( , ) para cada um dos documentos com Q, podemos classificar G e obter G’.
Digamos que o modelo retorna o seguinte G’:
Usando a fórmula de precisão acima, obtemos o seguinte:
- P@1=1/1=1
- P@2=1/2=0,5
- P@3=1/3=0,33
- P@4=2/4=0,5
- P@5=3/5=0,6
- P@n=3/n
Da mesma forma, a fórmula de recall é fornecida como a proporção de documentos recuperados que são relevantes para a consulta de um usuário sobre os documentos relevantes.
A recuperação neste caso não é tão útil, pois retornar todos os documentos para uma consulta resultaria em uma recuperação trivial de 100%; portanto, a recuperação por si só geralmente não é usada como uma métrica.
Como calcular a precisão média para recuperação de informações
Estando familiarizados com precision@k, podemos agora prosseguir para calcular a precisão média. Isso nos daria uma melhor medição do nosso modelo em sua capacidade de classificar os resultados da consulta, G’.
Onde GTP se refere ao número total de positivos de verdade fundamental, n se refere ao número total de documentos nos quais você está interessado, P@k se refere à precisão@k e rel@k é uma função de relevância. A função de relevância é uma função indicadora que é igual a 1 se o documento na classificação k for relevante e igual a 0 caso contrário.
Relembrando a definição de precisão, agora a usaremos para calcular o AP para cada documento em G’. Usando o mesmo exemplo mostrado acima:
O AP geral para essa consulta é 0,7. Uma coisa a ser notada é que, como sabemos que há apenas três GTP, o AP@5 seria igual ao AP geral.
Para outra consulta, Q, poderíamos obter um AP perfeito de 1 se o G’ retornado fosse classificado como tal:
O que o AP faz, neste caso, é penalizar modelos que não são capazes de classificar G’ com TPs liderando o conjunto. Ele fornece um número que é capaz de quantificar a qualidade da classificação com base na função de pontuação d( , ). Ao dividir a soma da precisão com o GTP total em vez de dividir pelo comprimento de G’ permite uma melhor representação para consultas que têm apenas alguns GTP.
Calculando a precisão média
Para cada consulta, Q, podemos calcular um AP correspondente. Um usuário pode ter quantas consultas quiser contra esse banco de dados rotulado. O mAP é simplesmente a média de todas as consultas que o usuário fez.
Precisão média para detecção de objetos
Intersecção sobre União (IoU)
Calculating AP (Traditional IoU=0.5)
Para fazer o cálculo de AP para detecção de objetos, primeiro precisamos entender IoU. O IoU é dado pela razão da área de intersecção e área de união da caixa delimitadora prevista e da caixa delimitadora da verdade básica.
A IoU seria usada para determinar se uma previsão caixa delimitadora (BB) é TP, FP ou FN. O TN não é avaliado, pois cada imagem é assumida como tendo um objeto nela. Vamos considerar a seguinte imagem com:
A imagem contém uma pessoa e um cavalo com suas caixas delimitadoras de verdade terrestre correspondentes. Ignoraremos o cavalo por enquanto. Executaremos nosso modelo de detecção de objetos nesta imagem e receberemos uma caixa delimitadora prevista para a pessoa. Tradicionalmente, definimos uma previsão como um verdadeiro positivo (TP) se o IoU for > 0,5. Os cenários possíveis são descritos abaixo:
- Verdadeiro Positivo (IoU > 0,5)
- Falso Positivo
Existem dois cenários possíveis em que uma caixa delimitadora (BB) seria considerada um falso positivo:
- IoU < 0,5
- BB duplicada
- Falso Negativo
Quando nosso modelo de detecção de objetos erra o alvo, isso é considerado um falso negativo. Os dois cenários possíveis são os seguintes:
- Quando não há detecção alguma.
- Quando a BB prevista tem um IoU > 0,5, mas tem a classificação errada, a BB prevista seria um FN.
Curva de Precisão/Recall (Curva PR)
Agora podemos calcular a precisão e a recuperação da nossa detecção para uma determinada classe no conjunto de teste. Cada BB teria seu nível de confiança, geralmente dado por sua camada softmax, e seria usado para classificar a saída. Isso é muito semelhante ao caso de recuperação de informações, só que, em vez de ter uma função de similaridade d( , ) para fornecer a classificação, usamos a confiança da BB prevista pelo modelo.
Precisão Interpolada
Antes de plotarmos a curva PR, precisamos primeiro saber a precisão interpolada. A precisão interpolada, pinterpp_{interp}, é calculada em cada nível de recall, rr, tomando a precisão máxima medida para esse rr. A fórmula é dada como:
pinterp(r)=maxr~≥rp(r~)p_{interp}(r) = \max_{\tilde{r} \geq r} p(\tilde{r})
Onde p(r~)p(\tilde{r}) é a precisão medida na recuperação r~\tilde{r}.
A intenção de interpolar a curva PR é reduzir o impacto de “oscilações” causadas por pequenas variações na classificação de detecções.
Exemplo Prático
Com isso resolvido, agora podemos começar a traçar a curva PR. Considere um exemplo para a classe “person” com 3 TPs e 4 FPs. Calculamos a precisão correspondente, recall e precisão interpolada dadas pelas fórmulas definidas acima.
O AP é então calculado tomando a área sob a curva PR. Isso é feito segmentando os recalls uniformemente em 11 partes: {0, 0.1, 0.2, …, 0.9, 1}. Obtemos o seguinte:
Calculando a Precisão Média para Detecção de Objetos
O mAP para detecção de objetos é a média do AP calculado para todas as classes. Também é importante notar que, para alguns artigos, eles usam AP e mAP de forma intercambiável.
Outras Maneiras de Calcular a Precisão Média
O COCO forneceu seis novos métodos de cálculo de AP.
Três desses métodos estão relacionados ao limite de IoU em diferentes valores:
- AP: AP em IoU=0,50:0,05:0,95 (Esta é a métrica de desafio primária)
- AP@IoU=0,5: Maneira tradicional de calcular, conforme descrito acima.
- AP@IoU=0,75: O IoU de BBs precisa ser > 0,75.
Para o AP primário, 0,5:0,05:0,95 significa começar com IoU=0,5, com passos de 0,05, aumentamos para um IoU=0,95. Isso resultaria em cálculos do limite do AP em dez IoUs diferentes. Uma média é feita para fornecer um único número que recompensa detectores que são melhores em localização.
Os três métodos restantes são de cálculo AP em todas as escalas:
- AP^pequeno: AP para objetos pequenos: área < 32² px
- AP^médio: AP para objetos médios: 32² < área < 96² px
- AP^grande: AP para objetos grandes: área > 96² px
Isso permitiria uma melhor diferenciação dos modelos, pois alguns conjuntos de dados têm mais objetos pequenos do que outros.