• No se han encontrado resultados

DURANTE años, se ha estudiado la clasificación

N/A
N/A
Protected

Academic year: 2021

Share "DURANTE años, se ha estudiado la clasificación"

Copied!
10
0
0

Texto completo

(1)

Paralelizaci´

on de un clasificador autom´

atico de

objetos con datos de sensores remotos LiDAR

J. Mart´ınez, F.F. Rivera, J.C. Cabaleiro, T.F. Pena, D.L. Vilari˜

no

1

D. Miranda y S. Buj´

an

2 Resumen— Actualmente la tecnolog´ıa LiDAR se ha

convertido en la t´ecnica por excelencia para la recogi-da de recogi-datos geoespaciales de la superficie de la tierra. En este art´ıculo se propone un m´etodo para la clasifi-caci´on autom´atica de objetos con datos LiDAR, con el objetivo de detectar los distintos elementos presentes en la superficie terrestre. El m´etodo consiste en dos fases: primero se realiza una segmentaci´on median-te crecimiento de regiones, y despu´es se aplica una clasificaci´on basada en reglas. El clasificador es capaz de distinguir entre cuatro clases de objetos: terreno, construcciones, vegetaci´on y carreteras. La gran can-tidad de informaci´on que se necesita procesar implica la necesidad de adecuar los c´odigos a sistemas parale-los. Por este motivo se realiza una paralelizaci´on con OpenMP y se analizan los resultados obtenidos.

Palabras clave— LiDAR, Clasificaci´on autom´atica, Crecimiento de regiones, Basado en reglas, OpenMP.

I. Introducci´on

D

URANTE a˜nos, se ha estudiado la clasificaci´on de im´agenes a´ereas mediante fotogrametr´ıa. La fotogrametr´ıa es una t´ecnica para determinar las pro-piedades geom´etricas de los objetos y las situaciones espaciales a partir de im´agenes. El enfoque tradi-cional en las tareas de detecci´on de objetos es usar exclusivamente im´agenes a´ereas. Sin embargo, con la llegada de la tecnolog´ıa LiDAR (Light And Ran-ging Detection), existe una tendencia hacia esquemas h´ıbridos, en los que usan tanto im´agenes a´ereas como datos LiDAR, o incluso solo los datos LiDAR.

LiDAR es un m´etodo directo y activo de adquisi-ci´on de datos. En la figura 1 se puede ver el esquema de la adquisici´on de datos. El equipo consiste en un esc´aner l´aser aerotransportado (ALS), un sistema de navegaci´on inercial (IMU) y un receptor GPS. Este equipo se instala en una aeronave que barre la su-perficie del terreno, obteniendo una nube de puntos georreferenciada. En tierra se dispone tambi´en de un sistema GPS que trabaja de forma s´ıncrona con el re-ceptor GPS de la aeronave. De cada punto se obtiene su posici´on en los tres ejes, la intensidad, el n´umero de retorno y la direcci´on y ´angulo de escaneado.

Esta tecnolog´ıa presenta varias ventajas frente al uso de im´agenes a´ereas: se captura informaci´on sobre la elevaci´on de los objetos con gran precisi´on (de 0.15 a 0.5 m), algo que ha demostrado ser de gran utilidad a la hora de discriminar entre clases de objetos [1]; los datos capturados no son tan dependientes de las

1Centro de Investigaci´on en Tecnolog´ıas de la

Infor-maci´on (CiTIUS), Universidad de Santiago de Compos-tela, e-mail: {jorge.martinez, ff.rivera, jc.cabaleiro, tf.pena, david.vilarino}@usc.es

2Dpto. de Ingenier´ıa Agroforestal, Universidad de

Santiago de Compostela, e-mail: {david.miranda, sandra.bujan}@usc.es

condiciones atmosf´ericas durante el vuelo, dado que el l´aser no se ve afectado por sombras o el ´angulo de la luz solar [2]; el an´alisis de la vegetaci´on es m´as preciso, ya que el l´aser es capaz de penetrar en el dosel arb´oreo hasta llegar al suelo [3]; por ´ultimo, la obtenci´on de datos tiene un coste menor que otros m´etodos cuando la zona a sobrevolar es amplia [4].

Fig. 1. Equipamiento LiDAR. Imagen de [10]. En este trabajo se propone un m´etodo para la cla-sificaci´on de objetos sobre datos LiDAR. La clasifica-ci´on se lleva a cabo sobre puntos tridimensionales, en lugar de los cl´asicos p´ıxeles de las im´agenes a´ereas. Esto hace necesario la aplicaci´on de nuevos m´etodos o la adaptaci´on de los usados en fotogrametr´ıa.

Dependiendo del tama˜no de la zona sobrevolada y las caracter´ısticas del sensor, la nube adquirida puede llegar a contener varios millones de puntos. Una can-tidad que aumenta a medida que los sensores son ca-paces de capturar una mayor densidad de puntos. Por este motivo se propone realizar una paralelizaci´on del clasificador mediante el uso de directivas OpenMP.

El art´ıculo se organiza como sigue. La secci´on II expone el m´etodo propuesto, detallando las etapas de segmentaci´on y clasificaci´on. La secci´on III describe la paralelizaci´on realizada y analiza los resultados. La secci´on IV expone las conclusiones del trabajo.

II. Clasificador LiDAR

El m´etodo recibe como entrada una nube de pun-tos georreferenciados. Cada punto tiene un conjunto de variables{x, y, z, i}, siendoxla coordenada en el eje horizontal, y la coordenada en el eje vertical,z

