El objetivo de este proyecto es el intentar clasificar pinturas según movimientos artisticos de acuerdo a los patrones encontrados en la distribución de colores en cada cuadro de forma cuantitativa.
De cada cuadro estudiado se lograron extraer 24 caracterÃsticas de como se distribuye su color, a partir de archivos jpg. Para poder explicar algunas de las caracterÃsticas estudiadas de las pinturas mostraremos un ejemplo utilizando las siguientes 4 fotografÃas.
Cada pixel que compone una foto nos puede entregar una información numerica, la fotografÃa digital funciona de esa forma. El modelo mas utilizado de color se basa en darle a cada pixel tres valores numericos para formar un color. Lo primero que se realiza con cada una de estas fotografÃas es dividir la información en 3 canales de color RGB, (Rojo, Verde y Azul según sus siglas en inglés). Las tres imagenes mostradas a continuación muestran las tres imagenes extraÃdas del cuadro impresionista mostrado anteriormente. En el modelo de colores RGB utilizado para cada uno de los tres colores hay una intensidad de 0 a 255, osea 256 colores, lo cual resulta en la posibilidad de 16.777.216 de colores distintos donde Rojo = 0, Verde = 0 y Azul = 0 equivale a Negro, y Rojo = 255, Verde = 255, y Azul = 255 equivale a blanco. Para entender mas este modelo pueden revisar la siguiente página web. Ahora que entendemos como darle valores numericos a las fotografÃas veamos que variables podemos extraer.
De cada cuadro obtuvimos 24 variables
Estos valores son muy intuitivos, el promedio nos da el valor promedio para cada canal de la suma de los valores de todos los pixeles, esto es podemos calcular el color pormmedio de cada fotografÃa. Si vemos la tabla siguiente para cada valor podemos interpretar lo siguiente
MeanR | MeanG | MeanB | MinR | MinG | MinB | MaxR | MaxG | MaxB | sdR | sdG | sdB | Nombre |
---|---|---|---|---|---|---|---|---|---|---|---|---|
128.2290 | 128.2251 | 128.2506 | 0 | 0 | 0 | 255 | 255 | 255 | 126.20229 | 126.20558 | 126.18321 | Ajedrez |
0.0000 | 0.0000 | 0.0000 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00000 | 0.00000 | 0.00000 | Black |
185.2732 | 163.6673 | 119.0000 | 25 | 15 | 0 | 255 | 255 | 255 | 28.84902 | 51.95150 | 78.26132 | Impresionismo |
180.0629 | 138.8707 | 117.9093 | 0 | 0 | 0 | 255 | 255 | 255 | 74.09276 | 76.43448 | 79.46238 | Pop Art |
Podemos volver a esta página web e ingresar los valores promedios de cada canal para cada uno de los ejemplos. En el ejemplo 1, tenemos que los valores promedio son (redondeando), de 128 para cada canal. Esto logicamente nos da un color gris cxomo color promedio, lo cual tiene sentido si consideramos que esa foto es mitad negra y mitad gris. Iremos a dos ejemplos mas interesantes, la foto de impresionismo y la de pop art. Para la primera tenemos valores promedio de 185, 164 y 119, que dan como resultado un color café claro. Usando la misma logica pueden jugar con las otras pinturas.
Los valores mÃnimos y máximos no requieren de mucha explicación, en el caso de la desviación estandard de color, tiene que ver con que tanto varÃa el color en la pintura, donde el valor mÃnimo es de 0 para la pintura totalmente negra, ya que no varia su color, y el máximo es el de los cuadrados blanco y negros, ya que sus colores son mas extremos, esto no toma en cuenta que tan variable es localmente una foto, ya que uno podrÃa argumentar que el cuadro impresionista y el de pop art son mas variables en color. Esto esta capturado en las Autocorrelaciones espaciales, caso que veremos mas adelante.
SkewR | SkewG | SkewB | rmsR | rmsG | rmsB | Nombre |
---|---|---|---|---|---|---|
-0.0122906 | -0.0122659 | -0.0123385 | 179.9162 | 179.9157 | 179.9182 | Ajedrez |
NaN | NaN | NaN | 0.0000 | 0.0000 | 0.0000 | Black |
-0.5155021 | 0.2376538 | 0.3123549 | 187.5064 | 171.7152 | 142.4287 | Impresionismo |
-1.0202992 | -0.5277882 | -0.0389484 | 194.7116 | 158.5164 | 142.1864 | Pop Art |
La Autocorrelación espacial de Moran y Geary son valores que nos dicen que tan parecidos en color son los pixeles vecinos a un pixel. Nos da dos cosas, variabilidad y detalle, si la autocorrelacion es alta tenemos bajo detalle y variabilidad, si es baja tenemos mucho detalle y variación.
MoranR | MoranG | MoranB | GearyR | GearyG | GearyB | Nombre |
---|---|---|---|---|---|---|
0.9977189 | 0.9977148 | 0.9977302 | 0.0058809 | 0.0058814 | 0.0058658 | Ajedrez |
NaN | NaN | NaN | NaN | NaN | NaN | Black |
0.8718990 | 0.9604467 | 0.9810233 | 0.1417496 | 0.0452247 | 0.0213254 | Impresionismo |
0.7603031 | 0.7263401 | 0.7792262 | 0.2706475 | 0.3091560 | 0.2489508 | Pop Art |
Si tenemos un solo color en todo el cuadro la autocorrelación de Moran es 1, si cada pixel estuviera rodeado de colores muy distintos la autocorrelacion de Morán serÃa 0, en el caso de Geary es alreves, 0 es alta autocorrelacion y 1 baja. El color negro entero por temas matemáticos no se puede calcular, pero evidentemente de los otros los cuadrados alternados blanco y negro, tienen muchos pixeles vecinos del mismo color y hay poco detalle, es por eso que tienen una alta autocorrelacion. Por otro lado, la foto Pop Art tiene pixeles negros rodeado de pixeles de otros colores lo que baja su autocorrelacion. Estas variables corrigen en parte los que esperariamos de la desviación estandard.
Para este trabajo se estudiaron 8 movimientos (Cubismo, Expresionismo, Hiperrealismo, Impresionismo, Naturalismo, Neoclasicismo, Pop art y Surrealismo), con 10 pinturas por movimiento.
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6
## Standard deviation 2.7994 2.2154 1.8561 1.42283 1.22928 1.04295
## Proportion of Variance 0.3265 0.2045 0.1435 0.08435 0.06296 0.04532
## Cumulative Proportion 0.3265 0.5310 0.6746 0.75892 0.82188 0.86720
## PC7 PC8 PC9 PC10 PC11 PC12
## Standard deviation 0.97873 0.82029 0.58430 0.52956 0.49325 0.45977
## Proportion of Variance 0.03991 0.02804 0.01423 0.01168 0.01014 0.00881
## Cumulative Proportion 0.90712 0.93515 0.94938 0.96106 0.97120 0.98001
## PC13 PC14 PC15 PC16 PC17 PC18
## Standard deviation 0.41446 0.32342 0.26032 0.25240 0.19297 0.15103
## Proportion of Variance 0.00716 0.00436 0.00282 0.00265 0.00155 0.00095
## Cumulative Proportion 0.98717 0.99152 0.99435 0.99700 0.99855 0.99950
## PC19 PC20 PC21 PC22 PC23 PC24
## Standard deviation 0.08461 0.05749 0.02488 0.02186 0.01465 0.01086
## Proportion of Variance 0.00030 0.00014 0.00003 0.00002 0.00001 0.00000
## Cumulative Proportion 0.99980 0.99994 0.99997 0.99999 1.00000 1.00000
## Random Forest
##
## 64 samples
## 24 predictors
## 8 classes: 'Cubismo', 'Expresionismo', 'Hiperrealismo', 'Impresionismo', 'Naturalismo', 'Neoclasicismo', 'Pop art', 'Surrealismo'
##
## No pre-processing
## Resampling:
## Summary of sample sizes: 63, 63, 63, 63, 63, 63, ...
## Resampling results across tuning parameters:
##
## mtry Accuracy Kappa
## 2 0.328125 0.2321429
## 13 0.328125 0.2321429
## 24 0.343750 0.2500000
##
## Accuracy was used to select the optimal model using the largest value.
## The final value used for the model was mtry = 24.
## Random Forest
##
## 80 samples
## 24 predictors
## 8 classes: 'Cubismo', 'Expresionismo', 'Hiperrealismo', 'Impresionismo', 'Naturalismo', 'Neoclasicismo', 'Pop art', 'Surrealismo'
##
## No pre-processing
## Resampling:
## Summary of sample sizes: 79, 79, 79, 79, 79, 79, ...
## Resampling results across tuning parameters:
##
## mtry Accuracy Kappa
## 2 0.3625 0.2714286
## 13 0.3875 0.3000000
## 24 0.3750 0.2857143
##
## Accuracy was used to select the optimal model using the largest value.
## The final value used for the model was mtry = 13.
## Confusion Matrix and Statistics
##
## Reference
## Prediction Cubismo Expresionismo Hiperrealismo Impresionismo
## Cubismo 0 0 0 1
## Expresionismo 1 0 0 0
## Hiperrealismo 0 0 1 0
## Impresionismo 1 0 1 1
## Naturalismo 0 0 0 0
## Neoclasicismo 0 2 0 0
## Pop art 0 0 0 0
## Surrealismo 0 0 0 0
## Reference
## Prediction Naturalismo Neoclasicismo Pop art Surrealismo
## Cubismo 2 1 0 0
## Expresionismo 0 0 0 0
## Hiperrealismo 0 0 0 1
## Impresionismo 0 0 0 0
## Naturalismo 0 0 0 0
## Neoclasicismo 0 1 0 0
## Pop art 0 0 2 0
## Surrealismo 0 0 0 1
##
## Overall Statistics
##
## Accuracy : 0.375
## 95% CI : (0.152, 0.6457)
## No Information Rate : 0.125
## P-Value [Acc > NIR] : 0.009977
##
## Kappa : 0.2857
## Mcnemar's Test P-Value : NA
##
## Statistics by Class:
##
## Class: Cubismo Class: Expresionismo
## Sensitivity 0.0000 0.0000
## Specificity 0.7143 0.9286
## Pos Pred Value 0.0000 0.0000
## Neg Pred Value 0.8333 0.8667
## Prevalence 0.1250 0.1250
## Detection Rate 0.0000 0.0000
## Detection Prevalence 0.2500 0.0625
## Balanced Accuracy 0.3571 0.4643
## Class: Hiperrealismo Class: Impresionismo
## Sensitivity 0.5000 0.5000
## Specificity 0.9286 0.8571
## Pos Pred Value 0.5000 0.3333
## Neg Pred Value 0.9286 0.9231
## Prevalence 0.1250 0.1250
## Detection Rate 0.0625 0.0625
## Detection Prevalence 0.1250 0.1875
## Balanced Accuracy 0.7143 0.6786
## Class: Naturalismo Class: Neoclasicismo
## Sensitivity 0.000 0.5000
## Specificity 1.000 0.8571
## Pos Pred Value NaN 0.3333
## Neg Pred Value 0.875 0.9231
## Prevalence 0.125 0.1250
## Detection Rate 0.000 0.0625
## Detection Prevalence 0.000 0.1875
## Balanced Accuracy 0.500 0.6786
## Class: Pop art Class: Surrealismo
## Sensitivity 1.000 0.5000
## Specificity 1.000 1.0000
## Pos Pred Value 1.000 1.0000
## Neg Pred Value 1.000 0.9333
## Prevalence 0.125 0.1250
## Detection Rate 0.125 0.0625
## Detection Prevalence 0.125 0.0625
## Balanced Accuracy 1.000 0.7500
library(fpc)
pk2 <- pamk(ldf[,-25],krange=2:10,criterion="asw",critout=TRUE, scaling=TRUE, usepam = TRUE)
## 2 clusters 0.2263068
## 3 clusters 0.2085531
## 4 clusters 0.1769826
## 5 clusters 0.1890533
## 6 clusters 0.1031722
## 7 clusters 0.09815698
## 8 clusters 0.1147691
## 9 clusters 0.1669603
## 10 clusters 0.1594384
plot(pam(ldf[,-25], pk2$nc, stand=TRUE))
library(randomForest)
## randomForest 4.6-12
## Type rfNews() to see new features/changes/bug fixes.
myrf<- randomForest(ldf[,-25])
myrf
##
## Call:
## randomForest(x = ldf[, -25])
## Type of random forest: unsupervised
## Number of trees: 500
## No. of variables tried at each split: 4
varImpPlot(myrf)
importance(myrf)
## MeanDecreaseGini
## MeanR 1.7632273
## MeanG 1.7259664
## MeanB 1.6984958
## MinR 0.4486170
## MinG 0.4055508
## MinB 0.1643087
## MaxR 0.2131270
## MaxG 0.6538547
## MaxB 0.7799999
## sdR 1.9022221
## sdG 1.9853133
## sdB 1.9409972
## SkewR 1.9063694
## SkewG 1.8025050
## SkewB 1.8408851
## rmsR 1.8154781
## rmsG 1.6585568
## rmsB 1.7009114
## MoranR 1.7096445
## MoranG 1.6167188
## MoranB 1.4979323
## GearyR 1.6296984
## GearyG 1.5657326
## GearyB 1.6452835