O que significa a notação mAP @ [. 5: .95]?

17

Para detecção, uma maneira comum de determinar se uma proposta de objeto estava correta é Intersecção sobre União (IoU, IU). Isso pega o conjunto de pixels de objeto propostos e o conjunto de pixels de objeto verdadeiros B e calcula:UMAB

Euovocê(UMA,B)=UMABUMAB

Geralmente, IoU> 0,5 significa que foi um êxito, caso contrário, foi um fracasso. Para cada classe, pode-se calcular o

  • Verdadeiro positivo ( ): foi feita uma proposta para a classe c e, na verdade, havia um objeto da classe cTP(c)cc
  • Falso Positivo ( ): a proposta foi feita para a classe C , mas não há nenhum objeto da classe cFP(c)cc
  • Precisão média da classe : # T P ( c )c#TP(c)#TP(c)+#FP(c)

O mAP (precisão média média) = 1|ceuumasses|cceuumasses#TP(c)#TP(c)+#FP(c)

Se alguém deseja melhores propostas, aumenta a IoU de 0,5 para um valor mais alto (até 1,0, o que seria perfeito). Pode-se denotar isso com mAP @ p, onde é a IoU.p(0 0,1)

Mas o que mAP@[.5:.95](como encontrado neste artigo ) significa?

Martin Thoma
fonte
Suspeito que a [.5:.95]parte se refira a um intervalo de valores de IoU, mas como esse intervalo é avaliado em um único mAP, eu não saberia.
Neil Slater
@ NeilSlater Mas por que você quer um limite superior? Uma IoU mais alta não é sempre melhor?
Martin Thoma
Conseguir uma correspondência com IoU mais alta é melhor, mas presumivelmente o valor de mAP é reduzido se medirmos quão bem o modelo descreve correspondências perfeitas (para qualquer modelo) e não é considerada uma medida útil. Por que ele não está incluído no intervalo, eu não sei, mas não sei como o mAP é calculado nesse caso - pode ser uma média simples, com base em amostras, por exemplo.
Neil Slater
1
Existe este repositório do github com uma excelente explicação sobre IOU , Precisão , Rechamada , Precisão Média e mAP . Ele também possui um código que avalia quaisquer detectores de objetos. Ele certamente vai ajudar vocês : https://github.com/rafaelpadilla/Object-Detection-Metrics
Rafael Padilla

Respostas:

10

mAP@[.5:.95](alguém indicado mAP@[.5,.95]) significa mAP médio em diferentes limites de IoU, de 0,5 a 0,95, etapa 0,05 (0,5, 0,55, 0,6, 0,65, 0,7, 0,75, 0,8, 0,85, 0,9, 0,95).

Há um desafio associado ao MS COCO a uma nova métrica de avaliação, que calcula a média de mAP em diferentes limites de IoU, de 0,5 a 0,95 (escrito como "0,5: 0,95"). [ Ref ]

Avaliamos o mAP calculado para IoU ∈ [0,5: 0,05: 0,95] (métrica padrão do COCO, simplesmente indicada como mAP @ [. 5, 0,95]) e mAP@0,5 (métrica do VOC PASCAL). [ Ref ]

Para avaliar nossas detecções finais, usamos a API oficial COCO [20], que mede a média do mAP acima dos limites de IOU em [0,5: 0,05: 0,95], entre outras métricas. [ Ref ]

BTW, o código fonte do coco mostra exatamente o que mAP@[.5:.95]está fazendo:

self.iouThrs = np.linspace(.5, 0.95, np.round((0.95 - .5) / .05) + 1, endpoint=True)

Referências

https://github.com/pdollar/coco

http://mscoco.org/

https://www.cs.cornell.edu/~sbell/pdf/cvpr2016-ion-bell.pdf

https://arxiv.org/pdf/1506.01497.pdf

https://arxiv.org/pdf/1611.10012.pdf

Lâmina gelada
fonte
Você se importa com uma pergunta? Se, por exemplo, tivermos 3 instâncias de uma determinada classe no conjunto de dados e o modelo retornar iou de 0,1, 0,6 e 0,9 para elas, isso significa que descartamos o resultado 0,1 e a média iou de 0,75 e o mAP correspondente?
Alex
5

#TP(c)#TP(c)+#FP(c)

anhvh
fonte
Para quem procura a referência, a definição de Precisão média (AP) está na página 11.
Waylon Flinn
3

A média é de AP em todas as categorias. Tradicionalmente, isso é chamado de "precisão média média" (mAP). Não fazemos distinção entre AP e mAP (e também AR e mAR) e assumimos que a diferença é clara no contexto.

http://cocodataset.org/#detections-eval

Mark Yang
fonte
Eu pensei que o mAP é a média de pontos de acesso em várias classes. Gosto de conhecer a definição do autor / artigo da categoria.
Cloud Cho