la altura e i la intensidad. El clasificador propues-to se divide en dos etapas. La primera consiste en la segmentaci´on de la nube de puntos mediante un algo-ritmo de crecimiento de regiones. La segunda etapa

(2)

consiste en aplicar una clasificaci´on basada en reglas sobre los grupos de puntos segmentados.

Para acelerar el procesamiento de los puntos, estos se almacenan en un ´arbol octal (octree). Un ´arbol octal es una estructura en forma de ´arbol, donde cada nodo tiene ocho hijos. Esto permite particionar los datos en un espacio tridimensional. En las siguientes subsecciones se detalla el funcionamiento de las dos fases del clasificador y se muestran los resultados.

A. Segmentaci´on

La segmentaci´on consiste en dividir la nube en gru-pos de puntos, donde cada grupo contiene puntos con caracter´ısticas similares. Dado que la clasificaci´on de objetos se realiza sobre los grupos formados en es-te proceso, la calidad de la clasificaci´on depende en gran medida de la correctitud de la segmentaci´on.

En la segmentaci´on se examina, adem´as del con-junto de variables{x, y, z, i}, el vector normal de los puntos. Esto permite extraer fielmente los objetos planos, como los tejados de construcciones y carrete-ras. Para calcular el vector normal se usa el m´etodo de m´ınimos cuadrados. Para cada punto se define una vecindad en forma de v´oxel. Este v´oxel tiene como centro al propio punto y tiene un tama˜no de 1 m. Es-te valor depende de la densidad de la nube. Dentro del v´oxel deben recaer suficientes puntos para captar fielmente las caracter´ısticas del punto. Abarcar una superficie muy grande atenuar´ıa estas caracter´ısticas. Los puntos dentro del v´oxel se usan para estimar el plano al que pertenece el punto, que se obtiene re-solviendo el sistema lineal de ecuaciones:

M x=b (1)

donde la matrizM y los vectoresxyb son:

       n P i=1 x2 i n P i=1 xiyi n P i=1 xi n P i=1 xiyi n P i=1 y2 i n P i=1 yi n P i=1 xi n P i=1 yi n P i=1 1          A B C  =        n P i=1 xizi n P i=1 yizi n P i=1 zi       

siendo{xi, yi, zi}las coordenadas de los puntos den-tro del v´oxel formado por el punto p, incluyendo a

p, y A, B, C los coeficientes que definen el plano

z = Ax +By +C. El vector normal del punto ser´a igual al vector normal del plano obtenido. Una vez calculados los vectores normales de cada punto, se realiza la segmentaci´on de la nube de puntos.

La segmentaci´on se hace mediante un algoritmo de crecimiento de regiones. El algoritmo tiene varios par´ametros cuyos valores est´an definidos por defecto. Sin embargo, la adecuaci´on de estos par´ametros a la zona de estudio proporciona mejores resultados.

El proceso de segmentaci´on es el siguiente: se crea un primer grupo y se a˜nade el primer punto de la nube que se encuentre sin agrupar. El primer punto se a˜nade sin ninguna restricci´on y define las carac-ter´ısticas del grupo. Para este punto se buscan los puntos cercanos que tengan las mismas caracter´ısti-cas (coordenadas {x, y, z}, intensidad y vector nor-mal) y se a˜naden al grupo. Cuando se han a˜nadido

todos los puntos similares, se repite el proceso con cada punto a˜nadido. Esto se repite hasta que todos los puntos de la nube pertenezcan a un grupo. Si un grupo tiene un n´umero de puntos menor que un um-bral, se considera que el grupo no es relevante y se descarta de la segmentaci´on. Los grupos descartados se eliminan de la nube de puntos.

Cada grupo tiene, adem´as de la media de los valo-res de sus puntos, unos epicentros{epiz, epii, epi−→n}. Estos epicentros se usan en la decisi´on de crecimiento y permiten que las caracter´ısticas del grupo puedan cambiar gradualmente garantizando un cierto grado de expansi´on. Cuando se a˜nade a un grupo el pri-mer punto, los epicentros se igualan a los valores del punto. Al a˜nadir un nuevo punto los epicentros se ac-tualizan mediante un par´ametro de influenciaσcon valores entre 0 y 1, que indica el peso de la media del grupo (σ=0.65 en este trabajo). En la ecuaci´on 2 se muestra como se recalculan los epicentros. N´otese que cada variable tiene su propia influencia.

epiz=z∗σz+z∗(1−σz)

epii=i∗σi+i∗(1−σi) (2)

epi→−n =−→n ∗σn+n∗(1−σn)

Para un grupo en donde se est´a procesando el pun-top, un punto candidatop0ser´a aceptado en el grupo si cumple dos requisitos. Primero,p0debe estar cerca dep, esto es, si se satisface la siguiente ecuaci´on:

x−dxy<x0< x+dxy

y−dxy<y0< y+dxy (3)

z−dz<z0< y+dz

siendo dxy el desplazamiento permitido en las coor-denadas xey y dz el desplazamiento en z (en este trabajo se usan los valores dxy = 1,5 ydz= 1,0).

Segundo, los valores {z, i,−→n} de p0 deben estar dentro de un rango de los epicentros del grupo para conservar la homogeneidad, esto es, si se cumple:

epiz−dz<z0 < epiz+dz

epii−di<i0< epii+di (4)

epi−→n −d→−n <→−n0< epi→−n +d−→n

siendodzel desplazamiento permitido enz,diel des-plazamiento permitido en i y d→−n el desplazamiento permitido en −→n. El desplazamientod−→n se define el grados y se mide en cada uno de los tres ejes{x, y, z}. Realizar una segmentaci´on utilizando el vector normal provoca que los objetos no planos sean des-compuestos en varios grupos peque˜nos con un n´ ume-ro de puntos menor que el aceptado y son descar-tados. Para solucionar este problema, se realiza una segunda segmentaci´on sobre los puntos descartados, esta vez sin evaluar el valor del vector normal.

