Universidad de - Escuela Superior de Informática (UCLM ...

Universidad de - Escuela Superior de Informática (UCLM ... Universidad de - Escuela Superior de Informática (UCLM ...

12.07.2015 Views

Módulo de procesamientoCAPÍTULO 5. ARQUITECTURA DE ATRAVELAlgoritmo 8 Calcular punto central de un bounding box.Entrada: Dado un bounding box B1(V 0,V 1,V 2,V 3,V 4,V 5,V 6,V 7). Cada vértice es unpunto en el espacio 3D de la forma V = (V x ,V y ,V z ).Salida: Un punto en el espacio euclídeo de la forma C = (C x ,C y ,C z ).Obtener el valor mínimo del eje de coordenadas X, min x .Obtener el valor máximo del eje de coordenadas X. max xObtener el valor mínimo del eje de coordenadas Y. min yObtener el valor máximo del eje de coordenadas Y. max yObtener el valor mínimo del eje de coordenadas Z. min zObtener el valor máximo del eje de coordenadas Z. max zSe calcula la coordenada X del punto central de B1 C x = min x + |max x − min x |/2Se calcula la coordenada Y del punto central de B1 C y = min y + |max y − min y |/2Se calcula la coordenada Z del punto central de B1 C z = min z + |max z − min z |/2devolver Punto central del bounding box de la forma C = (C x ,C y ,C z ).Bounding boxclave AV = (V x, V y, V z)Bounding boxclave BZYXFIGURA 5.18: Representación del vector dirección de dos bounding box clave.Esto se realiza calculando el vector dirección desde el punto 3D situado en el centrodel último bounding box clave almacenado hasta el punto 3D central al bounding boxrecientemente reconocido. Posteriormente, se obtiene el vector unitario y se realizauna comparación con el vector unitario anteriormente calculado, con el objetivo decalcular la variación existente del nuevo vector, con respecto al vector antiguo. Paracalcular la variación de distancia se realiza la diferencia de los valores con respectoa los tres ejes de coordenadas en valor absoluto. Después se realiza la suma de ladiferencia en cada eje y si el valor obtenido es superior a un valor umbral predefinidoentonces es considerado un bounding box básico o clave ya que tiene informaciónimportante para la representación del movimiento del objeto.El pseudocódigo de esta función es el siguiente:136

CAPÍTULO 5. ARQUITECTURA DE ATRAVELMódulo de procesamientoAlgoritmo 9 Detección de un bounding box clave.Entrada: Dados dos vectores V = (V x ,V y ,V z ) y U = (U x ,U y ,U z ).Salida: falso si la diferencia es superior al umbral predefinido, cierto si la diferencia no essuficiente.|V x −U x ||V y −U y ||V z −U z |Se suman todos los valores absolutos de las tres componentes anterioremente calculados.devolver falso si la suma de todos los valores supera un umbral predefinido y cierto sino lo supera.Por tanto, la forma de operar del submódulo de optimización de trayectorias para elreconocimiento de una trayectoria es el siguiente:1. El objeto es detectado por primera vez en el entorno monitorizado. Éste esrepresentado por un bounding box que envuelve la silueta del objeto. Inicialmente,la primera detección del objeto es almacenada sin ninguna restricción. Este boundingse convierte en el primer bounding box clave para la representación final de latrayectoria.2. El objeto es detectado de nuevo, en este caso es importante comprobar si elbounding box envolvente al objeto presenta algún punto de intersección con el últimobounding box clave almacenado. En caso afirmativo, el bounding box es eliminadoya que no representa información lo suficientemente importante como para seralmacenado. En caso negativo, es necesario comprobar el número de bounding boxclave almacenados. Si sólo hay un bounding box clave almacenado de la trayectoriadel objeto, significa que no se conoce aún la dirección que lleva el movimiento delobjeto, entonces el bounding box detectado es almacenado, para definir la direccióndel movimiento del objeto.3. Una vez que la trayectoria del objeto cuenta con dos bounding box clave y seconoce la dirección que lleva, las siguientes detecciones del objeto se realiza unacomprobación de la dirección del objeto. En esta comprobación se calcula la nuevadirección que toma el objeto con respecto a la dirección anteriormente obtenida. Encaso de que exista un cambio brusco en la dirección del movimiento del objeto, seconsidera de gran importancia almacenar el bounding box detectado con toda lainformación. En caso de que la dirección del objeto no presente un cambio muybrusco el bounding box recién detectado será eliminado. Es importante remarcar quela eliminación del bounding box no se realiza en el momento en que se comprueba su137

Módulo <strong>de</strong> procesamientoCAPÍTULO 5. ARQUITECTURA DE ATRAVELAlgoritmo 8 Calcular punto central <strong>de</strong> un bounding box.Entrada: Dado un bounding box B1(V 0,V 1,V 2,V 3,V 4,V 5,V 6,V 7). Cada vértice es unpunto en el espacio 3D <strong>de</strong> la forma V = (V x ,V y ,V z ).Salida: Un punto en el espacio euclí<strong>de</strong>o <strong>de</strong> la forma C = (C x ,C y ,C z ).Obtener el valor mínimo <strong>de</strong>l eje <strong>de</strong> coor<strong>de</strong>nadas X, min x .Obtener el valor máximo <strong>de</strong>l eje <strong>de</strong> coor<strong>de</strong>nadas X. max xObtener el valor mínimo <strong>de</strong>l eje <strong>de</strong> coor<strong>de</strong>nadas Y. min yObtener el valor máximo <strong>de</strong>l eje <strong>de</strong> coor<strong>de</strong>nadas Y. max yObtener el valor mínimo <strong>de</strong>l eje <strong>de</strong> coor<strong>de</strong>nadas Z. min zObtener el valor máximo <strong>de</strong>l eje <strong>de</strong> coor<strong>de</strong>nadas Z. max zSe calcula la coor<strong>de</strong>nada X <strong>de</strong>l punto central <strong>de</strong> B1 C x = min x + |max x − min x |/2Se calcula la coor<strong>de</strong>nada Y <strong>de</strong>l punto central <strong>de</strong> B1 C y = min y + |max y − min y |/2Se calcula la coor<strong>de</strong>nada Z <strong>de</strong>l punto central <strong>de</strong> B1 C z = min z + |max z − min z |/2<strong>de</strong>volver Punto central <strong>de</strong>l bounding box <strong>de</strong> la forma C = (C x ,C y ,C z ).Bounding boxclave AV = (V x, V y, V z)Bounding boxclave BZYXFIGURA 5.18: Representación <strong>de</strong>l vector dirección <strong>de</strong> dos bounding box clave.Esto se realiza calculando el vector dirección <strong>de</strong>s<strong>de</strong> el punto 3D situado en el centro<strong>de</strong>l último bounding box clave almacenado hasta el punto 3D central al bounding boxrecientemente reconocido. Posteriormente, se obtiene el vector unitario y se realizauna comparación con el vector unitario anteriormente calculado, con el objetivo <strong>de</strong>calcular la variación existente <strong>de</strong>l nuevo vector, con respecto al vector antiguo. Paracalcular la variación <strong>de</strong> distancia se realiza la diferencia <strong>de</strong> los valores con respectoa los tres ejes <strong>de</strong> coor<strong>de</strong>nadas en valor absoluto. Después se realiza la suma <strong>de</strong> ladiferencia en cada eje y si el valor obtenido es superior a un valor umbral pre<strong>de</strong>finidoentonces es consi<strong>de</strong>rado un bounding box básico o clave ya que tiene informaciónimportante para la representación <strong>de</strong>l movimiento <strong>de</strong>l objeto.El pseudocódigo <strong>de</strong> esta función es el siguiente:136

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!