Procesamiento Digital de Imágenes - basado en la detección de rostros en Matlab

A. Los objetivos del proyecto

extracción de características es un concepto de la visión artificial y procesamiento de imágenes. Se refiere a la utilización de un ordenador a la información de imagen extracto, determina si cada punto de imagen de una imagen característica. de reconocimiento facial y reconocimiento de características es una de las principales aplicaciones.

Este proyecto va a diseñar e implementar el algoritmo de reconocimiento facial basado en Matlab, establecer el color de la formación rostro humano para obtener un conjunto de rasgos faciales, y luego identificar la cara de una nueva imagen. Por último, la expansión también pondrá a prueba el efecto en diferentes situaciones, así como la función de reconocer una cara o algunos otros objetos personales.

II. Proyecto principio

1. Extracción de características

Los resultados de extracción de características es a punto de la imagen se divide en diferentes subconjuntos, que a menudo son subconjuntos de puntos aislados, una curva continua o una zona continua. extracción de características es una operación de tratamiento de imagen primario, es decir, se trata de un primer proceso aritmético en la imagen. Se examina cada píxel para determinar si el píxel representa una característica.

método de histograma 2. Color

Dado que muchos algoritmos de extracción de características de imágenes por ordenador usando como un paso de cálculo primario, y por lo tanto se han desarrollado un gran número de algoritmos de extracción de características, a tomar el tema histograma de color basado en las características de color del algoritmo .

De color La función de histograma de color en sistemas de recuperación de imagen que muchos son ampliamente utilizados. En él se describe que la relación ocupada por diferentes colores en toda la imagen, pero no le importa cual de la posición espacial de cada color, es decir, no se describe objeto en la imagen o el objeto. histograma de color es particularmente adecuado para las descritas para la segmentación automática de la imagen difícil.

3. metros de cuantificación del color

Los operadores necesitan espacio de color de color histograma se divide en varios intervalos pequeños de color entre cada célula se convierte en un histograma bin . Este proceso se denomina cuantización de color (color de cuantificación) . Entonces, un histograma de color puede ser obtenida mediante el cálculo del número de píxeles que caen dentro del color entre cada celda. Hay muchos método de color de cuantificación, cuantificación vectorial, por ejemplo, o un método de agrupamiento de la red neural. La práctica más común es el espacio de color de cada componente (dimensión) dividido uniformemente. En contraste, el algoritmo de agrupamiento se tiene en cuenta en la distribución del espacio de las funciones generales de imágenes en color, de modo que el número de píxeles en un cierto evitar bin muy escasa, de cuantificación más eficiente.

método de cuantificación de color descrito anteriormente producirá algún problema. color de la imagen histograma prevé dos casi idénticos, pero desplazada con respecto a cada una papelera de otro, entonces si usamos la distancia euclídea o la distancia L1 calcular la similitud entre los dos, será valor de similitud pequeña. Para superar este inconveniente, la necesidad de considerar el grado de similitud entre similar, pero no del mismo color. El segundo método es utilizar la fórmula de distancia. Otro método es hacer avanzar el filtro de suavizado de color de histograma, es decir, los píxeles en cada bin para varios bin adyacente también contribuyen. De esta manera, la similitud entre similar, pero no del mismo color que la similitud del histograma también contribuyó.

Seleccione el apropiado color a células de color (es decir histograma bin) método de color de cuantificación y un número de requisitos de rendimiento y la eficiencia de la aplicación particular. En general, cuanto mayor es el número de células entre el histograma de color de la capacidad más fuerte para distinguir los colores. Sin embargo, bin histograma de color de un gran número no sólo aumentará la carga computacional, no es propicio para el establecimiento del índice en una biblioteca de imágenes de gran tamaño. Y para algunas aplicaciones, el uso de un método de división de espacio de color muy fino no es necesariamente posible mejorar los resultados de la recuperación, particularmente aquellas aplicaciones imágenes para tolerar errores relacionados.

4. Método de Proyectos

Para este estudio, 28 personas bajo el directorio Galería de fotos cara caras, como una muestra de ensayo de las normas de formación cara v. Entonces, para todos los píxeles de una imagen de color de, en el que el cálculo de la frecuencia de ocurrencia de cada color para obtener u característico.