En la figura 2 se muestra el resultado combinar las dos segmentaciones. Cada grupo est´a etiquetado con un color. Los datos pertenecen a uno de los n´ucleos urbanos de la ciudad de Alcoy, Valencia.

(3)

Fig. 2. Resultado de la segmentaci´on.

B. Clasificaci´on

Despu´es de segmentar, se analizan los grupo con el fin de clasificarlos en alguna de las siguientes clases: terreno, construcci´on, vegetaci´on o carreteras. Las fases de la clasificaci´on se enumeran en el algoritmo 1 y se describen en las siguientes subsecciones.

Algoritmo 1Etapa de clasificaci´on for allgrupo∈Grupos do

extraerFronteras(grupo) detectarSaltos(grupo) estimarArea(grupo) detectarCarreteras(grupo) if grupo.tipo == carreterathen

detectarEstacionamientos(grupo) end if

end for

B.1 Extracci´on de fronteras

El primer paso es distinguir los grupos que forman parte de la superficie (terreno y carreteras) y los gru-pos que est´an por encima de esta (construcciones y vegetaci´on). Para ello se extraen los puntos fronte-ra de cada grupo y se examina si existen saltos de altura entre los puntos frontera de cada grupo.

La extracci´on de los puntos frontera bidimensiona-les se realiza mediante el algoritmo Alpha Shapes [6]. El m´etodo se aplica a cada punto de un grupo. Para un punto, primero se establece una vecindad circular de centro el propio punto y radio 2α, siendoαun va-lor entre la distancia media entre puntos y su doble (1 m en este trabajo). A continuaci´on se eval´ua si el punto forma una frontera con alg´un vecino. En caso afirmativo, este se establece como un punto frontera. El principio de evaluaci´on se ilustra en la figura 3. Para dos puntosP1(x1, y1) yP2(x2, y2) dentro de la vecindadV, se dibuja un c´ırculo de radioαque pase por ambos puntos. El centro del c´ırculo P3(x3, y3)

se calcula mediante el algoritmo de intersecci´on de distancia [7] expuesto en la siguiente f´ormula:

