Commit 74764d53 authored by David Maxence's avatar David Maxence
Browse files

suite analyse result

parent 74c4299f
%% Cell type:code id:smart-nerve tags:
%% Cell type:code id: tags:
``` python
import numpy as np
import os
import pandas as pd
from scipy.io import wavfile
```
%% Cell type:code id:religious-module tags:
%% Cell type:code id: tags:
``` python
US8K_audio = os.path.abspath('/home/maxence/Documents/INSA/ASI4/s8/DL/UrbanSound8K/audio/')
US8K_metadata = os.path.abspath('/home/maxence/Documents/INSA/ASI4/s8/DL/UrbanSound8K/metadata/UrbanSound8K.csv')
```
%% Cell type:code id:bizarre-visiting tags:
%% Cell type:code id: tags:
``` python
metadata = pd.read_csv(US8K_metadata)
```
%% Cell type:code id:biblical-embassy tags:
%% Cell type:code id: tags:
``` python
metadata
```
%%%% Output: execute_result
slice_file_name fsID start end salience fold \
0 100032-3-0-0.wav 100032 0.000000 0.317551 1 5
1 100263-2-0-117.wav 100263 58.500000 62.500000 1 5
2 100263-2-0-121.wav 100263 60.500000 64.500000 1 5
3 100263-2-0-126.wav 100263 63.000000 67.000000 1 5
4 100263-2-0-137.wav 100263 68.500000 72.500000 1 5
... ... ... ... ... ... ...
8727 99812-1-2-0.wav 99812 159.522205 163.522205 2 7
8728 99812-1-3-0.wav 99812 181.142431 183.284976 2 7
8729 99812-1-4-0.wav 99812 242.691902 246.197885 2 7
8730 99812-1-5-0.wav 99812 253.209850 255.741948 2 7
8731 99812-1-6-0.wav 99812 332.289233 334.821332 2 7
classID class
0 3 dog_bark
1 2 children_playing
2 2 children_playing
3 2 children_playing
4 2 children_playing
... ... ...
8727 1 car_horn
8728 1 car_horn
8729 1 car_horn
8730 1 car_horn
8731 1 car_horn
[8732 rows x 8 columns]
%% Cell type:code id:noble-round tags:
%% Cell type:code id: tags:
``` python
np.unique(metadata['class'])
```
%%%% Output: execute_result
array(['air_conditioner', 'car_horn', 'children_playing', 'dog_bark',
'drilling', 'engine_idling', 'gun_shot', 'jackhammer', 'siren',
'street_music'], dtype=object)
%% Cell type:markdown id:identical-elephant tags:
%% Cell type:markdown id: tags:
Nous avons donc 10 classes dans le dataset qui sont : air_conditioner', 'car_horn', 'children_playing', 'dog_bark','drilling', 'engine_idling', 'gun_shot', 'jackhammer', 'siren','street_music'
%% Cell type:code id:ignored-thursday tags:
%% Cell type:code id: tags:
``` python
metadata['class'].value_counts()
```
%%%% Output: execute_result
dog_bark 1000
air_conditioner 1000
street_music 1000
children_playing 1000
jackhammer 1000
drilling 1000
engine_idling 1000
siren 929
car_horn 429
gun_shot 374
Name: class, dtype: int64
%% Cell type:code id:solved-alaska tags:
%% Cell type:markdown id: tags:
On remarque donc que les classes sont équilibrées sauf pour car_horn et gun_shot qui beaucoup moins d'échantillons. Nous pourrons donc regarder par la suite si ces 2 classes sont moins bien classifiées.
%% Cell type:code id: tags:
``` python
```
......
......@@ -73,11 +73,28 @@ Nous avons donc remarqué que la data augmentation à un effet globalement posit
<br>
Plusieurs conclusions peuvent être extraites de ce graphique :
-
- *air_conditioner* réagit bien à *PS1*, *PS2*. Mais une perte d'accuracy est détectée avec l'utilisation de *DRC* et *BG*. Cela à du sens, car le son de *air_conditionner* est accompagné d'un bruit de fond. Il est donc normal que l'ajout d'un autre son de fond empêche le modèle de correctement comprendre le son.
- *children_playing*,*dog_bark*,*drilling* et *siren* ne sont pas impacté négativement par la data augmentation, mais l'accuracy est très peu augmenté. On peut donc dire que les résultats ne sont pas réellement probants pour ces sons.
- Nous remarquons dans l'ensemble que *PS1* et *PS2* donnent les meilleurs résultats sur l'ensemble des sons.
- L'amélioration moyenne de l'accuracy est d'environ 0.06, cela est cohérent et correspond au passage de 0.73 à 0.79.
Nous pouvons aussi analyser que la data augmentation peut induire une augmentation de la confusion entre des sons. Par exemple la confusion entre *air_conditionner* et *engine_idling* est augmentée. À contrariot cette confusion diminue entre *air_conditionner* et *drilling*. Ces résultats sont résumés dans cette matrice de confusion. Elle représente la différence de confusion avant/après augmentation. Les valeurs rouges montre une diminution de la confusion, les valeurs bleues en dehors de la diagonale montre représente une augmentation de la confusion. Les valeurs bleu dans la diagonale montrent une augmentation de l'accuracy.
<div align="center">
<img height="400" src="img/diffmat.png">
</div>
<div align="center">Différence entre les matrices de confusions</div>
<br>
Pour conclure sur les résultats de cet article, il semble que le réseau proposé est très performant pour la classification de sons urbains. Les résultats pourraient surement être améliorés si nous avions plus de données. Cela permettrait au modèle de mieux généraliser. On peut aussi en conclure que les méthodes par dictionnaire ne sont plus les meilleures à l'état de l'art pour ce type de problème. En effet elles semblent limitées, une augmentation du nombre de données ne permet pas d'améliorer les résultats pour ces types d'approches. Enfin il semble aussi important de bien réaliser le type d'augmentation. Le modèle *SKM* avec augmentation fonctionne moins bien surement, car l'augmentation utilisée est moins pertinente. L'article mentionne une possible augmentation des résultats en sélectionnant le meilleur type d'augmentation pour chaque type de son sur les données de validation. Cette approche semble prometteuse, car nous avons pu voir certain type de son sont grandement détérioré par certaines augmentations. Nous pourrons donc approfondir cet axe dans notre implémentation.
## Critiques
Nous pouvons emmètre les critiques suivantes sur cet article :
- Data augmentation nulle pour les sons environnementaux (cf la page 1 du papier)
-
<a name="dataset">[1]</a>
J. Salamon, C. Jacoby, and J.P.Bello, *"A Dataset and Taxonomy for Urban Sound Research,"* in 22nd ACM International Conference on Multimedia (ACM-MM'14), Orlando, FL, USA, Nov. 2014, pp. 1041–1044.
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment