Piel en la Web
Deteccion de Piel en Imagenes en la Web
Alejandro C. Frery Heitor Ramos
Instituto de ComputacaoCPMAT & LCCV
Universidade Federal de Alagoas
ECImage30 de julio de 2008
1 / 59
Piel en la Web
Introduccion
Estructura1 Introduccion
2 Arquitectura
3 Preprocesador de Imagenes
4 Procesador de Imagenes
5 ColorCorreccion de ColorReduccion de Dimension
6 ClasificadoresTecnicasEvaluacion
7 Resultados
8 Conclusiones
2 / 59
Piel en la Web
Introduccion
Motivacion
Con el crecimiento de Internet aumentaron los problemas quedevienen de la exposicion a material inadecuado.
Tal exposicion acarrea congestionamientos en la red.
Uno de los “contenidos inadecuados” que mas preocupa es lapornografıa que, por ser un concepto cultural difuso y noposeer fronteras bien definidas, es difıcil de tratar.
No trataremos aquı los problemas de “pornografıa” ni decensura bajo aspectos eticos, polıticos, religiosos o legales.
El volumen, la variabilidad y la naturaleza dinamica de lasinformaciones disponibles por Internet conforman lasprincipales dificultades para el desarrollo de sistemas debloqueo de imagenes inadecuadas.
Las soluciones mas frecuentes son listas negras y filtros detexto.
3 / 59
Piel en la Web
Introduccion
Propuesta
Desarrollar estrategias automaticas o asistidas para apoyo a lacensura de imagenes pornograficas: un sistema decategorizacion de imagenes en funcion de su potencialcontenido ofensivo.
Usar tecnicas de procesamiento de imagenes, computaciongrafica, vision computacional, inteligencia artificial, estadısticae ingenierıa de software.
La nota dada a cada imagen sera en funcion de atributos, quedependen fuertemente de la identificacion de piel humana.
4 / 59
Piel en la Web
Introduccion
Objetivos
Ofrecer mecanismos de bloqueo de imagenes utilizandocriterios bien definidos y ajustables
Especificar y desarrollar algoritmos para realizar esa tarea enun ambiente Web de produccion (restricciones de tiempo y depoder computacional)
Integrar los algoritmos en un sistema de apoyo a laadministracion de sistemas Web
5 / 59
Piel en la Web
Introduccion
Objetivos
Ofrecer mecanismos de bloqueo de imagenes utilizandocriterios bien definidos y ajustables
Especificar y desarrollar algoritmos para realizar esa tarea enun ambiente Web de produccion (restricciones de tiempo y depoder computacional)
Integrar los algoritmos en un sistema de apoyo a laadministracion de sistemas Web
5 / 59
Piel en la Web
Introduccion
Objetivos
Ofrecer mecanismos de bloqueo de imagenes utilizandocriterios bien definidos y ajustables
Especificar y desarrollar algoritmos para realizar esa tarea enun ambiente Web de produccion (restricciones de tiempo y depoder computacional)
Integrar los algoritmos en un sistema de apoyo a laadministracion de sistemas Web
5 / 59
Piel en la Web
Introduccion
Estructura de Funcionamiento
retrieves the page
userand shows it to
Web server
retrieves the page
userand shows it to
Web server
(Apache)
User requests a web page
Web Server
yes
no
Analyze the
and put the information in cache
no
yes
yes
no
The image is incache?
Notify the user
Block the Image
Is a pornography image?
Are thereimages in the page?
image
6 / 59
Piel en la Web
Arquitectura
Estructura1 Introduccion
2 Arquitectura
3 Preprocesador de Imagenes
4 Procesador de Imagenes
5 ColorCorreccion de ColorReduccion de Dimension
6 ClasificadoresTecnicasEvaluacion
7 Resultados
8 Conclusiones
7 / 59
Piel en la Web
Arquitectura
Arquitetura
gif, png)
Image Analyzer Module
Image (jpg,
Pre−Processor
Processor
FeatureExtractor
Qualifier
Output
Input
Abstraction(RGB)
SomeExtractedFeatures
Graphic
Skin SegmentedImage
ImageEvaluation
8 / 59
Piel en la Web
Preprocesador de Imagenes
Estructura1 Introduccion
2 Arquitectura
3 Preprocesador de Imagenes
4 Procesador de Imagenes
5 ColorCorreccion de ColorReduccion de Dimension
6 ClasificadoresTecnicasEvaluacion
7 Resultados
8 Conclusiones
9 / 59
Piel en la Web
Preprocesador de Imagenes
Preprocesamento de imagenes
Objetivos
Hacer una abstraccion del formato grafico, y
detectar y evitar ataques al sistema.
10 / 59
Piel en la Web
Procesador de Imagenes
Estructura1 Introduccion
2 Arquitectura
3 Preprocesador de Imagenes
4 Procesador de Imagenes
5 ColorCorreccion de ColorReduccion de Dimension
6 ClasificadoresTecnicasEvaluacion
7 Resultados
8 Conclusiones
11 / 59
Piel en la Web
Procesador de Imagenes
Procesamiento de Imagenes
Responsable por la deteccion de piel humana
Deteccion de Piel
Toda la calificacion depende de la deteccion de piel humana.
Fallas en esta etapa se propagaran, pudiendo llevar a erroresgroseros de clasificacion.
12 / 59
Piel en la Web
Color
Estructura1 Introduccion
2 Arquitectura
3 Preprocesador de Imagenes
4 Procesador de Imagenes
5 ColorCorreccion de ColorReduccion de Dimension
6 ClasificadoresTecnicasEvaluacion
7 Resultados
8 Conclusiones
13 / 59
Piel en la Web
Color
Deteccion de piel
El principal atributo utilizado es el color.
Una vez identificadas las posiciones de colores que pueden serde piel, otros atributos pueden extraerse (textura, formas etc.)
La falta de control sobre la iluminacion de las escenas, lavariabilidad de la calidad de las imagenes y las infinitasposibilidades de contenido imponen un desafıo importante.
14 / 59
Piel en la Web
Color
Deteccion de piel
El principal atributo utilizado es el color.
Una vez identificadas las posiciones de colores que pueden serde piel, otros atributos pueden extraerse (textura, formas etc.)
La falta de control sobre la iluminacion de las escenas, lavariabilidad de la calidad de las imagenes y las infinitasposibilidades de contenido imponen un desafıo importante.
14 / 59
Piel en la Web
Color
Deteccion de piel
El principal atributo utilizado es el color.
Una vez identificadas las posiciones de colores que pueden serde piel, otros atributos pueden extraerse (textura, formas etc.)
La falta de control sobre la iluminacion de las escenas, lavariabilidad de la calidad de las imagenes y las infinitasposibilidades de contenido imponen un desafıo importante.
14 / 59
Piel en la Web
Color
Color
El color es una sensacion visual que solo ocurre en presenciade la luz.
La ciencia que estudia los colores es la colorimetrıa, yesta fuertemente relacionada con la psicometrıa.
Para los seres humanos, los colores se especifican con tresvalores reales (vectores en R
3).
Hay varias formas de organizar los colores en espacios 3D:CIE-RGB, HSV, HSB, CIE-LAB etc.
15 / 59
Piel en la Web
Color
Color
El color es una sensacion visual que solo ocurre en presenciade la luz.
La ciencia que estudia los colores es la colorimetrıa, yesta fuertemente relacionada con la psicometrıa.
Para los seres humanos, los colores se especifican con tresvalores reales (vectores en R
3).
Hay varias formas de organizar los colores en espacios 3D:CIE-RGB, HSV, HSB, CIE-LAB etc.
15 / 59
Piel en la Web
Color
Color
El color es una sensacion visual que solo ocurre en presenciade la luz.
La ciencia que estudia los colores es la colorimetrıa, yesta fuertemente relacionada con la psicometrıa.
Para los seres humanos, los colores se especifican con tresvalores reales (vectores en R
3).
Hay varias formas de organizar los colores en espacios 3D:CIE-RGB, HSV, HSB, CIE-LAB etc.
15 / 59
Piel en la Web
Color
Color
El color es una sensacion visual que solo ocurre en presenciade la luz.
La ciencia que estudia los colores es la colorimetrıa, yesta fuertemente relacionada con la psicometrıa.
Para los seres humanos, los colores se especifican con tresvalores reales (vectores en R
3).
Hay varias formas de organizar los colores en espacios 3D:CIE-RGB, HSV, HSB, CIE-LAB etc.
15 / 59
Piel en la Web
Color
Analisis de Datos I
Figura: Base de entrenamiento: pixels marcados.
Se monto un banco de datos con los pixels rotulados deaproximadamente mil imagenes: ≈ 90 · 106 pixels marcadoscomo no-piel y ≈ 4 · 106 como piel.
16 / 59
Piel en la Web
Color
Analisis de Datos II
Desafıo: construir modelos matematicos expresivos y tratablespara esos datos.
Primera constatacion: necesidad de controlar el balance decolor automaticamente.
Segunda constatacion: necesidad de reducir la dimension delos datos.
17 / 59
Piel en la Web
Color
Correccion de Color
Correccion de Color
Busqueda de una homogeneidad en los datos de entrada.
La literatura ofrece muchos algoritmos, pero pocos soncompatibles con los tiempos y las informaciones disponibles.
Dos solucions simples, basadas en la hipotesis de Von Kries:
Gray World AssumptionWhite Patch
La = KLL Ma = KMM Sa = KSS
18 / 59
Piel en la Web
Color
Correccion de Color
Gray World Assumption
Hipotesis
El valor medio de las componentes R, G y B de la imagen es unvalor de gris medio
KR =GrayR
RavgKG =
GrayG
GavgKB =
GrayB
Bavg
19 / 59
Piel en la Web
Color
Correccion de Color
Gray World Assumption
Figura: Imagen original
20 / 59
Piel en la Web
Color
Correccion de Color
Gray World Assumption
Figura: Algoritmo Gray World Assumption
21 / 59
Piel en la Web
Color
Correccion de Color
Gray World Assumption
Figura: Imagen original
22 / 59
Piel en la Web
Color
Correccion de Color
Gray World Assumption
Figura: Algoritmo Gray World Assumption
23 / 59
Piel en la Web
Color
Correccion de Color
White Patch
Hipotesis
Tomar como referencia un punto brillante y calcular loscoeficientes de Von Kries para que sea blanco
KR =WhiteR
RMax
KG =WhiteG
GMax
KB =WhiteB
BMax
24 / 59
Piel en la Web
Color
Correccion de Color
White Patch
Figura: Imagenes original y corregida por White Patch
25 / 59
Piel en la Web
Color
Correccion de Color
White Patch
Figura: Imagen original
26 / 59
Piel en la Web
Color
Correccion de Color
White Patch
Figura: Corregida por White Patch
27 / 59
Piel en la Web
Color
Correccion de Color
¿Cuando fallan?
Gray World Assumption
Imagenes con pocos colores
Puede distorsionar los colores de imagenes con grandes areasclaras
White Patch
Imagenes con poca variabilidad de iluminacion
Propuesta
Una heurıstica basada en estadısticos de cada componente decolor
Excelentes resultados
28 / 59
Piel en la Web
Color
Correccion de Color
Heurıstica
Primero, detectar candidatos a “color blanco”, despues
Correcion =
GrayWorld , si Nwhite < 3%
WhitePatch si L(q95) > 120
nada, caso contrario,
donde Nwhite es la proporcion de pixels detectados como“blancos”, y L(q95) es el percentil 95 de su luminosidad en espaciode color CIELAB.
29 / 59
Piel en la Web
Color
Reduccion de Dimension
Reduccion de Dimension
2D
3D Data
PCAColour
Space
Change
Gaussian Model
Histogram Smoothed Histogram
Gaussian Mixture
Figura: Posibles tecnicas de reduccion de la dimension30 / 59
Piel en la Web
Color
Reduccion de Dimension
Componentes principales
Encontrar algun plano que corte el espacio RGB que contengael maximo de informaciones.
Los datos resultantes son combinaciones lineales de losoriginales.
Eficaz, pero no interpretable.
31 / 59
Piel en la Web
Color
Reduccion de Dimension
Cambios en el espacio de color
Figura: Datos de entrenamiento en el plano HS
32 / 59
Piel en la Web
Clasificadores
Estructura1 Introduccion
2 Arquitectura
3 Preprocesador de Imagenes
4 Procesador de Imagenes
5 ColorCorreccion de ColorReduccion de Dimension
6 ClasificadoresTecnicasEvaluacion
7 Resultados
8 Conclusiones
33 / 59
Piel en la Web
Clasificadores
Tecnicas
Tecnicas de deteccion de piel
Tecnicas Supervisadas
Umbral de Clasificacion
Estadıstica - Histograma de colores
Estadıstica - Parametrica
34 / 59
Piel en la Web
Clasificadores
Tecnicas
Umbral de Clasificacion
Regla de Asociacion
Se obtuvo con tecnicas de data mining
R > 95 AND G > 40 AND
B > 20 AND max {R ,G ,B} − mın {R ,G ,B} > 15 AND
|R − G | > 15 AND R > G AND R > B .
35 / 59
Piel en la Web
Clasificadores
Tecnicas
Estadıstica – Histograma de Colores
Histograma y Probabilidades
Los valores del histograma son estimadores de probabilidades
Se usan dos histogramas – piel y no–piel
Pr(c | piel)
Pr(c | piel)≥ Θ,
36 / 59
Piel en la Web
Clasificadores
Tecnicas
Problemas con los Histograma de ColoresEl formato JPG usa compresion con perdidas. Algunos coloresnunca estan presentes. Se producen “agujeros” en el histograma,que perjudican la regla.
������������������������������������������������������������
������������������������������������������������������������
���������������������������������������������������������������������������������
���������������������������������������������������������������������������������
������������������������������������������������������������������������
������������������������������������������������������������������������
��������������������������������������������������������������
��������������������������������������������������������������
������������������������������������������������������
������������������������������������������������������
������������������������������������������������������������
������������������������������������������������������������
���������������������������������������������������
���������������������������������������������������
������������������������
������������������������
Color (RGB)
Frequency
Θ0
Θ1
Θ2
Θ3
Θ4
Θ5
Θ6
Θ7
Θ8
Θ9
Aumentar los intervalosSuavizar los histogramas 37 / 59
Piel en la Web
Clasificadores
Tecnicas
Histograma de colores – Suavizado
Suavizado del Histograma
38 / 59
Piel en la Web
Clasificadores
Tecnicas
Estadıstica – Parametrica
Usamos una mezcla de distribuciones gaussianas bivariadaspara modelar los colores de los pixels marcados como piel.
Usamos el espacio HSV.
39 / 59
Piel en la Web
Clasificadores
Tecnicas
Modelo de Mezcla de Gaussianas Bivariadas
Mezcla de gaussianas bivariadas
Pr(c | piel) =k
∑
i=1
wi Pri(c | piel),
Cada componente de la mezcla es una gaussiana bivariada:
Pr(x1, x2) =1
2πσ1σ2
√
1 − ρ2exp
{
z
2(1 − ρ2)
}
,
donde:
z =(x1 − µ1)
2
σ21
−2ρ(x1 − µ1)(x2 − µ2)
σ1σ2+
(x2 − µ2)2
σ22
40 / 59
Piel en la Web
Clasificadores
Tecnicas
Nueve componentes (k = 9)
0.0 0.2 0.4 0.6 0.8 1.0
0.0
0.2
0.4
0.6
0.8
1.0
H
V
Figura: Muestra de colores de piel descripta por nueve componentes
41 / 59
Piel en la Web
Clasificadores
Tecnicas
Dos componentes (k = 2)
0.0 0.2 0.4 0.6 0.8 1.0
0.0
0.2
0.4
0.6
0.8
1.0
H
V
Figura: Muestra de colores de piel descripta por dos componentes
42 / 59
Piel en la Web
Clasificadores
Evaluacion
Veinte estrategias de clasificacion evaluadas
Datos de entrada cuatro tipos:
RC Datos brutosGW Correccion Gray WorldWP Correccion White PatchCC Correccion heurıstica
Clasificadores cinco procedimientos:
PC2 Componentes principales y mezcla dedos gaussianas
PC9 Componentes principales y mezcla denueve gaussianas
HS2 Plano HS y mezcla de dos gaussianasHS9 Plano HS y mezcla de nueve gaussianasB64 Histograma con intervalos de tamano
6443 / 59
Piel en la Web
Clasificadores
Evaluacion
Evaluacion
Las tecnicas de classificacion se evaluan con medidas derivadas dela matriz de confusion: vij denota la proporcion de observacionesque, viniendo de la clase i fueron clasificadas en la clase j .Tecnicas ideales producen matrices identidad.De esa matriz pueden calcularse errores de comision, de omision, laprecision y otras cantidades importantes.Cuando la tecnica es parametrizada, en vez de tener una infinidadde matrices se puede visualizar la Curva ROC (Receiver Operating
Characteristic): probabilidad de acierto vs. probabilidad de falsopositivo, en funcion del parametro de control.
44 / 59
Piel en la Web
Clasificadores
Evaluacion
Evaluacion
Las tecnicas de classificacion se evaluan con medidas derivadas dela matriz de confusion: vij denota la proporcion de observacionesque, viniendo de la clase i fueron clasificadas en la clase j .Tecnicas ideales producen matrices identidad.De esa matriz pueden calcularse errores de comision, de omision, laprecision y otras cantidades importantes.Cuando la tecnica es parametrizada, en vez de tener una infinidadde matrices se puede visualizar la Curva ROC (Receiver Operating
Characteristic): probabilidad de acierto vs. probabilidad de falsopositivo, en funcion del parametro de control.
44 / 59
Piel en la Web
Clasificadores
Evaluacion
Evaluacion
Las tecnicas de classificacion se evaluan con medidas derivadas dela matriz de confusion: vij denota la proporcion de observacionesque, viniendo de la clase i fueron clasificadas en la clase j .Tecnicas ideales producen matrices identidad.De esa matriz pueden calcularse errores de comision, de omision, laprecision y otras cantidades importantes.Cuando la tecnica es parametrizada, en vez de tener una infinidadde matrices se puede visualizar la Curva ROC (Receiver Operating
Characteristic): probabilidad de acierto vs. probabilidad de falsopositivo, en funcion del parametro de control.
44 / 59
Piel en la Web
Clasificadores
Evaluacion
Evaluacion
Las tecnicas de classificacion se evaluan con medidas derivadas dela matriz de confusion: vij denota la proporcion de observacionesque, viniendo de la clase i fueron clasificadas en la clase j .Tecnicas ideales producen matrices identidad.De esa matriz pueden calcularse errores de comision, de omision, laprecision y otras cantidades importantes.Cuando la tecnica es parametrizada, en vez de tener una infinidadde matrices se puede visualizar la Curva ROC (Receiver Operating
Characteristic): probabilidad de acierto vs. probabilidad de falsopositivo, en funcion del parametro de control.
44 / 59
Piel en la Web
Clasificadores
Evaluacion
Evaluacion
Las tecnicas de classificacion se evaluan con medidas derivadas dela matriz de confusion: vij denota la proporcion de observacionesque, viniendo de la clase i fueron clasificadas en la clase j .Tecnicas ideales producen matrices identidad.De esa matriz pueden calcularse errores de comision, de omision, laprecision y otras cantidades importantes.Cuando la tecnica es parametrizada, en vez de tener una infinidadde matrices se puede visualizar la Curva ROC (Receiver Operating
Characteristic): probabilidad de acierto vs. probabilidad de falsopositivo, en funcion del parametro de control.
44 / 59
Piel en la Web
Resultados
Estructura1 Introduccion
2 Arquitectura
3 Preprocesador de Imagenes
4 Procesador de Imagenes
5 ColorCorreccion de ColorReduccion de Dimension
6 ClasificadoresTecnicasEvaluacion
7 Resultados
8 Conclusiones
45 / 59
Piel en la Web
Resultados
Resultados
Analisis Cuantitativo
0.0 0.2 0.4 0.6 0.8 1.0
0.0
0.2
0.4
0.6
0.8
1.0
Probabilidade de Detecção Falha
Pro
babi
lidad
e de
Det
ecçã
o C
orre
ta
Histograma (Bin 1)Histograma (Bin 64)Histograma (Linearizado)2 Gaussianas9 Gaussianas2 Gaussianas CC (Heurística)
Figura: Curvas ROC de los metodos evaluados46 / 59
Piel en la Web
Resultados
Estrategias vencedoras I
Area bajo la ROC
PC2 PC9 HS2 HS9 B64
RC 0.894 0.874 0.656 0.845 0.825GW 0.891 0.872 0.592 0.878 0.602WP 0.924 0.918 0.669 0.870 0.710CC 0.934 0.916 0.688 0.880 0.871
ROC al 20%
PC2 PC9 HS2 HS9 B64
RC 0.915 0.920 0.762 0.772 0.831GW 0.844 0.742 — 0.820 —WP 0.942 0.937 0.801 0.809 —CC 0.937 0.951 0.857 0.856 0.870
47 / 59
Piel en la Web
Resultados
Estrategias vencedoras II
Segundos de CPU
PC2 PC9 HS2 HS9 B64
RC 62 161 70 172 33
GW 150 256 158 255 133WP 150 256 158 255 133CC 150 260 159 261 143
48 / 59
Piel en la Web
Resultados
AVISO
Aviso
A seguir se mostraran imagenes de nudez que algunas personaspueden considerar ofensivas.Quien prefiera hacerlo, puede retirarse ahora.
49 / 59
Piel en la Web
Resultados
Analisis Cualitativo
50 / 59
Piel en la Web
Resultados
Poca variabilidad, compresion, baja resolucion
51 / 59
Piel en la Web
Resultados
Color corregido no es necesariamente mejor color
52 / 59
Piel en la Web
Resultados
Confusion con el fondo
53 / 59
Piel en la Web
Resultados
Tonos de piel diferentes
54 / 59
Piel en la Web
Resultados
Varias razas
55 / 59
Piel en la Web
Conclusiones
Estructura1 Introduccion
2 Arquitectura
3 Preprocesador de Imagenes
4 Procesador de Imagenes
5 ColorCorreccion de ColorReduccion de Dimension
6 ClasificadoresTecnicasEvaluacion
7 Resultados
8 Conclusiones
56 / 59
Piel en la Web
Conclusiones
Conclusiones
La calificacion de imagenes con objetos antropomorficos enposiciones arbitrarias en un ambiente de administracion deservicios Web es posible y viable.
Se necesita un tratamiento multidisciplinario (procesamientode imagenes, computacion grafica, vision computacional,inteligencia artificial, estadıstica e ingenierıa de software)
El sistema esta en desarrollo, con otras posibles aplicaciones(forense, movil etc.)
La plataforma R (www.r-project.org) fue esencial tantopara los prototipos como para el sistema.
57 / 59
Piel en la Web
Conclusiones
Conclusiones
La calificacion de imagenes con objetos antropomorficos enposiciones arbitrarias en un ambiente de administracion deservicios Web es posible y viable.
Se necesita un tratamiento multidisciplinario (procesamientode imagenes, computacion grafica, vision computacional,inteligencia artificial, estadıstica e ingenierıa de software)
El sistema esta en desarrollo, con otras posibles aplicaciones(forense, movil etc.)
La plataforma R (www.r-project.org) fue esencial tantopara los prototipos como para el sistema.
57 / 59
Piel en la Web
Conclusiones
Conclusiones
La calificacion de imagenes con objetos antropomorficos enposiciones arbitrarias en un ambiente de administracion deservicios Web es posible y viable.
Se necesita un tratamiento multidisciplinario (procesamientode imagenes, computacion grafica, vision computacional,inteligencia artificial, estadıstica e ingenierıa de software)
El sistema esta en desarrollo, con otras posibles aplicaciones(forense, movil etc.)
La plataforma R (www.r-project.org) fue esencial tantopara los prototipos como para el sistema.
57 / 59
Piel en la Web
Conclusiones
Conclusiones
La calificacion de imagenes con objetos antropomorficos enposiciones arbitrarias en un ambiente de administracion deservicios Web es posible y viable.
Se necesita un tratamiento multidisciplinario (procesamientode imagenes, computacion grafica, vision computacional,inteligencia artificial, estadıstica e ingenierıa de software)
El sistema esta en desarrollo, con otras posibles aplicaciones(forense, movil etc.)
La plataforma R (www.r-project.org) fue esencial tantopara los prototipos como para el sistema.
57 / 59
Piel en la Web
Contactos
Contactos
Alejandro C. [email protected]
http://acfrery.googlepages.com
Heitor S. Ramos [email protected]
Mestrado em Modelagem Computacional de ConhecimentoUniversidade Federal de Alagoas
58 / 59
Piel en la Web
Contactos
59 / 59