3.3 Algoritmo de detección de personas
3.3.3 Crecimiento de regiones alrededor de cada máximo
Una vez se han obtenido los máximos válidos de la matriz de alturas, es necesario definir una región de interés (ROI) a analizar alrededor de cada máximo. Región en la que se extraerán posteriormente características que permitan discriminar entre las personas y otros elementos (objetos, animales, etc.) en la escena.
La ROI debe comprender la región de la cabeza, hombros y cuello de las personas. Por ello, de acuerdo a estudios antropométricos [48], [49] se considera una distancia de interéshinterest= 40cm, que
debe incluir la cabeza y hombros de los usuarios.
Una vez establecida la zona de búsqueda del algoritmo, se inicia el proceso de crecimiento de regiones con la finalidad de determinar laROIcorrespondiente a cada objeto o persona en la escena. Para ello se realiza una búsqueda partiendo del máximo válido Pk
r,c, en 8 posibles direcciones de búsqueda y en un
nivel de vecindadL máximoN previamente establecido (L=0, 1,..., N), según se muestra en el esquema de la figura3.10.
Figura 3.10: Esquema de las direcciones y niveles de vecindad en que se realiza el análisis de máximos.
Durante este proceso se evalúan los máximos en cada una de las 8 direcciones con respecto al máximo válidoPk
r,c y a cada una de sus zonas de ocupación válidas. Esto permite obtener laROIcorrespondiente
a cada máximo. El proceso de búsqueda y crecimiento de regiones se describe a continuación:
• Núcleo:El núcleo está constituido por la región SRkr,c en la cual se encuentra el máximo válido
Pr,ck previamente detectado, esta región siempre se considera perteneciente a laROIkr,c.
• Nivel L=1: En el caso del nivel (L=1), se define que el mismo lo conforman los 8 vecinos de laSR constituida por el nucleo ubicada en el máximo Pk
r,c. Las SR del nivel (L=1) se considera
que pertenecen al máximo siempre y cuando se encuentren en el rango de la hinterest, es decir, si cumplen la ecuación3.14.
hmaxSR ≥hmaxSRr,c −hinterest (3.14)
En los niveles L = 2,3,4, será necesaria la introducción de las direcciones de búsqueda, dentro de las mismas encontraremos las direcciones lineales (Norte, Este, Sur, Oeste) y las direcciones
3.3 Algoritmo de detección de personas 41
diagonales (Noreste, Suroeste, Sureste, Noroeste). Llegado este punto las condiciones de búsqueda dependen tanto del nivel de búsqueda como de la dirección. Es necesario comentar que la utilización de este número de niveles(L= 4) se debe a las condiciones de montaje del sistema, ya que en estas condiciones un candidato no ocupará más de cuatro niveles.
• Niveles L = 2, 3 y 4:
– Direcciones lineales 1,2,3,4: en estas direcciones es necesario el cumplimiento de las si- guientes condiciones para la pertenencia de unaSRa laROIcorrespondiente:
∗ El máximo de la matrizHmaxSRal que esta asociada laSRque se está analizando deben encontrarse dentro del rango de alturas de la hinterest (ecuación3.14).
∗ En el nivel anterior la dirección analizada debe haber como mínimo L-1 SRs que perte- nezcan a la ROI.
∗ Para que una SR situada en los niveles (L = 2, 3 , 4) en una dirección concreta pueda pertenecer a laROI, laSRanterior en esa misma dirección también debe estar incluida.
∗ El máximo valorhmax
SR de la regiónSRbajo análisis debe ser mayor que el valor máximo de
la siguiente región SRa analizar en esa misma dirección y menor que el valor máximo de la región SRprevia a esta en esa misma dirección (ecuación3.15). Esto permite permite cumplir uno de los hitos a lograr por este algoritmo, el de la separación entre candidatos muy cercanos, permitiendo además determinar la frontera entreROIs próximas, y finalizar la búsqueda en esa dirección.
hmaxSR−1≥hmaxSR ≥hmaxSR+1 (3.15) – Direcciones diagonales 5,6,7 y 8: en este caso, únicamente se tiene unaSRen cada nivel, por cada una de las direcciones. Para que estasSRs se incluyan en laROIdeben cumplirse las siguientes condiciones:
∗ Es necesario que el máximo de la matrizHmaxSR al que esta asociado laSRse encuentre
en el rango de alturas de lahinterest como se observa en la ecuación3.14.
∗ Para que una SR situada en los niveles (L = 2, 3, 4) en una dirección concreta pueda pertenecer a la ROI, la SR anterior en esa misma dirección también debe estar incluida en ella.
∗ El máximo valorhmaxSR de la regiónSRbajo análisis debe ser mayor que el valor máximo de la siguiente región SRa analizar en esa misma dirección y menor que el valor máximo de la región SRprevia a esta en esa misma dirección (ecuación 3.16).
hmaxSR−1≥hmaxSR ≥hmaxSR+1 (3.16) Para facilitar la comprensión del algoritmo de búsqueda deSR, se expone la figura 3.11, en la cual se muestra un ejemplo en el que las diferentesSRs analizadas se muestran en colores que representan las distintas situaciones que se dan:
• El círculo rojo representa laSRque conforma el núcleo, que coincide con laSRen la que se encuentra el máximo. Como se ha comentado, el núcleo siempre pertenece a laROI.
• Los círculos azules representan lasSR en las que se ha realizado una búsqueda en las direcciones lineales o diagonales, y que además de ello cumplen las condiciones expuestas, por lo cual pertenecen a laROIdel candidato.
42 Capítulo 3. Desarrollo
• Los círculos de color amarillo representan lasSR en las que se ha realizado una búsqueda en las primeras cuatro direcciones lineales pero que no cumplen una, o varias de las condiciones expuestas, por lo que no se incluyen en laROI.
• Los círculos verdes representan las SRen las que se ha realizado una búsqueda en las direcciones diagonales pero que no cumplen una, o varias de las condiciones expuestas, por lo que no se incluyen en laROI.
Figura 3.11: Imagen de análisis de regionesSR