Closed torresclucia closed 3 years ago
Joya! Hay un sesgo fuerte en todos los casos con happy y neutral. Quizás estaría bueno ajustar los pesos por clase Que arquitectura usaron? Capas? Features?
El mié., 3 de abr. de 2019 18:23, torresclucia notifications@github.com escribió:
- Red entrenada usando el dataset expressions in the wild: primero_expW.zip https://github.com/midusi/proyecto2019/files/3040781/primero_expW.zip
- Red entrenada usando el dataset facial_expressions: primero_fexp.zip https://github.com/midusi/proyecto2019/files/3040783/primero_fexp.zip
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/midusi/proyecto2019/issues/8#issuecomment-479664195, or mute the thread https://github.com/notifications/unsubscribe-auth/ABgPB_oERnouCdUOA23bK1gs1doFZqOpks5vdRvEgaJpZM4cbdDw .
Chicos, fijense que en varias clases tienen un Acc de 98% y un precis-recall de 0%. Esto es muy raro... se me ocurre que el clasificador podría estar diciendo siempre "No"... y que haya muchas clases negativas... Miren bien la matriz de confusión tanto en training como en testing. Si es es el problema se puede solucionar, como dice Facu, cambiando los "class_weights" al entrenar.
El mié., 3 abr. 2019 a las 19:00, Pepe Mandioca (notifications@github.com) escribió:
Joya! Hay un sesgo fuerte en todos los casos con happy y neutral. Quizás estaría bueno ajustar los pesos por clase Que arquitectura usaron? Capas? Features?
El mié., 3 de abr. de 2019 18:23, torresclucia notifications@github.com escribió:
- Red entrenada usando el dataset expressions in the wild: primero_expW.zip https://github.com/midusi/proyecto2019/files/3040781/primero_expW.zip
- Red entrenada usando el dataset facial_expressions: primero_fexp.zip https://github.com/midusi/proyecto2019/files/3040783/primero_fexp.zip
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <https://github.com/midusi/proyecto2019/issues/8#issuecomment-479664195 , or mute the thread < https://github.com/notifications/unsubscribe-auth/ABgPB_oERnouCdUOA23bK1gs1doFZqOpks5vdRvEgaJpZM4cbdDw
.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/midusi/proyecto2019/issues/8#issuecomment-479674640, or mute the thread https://github.com/notifications/unsubscribe-auth/AkH5EVp6JUFSXCrp4RxiAmj-HsW4PgIaks5vdSSMgaJpZM4cbdDw .
Si, también estaría bueno ver la distribución de ejemplos por clase en training y testing
facial_expressions | train | validation |
---|---|---|
0_angry | 173 | 75 |
1_disgust | 93 | 41 |
2_fear | 14 | 6 |
3_happy | 3897 | 1671 |
4_sad | 170 | 73 |
5_surprise | 256 | 110 |
6_neutral | 4769 | 2044 |
expressions_in_the_wild | train | validation |
---|---|---|
0_angry | 10242 | 733 |
1_disgust | 1493 | 639 |
2_fear | 468 | 201 |
3_happy | 9720 | 4166 |
4_sad | 4125 | 1768 |
5_surprise | 2947 | 1263 |
6_neutral | 14632 | 7468 |
precision | recall | f1-score | support | |
---|---|---|---|---|
0_angry | 0.00 | 0.00 | 0.00 | 1711 |
1_disgust | 0.00 | 0.00 | 0.00 | 1493 |
2_fear | 0.00 | 0.00 | 0.00 | 468 |
3_happy | 0.47 | 0.81 | 0.59 | 9720 |
4_sad | 0.00 | 0.00 | 0.00 | 4125 |
5_surprise | 0.42 | 0.27 | 0.33 | 2947 |
6_neutral | 0.49 | 0.57 | 0.53 | 10242 |
avg / total | 0.35 | 0.47 | 0.40 | 30706 |
precision | recall | f1-score | support | |
---|---|---|---|---|
0_angry | 0.00 | 0.00 | 0.00 | 733 |
1_disgust | 0.00 | 0.00 | 0.00 | 639 |
2_fear | 0.00 | 0.00 | 0.00 | 201 |
3_happy | 0.40 | 0.80 | 0.53 | 4166 |
4_sad | 0.00 | 0.00 | 0.00 | 1768 |
5_surprise | 0.37 | 0.26 | 0.31 | 1263 |
6_neutral | 0.62 | 0.58 | 0.60 | 7468 |
avg / total | 0.42 | 0.49 | 0.44 | 16238 |
Si, más allá del tema del desbalance, es un toque guazo tantas densas, es un problema de 7 clases, además por eso les tarda tanto. Pueden probar con dos densas, una de 256 y otra de 7, y hacer más finetuning.
También si se animan, en lugar de una cnn con finetuning, pueden usar Face Embeddings como feature con una red pre entrenada ( https://github.com/ageitgey/face_recognition tiene un binding fácil de usar a la versión de dlib). Eso solo se usa para codificar cada cara como un vector de 128 o 256 elementos. Luego con eso, se pueden armar una red fully connected para clasificar.
On Wed, Apr 10, 2019 at 11:27 PM torresclucia notifications@github.com wrote:
- Los parámetros usados en el ImageDataGenerator son los por defecto, solo difiere en preprocessing_function=preprocess_input (from keras.applications.mobilenet).
- Usamos transfer learning y agregamos las siguientes capas: GlobalAveragePooling2D() y cuatro Dense con 1024, 1024, 512 y 7 units, respectivamente. Las tres primeras con 'relu' como función de activación y la última usa 'softmax'.
- Matriz de confusión dataset de entrenamiento: [image: metricas_train] https://user-images.githubusercontent.com/17890888/55925628-83000b00-5be4-11e9-828b-0031869d267b.png
- Matriz de confusión dataset de test: [image: metricas_test] https://user-images.githubusercontent.com/17890888/55925648-96ab7180-5be4-11e9-8a7b-c7e422b05869.png
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/midusi/proyecto2019/issues/8#issuecomment-481940667, or mute the thread https://github.com/notifications/unsubscribe-auth/ABgPB4s_Vlh1U-m8r7nPT13p5cZM7Stpks5vfp2PgaJpZM4cbdDw .
Train:
precision | recall | f1-score | support | |
---|---|---|---|---|
0_angry | 0.19 | 0.23 | 0.21 | 1711 |
1_disgust | 0.08 | 0.03 | 0.05 | 1493 |
2_fear | 0.22 | 0.02 | 0.04 | 468 |
3_happy | 0.60 | 0.69 | 0.64 | 9720 |
4_sad | 0.46 | 0.13 | 0.21 | 4125 |
5_surprise | 0.44 | 0.37 | 0.40 | 2947 |
6_neutral | 0.52 | 0.66 | 0.58 | 10242 |
avg / total | 0.48 | 0.51 | 0.48 | 30706 |
Test:
precision | recall | f1-score | support | |
---|---|---|---|---|
0_angry | 0.15 | 0.22 | 0.18 | 733 |
1_disgust | 0.06 | 0.03 | 0.04 | 639 |
2_fear | 0.14 | 0.02 | 0.03 | 201 |
3_happy | 0.54 | 0.69 | 0.60 | 4166 |
4_sad | 0.40 | 0.13 | 0.20 | 1768 |
5_surprise | 0.36 | 0.35 | 0.36 | 1263 |
6_neutral | 0.65 | 0.66 | 0.66 | 7468 |
avg / total | 0.52 | 0.54 | 0.52 | 16238 |
Train
Test
Chicos. Prueben reentrenar toda la red en vez del finetuning.
El jue., 9 de may. de 2019 19:07, torresclucia notifications@github.com escribió:
Train
[image: metricas_ponderado_train] https://user-images.githubusercontent.com/17890888/57489821-9f4ba200-728d-11e9-8e39-3e6304e9bc28.png
Test
[image: metricas_ponderado_test] https://user-images.githubusercontent.com/17890888/57489839-aa9ecd80-728d-11e9-8f6b-de097cc044ef.png
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/midusi/proyecto2019/issues/8#issuecomment-491085748, or mute the thread https://github.com/notifications/unsubscribe-auth/AJA7SEINHUWQHKKZ2AVOQKTPUSOCHANCNFSM4HDN2DYA .
No estoy seguro igual de que esté dando mal. Probando el reconocedor que subieron Gastón y Ulises, la mayoría de las caras también te las reconoce como neutral o happy, pero no se siente como que está equivocado, sino que para angry, surprised, etc, necesitás tener una expresión más "extrema. Para mi habría que probarlo con una webcam o ver qué ejemplos no está clasificando bien. Yo iría por ahí también, además de entrenar desde 0 para ver qué da.
Por otro lado, esta semana instalamos la GPU, el lunes Gastón le instala kubuntu/cuda para poder correr cosas. Creo que les sería util pasar y dejar corriendo algunos experimentos.
On Thu, May 9, 2019 at 8:27 PM Franco Ronchetti notifications@github.com wrote:
Chicos. Prueben reentrenar toda la red en vez del finetuning.
El jue., 9 de may. de 2019 19:07, torresclucia notifications@github.com escribió:
Train
[image: metricas_ponderado_train] < https://user-images.githubusercontent.com/17890888/57489821-9f4ba200-728d-11e9-8e39-3e6304e9bc28.png
Test
[image: metricas_ponderado_test] < https://user-images.githubusercontent.com/17890888/57489839-aa9ecd80-728d-11e9-8f6b-de097cc044ef.png
— You are receiving this because you commented. Reply to this email directly, view it on GitHub <https://github.com/midusi/proyecto2019/issues/8#issuecomment-491085748 , or mute the thread < https://github.com/notifications/unsubscribe-auth/AJA7SEINHUWQHKKZ2AVOQKTPUSOCHANCNFSM4HDN2DYA
.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/midusi/proyecto2019/issues/8#issuecomment-491102224, or mute the thread https://github.com/notifications/unsubscribe-auth/AAMA6B42WPHFBINZI34DKWLPUSXP5ANCNFSM4HDN2DYA .
Dataset: expressions in the wild
Usando la red entrenada con el dataset expressions in the wild.
Usando la red entrenada con el dataset facial_expressions.
Dataset: facial_expressions
Usando la red entrenada con el dataset facial_expressions.
Usando la red entrenada con el dataset expressions in the wild.