Formación Standard Face V : cuantificación de la imagen después de que el bloque, para establecer tener diferentes longitudes (es decir número de bits de color L) se tomaron vectores propios v, y L para dar 3,4,5,6 cuatro diferentes v. Al tomar 3/4/5/6 apropiado, medios para seleccionar sólo la primera uint8 cada bit como se caracteriza en 3/4/5/6. L y por lo tanto, mayor es la cantidad de información contenida en cada elemento v, y el más pequeño L, V y mayor es el número correspondiente al color de cada punto. Por ejemplo: L es v 3 en cada elemento (es decir, la densidad de probabilidad de los colores) correspondiente a la L como v 4, del mismo color que la parte frontal de tres probabilidad RGB y la densidad. 5 L por la misma razón. La adquisición de una correspondiente histograma de color de cada bloque (es decir, distribución), la distribución de probabilidad del cálculo color, después de la formación en promedio 33 veces, y finalmente obtener el estándar V .

Obtener función del color T : imagen de entrada y el bloque de procesamiento de imágenes de marca (similar a JPEG de codificación). Para cada bloque de imagen R, en el que U® calculados, y la medida calculada U® coeficiente v del bloque con la decisión umbral si un rostro humano adyacente a la cara y el bloque de identificación unificado (bloque rodeado por) o no. El último cuadro con una cara más humana en el pequeño cuadrado de imagen, reconocimiento de caras.

III. ideas de diseño

pasos diseño de algoritmos son los siguientes:
1 v conjunto de características estándar de los ejercicios de entrenamiento;
2. la imagen de entrada y el bloque de marca de procesamiento de imágenes (similar a JPEG codificación);
3. Para cada bloque de imagen R, que se calcula U®;
4. coeficiente de cálculo U® métrica de v, con la decisión de umbral si el bloque es un rostro humano;.
5. cara adyacente y bloque de identificación unificado (bloque rodeado por);

IV. realización

Los siguientes resultados de la prueba se lograron con el algoritmo:

1. característica estándar de formación

Caras en la observación muestra de entrenamiento, cada imagen son, básicamente, la cara, sólo unos pocos otra interferencia, por lo que podemos decir que el conjunto de formación de imágenes se compone sólo de un rostro humano. Por lo tanto, las funciones definidas feature_extract () para realizar la extracción de características en imágenes individuales, la escritura de guiones train.m implementar la capacitación, y el archivo resultante en una característica estándar en v face_standard.mat.

feature_extract () código de la llave es el siguiente :

pic = double(reshape(pic,size(pic,1)*size(pic,2),1,3));
%新数组pic的维数大小为长*宽*3(有RGB三组值)

v = zeros(2^(3*L),1);%建立特征向量的数组,维数是2的3*L次幂
basic = 2^(8-L);
%初始化 

for i = 1:size(pic,1)    
    a = [pic(i,1,1),pic(i,1,2),pic(i,1,3)]; %取出像素,
    index = sum(floor(a/basic).*(2.^(2*L:-L:0)))+1;
    %计算该颜色对应的下标    
    v(index) = v(index) + 1;             %次数+1
end
v = v/size(pic,1);
%循环统计每个颜色出现的次数并求出频率

Diagrama de flujo de la siguiente manera:
Aquí Insertar imagen Descripción
código de la llave train.m es el siguiente :

for i = 1:num        
    v{L-2} = v{L-2} + feature_extract('Faces/',strcat(num2str(i),'.bmp'),L);    end

v{L-2} = v{L-2}/num;%进行num次提取特征训练,再取平均值end

%得到v数组

Diagrama de flujo es como sigue:
Aquí Insertar imagen Descripción
Los resultados obtenidos en la figura v (L = 3):
Aquí Insertar imagen Descripción

2. El procesamiento de imagen de entrada y su bloque

Trate de tomar bloque "de largo tamaño azulejos cuadrados se procesan (16 <= block_l <= 50, cambia de acuerdo con diferente imagen), la imagen teniendo bloque de toma de orden progresivo,

Pero una cosa, en la que si hasta la última pieza del tamaño de la línea de menos de block_l * Tamaño block_l, no lleva a cabo la terminación, pero el acceso directo al resto de la lata. Este bloque de código es simple y similar a la codificación JPEG en el bloque, no repetirlos aquí. Ver face_detect función ().

3. Calcular el bloque de imagen característica U