( x3=x1+12(x2−x1) +H(y2−y1) y3=y1+12(y2−y1) +H(x1−x2) (5) en donde: H =q α2 VP1P2 − 1 4 VP1P2= (x1−x2) 2+ (y 1−y2)2 Fig. 3. Evaluaci´on de frontera para dos puntos.

Si ninguno de los dem´as puntos del grupo est´a den-tro del c´ırculo,P1yP2son puntos frontera. La figura 4 muestra el resultado del m´etodo descrito. En la iz-quierda est´an los grupos segmentados y en la imagen derecha sus puntos frontera. Estos puntos son los que se emplean en la fase de detecci´on de salto.

Fig. 4. Resultado del algoritmo Alpha Shapes.

B.2 Detecci´on de salto

Para abordar esta fase de detecci´on de salto, se debe establecer entre qu´e grupos se comparar´an sus fronteras. ´Unicamente se deben comparar las fronte-ras de grupos vecinos. Primero se examinan los l´ımi-tes de los grupos para identificar grupos cercanos. Despu´es se examina si sus fronteras se solapan para identificar vecinos. Para cada grupo se obtienen los puntos m´aximos y m´ınimos en los ejes x e y. Dos grupos son cercanos si algunos de sus l´ımites est´an cerca. Esto es si se cumple en ambos ejes que:

(minG1< maxG2+d)∨(maxG1 > minG2−d) (6) siendoG1 yG2 dos grupos ydla distancia m´axima entre l´ımites como para considerarlos cercanos.

A continuaci´on se analiza si sus fronteras se so-lapan. Para ello, se emplea un enfoque basado en celdas. La celda de un punto es un ´area cuadrada de

(4)

centro el propio punto y con 1.5 m de lado. Para ca-da punto frontera se crea una celca-da y se eval´ua si los puntos frontera de sus grupos cercanos caen dentro de la celda. Si es as´ı, el grupo cercano es un vecino.

Una vez obtenidos los vecinos del grupo, se com-paran las alturas de las fronteras para detectar saltos entre grupos. Para cada celda que contenga puntos de un vecino, se compara la altura de los puntos de ambos grupos que recaen en la celda. Si en alguna celda la diferencia entre la altura media es mayor que 2.5 m, y la altura del grupo es mayor que la del vecino, el grupo se etiqueta como grupo elevado. De esta forma, con que en una ´unica celda se produz-ca un salto, el grupo se etiqueta como elevado. Esto puede provocar falsos positivos, por lo que para evi-tar esta situaci´on, se establece que al menos el 10 % de las celdas de un grupo deben registrar un salto para que este se clasifique como elevado.

En este momento de la clasificaci´on, para cada gru-po, se conoce si est´a elevado respecto la superficie o no y si ha sido creado en la segmentaci´on utilizando el vector normal (es un objeto plano) o sin el vec-tor normal (es un objeto no plano). De esta forma se puede etiquetar a cada grupo en tres clases. Los grupos elevados y planos se etiquetan como construc-ci´on, los grupos elevados no planos como vegetaci´on, y los grupos no elevados como terreno. Sin embargo, esta clasificaci´on es prematura, ya que necesita cierto refinamiento y adem´as no extrae la red de carreteras.

B.3 Restauraci´on de construcciones

Al usar el vector normal, la primera segmentaci´on puede dividir cada construcci´on en varios planos, co-rrespondientes a las aguas de las cubiertas. Estos se deben combinar para reconstruir el objeto. Para ello se examinan sus vectores normales e intensidades me-dias. Para cada plano etiquetado como construcci´on, se examinan los vecinos etiquetados como construc-ci´on. Primero se unen los planos que pertenecen a una misma cubierta, para ello un grupo y su vecino deben tener vectores normales e intensidades simila-res. La diferencia del ´angulo en cada ejex, y, zentre los vectores normales debe ser menor que 15 grados y la diferencia de sus intensidades debe ser menor de un 35 %. Despu´es, para unir las aguas de distintos planos de una construcci´on, se fusionan los planos cuyas intensidades difieran menos del 50 %.

Algunos puntos de las construcciones como la uni´on de aguas, chimeneas, ventanas salientes, etc, est´an etiquetados como vegetaci´on. Esto se debe a que son objetos elevados y no planos. Para clasificar correctamente estos puntos, se realiza un refinamien-to basado en una absorci´on por v´oxeles.

Este refinamiento consiste en que, para cada grupo etiquetado como construcci´on, se analizan sus veci-nos etiquetados como vegetaci´on. Para cada punto de cada vecino se crea un v´oxel de centro el propio punto y de lado 1.5 m. A continuaci´on se compara el n´umero de puntos del grupo y el n´umero de puntos del vecino dentro del v´oxel. Si hay m´as puntos del grupo que de su vecino, el punto se a˜nade a grupo y

se elimina del vecino. Cuando se han procesado todos los puntos de un vecino, el grupo cuenta con nuevos puntos y es posible que ahora sea capaz de absor-ber puntos que anteriormente rechaz´o. Por lo tanto se deben volver a analizar los puntos del vecino pa-ra evaluar nuevas absorciones. El proceso se repite hasta que el grupo no pueda absorber m´as puntos.

La figura 5 muestra el resultado aplicado a una construcci´on. A la izquierda se ve la clasificaci´on tras la detecci´on de salto y a la derecha, la clasificaci´on refinada despu´es de aplicar la absorci´on por v´oxeles.

Fig. 5. Resultado del refinamiento de construcciones.

B.4 Planaridad de un punto

Un ´arbol o un arbusto, son objetos no planos, pero pueden contener partes planas. Si estas son lo sufi-cientemente grandes, ser´an extraidas en la primera segmentaci´on y se etiquetar´an como objetos planos. Al tratarse de partes de vegetaci´on (zonas elevadas), tras la detecci´on de salto, ser´an clasificadas como construcciones. Estos falsos positivos son dif´ıciles de detectar. Sin embargo, la absorci´on por v´oxeles, an-teriormente descrita, puede hacer que la parte plana absorba puntos de la vegetaci´on a la que pertenece, reconstruy´endola, de forma que esta pueda ser filtra-da analizando la planarifiltra-dad de sus puntos.

Un punto puede describirse sobre una variedad geom´etrica con una dimensionalidad 0-D, 1-D, 2-D o 3-D. Un punto 0-D est´a aislado (no tiene vecinos), un punto 1-D recae en una l´ınea, un punto 2-D en un plano y un punto 3-D en una esquina. Para determi-nar si un punto es plano o no plano, se examina su di-mensionalidad junto sus puntos vecinos [5]. Su vecin-dad se determina empleando un v´oxel, de la misma forma que la descrita en la secci´on anterior. Siendo la vecindad un conjunto de puntosXi={pi, pi+1..., pn} y X ={x, y, z}el vector promedio, la matriz de co-varianza P

XX puede expresarse seg´un la f´ormula:

X XX = n X i=1 (Xi−X)(Xi−X)T (7)

Para esta matriz se calculan los autovaloresλ1,λ2,

λ3 siendoλ1 ≥λ2 ≥λ3, que expresan la dimensio-nalidad dep. Sipest´a en un plano (2-D), habr´a dos autovalores con valor cero. Sipest´a en un esquina (3-D), todos los autovalores ser´an cero. La planaridad depse define como el autovalor normalizado:

(5)

λ=λ1/(λ1+λ2+λ3) (8)

Teniendo en cuenta el posible ruido de los datos u otros factores como la rugosidad de las texturas, pue-de que no se obtengan autovalores con valor exacto cero. Por ello, se establece un umbralθλ= 0,035, de forma que siλ < θλ, se asume que el punto es plano. En la figura 6 se ve c´omo en una casa, la mayor´ıa de los puntos son planos, menos en la uni´on de las aguas u objetos que irrumpan el plano formado por el tejado (ventanas, salientes, etc). Sin embargo en un ´

arbol (izquierda) casi todos los puntos son no planos.

Fig. 6. Puntos planos (verde) y no planos (violeta).

B.5 Estimaci´on de ´area y volumen

Otra forma de filtrar peque˜nos objetos planos que no pertenecen a construcciones es examinando su ´

area. El ´area de un grupo se estima a partir del ´area de una o varias muestras de este. Una muestra es un ´area cuadrada que contiene ´unicamente puntos del grupo. Cada muestra tiene un ´area y n´umero de puntos conocidos. El objetivo es dividir un grupo en muestras, de forma que se pueda inferir su ´area total. Como la mayor´ıa de las construcciones son con-vexas, primero se procura tomar una ´unica muestra partiendo del centro de la construcci´on. Para un gru-po, se obtiene el punto medio y se crea una celda (ver secci´on II-B.2). A continuaci´on se calcula el n´umero de puntos del grupo dentro de la celda. Mientras la celda sea v´alida (lo es si solo contiene puntos del gru-po), se expande y se recalcula el n´umero de puntos que recaen en ella, buscando que la muestra sea lo m´as grande posible. Si la celda no es suficientemen-te grande o no es v´alida, se repite el proceso, cons-truyendo la celda sobre otros puntos del grupo. La descomposici´on en muestras sigue hasta que se haya analizado un porcentaje m´ınimo de puntos del gru-po o se han analizado todos los puntos. El ´area del grupo viene dado por la siguiente ecuaci´on:

Area= N PT n P i=1 Areai n P i=1 N Pi (9)

siendoN PT el n´umero de puntos totales del grupo,

N Pi el n´umero de puntos de cada muestra,Areai el ´

area de cada muestra ynel n´umero de muestras. En la figura 7 se exponen las muestras obteni-das para algunos grupos. En construcciones conve-xas (izquierda) la muestra central inicial es capaz de expandirse hasta ser lo suficientemente grande. En construcciones c´oncavas (derecha), en este ejemplo en forma de L, la muestra central no se expande lo necesario para llegar al porcentaje m´ınimo de puntos, por lo que se buscan otras muestras en otros puntos.

Fig. 7. Muestras generadas para construcciones.

Una vez conocida el ´area, se calcula el volumen pa-ra obtener m´as informaci´on sobre las construcciones. Tras la detecci´on de salto, para cada grupo, sabemos la diferencia de altura que existe entre este y sus ve-cinos. Un grupo correspondiente a una construcci´on, puede realizar un salto frente al suelo, un ´arbol, otra casa m´as baja, etc. Por ello se escoge como la altura de la construcci´on el salto m´aximo, de forma que el salto considerado sea el realizado frente al suelo.

B.6 Extracci´on de carreteras

La principal estrategia de distinci´on entre terreno y carreteras es un an´alisis de intensidad. Las inten-sidades medias de todos los grupos se normalizan entre 0 y 100. Los grupos que tengan una intensidad media normalizada menor que 40 son considerados candidatos a formar parte de la red de carreteras.

Entre los grupos que pasan el filtro, hay tramos de carreteras, zonas de estacionamiento y zonas de terreno de baja intensidad. Para construir la red de carreteras, se hace una fusi´on de los grupos. Para cada grupo se examinan los vecinos y se comparan sus intensidades medias. Si las intensidades medias no difieren m´as de un 25 %, se fusionan.

Una caracter´ıstica distintiva de la carretera es que la relaci´on entre su ´area y el ´area del m´ınimo rect´angulo que lo envuelve (MBR) es peque˜na [9]. Esto permite distinguir la carretera de otras clases, definiendo un porcentaje m´aximo de relaci´on de ´area (20 % en este trabajo). En la figura 8 se expone el re-sultado del m´etodo. En la imagen de la izquierda se muestran los grupos creados en la segmentaci´on, ca-da uno etiquetado con un color distinto. Se observa como la red principal de la carreteras es segmentado en un solo grupo (color azul claro). A la derecha se ven los grupos clasificados como carretera (gris) y los

(6)

clasificados como zonas de estacionamiento (azul).

Fig. 8. Resultado de la detecci´on de carreteras

Este m´etodo permite filtrar los grupos que se co-rresponden a las zonas de estacionamiento. Sin em-bargo, si la zona se encuentra dentro del mismo grupo que la carretera, el m´etodo ser´a incapaz de detectar-lo. Por esta raz´on se ha adaptado un m´etodo de foto-grametr´ıa denominado firma de textura angular [8]. En una imagen, la textura angular de un p´ıxel se defi-ne como la varianza media de un conjunto de p´ıxeles contenidos en un rect´angulo. Para un p´ıxel se crea un conjunto de rect´angulos, cada uno con un ´angulo con la horizontal, en los cuales se calcula la textura angular. En LiDAR, sin embargo, los datos de los que disponemos son puntos, no p´ıxeles, por lo que textura angular se calcula como el n´umero de puntos del mismo grupo contenidos en un rect´angulo.

Para el punto en el que se calcula la textura an-gular, cada rect´angulo tiene un vector director con origen el propio punto. Se desplaza el punto origen sobre el vector director una distancia proporcional al n´umero de puntos dentro del rect´angulo. Esto se hace para todos los rect´angulos, obteniendo un conjunto de puntos, que forman un pol´ıgono. Las zonas de es-tacionamiento son topol´ogicamente espacios compac-tos. En un espacio compacto, estos pol´ıgonos tendr´an forma de c´ırculo. La similaridad de un pol´ıgono a un c´ırculo se mide mediante el descriptor de forma:

Descriptor= 4πA

P2 (10)

siendo A el ´area del pol´ıgono y P su per´ımetro. Este descriptor de forma da como resultado un va-lor entre 0 y 1. Si un punto tiene un vava-lor del descrip-tor alto (>0.80), se marca como candidato. Aquellos grupos que tengan un gran porcentaje de puntos can-didatos, se clasifican como zona de estacionamiento.

Fig. 9. Resultado de la detecci´on de carreteras

En la figura 9 se muestra el resultado del filtro

de la firma de textura angular. En la imagen de la izquierda se observa c´omo el grupo segmentado con-tiene adem´as de la red de carreteras una zona de estacionamiento. En la derecha se ve la zona de es-tacionamiento detectada (rojo) y la carretera (gris).

C. Resultados del clasificador

En esta secci´on se muestran los resultados despu´es de todo el proceso de clasificaci´on. En la figura 10 se exponen los puntos LiDAR sin clasificar, los puntos clasificados y las ortofotos. Los colores utilizados en cada clase son los descritos en la siguiente tabla:

Clase Color

Terreno Marr´on Construcci´on Rojo Vegetaci´on Verde Carretera Gris

Fig. 10. Resultados de la clasificaci´on.

III. Paralelizaci´on

La paralelizaci´on del clasificador se realiza median-te OpenMP [11]. Esta se lleva cabo en todas las epas que son susceptibles de ser paralelizadas (ver ta-bla I). Paralelizar la etapa de crecimiento de regiones es complejo. Habr´ıa que dividir la zona de estudio en regiones para repartirlas entre los hilos, y posterior-mente tratar su solapamiento. Algo que queda fuera del alcance de este trabajo. La detecci´on de carrete-ras no se paraleliza porque el filtro que se realiza es trivial y su coste computacional ´ınfimo. En total se paralelizan cinco de las siete fases del clasificador.

TABLA I Partes de la aplicaci´on paralelizadas Segmentaci´on C´alculo del vector normal

√ Crecimiento de regiones × Clasificaci´on Extracci´on de fronteras √ Detecci´on de salto √ Estimaci´on de ´area √ Detecci´on de carreteras × Detecci´on de estacionamientos √

En la figura 11 se ilustran los tiempos de ejecuci´on en secuencial de las distintas fases del clasificador. Estos resultados han sido obtenidos es un Intel Core i7-4790 (ver tabla II). La etapa con el coste compu-tacional mas alto es la detecci´on de estacionamientos,

(7)

seguido por la extracci´on de fronteras y la detecci´on de salto. La fase m´as r´apida es la estimaci´on de ´area.

Fig. 11. Tiempos de las fases sin paralelizar

Vector normal

Crecimien to

Fron

teras Salto Area

Estacionamien tos 0 50 100 150 200 28,05 34,51 97,12 83,66 6,35 199,47 Tiemp o(segundos)

A. Divisi´on del trabajo

El reparto del trabajo entre hilos puede de de va-rias formas a trav´es de la cl´ausulaschedule. Los gru-pos pueden tener tama˜nos distintos, en ocasiones con una diferencia de varios ´ordenes de magnitud, por lo que un reparto a nivel de grupo delegar´ıa a cada hilo unidades de trabajo muy desiguales. Por este motivo se descarta el uso de una planificaci´on est´atica. Por otra parte, una planificaci´on din´amica reduce las po-sibilidades de que un hilo quede ocioso, a cambio de un peque˜no coste derivado de la gesti´on de la cola de reparto de trabajo de la regi´on paralela. Tres de las fases (c´alculo del vector normal, extracci´on de fron-teras y detecci´on de estacionamientos) se ejecutan sobre cada punto de cada grupo, lo que permite un reparto de trabajo tambi´en a nivel de punto.

Con un reparto a nivel de punto, el trabajo de los hilos es equitativo, sin embargo, hay que a˜nadir el coste de crear una regi´on paralela para cada grupo. Los puntos de los grupos est´an almacenadas en una lista enlazada, por lo que para paralelizar a nivel de punto se recurre al uso de tareas (task). El concepto de tarea se introdujo en OpenMP 3.0. Su uso permi-te paralelizar problemas irregulares, como bucles sin l´ımites definidos (como en este caso), algoritmos re-cursivos o esquemas productor-consumidor. Cuando un hilo encuentra una tarea, puede ejecutarla inme-diatamente o posponerla. Posponerla supone enviar la tarea a una cola asociada a la regi´on paralela. Los hilos ejecutan las tareas de la cola hasta vaciarla. De esta forma, una tarea puede ser completada por un hilo distinto del que la encontr´o originalmente. Las tareas deben ser independientes, y no tienen por qu´e completarse en orden. El algoritmo 2 muestra co-mo se las usan tareas para paralelizar las etapas del clasificador. Primero se crea la regi´on paralela. Un hilo recorre la lista, crea una tarea por cada punto y

la asigna a alguno de los hilos de la regi´on paralela. Estos hilos procesan cada punto y, cuando se llega al final de la lista, esperan hasta su sincronizaci´on.

Algoritmo 2Reparto a nivel de punto for allg∈Grupos(i)do

#pragma omp parallel

#pragma omp single

forp=g.inicio;p! =g.f in;p=siguientedo #pragma omp task

procesar(p) end for

#pragma omp taskwait

end for

B. Equipos y datos empleados

Las mediciones de rendimiento se hacen sobre una computadora personal y dos cl´usters de computaci´on (ver tabla II). Estos tres equipos presentan arquitec-turas muy diferentes que permite realizar un an´alisis comparativo de gran inter´es. Los dos primeros equi-pos pertenecen al Centro de Investigaci´on en Tec-nolog´ıas de la Informaci´on (CiTIUS) y el tercero al Centro de Supercomputaci´on de Galicia (CESGA).

TABLA IIComputadoras utilizadas en las pruebas. Procesador N´ucleos Frecuencia Cach´e Intel Core i7-4790 4 3.6 GHz 8 MB AMD Opteron 6262 HE 16 1.6 GHz 16 MB 2x Intel Haswell R5-2680 24 2.5 GHz 60 MB

Los datos LiDAR utilizados son de un n´ucleo ur-bano de Guitiriz, Lugo. El n´umero total de puntos es de 4.739.877, abarcando un ´area de 1×0.75km2. C. An´alisis de rendimiento

En esta secci´on se eval´ua el rendimiento de los tres enfoques de paralelizaci´on. Para ello medimos los tiempos de ejecuci´on usando el reparto de gru-pos est´atico y el reparto de grupos din´amico. En los m´etodos que lo permiten tambi´en se mide el reparto a nivel de punto. Estas medidas se realizan en los tres equipos anteriormente descritos en la tabla II: Intel Core I7 (figura 14), AMD Opteron (figura 15) e Intel Haswell (figura 16). A partir de los resultados obtenidos sacamos las siguientes conclusiones.

Primero, el reparto din´amico de grupos tiene un mayor rendimiento que el reparto est´atico, dado que la distribuci´on de la carga de trabajo es m´as eficiente. Segundo, la escalabilidad de algunos m´etodos (de-tecci´on de salto, estimaci´on de ´area y detecci´on de es-tacionamientos) dista de la ideal. Esto se produce por la existencia de grupos de gran tama˜no. Si un grupo es extremadamente grande en comparaci´on con los dem´as, el tiempo de ejecuci´on de cada fase es igual al tiempo que tarda un hilo en procesar el mayor grupo. Generalmente estos grupos de gran tama˜no se corresponden con largos tramos de carreteras, que dadas sus caracter´ısticas, puede ser recogidos en la segmentaci´on en grandes grupos. Esto puede verse

(8)

claramente en la detecci´on de estacionamientos, don-de a partir don-de dos hilos, el rendimiento don-deja don-de ser escalable. En esta fase, solo se examinan los grupos etiquetados como carretera. En este caso de estudio, el n´umero de grupos etiquetados como carretera es en ocasiones menor que el n´umero de hilos usados, dejando de inicio varios hilos inactivos. Un soluci´on ser´ıa limitar el tama˜no de los grupos creados. Otra opci´on ser´ıa adaptar los m´etodos para que se pudiera repartir el trabajo a nivel de punto.

Tercero, cuando en los sistemas Intel se usa hy-perthreading, la escalabilidad se reduce notablemen-te. As´ı mismo, cuando en el sistema AMD se hace uso de los dos procesadores de cada m´odulo (ver si-guiente p´arrafo), la escalabilidad tambi´en se reduce. Esto sucede por la compartici´on de los recursos del procesador. Esto puede verse en las gr´aficas de ren-dimiento del Core i7 (figura 14) y el AMD Opteron (figura 15). En ellas aparece dibujada una l´ınea ver-tical que indica el n´umero m´aximo de procesadores independientes. A partir de esta l´ınea, los procesado-res comparten recursos, y la escalabilidad de reduce. El AMD Opteron est´a dise˜nado bajo la arquitectu-ra Bulldozer, en donde cada par de n´ucleos est´a agru-pado en un m´odulo (ver figura 12). Los n´ucleos den-tro del m´odulo comparten varios recursos: la unidad de punto flotante (FPU), la memoria cach´e de nivel dos y elhardwareque implementa la recogida y deco-dificaci´on de instrucciones. Esta divisi´on en m´odulos puede verse como un balance entre n´ucleos indepen-dientes en d´onde no se comparten recursos, y n´ucleos dependientes, en donde se comparten pr´acticamente todos los recursos (hyperthreading).

Fig. 12. M´odulo de la arquitectura Bulldozer.

Adem´as de la compartici´on de recursos, tanto In-tel como AMD hacen uso de las tecnolog´ıas Turbo Boost yTurbo Core, respectivamente. Estas modifi-can la frecuencia de reloj de los procesadores activos, dependiendo de una serie de factores: el n´umero de n´ucleos activos, el consumo energ´etico estimado y la temperatura del procesador. En el Intel Core i7-4790 la frecuencia de los n´ucleos es de 3.6 GHz, pudiendo llegar hasta los 4.0 GHz. En el AMD Opteron 6262E la frecuencia de los n´ucleos es de 2.1 GHz pudiendo

llegar hasta los 2.9 GHz cuando se usan ocho n´ucleos o menos. En el Intel Haswell E5-2680 la frecuencia de los n´ucleos es de 2.5 GHz, pudiendo llegar has-ta los 3.3 GHz. De eshas-ta forma, es razonable esperar que los resultados con pocos n´ucleos sean mejor de lo esperado, y que la escalabilidad no sea lineal.

En la figura 13 se ilustra la diferencia entre los tiempos de las fases sin paralelizar (rojo) y paraleli-zadas (azul). Las mediciones se han hecho en el Core i7 utilizando el n´umero m´aximo de hilos (8 en este caso). Aunque la escalabilidad de los m´etodos no es la ideal, la mejora de rendimiento es substancial.

Fig. 13. Tiempos de las fases paralelizadas

Vector normal Fron teras Deteccion salto Area Estacionamien tos 0 50 100 150 200 28,05 97,12 83,66 6,35 199,47 6,84 21,94 27,36 2,17 44,93 Tiemp o (segund os) IV. Conclusiones

En este art´ıculo se presenta un m´etodo para abor-dar el problema de la detecci´on de objetos sobre da-tos LiDAR. Dado el gran volumen de dada-tos a proce-sar, se realiza un paralelizaci´on del clasificador en un sistema de memoria compartida. El reparto de tra-bajo din´amico ha resultado ser m´as eficiente que el est´atico, sin embargo, para obtener la mayor escala-bilidad posible, el reparto entre hilos debe ser a nivel de punto y no a nivel de grupo. De esta forma, cuan-do el n´umero de hilos es igual o inferior al n´umero de n´ucleos del sistema la escalabilidad presenta buenos resultados salvo en los casos en que el desbalanceo de la carga es importante. Y como cabe esperar, en los sistemas analizados se observa adem´as, que cuando el n´umero de hilos es mayor que el n´umero de n´ucleos independientes de una computadora, la escalabilidad se reduce al aumentar el n´umero de hilos.

Como trabajo futuro se propone, por una parte, automatizar la selecci´on de los par´ametros en la seg-mentaci´on, y por otra, mejorar la escalabilidad del clasificador. Esto puede hacerse adaptando los m´ eto-dos usaeto-dos, o usando nuevos m´etodos que mejoren el comportamiento del c´odigo en t´erminos de balan-ceo de la carga. Otra opci´on es limitar el tama˜no de los grupos formados en la segmentaci´on para evitar grandes diferencias en el tama˜no entre los grupos. Finalmente se puede explorar el uso de MPI en sis-temas de memoria distribuida.

(9)

Agradecimientos

Este trabajo ha sido financiado en parte por el Ministerio de Ciencia e Innovaci´on con el proyecto TIN2013-41129-P y por la Xunta de Galicia con los proyectos GRC2014/008, R2014/041 y R2014/049. Tambi´en ha sido financiado parcialmente por el Cen-tro para el Desarrollo Tecnol´ogico Industrial a trav´es del proyecto Interconecta: Tecnolog´ıas avanzadas pa-ra la extinci´on de grandes incendios forestales (Co-laboraci´on USC - INAER Galicia SL). Adem´as, el trabajo ha sido desarrollado bajo el soporte de la red europea HiPEAC y de la red nacional CAPAP-H. Parte de las pruebas se han realizado en los nodos de computaci´on proporcionados por el Centro de Su-percomputaci´on de Galicia (CESGA).

Referencias

[1] Weidner, U., and F¨orstner, W. 1995. Towards automatic building extraction from high resolution digital elevation models. ISPRS Journal of Photogrammetry and Remote Sensing, 50(4): 38-49.

[2] Buj´an, S., Gonz´alez, E., Reyes F,. Barreiro, L., Crecente R., Miranda D., 2012. Land use classification from LIDAR data and orthoimages in a rural area. Photogrammetric Record, 27(140): 401-422.

[3] Curtis, E., and Michael, G. 2011. Airborne Light Detection and Ranging (LIDAR) for Individual Tree Stem Location, Height, and Biomass Measurements. Remote Sensing, 3: 2494-2528.

[4] Johansen, K., Phinn, S., Witte C. 2010. Mapping of ripa-rian zone attributes using discrete return LIDAR, Quick-Bird and SPOT-5 imagery: Assessing accuracy and costs. Remote Sensing of Environment, 114(11): 2679–2691. [5] Aparajithan Sampath y Jie Shan. Segmentation and

re-construction of polyhedral building roofs from aerial li-dar point clouds. Geoscience and Remote Sensing, IEEE Transactions on, 48(3):1554–1567, 2010.

[6] Shen Wei. Building boundary extraction based on lidar point clouds data.Proceedings of the International Archi-ves of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 37:157–161, 2008.

[7] Zhang Hong et al GIS. Algorithm Elements. Science Press, Beijin, 41–43, 2006.

[8] Qiaoping Zhang e Isabelle Couloigner. Benefit of the angu-lar texture signature for the separation of parking lots and roads on high resolution multi-spectral imagery. Pattern Recognition Letters, 27(9):937–946, 2006.

[9] Clode, S., Rottensteiner, F., Kootsookos, P., Zelniker, E. Detection and Vectorization of Roads from Lidar Da-ta Photogrammetric Engineering and Remote Sensing, 5(19):517–535, 2007.

[10] National Board of Agriculture and the Environment Cen-tral Mecklenburg, Germany. Laser scan images through the use of drones (UAV) for receiving coastal areas and developing semi-automated software process at the Aerial photo analysis of UAV aerial surveys. Final Report. Pro-ject number 03KIS105, 2013.

[11] The OpenMP Architecture Review Board. The OpenMP API specification for parallel programming http://openmp.org, Consultado en Junio de 2015.

(10)

Fig. 14. Rendimiento Intel Core i7. Mejora lineal N´ucleos Est´atico Din´amico Punto 0 2 4 8 0 2 4 6 8 Hilos Mejora Vector normal 0 2 4 8 0 2 4 6 8 Hilos Mejora Fronteras 0 2 4 8 0 2 4 6 8 Hilos Mejora Salto 0 2 4 8 0 2 4 6 8 Hilos Mejora Area 0 2 4 8 0 2 4 6 8 Hilos Mejora Estacionamientos

Fig. 15. Rendimiento AMD Opteron. Mejora lineal N´ucleos Est´atico Din´amico Punto

0 2 4 8 16 0 5 10 15 Hilos Mejora Vector normal 0 2 4 8 16 0 5 10 15 Hilos Mejora Fronteras 0 2 4 8 16 0 5 10 15 Hilos Mejora Salto 0 2 4 8 16 0 5 10 15 Hilos Mejora Area 0 2 4 8 16 0 5 10 15 Hilos Mejora Estacionamientos

Fig. 16. Rendimiento 2x Intel Haswell. Mejora lineal Est´atico Din´amico Punto

0 2 4 8 16 0 5 10 15 Hilos Mejora Vector normal 0 2 4 8 16 0 5 10 15 Hilos Mejora Fronteras 0 2 4 8 16 0 5 10 15 Hilos Mejora Salto 0 2 4 8 16 0 5 10 15 Hilos Mejora Area 0 2 4 8 16 0 5 10 15 Hilos Mejora Estacionamientos

Referencias

Documento similar

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

Después de una descripción muy rápida de la optimización así como los problemas en los sistemas de fabricación, se presenta la integración de dos herramientas existentes

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

• El monumento debió ser visible desde la ciudad dada la ubicación general en El Espinillo, un Mo- numento Conmemorativo y planteado en paralelo a otro en la barranca, debió

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de