• Nenhum resultado encontrado

Mapeamento do ambiente e deteção de obstáculos

Um exemplo de uma curva intrínseca será um gráfico que terá como eixos as intensidades dos píxeis da linha de pesquisa e as suas respetivas derivadas. Este mapeamento é invariante à translação, ou seja, à disparidade. Este método resume-se então à comparação entre curvas intrínsecas das imagens. Por outro lado, a existência de ruído e as diferenças de perspetivas entre imagens, dificulta este tipo de correspondência.

As grandes limitações da programação dinâmica para a correspondência estéreo devem-se à sua incapacidade de ter em conta restrições horizontais e verticais. Para fazer face a essas limita- ções são utilizadas correspondências tendo em conta cortes dos grafos. Um grafo G = (V, E) é definido pelo número de vértices V e o números de arestas E. Os vértices vão ser escolhidos con- soante a seleção da representação do método de correspondência, como por exemplo, as imagens de disparidade-espaço referidas no início desta secção. Este tipo de representação é vantajosa no que toca a encontrar o máximo fluxo do grafo. Os eixos dos grafos irão corresponder aos eixos horizontal e vertical da imagem e à gama de disparidades.

Cada aresta tem uma capacidade de fluxo associada que é definida por uma função de custo, definida pelos vértices adjacentes. Um corte vai ser um limite imposto que separa o início do grafo do seu fim, criando dois subconjuntos. O corte da capacidade mínima, maximiza o fluxo no caminho do grafo.

Todos estes métodos podem ter como base certas métricas de correspondência, ou seja, al- goritmos estatísticos, aplicados à vizinhança do píxel, de forma a encontrar a melhor correspon- dência. Na Tabela 2.4 é possível analisar algumas da métricas referidas por [17].

Tabela 2.4: Métricas de correspondência Métrica de correspondência Definição Correlação Cruzada Normalizada (NCC) ∑u,v(I1(u,v)− ¯I1).(I2(u+d,v)− ¯I2)

∑u,v(I1(u,v))− ¯I1)2.(I2(u+d,v)− ¯I2)2

Soma das diferenças Quadradas (SSD) ∑u,v(I1(u, v) − I2(u + d, v))2

SSD Normalizada ∑u,v(I1(u,v)− ¯I1)

∑u,v(I1(u,v))− ¯I1)2

−∑u,v(I2(u+d,v)− ¯I2)

(I2(u+d,v)− ¯I2)2

Soma de Diferenças Absolutas (SAD) ∑u,v

I1(u, v) − I2(u + d, v)

Ordenação ∑u,v(I10(u, v) − I20(u + d, v))

Censos ∑u,vHAMMING(I10(u, v), I20(u + d, v))

2.6

Mapeamento do ambiente e deteção de obstáculos

Após o tratamento das duas imagens captadas, é necessário avançar para a análise da cena propriamente dita, de forma a detetar os obstáculos que poderão surgir. Neste âmbito surge o conceito de tesselação [22]. De notar que a tesselação é a divisão do espaço bidimensional -

plano - tendo em conta unidades de divisão simples, de forma a que não haja espaço entre elas e a soma das diferentes superfícies seccionadas, seja igual à superfície total.

Cada sistema de deteção de obstáculos realça um tipo específico de tesselação ou de estra- tégia de aglomeração (clustering). Dois dos modelos passíveis de serem implementados são os seguintes:

1. Probabilistic Occupancy Map 2. Scene Flow Segmentation Probabilistic occupancy map

Neste modelo, o ambiente é representado por uma grelha de células contendo uma variável aleatória Xi, cujo estado de cada célula pode ser definido como livre, ocupado ou indefinido (não

mapeado) [23].

O objetivo é processar a distribuição de probabilidades associadas ao estado da grelha, tendo em conta o estado da variável aleatória e as medidas z realizadas num instante específico t. Considerando m como a variável aleatória de uma célula genérica, a sua ocupação é determinada pela função densidade de probabilidade dadas as medidas zt:

p(m|z1, ..., zt) (2.12)