Venir a buscar métodos consistentes con las características positivas de un solo nivel de formación de imágenes. No hay cuota más tarde.

4. coeficientes métricas calcular, detectando de ese modo

Código es el siguiente:

u = feature_extract(block,L);%获取该图像的特征u             
cor = sqrt(u)'*sqrt(v);%计算系数        
if cor >= threshold%如果大于阈值              
identify(i,j) = 1;%则是人脸            
rectangle('Position',...);%将该图像用红色小方框框出        
end  

Diagrama de flujo es el siguiente:
Aquí Insertar imagen Descripción
Sin embargo, aquí se establece requiere preferentemente el valor umbral antes de unas mejores resultados de reconocimiento. Para este propósito escribir un script para comparar el rendimiento de diferentes valores umbral (es decir, el efecto de la figura mostrar todos), a continuación, elegir el umbral óptimo para el método manual. El efecto es como sigue:
Aquí Insertar imagen Descripción

5. adyacente cuadrados unidad y la identidad

Justo al lado de la casilla en la que entran y, pequeña caja aparte de ignorar. Ge puede moverse juntos atención archivo de código face_detect.m modificado de la siguiente manera representaciones (más o menos):
Aquí Insertar imagen Descripción

6. Prueba

Luego seleccionamos una foto para probar:
Aquí Insertar imagen Descripción
Como se puede ver, aunque el detectados rostro humano, pero la caja demasiado, la gente también reconocer las caras y la otra piel, esto se debe al histograma de color se basa en función del color es algo , mientras que la cara expuesta de la color de la carrocería y características similares, puede también ser identificado.

Hay dos soluciones, una es para reconocer definido para identificar la piel del cuerpo humano expuesto, uno está considerando otros métodos tales como el color de los conjuntos de colores, y así sucesivamente. Pero en el caso general de L = 6 parece ser algo mejor.

V. El estudio de extensión

1. Efecto de post-conversión

Las imágenes se transforman como sigue:
rotación (a) de 90 grados en sentido horario
(b) el mantenimiento de altura constante, ancho de 2 veces el dibujo original (imresize)
© superficie 5 de color cambiado apropiadamente (imadjust), entonces los resultados obtenidos por el algoritmo:

Código es el siguiente:

img = imread('test.jpg');
[y,num,identify] = face_detect(img,L,thresholds(L-2));
%原图 

img2 = rot90(img);
%将原图翻转90[y,num,identify] = face_detect(img2,L,thresholds(L-2)); 

img3 = imresize(img,[size(img,1) 2*size(img,2)],'nearest');
%将原图宽扩大2[y,num,identify] = face_detect(img3,L,thresholds(L-2)); 

img4 = imadjust(img,[.2 .3 0; .6 .7 1],[]);
%改变颜色对比度和颜色种类,即改变颜色[y,num,identify] = face_detect(img4,L,thresholds(L-2));

Los resultados son como sigue:
Aquí Insertar imagen Descripción
Como puede verse, rotación de imagen, después de cambiar el tamaño, ningún efecto para la detección. Pero para que el color cambia maquillaje, no se puede detectar el rostro de una persona, la razón es que el algoritmo se basa en el color entrenado, color y más si no se puede identificar con eficacia. Independientemente de color, operación de cambio de tamaño de rotación, los resultados son consistentes.

2. Extensión

Al aumentar el número de conjunto de entrenamiento para lograr el reconocimiento de una cierta raza o una cara Zhang. También puede considerar la identificación de un animal tal como un gato, así como algún otro objeto e identificado, y no está limitado reconocimiento.

VI. referencias

Color de reconocimiento de extracción de características basadas https://blog.csdn.net/u012507022/article/details/51614851 https://ww2.mathworks.cn/discovery/face-recognition.html MATLAB reconocimiento por parte de la visión por ordenador https://blog.csdn.net/baidu_34971492/article/details/78713367 de características de imagen extractionhttps algoritmo de extracción de características: //blog.csdn.net/sinat_39372048/article/details/81461636 "procesamiento digital de imágenes" autor: [Estados Unidos ] González Editorial: industria electrónica Press

Publicado 17 artículos originales · ganado elogios 12 · vistas 1668

Supongo que te gusta

Origin blog.csdn.net/weixin_42784535/article/details/104672675
Recomendado
Clasificación