Histórico das medidas de avaliação para reconhecimento de acordes

Histórico das medidas de avaliação para reconhecimento de acordes

by Marcelo Queiroz -
Number of replies: 0

Olás!

A partir de nossa discussão de ontem tentei reconstruir uma pequena história das avaliações de reconhecimento de acordes no MIREX, começando em 2008:

http://www.music-ir.org/mirex/wiki/2008:Audio_Chord_Detection

Essa é a referência que mencionei na aula, em que o precision mede a fração de frames com anotações corretas em relação a todos os frames com anotações produzidas pelo algoritmo, enquanto o recall mede a fração dos frames com anotações corretas em relação ao total de frames que possuiam ground-truth. Essas medidas seriam realmente iguais caso o número de frames sem ground-truth fosse 0, mas parece que isso geralmente não acontecia, então o recall está associado tanto às rotulações erradas quanto aos frames que possuiam ground-truth mas não foram rotulados pelo algoritmo.

Essa definição pareceria a adaptação mais direta das definições originais de precision e recall, mas o fato interessante é que ela não define de forma coerente quem são falsos positivos e quem são falsos negativos: de acordo com a definição de precision, falsos positivos seriam os frames rotulados incorretamente pelo algoritmo, mas de acordo com a definição de recall, falsos negativos seriam todos os frames rotulados incorretamente mais os frames que não foram rotulados e deveriam ser. Ou seja, alguns itens são contados ao mesmo tempo como falsos positivos e falsos negativos, como naqueles gráficos estranhos do livro do Müller, mas o universo de itens continua sendo considerado como contendo N itens onde N é o número de frames. Provavelmente isso explica que essas definições tenham sido abandonadas no ano seguinte:

http://www.music-ir.org/mirex/wiki/2009:Audio_Chord_Detection

Nesse ano foram usadas duas métricas diferentes: segmentation score (que tem a ver com reconhecer temporalmente as fronteiras dos acordes) e frame-based recall (que é o mesmo recall de antes). Esta forma de avaliação continuou sendo usada até 2012, e a competição mudou de nome em 2010 de Audio Chord Detection para Audio Chord Estimation:

http://www.music-ir.org/mirex/wiki/2010:Audio_Chord_Estimation

http://www.music-ir.org/mirex/wiki/2011:Audio_Chord_Estimation

http://www.music-ir.org/mirex/wiki/2012:Audio_Chord_Estimation

A métrica de avaliação muda de novo em 2013:

http://www.music-ir.org/mirex/wiki/2013:Audio_Chord_Estimation

Aqui o precision é abandonado e apenas o recall é definido, do mesmo jeito que antes (número de frames reconhecidos corretamente dividido pelo número total de frames que possuiam ground-truth). Isso resolve a ambiguidade entre falsos positivos e falsos negativos, tratando da mesma maneira (como falsos negativos) tanto os frames anotados errado quanto aqueles que possuiam anotação e não foram reconhecidos corretamente. Isso inviabiliza a definição de falsos positivos (não sobraria ninguém) e também de precision (que seria 100%, já que #FP=0). Essa definição continuou valendo até 2016:

http://www.music-ir.org/mirex/wiki/2014:Audio_Chord_Estimation

http://www.music-ir.org/mirex/wiki/2015:Audio_Chord_Estimation

http://www.music-ir.org/mirex/wiki/2016:Audio_Chord_Estimation

Em todos os casos,o número de itens considerados tem relação direta com a duração (ou número de frames) dos trechos de áudio, e não com o número de símbolos ou rótulos na referência ou no algoritmo. Ou seja, em qualquer uma dessas interpretações, não fazem sentido aqueles gráficos do Müller com frames anotados ao mesmo tempo como falsos positivos (vermelhos) e falsos negativos (rosas), pra não dizer dos frames anotados como verdadeiros positivos (pretos) e alguma outra cor ao mesmo tempo...

Abraços,

Marcelo