Assumindo uma ocupação da grelha em 2D e o ambiente estático, pode ser definida uma probabilidade condicional, calculada recursivamente pela fórmula de Bayes, atualizando o es- tado das células em cada instante definido (Equação 2.14). Para além disso, transforma-se a função densidade de probabilidade num função logarítmica. Portanto, tendo em conta [24]:

p(mx,y|zt) = 1 − [el

(t)

x,y]−1 (2.13)

com

lx,y(t)= lx,y(t−1)+ log

p(mx,y|zt)

1 − p(mx,y|zt)

− p(mx,y) 1 − p(mx,y)

(2.14) Este método traz vantagens no que diz respeito à simplicidade da construção da representa- ção do ambiente, com a precisão suficiente. Existe também modelos mais detalhados deste tipo de representações probabilísticas que mostram uma representação dos mapas probabilísticos em conjunto com as projeções nas coordenadas reais. Neste caso, é criado um mapa de disparidades que representa as medidas processadas pelo algoritmo para estimar a ocupação nas células do mapa de grelha. A estimação nas coordenadas reais do ambiente do mapa de disparidades é

2.6 Mapeamento do ambiente e deteção de obstáculos 27

realizada através da Equação 2.15. Nesta equação é tido em conta o modelo da câmara, com parâmetros intrínsecos e extrínsecos específicos.

pk= P−1(mk) = baseline d ·    (u − u0) (v − v0).ffuv fu    (2.15)

A equação acima mk = (u, v, d)T é uma combinação das coordenadas (u, v) da imagem e da

disparidade processada pelas câmaras d. Para além disso, pk= (x, y, z)T será a localização nas

coordenadas do ambiente real da célula mk.

Desta maneira, cada célula tem para si uma possibilidade de ocupação D(i, j), tendo em conta o ambiente envolvente.

D(i, j) =

M

k=1

Li j(mk) (2.16)

Na equação 2.16, Li jcorresponde à possibilidade de ocupação da célula (i, j), dada a medida mk

e M será o número total de medidas.

Após o cálculo através dos modelos, é necessário organizar as medidas resultantes nos ma- pas. Pode-se fazer referência a três tipos de mapas:

1. Grelha cartesiana. O ambiente é representado por uma grelha cartesiana de dimensões fixas e mapeada linearmente.

2. Grelha coluna/disparidade. As células de coluna/disparidade correspondem à discreti- zação dos valores de u e de d.

3. Grelha polar. O critério de mapeamento é representado pela discretização dos valores (u, z), onde u corresponde ao valor coluna da imagem no espaço e z é a profundidade no sistema de coordenadas do mundo real.

No seguimento destas abordagens, foi criado o conceito de stixel, por [25]. Segundo Badino [25], um stixel é um cluster que vai servir de unidade de representação do ambiente real. Desta maneira, o obstáculo será representado por uma combinação desses clusters.

Scene flow segmentation

Esta abordagem, também designada de fluxo ótico, é baseada na correlação temporal para estimar o movimento entre dois frames, capturados pelo sistema estéreo em instantes diferentes. Os primeiros algoritmos desenvolvidos apresentaram problemas no que diz respeito à resposta em tempo-real, já que os algoritmos não a garantiam. Por isso, o mais recente desenvolvimento

deste método foi no sentido de fazer face a esse problema e é designado por scene flow estima- tion, descrito por [26].

Neste algoritmo, os pontos de interesse são detetados através de duas imagens estéreo conse- cutivas e retificadas. O resultado dos valores da disparidade permitem a descrição tridimensional para cada ponto detetado. Tendo em conta que a posição da câmara pode variar, é necessário que o piso seja detetado de modo a obter uma descrição com significado do ambiente envolvente.

Cada ponto é seguido ao longo do tempo e o fluxo da cena é calculado através da aproxima- ção às diferenças, de forma a obter derivadas. A covariância associada é obtida pela propagação linear do erro.

Figura 2.13: Sistema do carro autónomo de [27] para algoritmo de Scene Flow Segmentation

Na Figura 2.13 pode-se verificar que foi tida em conta a posição da câmara, devidamente colocada para capturar o piso.

2.7

Implementação de hardware em tempo real

Documentos relacionados