Calibração de uma Rede de Câmaras baseada em Odometria Visual

Tamanho: px
Começar a partir da página:

Download "Calibração de uma Rede de Câmaras baseada em Odometria Visual"

Transcrição

1 UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Calibração de uma Rede de Câmaras baseada em Odometria Visual Nuno Miguel Pinto Leite (Licenciado) Dissertação para a obtenção do Grau de Mestre em Engenharia Electrotécnica e de Computadores Júri: Presidente: Orientador: Co-orientador: Vogal: Doutor Carlos Jorge Ferreira Silvestre Doutor José António da Cruz Pinto Gaspar Doutor Alessio Del Bue Doutor Paulo Luis Serras Lobato Correia Novembro de 2009

2

3 Resumo Este trabalho apresenta duas metodologias para efectuar a calibração de uma rede de câmaras. A calibração compreende a determinação de parâmetros intrínsecos e extrínsecos. As metodologias propostas, ao contrario das alternativas mais comuns actualmente disponíveis, permitem a calibração de câmaras com campos de visão não sobrepostos, em um único referencial, o referencial de mundo. Utiliza-se um robot com a capacidade de estimar a sua pose num referencial do mundo. Este robot está equipado com uma câmara calibrada, que pode ser posicionada e orientada de forma a observar pontos também observados pelas câmaras da rede. As metodologias propostas têm como base as correspondências de pontos de referência invariantes na escala (SIFT) e a sua reconstrução 3D usando vslam, e focam o problema de transportar sistema de coordenadas do robot para o das câmaras fixas. Para resolver o problema de calibração de uma rede de câmaras, propõe-se utilizar os pontos 3D reconstruídos que sejam visíveis nas imagens das câmaras fixas. De forma a testar a validade do nosso método foram construídos e utilizados cenários em VRML, por terem pouco ruído nas imagens que geram, e por oferecerem Ground Truth para validação da metodologia proposta.

4 ii

5 Abstract This work presents two methodologies to estimate the calibration of a network of cameras, possibly with nonoverlapping fields of view. The calibration comprises both the intrinsic and extrinsic parameters of the cameras and is based on a mobile robot with the capability of estimating its pose in a global frame. The robot is equipped with one calibrated camera which we assume that can be oriented in a manner to observe world points also seen by the network of cameras. Our methodologies are based on matched scale invariant features (SIFT) reconstructed to 3D points using e.g. vslam, and focus on the problem of transporting the robot coordinate system to the fixed cameras. The reconstructed 3D points and their images on the fixed cameras are proposed as a solution for the calibration problem. In order to test the validity of our methodology we constructed a VRML scenario, thus having low noise images and ground truth information.

6 iv

7 Conteúdo Resumo Abstract i iii 1 Introdução Trabalho Relacionado Metodologias Propostas Organização da Tese Introdução Teórica Modelo de uma câmara Pontos característicos de uma imagem Detecção de extremos na escala de espaço Selecção de pontos chave Orientação em pontos chave Descritores em pontos chave Auto-localização e reconstrução do cenário Modelo do Processo Modelo de Observação Processo de Estimação Calibração de uma rede de câmaras Calibração baseada num par de imagens Factorização Calibração baseada em uma imagem e vslam Primeiro método de estimação da matriz de projecção Segundo método de estimação da matriz de projecção Estimação da pose das câmaras Cenário virtual e criação de Ground Truth Ground truth Ruído de correspondência e erro de reconstrução

8 vi CONTEÚDO 4 Resultados Calibração de parâmetros intrínsecos Calibração baseada em duas imagens Ruído na correspondência de pontos entre imagens Estudo do erro de reconstrução Calibração baseada em uma imagem e vslam Conclusões 39 A Decomposição da matriz de Projecção 41 Bibliografia 44

9 Lista de Figuras 2.1 (a) Modelo Câmara Pontual - pinhole, (b) Representação alternativa de modelo pinhole, tendo plano de imagem à frente do centro de projecção, (c) Sensor CCD de uma câmara Em cada oitava da escala do espaço a imagem inicial é repetidamente convolvida com uma máscara Gaussiana, de forma a criar um conjunto de imagens da escala no espaço, como se vê no lado esquerdo da imagem. As imagens na segunda oitava têm por base a sub-amostragem com factor 2 da imagem com filtragem σ = 2 da primeira oitava O máximo e o mínimo local das imagens da diferença de Gauss, são detectadas comparando um pixel (marcado por X na imagem) com os seus 26 vizinhos (marcados por um circulo na imagem), numa região 3x3 no qual se utiliza as imagens com escalas adjacentes O robot encontra-se a obter medidas da sua posição X v, e da posição dos pontos de referência p i Rede de câmaras, formada por 3 câmaras estáticas. Para calibrar a rede, é utilizado o robot incorporado com uma câmara Duas projecções x 1,x 2 do ponto p. Transformação Euclidiana entre duas imagens dada por (R,T). A intersecção da linha (o 1,o 2 ) com cada plano de imagem tem o nome de epipolo e 1,e 2. As linhas l 1, l 2 são as linhas epipolares, e são a intersecção entre o plano (o 1,o 2,p) e os dois planos de imagem Quatro possíveis soluções da estimação de E. Entre a solução da esquerda e da direita, a baseline é invertida. Entre as soluções de cima e de baixo, a câmara B é rodada 180 o. Notar que só em (a) é que o ponto está a frente das duas câmaras Imagens do interior da sala com exposições de quadros de Picasso Exemplo de back-projection de um ponto(pimg) na imagem da câmara. O ponto C identifica o centro da câmara Dados para a calibração baseada no conhecimento da estrutura 3D (direita) e em pontos clicados sobre a imagem (esquerda). A imagem tem dimensão Segunda colecção de dados para calibração. O padrão de calibração inserido no VRML é observado de vários pontos de vista. As imagens têm dimensão Resultado da calibração do factor de escala. Os círculos denotam calibração por método LSQ utilizando os dados da Fig.4.1, os pontos denotam calibração com toolbox de J. Y. Bouguet utilizando as imagens da Fig

10 viii LISTA DE FIGURAS 4.4 Teste de calibração baseada em duas imagens, por factorização da matriz essencial. A colecção de pontos 3D (pontos azuis) é projectada para uma câmara base e para uma câmara que é colocada em vários pontos sobre uma superfície esférica. A estes pares de pontos é adicionado ruído gaussiano com variância 0.0, 0.1 e 0.5 [pix] (a, b e c). Os gráficos mostram as poses estimadas (vermelho) sobrepostas com o ground truth (preto). As duas linhas de gráficos mostram duas vistas diferentes Tipos de erro. Erro em pontos 2D correspondentes (esquerda). Erro em pontos 3D e poses de câmara reconstruídos (direita) As trajectorias efectuadas pela câmara movel encontram-se a vermelho Movimento rectilineo: (a) media do erro (b) variância do erro Movimento circular: (a) media do erro (b) variância do erro Gráficos com o erro de reconstrução: (a) media do erro (b) variância do erro Experiência de Calibração. Imagens adquiridas por três câmaras estáticas da rede de câmaras (a,b,c), e três exemplos de imagens adquiridas pela câmara móvel (d,e,f). Os círculos amarelos, com os pontos pretos no centro representam os pontos SIFT utilizados para efectuar a calibração. A sub-figura (g) mostra ground-truth e reconstrução. O ground-truth contém pontos 3D (púrpura) e localizações de câmaras móveis / fixas (representadas por linhas em azul claro, começadas por pontos pretos). A reconstrução contém câmaras móveis e fixas (pirâmides vermelhas e azuis, centros das câmaras marcados a preto). As posições das câmaras reconstruídas aparecem também projectadas no plano do pavimento. A sub-figura (h) contém uma ampliação das localizações de câmaras ground-truth e reconstruídas

11 Capítulo 1 Introdução Os avanços tecnológicos permitem actualmente efectuar instalações de grandes redes de câmaras. No entanto o processamento automático da informação adquirida pelas várias câmaras é ainda um processo pouco desenvolvido, estando essencialmente a ser explorado em (muitos) projectos de investigação. Um dos aspectos que se espera vir a dinamizar a investigação e o desenvolvimento de processamento de informação de redes de câmaras, é a existência de metodologias práticas de calibração das redes. Espera-se em particular que a calibração permita facilitar a correlação de eventos detectados entre as várias câmaras. Um dos principais problemas que se encontra na calibração de redes de câmaras é a necessidade de realizar a calibração para cada câmara utilizando somente pontos de vista fixos. Considerando por exemplo um cenário estático e com poucas variações de iluminação, então o ponto de vista fixo implica que a informação obtida pela câmara fixa se resume a uma imagem. E é a partir desta informação que desejamos estimar a pose da câmara e em alguns casos inclusive os parâmetros intrínsecos, i.e. parâmetros internos relativos à óptica e electrónica das câmaras. Um outro problema específico das redes, é a calibração tendo por base um único referencial, i.e. um referencial universal. Por outras palavras, pretende-se em geral que a pose de todas as câmaras se refira a um único referencial, de forma que eventos detectados em uma câmara possam ser interpretados pelas restantes. No caso de existir sobreposição de campos de visão, esta ligação entre câmaras pode ser obtida simplesmente pela correspondência de pontos homólogos, i.e. pontos de imagem relativos aos mesmos pontos 3D. Em muitos casos a sobreposição é demasiado pequena, ou mesmo inexistente. Neste trabalho desejamos calibrar câmaras com campos de visão totalmente separados, ou com pequenas sobreposições, e portanto precisamos de um elemento de ligação entre as câmaras. Neste trabalho seleccionámos a utilização de um robot móvel, equipado com uma câmara e com capacidade de auto-localização. Este robot transporta o sistema de coordenadas universal, e ao observar o cenário de forma semelhante aos pontos de vista das câmaras (fixas) da rede, permite realizar a respectiva calibração. 1.1 Trabalho Relacionado Têm sido efectuados recentemente diversos trabalhos de investigação sobre a calibração de redes de câmaras. Muitos dos trabalhos de investigação têm sido baseados essencialmente na hipótese que existe sobreposição dos

12 2 Introdução campos de visão das várias câmaras. Encontrando esses pontos correspondentes, é possível estimar com precisão a relação entre as câmaras [6]. No caso de não existir uma sobreposição de campos de visão, mas poder ser criada por movimento das câmaras, por exemplo com câmaras pan-and-tilt, ainda é possível criar panoramas [13]. As imagens consecutivas são ligadas por homografias e no final realiza-se um alinhamento global, bundle adjustment [15], do conjunto de câmaras de forma a minimizar os erros acumulados de estimação. Existem também trabalhos baseados em plataformas móveis. Em [12] utiliza-se uma plataforma móvel para transportar um padrão, e a calibração é obtida registando o padrão em todas as imagens. Utilizam-se os dados de auto-localização da plataforma móvel. Notar que esta solução implica que a plataforma móvel seja vista por cada uma das câmaras. Em [14, 1] uma plataforma móvel é deslocada por uma cidade e adquire imagens omnidireccionais em cruzamentos de ruas. Assume-se que imagens consecutivas têm pontos de vista semelhantes. Do registo das imagens extrai-se então a localização das várias câmaras. 1.2 Metodologias Propostas Nesta dissertação propomos duas metodologias de calibração de redes de câmaras: (i) localização relativa de uma câmara fixa em relação à câmara transportada por um robot móvel (as duas câmaras têm parâmetros intrínsecos conhecidos), (ii) localização de uma câmara fixa dada a reconstrução 3D, realizada por um robot móvel e uma imagem adquirida com um conteúdo semelhante à da câmara fixa. Nas metodologias propostas assumimos portanto que dispomos de um robot equipado com uma câmara, e que essa câmara adquire imagens com pontos de vista similares aos das câmaras pertencentes à rede. Notar que não impomos a utilização de padrões de calibração transportados por um robot, nem padrões fixos de grandes dimensões, nem impomos que as câmaras pertencentes à rede vejam o robot, ou que o robot tenha que ver as câmaras fixas. De forma a efectuar a calibração da rede de câmaras, uma das metodologias propostas segue uma abordagem que necessita da reconstrução de alguns pontos 3D do cenário. A reconstrução de pontos 3D implica em geral duas etapas, nomeadamente a correspondência de pontos característicos entre imagens e posteriormente a estimação da localização desses mesmos pontos. Para efectuar a correspondência entre imagens diferentes propomos a utilização de pontos característicos obtidos pela Scale-invariant feature transform, conhecidos simplesmente por SIFT features [10]. As SIFT features constituem actualmente o estado da arte, em termos de pontos característicos de uma imagem, tendo por fim tarefas de correspondência robustas. Para estimar a localização 3D de pontos 2D escolhidos numa imagem, e seguidos (correspondidos) em sequências de imagens, propomos a utilização de visual Simultaneous Localization and Mapping (vslam) [5, 8, 2]. Dada a localização tridimensional, e as imagens de alguns pontos do ambiente observado pela rede de câmaras, é possível obter a calibração de cada uma das câmaras da rede de câmaras. Há, contudo, que estudar a robustez das metodologias face ao ruído nas observações que sempre existe. De forma a efectuar testes às metodologias propostas, foram criados ambientes de simulação. Estes ambientes de simulação foram desenvolvidos em VRML, pela versatilidade de criação de cenários e movimentações de observadores (robots), por permitir obter imagens com um baixo nível de ruído, e sobretudo por oferecer ground truth para a validação das metodologias propostas.

13 1.3 Organização da Tese Organização da Tese No capítulo 2 introduzem-se ferramentas de modelação de câmaras, e de detecção, registo e reconstrução de pontos característicos em imagens. No capítulo 3 apresenta-se a metodologia de calibração de câmaras em rede, baseada num robot móvel equipado com uma câmara de vídeo, que observa um cenário semelhante ao observado pela rede de câmaras (fixas) a calibrar. No capítulo 4 apresentam-se resultados experimentais de processos prévios à calibração, e de calibração, e finalmente no capítulo 5 apresentam-se conclusões e propostas de trabalho futuro. O trabalho descrito nesta dissertação foi parcialmente publicado nas Quartas Jornadas de Engenharia de Electrónica e Telecomunicações e de Computadores [9].

14 4 Introdução

15 Capítulo 2 Introdução Teórica Nesta introdução teórica apresenta-se terminologia e notação, e descrevem-se processos e metodologias necessários à calibração de uma rede de câmaras. Em particular introduzimos: o modelo de projecção das câmaras, a detecção de pontos característicos em imagens, e a auto-localização e reconstrução de cenário em simultâneo a realizar por um robot móvel. 2.1 Modelo de uma câmara O modelo mais utilizado em visão por computador para modelar câmaras é o modelo de câmara pontual, ou pinhole camera model em terminologia inglesa (ver Fig.2.1(a)). É um modelo simples e suficientemente preciso para modelar a maior parte das câmaras equipadas com lentes de pequena angular existentes no mercado. Este modelo considera que os raios de luz emitidos ou reflectidos por um dado objecto e capturados por uma câmara pontual, passam todos por um ponto, pinhole, sendo depois projectados numa superfície plana, isto é, no plano da imagem π. O modelo de câmara pontual é assim composto por um plano, o plano da imagem, e por um ponto no espaço euclidiano, o centro da projecção. A distância entre o plano da imagem e o centro de projecção é denominada de distância focal f. A linha perpendicular ao plano da imagem que passa pelo centro de projecção é denominada de eixo óptico. O ponto de intersecção entre o eixo óptico e o plano da imagem é denominado de ponto principal ou centro da imagem. O modelo de câmara pontual é descrito em geometria projectiva como um mapeamento entre o espaço projectivo P 3 e o plano projectivo P 2. O mapeamento realiza uma projecção perspectiva. Considerando um ponto 3D, M P 3 e a respectiva imagem, m P 2, a relação dos dois pontos é dada simplesmente por: m = PM, (2.1) ou, descrevendo com mais detalhe as dimensões dos elementos da equação: x 1 x 2 x 3 = X p 11 p 12 p 13 p 14 p 21 p 22 p 23 p 24 Y Z. (2.2) p 31 p 32 p 33 p 34 1

16 6 Introdução Teórica (a) (b) (c) Figura 2.1: (a) Modelo Câmara Pontual - pinhole, (b) Representação alternativa de modelo pinhole, tendo plano de imagem à frente do centro de projecção, (c) Sensor CCD de uma câmara. Seguindo a convenção típica de dispositivos de aquisição de imagem, o modelo pinhole que a seguir detalhamos considera que o plano de imagem está à frente do centro de projecção (ver Fig.2.1(b)). O referencial ortonormado da câmara é definido por centro de projecção, eixo óptico que coincide com o eixo Z, e dois eixos, horizontal e vertical, X e Y, ligados ao desenho do sensor de imagem (ver Fig.2.1(c)). Como indicado nas equações anteriores, considerando um ponto 3D no mundo, com coordenadas (X w,y w,z w ) T, a sua projecção, no plano de imagem, em coordenadas da imagem (u,v), é obtida por aplicação da matriz de projecção P. Esta matriz, inclui os parâmetros intrínsecos, K, e parâmetros extrínsecos, [ c R W, c t W ]: λ u v 1 = K [ ] c R c W t W X w Y w Z w 1 (2.3) onde c R W é a matriz (3 3) de rotação do mundo definida no referencial da câmara, c t W são as coordenadas da origem do referencial do mundo, expressas no referencial da câmara, e K, a matriz de dimensão (3 3) é matriz de parâmetros intrínsecos da câmara. Os parâmetros intrínsecos expressos na matriz K, dependem apenas da própria câmara. Transformam as coordenadas métricas no referencial da câmara, relativas à intersecção dos raios ópticos com o plano de imagem,

17 2.2 Pontos característicos de uma imagem 7 em coordenadas discretas de imagem com unidades em pixels: f k u f k θ u 0 K = 0 f k v v = s u s u 0 0 s v v (2.4) onde, o f é a distância focal (em milímetros), o ponto (u 0,v 0 ) T (em pixels) são as coordenadas da intersecção do eixo óptico com o plano de imagem, ou ponto central, k u e k v são factores de escalamento da dimensão dos pixels, na horizontal e na vertical (inverso de milímetros), e k θ é o factor de skew entre os eixos da imagem (em radianos). Alternativamente aos parâmetros (f,k u,k v,k θ ), podem também ser utilizados os parâmetros (s u,s v ) que representam respectivamente as distâncias focais horizontal e vertical (medidas em pixel) e um parâmetro, s = f k θ de skew, em que s 0 indicará a não ortogonalidade dos eixos vertical e horizontal do sensor de imagem. Nos sensores de imagem actuais s terá normalmente valor zero. 2.2 Pontos característicos de uma imagem Para efectuar a correspondência entre as imagens é necessário em primeiro lugar localizar e identificar em cada imagem pontos de interesse que possam ser localizados e identificados nas imagens seguintes. Para este efeito foram escolhidos os pontos característicos SIFT, ou SIFT features em terminologia inglesa, introduzidas por David Lowe [10]. As razões da escolha prendem-se com o facto de as SIFT features serem actualmente consideradas o estado da arte na correspondência de pontos entre imagens, devido à sua precisão e robustez na determinação de correspondências entre imagens, suportando mudanças de escala, rotação, translação e luminosidade, para além de tolerarem níveis significativos de ruído nas imagens. A identificação de SIFT features é composta por quatro etapas principais: detecção de extremos na escala de espaço, selecção de pontos chave, atribuição de orientação aos pontos, e construção de descritores. Estes passos são descritos em detalhe nas secções seguintes Detecção de extremos na escala de espaço A primeira etapa do processo de obtenção de pontos característicos de uma imagem consiste na detecção de candidatos a pontos de interesse, os chamados pontos chave ou Keypoints em terminologia inglesa. A detecção dos pontos candidatos é realizada essencialmente por uma pesquisa de extremos locais na escala de espaço da imagem. A detecção dos extremos locais na escala de espaço compreende a aplicação de vários filtros Gaussianos, um por cada escala, e a subtracção das imagens filtradas, obtendo-se finalmente Difference of Gaussian (DoG) Images: D (x,y,σ) = L(x,y,k i σ) L(x,y,k j σ) (2.5) onde L(x,y,kσ), define a imagem original I(x,y) convolvida com o filtro passa baixo Gaussiano G(x,y,kσ) na escala kσ, isto é: L(x,y,kσ) = G(x,y,kσ) I(x,y). (2.6) Notar em particular que a imagem DoG entre as escalas k i σ e k j σ avalia essencialmente componentes espectrais de I(x, y), sendo portanto necessário manter representações (amostragens) adequadas às frequências em

18 8 Introdução Teórica Figura 2.2: Em cada oitava da escala do espaço a imagem inicial é repetidamente convolvida com uma máscara Gaussiana, de forma a criar um conjunto de imagens da escala no espaço, como se vê no lado esquerdo da imagem. As imagens na segunda oitava têm por base a sub-amostragem com factor 2 da imagem com filtragem σ = 2 da primeira oitava. causa. Para frequências elevadas é necessária a resolução máxima da imagem. Para frequências baixas podem ser utilizadas imagens sub-amostradas, e portanto optimizados recursos computacionais em termos de memória e de tempo de processamento. Para pequenos incrementos de frequência, a amostragem (resolução) deve ser mantida aproximadamente constante. David Lowe [10] propõe sub-amostragem a cada duplicação da frequência espacial, oitava, mantendo a resolução constante para frequências interiores à oitava (ver Fig.2.2). Criadas as imagens DoG podem então identificar-se candidatos a pontos chave determinando os máximos e mínimos locais no espaço de escala. A identificação é feita comparando cada pixel de uma imagem, com os seus vizinhos da mesma imagem, e com os pixels próximos nas imagens com escalas vizinhas (Fig.2.3). Se o ponto for máximo ou mínimo, para todos os pontos vizinhos, então é considerado candidato a ponto chave Selecção de pontos chave Na etapa anterior foram produzidos excessivos candidatos a pontos chave, e muitos deles são instáveis. Por esse motivo, nesta etapa é realizada uma análise detalhada aos dados dos pontos vizinhos associados a cada candidato. Com esta analise conseguimos detectar os candidatos instáveis, sendo assim descartados. Inicialmente para cada candidato a ponto chave, é feita uma interpolação dos dados da vizinhança, de forma a determinar com maior precisão a sua posição. Esta interpolação é feita usando a expansão quadrática de Taylor: D (x) = D + T DT x x xt 2 D x 2 x (2.7) Para efectuar a localização de um extremo ˆx, é determinada a derivada deste funcional em ordem a x. Igualandose a derivada a zero, é possível obter o extremo, resolvendo esta equação. Se o resultado obtido for maior do que

19 2.2 Pontos característicos de uma imagem 9 Figura 2.3: O máximo e o mínimo local das imagens da diferença de Gauss, são detectadas comparando um pixel (marcado por X na imagem) com os seus 26 vizinhos (marcados por um circulo na imagem), numa região 3x3 no qual se utiliza as imagens com escalas adjacentes. 0.5, em qualquer dimensão, então é uma indicação de que o extremo deste ponto chave, está perto de outro candidato a ponto chave. Neste caso, o candidato é alterado, e a interpolação é realizada sobre esse ponto. Caso contrário, a compensação é adicionada ao seu candidato a ponto chave, de forma a obter a interpolação da estimativa para a localização do extremo. De forma a rejeitar os pontos chave com baixo contraste, o valor da segunda ordem da expansão de Taylor, D(x), tem que ser inferiores a 0.03, desta forma o candidato a ponto chave é descartado. Caso contrário o ponto chave é mantido, e a sua localização torna-se definitiva, sendo dada por y + ˆx na escala σ, onde y é o local original do ponto chave à escala σ. A função da diferença de Gauss irá obter resultados fortes ao longo das fronteiras, mesmo que o candidato a ponto chave seja instável para pequenas quantidades de ruído. Por conseguinte, a fim de aumentar a estabilidade, é necessário eliminar os pontos chave que têm localizações mal definidas, mas têm respostas muito fortes nas fronteiras. Para os extremos mal definidos da função da diferença de gauss, a principal curvatura, em toda a fronteira, seria muito maior do que a principal curvatura ao longo dela. Para encontrar estas curvaturas principais, iremos calcular os valores próprios da matriz Hessian de segunda ordem H. H = [ D xx D xy D xy D yy ] (2.8) Os valores próprios de H são proporcionais às principais curvaturas de D. Considerando que α é o maior valor próprio, e o β é o menor valor próprio, então a razão entre os dois valores próprios é r = α β. O traço de H, ou seja, D xx +D yy, é dado pela soma dos dois valores próprios, enquanto que com D xx D yy +Dxy 2 determina-se o determinante. A razão R = Tr(H)2 (r+1)2 Det(H) é igual a R = r, e depende, apenas, da razão entre os valores próprios. R toma um valor mínimo quando os valores próprios são iguais. Por isso quanto maior for a diferença entre os valores próprios, maior é a diferença entre as curvaturas principais de D, e maior será o valor de R. Pode-se concluir que se um um valor próprio for superior a (r th+1) 2 (Lowe usa r th = 10), então este candidato a ponto chave é rejeitado. r th

20 10 Introdução Teórica Orientação em pontos chave Nesta etapa, a cada ponto chave é atribuída uma ou mais orientações, baseadas nas direcções do gradiente local da imagem. Esta etapa é fundamental, para a invariância de rotação do descritor do ponto chave. Para uma imagem original convolvida com um ruído Gaussiano L(x, y), na escala σ, o gradiente de magnitude m(x,y), e a orientação θ(x,y), são determinados pela Eq:2.10. m(x,y) = (L(x + 1,y) L(x 1,y)) 2 + (L(x,y + 1) L(x,y 1)) 2 (2.9) ( ) (L(x,y + 1) L(x,y 1)) θ (x,y) = tan 1 (L(x + 1,y) L(x 1,y)) (2.10) A magnitude e a orientação do gradiente são calculados, para cada pixel numa região vizinha e em redor do ponto chave da imagem original, convolvida com um ruído Gaussiano L(x,y). É criado um histograma para a orientação, no qual é composto por 36 blocos de 10 o cada, em que cada amostra da vizinhança é adicionada ao histograma. Os picos do histograma vão corresponder a orientação dominante, que vão ser atribuídos aos pontos chave. No caso de serem atribuídas mais do que uma orientação ao ponto chave, então é criado um novo ponto chave com a mesma localização, e a dimensão original, mas com uma orientação diferente Descritores em pontos chave Nas etapas anteriores foi identificada a localização à escala, e a orientação de pontos chave. A variância existente nas características destes pontos asseguram a unicidade local (na imagem) em relação a localização, escala, e orientação. Nesta quarta e última etapa pretendem-se criar vectores descritores associados a pontos chave, que sejam bastante distintivos entre imagens e portanto permitam o registo de correspondências minimizando as possibilidades de erro. O processo desta etapa é bastante semelhante ao da etapa anterior, e começa por criar um conjunto de histogramas para as orientações dos pixels (4 4) vizinhos. Desta forma são obtidos 16 histogramas, tendo cada histograma 8 blocos, o que faz com que os vectores descritores sejam compostos por = 128 elementos. Estes vectores são normalizados de forma a serem invariantes, perante alterações de luminosidade. Realizadas as quatro etapas constituintes que compõem a obtenção de pontos característicos SIFT, passa então a ser possível encontrar pontos correspondentes entre imagens obtidas em poses distintas. Basta para tal encontrar pontos chaves em ambas as imagens e comparar os respectivos descritores, vectores de características, com base em uma métrica de comparação de vectores. Estes pontos correspondentes serão a base do processo auto-localização e reconstrução do cenário que a seguir se detalha. 2.3 Auto-localização e reconstrução do cenário O método utilizado para efectuar a calibração de câmaras tem por base uma metodologia visual de autolocalização e reconstrução de cenários para robots móveis, em terminologia inglesa visual Simultaneous Localisation and Mapping, vslam. Como o nome indica, vslam efectua a auto-localização do robot e reconstrói o cenário, desconhecendo a posição onde o robot inicia o movimento e o mapa do mundo no qual está localizado. O vslam utiliza a câmara incorporada no robot para captar pontos de referência, baseados em pontos de chave

21 2.3 Auto-localização e reconstrução do cenário 11 Figura 2.4: O robot encontra-se a obter medidas da sua posição X v, e da posição dos pontos de referência p i detectados nas imagens adquiridas ao longo do movimento. Pode-se ver de uma forma simplificada na Fig.2.4 o ambiente em que o SLAM funciona Modelo do Processo Na Fig.2.4 o X v representa o vector de estado da posição do robot, que irá ser utilizado como base para escrever a equação que modela o movimento do robot x v (K + 1) = F v (K) x v (K) + u v (K + 1) + v v (K + 1) (2.11) onde F v (K) representa a matriz da dinâmica, u v (K) é um vector de controlo de entrada, e v v (K) é um vector temporal, não correlacionado do erro do ruído com media zero. Na Fig.2.4 o p i, representa a localização dos pontos de referência (o vslam considera que todos os pontos de referência são fixos). O vector de estados dos pontos de referência é dado pela equação: p i (K + 1) = p i (K) = p i. (2.12) O vector de estado aumentado x(k) contém a informação do vector de estado do robot, e do vector de estado de todos os pontos de referência, sendo assim dado pela Eq [ x(k) = x T v (k) p T 1... p T N ] T (2.13) O vector de estado aumentado, do modelo de transição é descrito pela Eq.2.14 e Eq.2.15.

22 12 Introdução Teórica x v (k + 1) p 1. = F v (k) I p x v p 1. + u v (k + 1) 0 p1. + v v (k + 1) 0 p1. (2.14) p N I pn p N 0 pn 0 pn x(k + 1) = F(k)x(k) + u(k + 1) + v(k + 1) (2.15) Modelo de Observação O robot encontra-se equipado com uma câmara, com a qual são obtidas diversas imagens de pontos, que vão ser classificados como pontos de referência. A informação adquirida dos pontos de referência, irá ser guardada na seguinte forma Eq z i (k) = H i (k) + w i (k) = H pi p H v x v (k) + w i (k) (2.16) Onde, w i (k) é um vector temporal não correlacionado do erro do ruído com media zero, H i é a matriz das observações, e relaciona a saida do sensor z i com o vector de estado x(k) quando observa diversos pontos de referência Processo de Estimação De forma a solucionar o problema da estimação do vslam, é utilizado um filtro de Kalman, que efectua uma estimação da localização do robot, e dos pontos de referência. O filtro de Kalman, calcula recursivamente estimativas do vector de estado x(k), que está a evoluir de acordo com a Eq.2.14, e que está a ser observado, de acordo com o modelo de observação, descrito na Eq O filtro de Kalman, calcula uma estimativa que é equivalente à média condicional ˆx(p q) = E[x(p) Z q ] (p q) onde Z q é a sequência de observações tiradas até ao instante de tempo q. O erro de estimação é estipulado por x(p q) = ˆx(p q) x(p). O algoritmo recursivo do filtro de Kalman, realiza-se em três fases: 1. Predição: Tendo em conta os modelos descritos nas Eq.2.14 e Eq.2.16, e uma estimativa ˆx(k k) do estado x(k) no instante de tempo k, juntamente com uma estimativa da covariância P(k k), o algoritmo gera inicialmente uma previsão para a estimativa do estado, e para o estado de observação (relativa a todos os pontos de referência), e estima o estado de covariância no instante de tempo k + 1, de acordo com a seguinte Eq ˆx(k + 1 k) = F(k)ˆx(k k) + u(k) (2.17) ẑ i (k + 1 k) = H i (k)ˆx(k + 1 k) (2.18) P(k + 1 k) = F(k)P(k k)f T (k) + Q(k) (2.19) 2. Observação: Seguindo a previsão, uma observação z i (k + 1) de todos os pontos de referência do verdadeiro estado x(k + 1) é construído de acordo com a Eq Assumindo uma associação correcta dos pontos de

23 2.3 Auto-localização e reconstrução do cenário 13 referência, uma inovação é calculada do seguinte modo υ i (k + 1) = z i (k + 1) ẑ i (k + 1 k) (2.20) juntamente com uma inovação associada dada pela matriz covariância S i (k + 1) = H i (k)p(k + 1 k)h T i (k) + R i (k + 1) (2.21) 3. Actualização: O estado estimado, e o correspondente estado da covariância estimada, são actualizados de acordo com ˆx(k + 1 k + 1) = ˆx(k + 1 k) + W i (k + 1)υ i (k + 1) (2.22) P(k + 1 k + 1) = P(k + 1 k) W i (k + 1)S i (k + 1)Wi T (k + 1) (2.23) onde o ganho da matriz W i (k + 1) é dado por W i (k + 1) = P(k + 1 k)h T i (k)s 1 i (k + 1) (2.24) A actualização do estado estimando da matriz de covariância, é de primordial importância para a utilização do vslam. Compreender a estrutura, e a evolução do estado da matriz de covariância, é a componente-chave para a utilização do vslam.

24 14 Introdução Teórica

25 Capítulo 3 Calibração de uma rede de câmaras Definindo rede de câmaras como um conjunto de câmaras fixas, posicionadas arbitrariamente no cenário, a calibração da rede consiste na estimação de parâmetros intrínsecos e os parâmetros extrínsecos (localização e orientação), de cada uma das câmaras pertencentes à rede. Os parâmetros extrínsecos, são estimados em relação a um referencial global. Para a obtenção da calibração, não é assumido qualquer tipo de sobreposição de imagens das diversas câmaras da rede[4]. Foram testadas duas metodologias distintas, de forma a efectuar a calibração da rede de câmaras. 1. A primeira estratégia baseia-se num par de imagens, uma imagem captada por uma câmara da rede, F i e outra imagem captada pela câmara móvel, C i. Ambas as imagens devem ter uma grande sobreposição no cenário observado (notar que pode não existir sobreposição de campos de visão das câmaras fixas). Ver Fig.3.1. Para utilizar esta estratégia é necessário ter o conhecimento prévio dos parâmetros intrínsecos das câmaras da rede. 2. A segunda metodologia abordada, tem como base a posição tridimensional de pontos de referência, e as coordenadas nas imagens das câmaras fixas desses mesmos pontos, que são vistos tanto pela câmara móvel, C i, como pelas câmaras estáticas, F i, como se pode ver na Fig3.1. Assume-se, nestas duas metodologias, que a câmara móvel está calibrada e que ao longo do seu movimento pode ser redireccionada para adquirir imagens semelhantes, às das câmaras fixas (i.e. com grandes sobreposições dos campos de visão). Não é necessário que o robot seja visto pelas câmaras fixas. Considera-se sim, que o robot tem as suas próprias coordenadas globais, e que se consegue localizar ao longo do seu deslocamento. Existem diversos métodos para auto-localizar robots moveis, como por exemplo por odometria, GPS diferencial ou SLAM / vslam [5, 8]. Neste trabalho foi adoptado o método de vslam (secção 2.3). Ambas as metodologias de calibração compreendem 2 etapas essenciais: (i) estimação das matrizes de projecção que representam as câmaras da rede, F i no referencial do mundo (Fig.3.1); (ii) obtenção dos parâmetros dessas mesmas câmaras.

26 16 Calibração de uma rede de câmaras Figura 3.1: Rede de câmaras, formada por 3 câmaras estáticas. Para calibrar a rede, é utilizado o robot incorporado com uma câmara 3.1 Calibração baseada num par de imagens Nesta secção descreve-se uma das estratégias que podem ser utilizadas de forma a efectuar a calibração de uma rede de câmaras. Esta estratégia baseia-se na utilização da geometria epipolar, de forma a obter a matriz Fundamental que representa a matriz de projecção da câmara, e posteriormente é efectuada a factorização da matriz Essencial de forma a obter os parâmetros de calibração da câmara. A aplicação deste método implica que os parâmetros intrínsecos das câmaras da rede sejam conhecidos,tal como as coordenadas dos pontos chaves determinados pelas SIFT nas imagens adquiridas pelas câmaras da rede. A geometria epipolar é a geometria de projecção entre dois planos de imagem. Esta geometria é independente do panorama da estrutura, e só depende dos parâmetros intrínsecos e extrínsecos das câmaras que obtêm as imagens [7]. Como se pode ver na Fig.3.2 a geometria epipolar é constituída por um plano epipolar formado a partir de três pontos: os dois centros ópticos o 1 e o 2 e um ponto p visível pelas duas câmaras. Esse plano intersecta o plano de imagem das câmaras e origina uma recta epipolar l. A recta l 1 está limitada pelo epipolo e 1 (ponto na imagem da câmara 1 onde se vê o centro óptico da câmara 2) e pelo ponto na imagem x 1 (ponto na imagem 1 onde se vê o ponto p). O mesmo acontece se falarmos num ponto da imagem da câmara 2. A geometria epipolar permite retirar uma dimensão ao espaço de procura do ponto correspondente, visto que o ponto correspondente na segunda imagem só pode estar numa linha da imagem e não em qualquer ponto do plano da imagem. Dado ser nulo o volume de um plano pode-se escrever: o 1 p [ o 1 o 2 o 2 p] = 0 (3.1) Assim dado um ponto da imagem 1, x 1 então o seu correspondente na outra imagem, x 2 tem de estar sobre recta epipolar l 2 e pode ser calculado por: x 1 [t] R x T 2 = 0 (3.2)

27 3.1 Calibração baseada num par de imagens 17 Figura 3.2: Duas projecções x 1,x 2 do ponto p. Transformação Euclidiana entre duas imagens dada por (R,T). A intersecção da linha (o 1,o 2 ) com cada plano de imagem tem o nome de epipolo e 1,e 2. As linhas l 1, l 2 são as linhas epipolares, e são a intersecção entre o plano (o 1,o 2,p) e os dois planos de imagem. onde, R é uma matriz rotação entre câmaras, e t é o vector translação entre câmaras, [t] é uma forma matricial baseada em t que permite realizar um produto externo Reescrevendo a Eq.3.2 é assim obtida a matriz fundamental, F, que é uma matriz (3 3) e de característica 2. x T 2 Fx 1 = 0 (3.3) A matriz Essencial obtêm-se da mesma forma da matriz Fundamental, mas na equação da matriz Essencial Eq.3.4 são retirados os parâmetros intrínsecos aos pontos correspondentes, Eq.3.5. ˆx T 2 Eˆx 1 = 0 (3.4) ˆx = K i x. (3.5) Tal como a matriz Fundamental, a matriz Essencial é uma matriz (3 3) de característica 2. Podemos relacionar assim a matriz Fundamental com a matriz Essencial pela equação: E = K 1 FK 2 (3.6) A estimação de E é então realizada retirando os parâmetros intrínsecos ao pontos correspondentes e resolvendo o problema de minimização: E = arg E min n ) T 2 (ˆx 2j Eˆx 1j j=1 (3.7) s.a. E F = 1 Este problema de minimização é resolvido usando um conjunto de equações lineares da forma Ae = 0 onde e é um vector coluna de nove entradas que contem a solução da matriz E. A matriz de medição A é descrita por, Eq. 3.8:

28 18 Calibração de uma rede de câmaras [ x 1 x 2 x 1 y 2 x 1 y 1 x 2 y 1 y 2 y 1 x 2 y 2 1 A ] n e 11 e 12 e 13 e 21 e 22 e 23 e 31 e 32 1 e = 0 (3.8) e tem como entradas as coordenadas dos pontos correspondentes ˆx 1 e ˆx 2. A matriz Essencial E é uma reformulação do vector solução e, cujo valor é determinado à parte do factor escala, Eq Isto quer dizer que o sistema tem ainda a restrição de e = Factorização E = e 11 e 12 e 13 e 21 e 22 e 23 e 31 e (3.9) A factorização da matriz Essencial permite obter os parâmetros de rotação, R, e de translação, t, entre duas câmaras. É aplicada a factorização SVD que subdivide a matriz Essencial em três matrizes Eq.3.10, onde U e V são matrizes ortogonais, D é matriz diagonal. A matriz diagonal mostra que E é de rank 2 pois D = diag(1,1,0). [U,D,V ] = SV D(E) (3.10) E = UDV T (3.11) E = RS (3.12) A matriz Essencial pode ser também decomposta na multiplicação da matriz rotação R com a matriz antisimétrica S. A matriz rotação R é determinada segundo a Eq.3.14 e a matriz anti-simétrica S é determinada segundo a Eq.3.15, onde Z e Y são duas matrizes descritas a seguir Eq A matriz S contém o vector t também, Eq O vector t pode ser encontrado de duas maneiras. Por S, Eq.3.16, ou através da terceira coluna de U, Eq Z = Y = (3.13) R = UY V T ou R = UY T V T (3.14) S = V ZV T (3.15)

29 3.2 Calibração baseada em uma imagem e vslam 19 S = Vector translação tirando da matriz anti-simétrica S: 0 t z t y t z 0 t x t y t x 0 (3.16) t = (t x,t y,t z ) (3.17) Vector translação tirando da terceira coluna de U: t = U (:,3) (3.18) A factorização da Essencial origina duas hipóteses para a matriz rotação, e origina um vector translação com norma igual a 1. Desta forma, existem quatro combinações possíveis [R,t]. Para encontrar a estimativa correcta é necessário reconstruir um ponto tridimensional e analisar se é positiva a profundidade desse ponto em relação às duas câmaras, isto é, se o ponto está à frente das duas câmaras, Fig.3.3. Figura 3.3: Quatro possíveis soluções da estimação de E. Entre a solução da esquerda e da direita, a baseline é invertida. Entre as soluções de cima e de baixo, a câmara B é rodada 180 o. Notar que só em (a) é que o ponto está a frente das duas câmaras. 3.2 Calibração baseada em uma imagem e vslam Nesta secção são abordados dois métodos para estimar as matrizes de projecção das câmaras da rede. Estes métodos assumem que: (i) existe sobreposição entre imagens das câmaras fixas e imagens das câmaras moveis, (ii) foi obtida uma boa estimação da estrutura do cenário com o vslam.

30 20 Calibração de uma rede de câmaras Primeiro método de estimação da matriz de projecção Para utilizar este método é necessário ter informação da posição 3D de pontos de referencia (em relação ao referencial do mundo) e as respectivas coordenadas 2D dos pontos de referencia nas imagens das câmaras da rede. Com estes dados podem ser obtidas as matrizes de projecção das câmaras da rede. A projecção de um ponto de referencia 3D, M, no referencial do mundo, para um ponto da imagem, m, é determinado por: m = P M (3.19) onde P representa a matriz de projecção, e m e M definem as coordenadas homogéneas dos pontos da imagem e dos pontos no mundo. Reorganizando a equação de projecção de um ponto de forma a M = [M;1] = [X Y Z 1] T, e as coordenadas na imagem como m = λ[u v 1] T, e considerando P = [p T 1 p 14 ;p T 2 p 24 ;p T 3 p 34 ], onde p T 1,p T 2,p T 3 são vectores de dimensão 1 3, considerando p i4 escalares, e assumindo p 34 = 1, irá ser então finalmente reescrita a Eq.3.19 em duas equações com onze variáveis: { M T.p p p 2 + 0p 24 u.m T.p 3 = u 0.p p 14 + M T.p 2 + 1p 24 v.m T.p 3 = v. (3.20) Assim usando n pontos, serão criadas 2n equações com 11 variáveis. Com o pressuposto de determinar as 11 variáveis, são necessários pelo menos 6 pontos correspondentes. A Eq.3.20 repetida para os n pontos, pode ser reescrita de forma linear matricial: M1 T u 1 M1 T 0 0 M 1 T 1 v 1 M1 T M2 T u 2 M2 T 0 0 M 2 T 1 v 2 M2 T..... Mn T u n Mn T p 1 p 14 p 2 p 24 p 3 = u 1 v 1 u 2 v 2. u n (3.21) 0 0 M T n 1 v n M T n v n que pode ser resolvida por p = (A T A) 1 A T b. Reorganizando o vector [p 1 ; p 14 ;p 2 p 24 ;p 3 ;1], em uma matriz de dimensão 3 4, obtemos finalmente a matriz de projecção de uma câmara de rede Segundo método de estimação da matriz de projecção Neste segundo método tal como no anterior, é necessário ter informação da posição 3D dos pontos de referencia (em relação ao referencial do mundo) e as respectivas coordenadas 2D dos pontos de referencia nas imagens das câmaras da rede. Irá ser utilizada a equação Eq.2.1 que é também é utilizada no primeiro método, de forma a relacionar os pontos 2D com os pontos 3D, com a matriz de projecção da câmara. Esta matriz tal como no primeiro método irá ser de dimensão 3 4. A equação Eq.3.19 pode ser reescrita na forma m P M = 0, utilizando coordenadas homogéneas. Esta equação irá permitir uma solução linear simples de P, na qual as colunas j da matriz P podem ser descritas por P jt, sendo assim dada pela Eq.3.22.

31 3.2 Calibração baseada em uma imagem e vslam 21 P M i = P 1T Mi P 2T Mi P 3T Mi (3.22) ( ) T Se for considerado que m i = x i, y i, w i, então m P M = 0 pode ser dado pela Eq.3.23 m i P M i = y i P 3T Mi w i P 2T Mi w i P 1T Mi x i P 3T Mi x i P 2T Mi y i P 1T Mi (3.23) Como P j T Mi = M T i P j para j = 1,...,3, temos então um conjunto de três equações que correspondem as entradas da matriz P. Em forma matricial temos: 0 T w i MT i y i MT i w i MT i 0 T x i MT i y i MT i x i MT i 0 T P 1 P 2 P 3 = 0 (3.24) Como alternativa, pode-se optar por utilizar apenas as duas primeiras equações isto porque as três equações são linearmente dependentes. [ 0 T w i MT i y i MT i w i MT i 0 T x i MT i ] P 1 P 2 P 3 = 0 (3.25) Para um conjunto de n pontos correspondentes, irá ser obtida uma matriz A de dimensão 2n 12, na qual a matriz P é calculada como a solução de AP = 0. São necessários pelo menos 6 pontos correspondentes para determinar P Estimação da pose das câmaras Depois de ter sido obtida a matriz de projecção da câmara pelo primeiro ou pelo segundo método, pretende-se obter os parâmetros intrínsecos e extrínsecos da câmara. A estrutura da matriz de projecção da câmara, é dada por: P = K[R C] (3.26) onde K é a matriz dos parâmetros intrínsecos da câmara, R é a orientação da câmara e C é o centro da câmara. De forma a estimar estes parâmetros vamos inicialmente remover da matriz P os parâmetros intrínsecos, a matriz K. Para conseguirmos fazer isto, teremos que percorrer três etapas: 1. Efectuar uma factorização QR; 2. Transformar QR em RQ; 3. Corrigir o sinal de K;

32 22 Calibração de uma rede de câmaras Factorização QR Para efectuar a factorização QR foram estudados e implementados 3 métodos capazes de transformar uma matriz A com colunas linearmente independentes, em uma matriz ortonormada Q e uma matriz triangular superior R, tal como se pode observar na seguinte equação: [ A = ] [ v 1 v 2 v 3 = ] q 1 q 2 q 3 r 11 r 12 r 13 0 r 22 r r 33 = QR (3.27) A decomposição consiste portanto na determinação de é pretendido determinar o q 1, q 2, q 3, r 11, r 12, r 13, r 22, r 23 e r 33. Para este efeito foram então implementados e estudados os seguintes métodos de factorização: 1. Factorização de Gram-Schmidt 2. Transformação de Householder 3. Matrizes de rotação de Givens 1. Factorização de Gram-Schmidt Para implementar o método de factorização de Gram-Schmidt, são utilizadas as colunas da matriz A, sendo utilizado inicialmente a primeira coluna de A de forma a determinar os valores da primeira coluna de Q e de R (q 1 e r 11 ), ficando assim: r 11 = v 1 v 1 é a norma de v 1 q 1 = v1 r 11 Para determinar a segunda coluna de Q e de R (q 2, r 12 e r 22 ) é utilizada a 2 a coluna de A e primeira coluna estimada da matriz Q(q 1 ): r 12 = q 1.v 2, q 1.v 2 é o produto interno entre os dois vectores r 22 = v 2 r 12 q 1 q 2 = (v2 r12q1) r 22 Por fim para determinar a terceira coluna de Q e de R (q 3, r 13, r 23 e r 33 ), é utilizada a 3 a coluna de A, e as duas primeiras colunas estimadas para a matriz Q, sendo assim as três entradas da 3 a coluna de R dada por: r 13 = q 1.v 3, q 1.v 3 é o produto interno entre os dois vectores r 23 = q 2.v 3, q 2.v 3 é o produto interno entre os dois vectores r 33 = v 3 r 13 q 1 r 23 q 2 q 3 = (v 3 r 13 q 1 r 23 q 2 ) Assim desta forma conseguimos determinar a partir de uma matriz A duas matrizes, no qual a primeira é uma matriz ortonormada, e a segunda uma matriz triangular superior.

33 3.2 Calibração baseada em uma imagem e vslam Transformação de Householder A ideia da factorização de Householder é similar ao método de eliminação de Gauss. Este método baseia-se numa propriedade, na qual se utiliza um vector e reflecte-se sobre um plano, e é com base nesta propriedade que se determina a matriz Q e R. Assim de forma a efectuar a factorização, vamos considerar que [ v = A(:,i) + sign(a(:,i)) A(:,i) ] T no qual podemos verificar que [ H v A(:,i) = +sign(a(:,i)) A(:,i) ] T onde H v geometricamente é a reflexão no plano definido por v, e podemos assim utilizar estas matrizes para determinar a matriz R, e a matriz Q. Assim inicialmente teremos que determinar v 1 desta forma: [ v 1 = A(:,1) + sign(a(:,1)) A(:,1) ] T e de seguida vamos determinar H v1 = eye(3) 2v 1v T 1 v 1 v T 1 [ ] T Agora vamos determinar [ v 2 = H v1 (2 : 3,2) + sign(h v1 (2,2)) H v1 (2 : 3,2) 1 0 ] T De forma a simplificar a equação que determina a matriz H v2, vamos considerar uma matriz auxiliar H v2aux = eye(2) 2v 2v T 2 v 2 v T 2 [ 1 0 ] T utilizando assim esta matriz auxiliar [ [ H v2 = ] [ 0 H v2aux (1,1) H v2aux (1,2) ] [ 0 H v2aux (2,1) H v2aux (2,2) ] ]. Agora que obtivemos as matrizes de Householder já podemos obter as matriz Q e R, da seguinte forma: Q = H v1 H v2 R = H v1 H v2 A 3. Matrizes de rotação de Givens Este método de factorização é baseado nas matrizes de rotação de Givens segundo os três eixos das coordenadas que são:

34 24 Calibração de uma rede de câmaras Q z = cos(θ) sin(θ) 0 sin(θ) cos(θ) Q y = cos(θ) sin(θ) 0 sin(θ) cos(θ) Q x = cos(θ) sin(θ) 0 sin(θ) cos(θ) estas matrizes irão ser multiplicadas à direita da matriz A, que se pretende decompor, de forma a quando é feita a multiplicação das três matrizes de rotação de Givens, se obter uma matriz triangular superior, assim: Quando se multiplica Q x por A, vamos colocar 0 na entrada A 32 ; Quando se multiplica Q y por A, vamos colocar 0 na entrada A 31 ; Quando se multiplica Q z por A, vamos colocar 0 na entrada A 21 ; Conseguimos obter assim a matriz ortonormada Q = Q T z Q T y Q T x, e matriz triangular superior AQ z Q y Q x = R. Transformar QR em RQ Nesta subsecção pretendemos converter o produto de duas matrizes, no qual a primeira é uma matriz ortonormada e a segunda uma triangular superior, pelo produto de duas matrizes, no qual a primeira é uma triangular superior e a segunda uma ortonormada. Factorização QR: Q U Factorização RQ: K R Para efectuar esta transformação vamos recorrer a uma matriz auxiliar S, que é definida da seguinte forma: S = esta matriz respeita as propriedades S T = S e S.S = I (i.e. S 1 = S). Aplicando uma factorização QR a P T 1:3,1:3.S, e fazendo algumas operações algébricas, tais como, P 1:3,1:3 = S.U T.Q T = S.U T.S.S.Q T = (SU T S).(SQ) = K.R. K = S.U T.S, e R = S.Q T. Com estas operações conseguimos assim obter uma factorização RQ, ficado assim

35 3.3 Cenário virtual e criação de Ground Truth 25 Correcção da diagonal de K Para finalizar a estimação da pose da câmara, é necessário efectuar uma correcção à diagonal da matriz K. Isto deve-se ao facto de quando a matriz K é gerada existir uma ambiguidade em relação ao sinal das entradas correspondestes à diagonal. Esta ambiguidade é retirada tendo em conta que as entradas da diagonal da matriz têm necessariamente que ser positivas. Assim para resolver este problema cria-se uma matriz D, no qual a sua diagonal contem os sinais das entradas da diagonal da matriz K D = diag{sign(k 1,1 ),sign(k 2,2 ),sign(k 3,3 )} assim utilizando esta matriz é possível corrigir a ambiguidade existente na factorização da seguinte forma: K K.D, R D.R, t = K 1.P 1:3,4. onde a seta significa que a variável à esquerda toma o valor da expressão à direita. No anexo A, mostra-se uma implementação realizada em Matlab do algoritmo de factorização de uma matriz de projecção, baseada na factorização RQ do próprio Matlab. 3.3 Cenário virtual e criação de Ground Truth Para se poder efectuar testes aos métodos utilizados para realizar a calibração foi necessário criar um ambiente de simulação, no qual fosse possível efectuar uma navegação com uma câmara móvel num ambiente que permitisse a detecção de pontos chave nas imagens adquiridas pela câmara móvel e pelas câmaras da rede. De forma a criar o ambiente de simulação foi utilizado VRML (Virtual Reality Modeling Language), o motivo pelo qual foi escolhida esta ferramenta deve-se ao facto de desta forma ser possível determinar o ground truth do ambiente de simulação, e assim poder validar os nossos resultados. O VRML permite descrever objectos (polígonos) 3D, e os agrupar de forma a obter objectos mais complexos. Este processo é feito através de nós definidos como shapes, que são constituídos por dois atributos, a geometria e a aparência, que permite definir a estrutura tridimensional de um objecto. Através de um nó Transform é possível rodar e transladar o objecto para quais queres coordenadas do mundo VRML. Foi assim criado um ambiente de simulação no qual se criou uma sala em que se pretende simular o interior de uma galeria de exposições de quadros de Picasso. A decisão de criar uma galeria para a nossa simulação, deveuse ao facto de as pinturas de Picasso serem compostas por texturas bastante boas para a utilização das SIFT nas imagens adquiridas no interior destas galerias. A sala criada para efectuar as simulações tinha 10 5 metros de área e 3 metros de altura. O interior desta sala esta decorada com quadros nas suas paredes, e por quadros espalhados no interior da sala Ground truth No propósito de efectuar uma viável validação dos resultados obtidos dos testes realizados em ambientes desenvolvidos com o VRML, é necessário obter um Ground truth, isto é, conseguir obter informação em relação a localização 3D dos pontos de referencia, de forma a conseguirmos comparar com a estimativa de localização desses mesmos pontos determinados pelo método de estimação.

36 26 Calibração de uma rede de câmaras Figura 3.4: Imagens do interior da sala com exposições de quadros de Picasso Apesar do VRML ser uma ferramenta muito boa para desenvolver ambientes de simulação, tem o problema de não permitir obter informações precisas de pontos do ambiente desenvolvido, possibilitando apenas saber a posição do robot e das câmaras da rede. É assim necessário desenvolver um método para obter a localização 3D dos pontos de referencia. Utilizando a informação que é possível adquirir no VRML, mais concretamente os parâmetros extrínsecos e os parâmetros intrínsecos da câmara do robot, as imagens adquiridas pelo robot ao longo do seu movimento, as coordenadas 2D dos pontos de referencia nas imagens adquiridas pelo robot ao longo do seu movimento, e a lista de polígonos que tinha sido desenvolvida de forma a criar a sala em VRML. Com toda esta informação pode então ser efectuada a back-projection dos pontos característicos identificados pelas SIFT nas imagens adquiridas pelo robot, isto é, dado um ponto x da imagem adquirida pelo robot, podemos determinar um conjunto de pontos no espaço (recta) que correspondem a este ponto. O conjunto de pontos no espaço correspondem a uma linha recta no espaço que passa no centro da câmara e pelo ponto 2D da imagem que esta localizada a uma distancia focal do centro da câmara. Esta linha tem um ponto que irá coincidir com um dos planos dos polígonos da nossa lista, como se pode ver na Fig.3.5. Para determinar os pontos da linha no espaço, é necessário criar uma equação da recta que une o centro da câmara com o ponto da imagem. Esta equação é composta pelo centro da câmara, onde PC = 0 (P matriz da câmara e C centro da câmara), e pelo ponto P + x, em que P + é a pseudo-inversa da matriz P e é dado por P + = P T (PP T ) 1, assim a linha é formada pela junção destes dois pontos, e é dada pela equação: X (λ) = P + x + λc (3.28) Neste caso, como as câmaras são consideradas finitas, pode ser utilizado uma expressão alternativa, conside-

37 3.3 Cenário virtual e criação de Ground Truth 27 Figura 3.5: Exemplo de back-projection de um ponto(pimg) na imagem da câmara. O ponto C identifica o centro da câmara. rando P = [M p 4 ], e o centro da câmara passa a ser dado por C = M 1 p 4. Fazendo o back-projection de um pondo da imagem x, vamos intersectar um plano no ponto D = ((M 1 x) T,0), onde D vai providenciar o segundo ponto a utilizar para definir a nova expressão da recta, podendo assim escrever a seguinte Eq.3.29 da recta. X (µ) = µ ( M 1 x 0 ) + ( M 1 p 4 1 ) = ( M 1 (µx p 4 ) 1 ) (3.29) Finalmente, é necessário verificar se o ponto se encontra à frente ou atrás do plano principal da câmara. Considerado que a matriz da câmara P = [M p 4 ] e que o ponto da imagem x = w(x,y,1) T = PX, em que X = (X,Y,Z,1) T. Então w = P 3T X = P 3T (X C) se PC = 0. Se a matriz da câmara estiver normalizada de forma a que o detm > 0 e m 3 = 1 (m3 é a direcção do raio principal), então pode-se interpretar o w como a profundidade do ponto X a partir centro da câmara, com a direcção do raio principal. Considerando então um ponto 3D X = [X Y Z 1] T e a matriz da câmara P = [M p 4 ] para uma câmara finita, e supondo que P[X Y Z 1] T = w[x y 1] T, então: depth (X : P) = sign(det M)w T m 3 é a profundidade do ponto X em frente ao plano principal da câmara Ruído de correspondência e erro de reconstrução O registo de pontos entre imagens, realizado pela correspondência de pontos característicos SIFT, apesar da robustez está naturalmente sujeito a erro de localização dos próprios pontos característicos. A back-projection permite avaliar este erro de correspondência. Neste sentido, tendo duas imagens nas quais foram detectados pontos característicos SIFT, e tendo realizado a correspondência dos pontos, podemos determinar um erro de correspondência realizando a back-projection dos pontos de uma imagem e re-projectando na outra. No capítulo de resultados experimentais este aspecto será mais detalhado. Para além do registo de pontos, também a reconstrução realizada pelo vslam está naturalmente sujeita a ruído, não só pelo facto de partir de pontos característicos que têm intrinsecamente ruído mas também pelo facto de vslam, como qualquer processo, incorporar erro numérico. Uma forma de avaliar o erro de reconstrução de estrutura 3D e de auto-localização da câmara móvel passa de novo pela utilização de back-projection. Os pontos identificados numa imagem, e seguidos nas seguintes, são transformados em pontos 3D. Estes pontos 3D são

38 28 Calibração de uma rede de câmaras também reconstruídos pelo vslam. A diferença entre os valores 3D será uma estimativa do erro. Também este aspecto será mais detalhado no capítulo de resultados experimentais.

39 Capítulo 4 Resultados Nesta secção mostram-se resultados de diversos testes efectuados aos métodos de calibração de uma rede de câmaras propostos nos capítulos anteriores. Os testes estão divididos em várias classes: (i) calibração de parâmetros intrínsecos da câmara móvel, (ii) teste de calibração de câmaras em rede por factorização da matriz essencial, (iii) estudo do ruído na localização de pontos característicos (SIFT), (iv) estudo do ruído na reconstrução 3D de pontos característicos, (v) teste de calibração de câmaras em rede baseado em uma imagem e vslam. 4.1 Calibração de parâmetros intrínsecos Apesar de nesta dissertação serem essencialmente considerados cenários virtuais criados a partir de VRML, e portanto serem conhecidos com grande precisão parâmetros do cenário e das câmaras inseridas no cenário, na prática pequenas diferenças de utilização do software de rendering implicam por exemplo incerteza na calibração de parâmetros intrínsecos, nominal, das câmaras. Um caso habitual de alteração dos parâmetros por operação do software surge da alteração de dimensão, resize da janela de visualização. O resize motiva uma modificação na matriz de parâmetros intrínsecos (ponto principal e factores de escala) que precisa ser conhecida pelos algoritmos de calibração de uma rede de câmaras, propostos no capítulo 3. Foram assim consideradas duas formas de calibração das câmaras móveis e fixas colocadas no cenário virtual: uma baseada no conhecimento da estrutura 3D do cenário, e a outra baseada na observação em várias poses de um padrão plano (xadrez) de calibração tal como é indicado pela toolbox de calibração de J. Y. Bouguet [3]. A calibração baseada na estrutura do cenário utiliza vértices (X,Y,Z) de polígonos tridimensionais (quadros) cujas as projecções são indicadas manualmente sobre a imagem (ver Fig.4.1). A fórmula de calibração é a indicada na Sec.3.2.2, i.e. uma forma de mínimos quadrados (LSQ). Esta estimação contém os parâmetros intrínsecos e extrínsecos que formam a matriz de projecção. A utilização de um padrão de calibração utilizando a toolbox de calibração de J.Y. Bouguet implica a observação do padrão em várias poses, ou a partir de várias posições. Ver Fig.4.2. A toolbox de calibração fornece os parâmetros intrínsecos da câmara, e também as poses relativas em relação ao padrão de calibração. A Fig.4.3 mostra os resultados obtidos considerando ambas as formas de calibração versus o campo de visão (FOV) configurado em VRML. Mais precisamente, a figura mostra o factor de escalamento horizontal de metros para pixels, s u, definido no Cap.2 na Eq.2.4. A figura mostra em particular que as duas formas de calibração

40 30 Resultados Figura 4.1: Dados para a calibração baseada no conhecimento da estrutura 3D (direita) e em pontos clicados sobre a imagem (esquerda). A imagem tem dimensão Figura 4.2: Segunda colecção de dados para calibração. O padrão de calibração inserido no VRML é observado de vários pontos de vista. As imagens têm dimensão Scale VRML fov Figura 4.3: Resultado da calibração do factor de escala. Os círculos denotam calibração por método LSQ utilizando os dados da Fig.4.1, os pontos denotam calibração com toolbox de J. Y. Bouguet utilizando as imagens da Fig.4.2.

41 4.2 Calibração baseada em duas imagens 31 permitem obter resultados muito similares para os cinco valores de FOV testados em VRML, FOV {0.15,0.3,0.6,1.2,1.6}. Na tabela seguinte mostram-se os valores do factor de escalamento horizontal s u, i.e. os resultados ilustrados graficamente na Fig.4.3, e também os valores do factor de escalamento vertical s v. LSQ Bouguet FOV s u s v s u s v No caso de câmaras com pixels quadrados s u = s v, o que de facto se verifica, aproximadamente, na tabela. Atendendo à formula indicada na Eq.2.4, podemos por exemplo indicar a matriz de parâmetros intrínsecos para o caso de FOV = 0.15: s u s u 0 K = 0 s v v = (4.1) onde u 0 = (W + 1)/2 e v 0 = (H + 1)/2, ou seja são o ponto central da imagem, neste caso supondo que o canto superior esquerdo da imagem tem coordenadas (1,1) como por exemplo acontece no Matlab. 4.2 Calibração baseada em duas imagens A primeira metodologia de calibração de câmaras em rede baseia-se na factorização da matriz essencial. A matriz essencial é calculada a partir de pontos correspondentes observados em ambas as imagens. Assumem-se conhecidos os parâmetros intrínsecos. São estimadas somente poses relativas entre as câmaras. Na experiência descrita nesta secção, uma câmara é colocada em vários pontos de uma superfície esférica, enquanto uma câmara base se mantém num ponto fixo. A câmara posicionada em vários locais representa a variedade de poses que se podem encontrar num cenário real para uma câmara de rede. A câmara colocada num ponto fixo representa a câmara montada num robot móvel que foi estacionado num ponto fixo para permitir a calibração de uma câmara de rede. Nesta experiência a câmara do robot serve para calibrar todas as câmaras de rede sobre a superfície esférica, porque o cenário foi construído de forma que todas as câmaras da superfície esférica observam aproximadamente a mesma colecção de pontos 3D que a própria câmara do robot. Para avaliar a robustez da metodologia proposta, foi adicionado ruído gaussiano aos pontos observados pelas várias câmaras. Mais precisamente, o cenário foi definido por uma colecção de pontos 3D conhecidos que são projectados sobre as câmaras (ver pontos azuis, centrais, na Fig. 4.4). O ruído gaussiano tem as variâncias seguintes σ = 0.0, 0.1 ou 0.5 [pix]. A Fig. 4.4 mostra resultados de calibração, i.e. a pose estimada para cada uma das câmaras (de rede) sobre sobre a superfície esférica. As poses estimadas estão indicadas a vermelho, enquanto o ground truth está representado a preto. Os resultados mostram que são tolerados somente níveis moderados de ruído. Por exemplo para o ruído com

42 32 Resultados (a) ruído nulo (b) ruído 0.1 pix (c) ruído 0.5 pix Figura 4.4: Teste de calibração baseada em duas imagens, por factorização da matriz essencial. A colecção de pontos 3D (pontos azuis) é projectada para uma câmara base e para uma câmara que é colocada em vários pontos sobre uma superfície esférica. A estes pares de pontos é adicionado ruído gaussiano com variância 0.0, 0.1 e 0.5 [pix] (a, b e c). Os gráficos mostram as poses estimadas (vermelho) sobrepostas com o ground truth (preto). As duas linhas de gráficos mostram duas vistas diferentes. variância de 0.5pix, verifica-se que algumas das câmaras reconstruídas tem erro de orientação claramente visível (Fig. 4.4(c)). Considerando que a diminuição do nível de ruído não é em geral um aspecto controlável, a observação da grande sensibilidade da calibração ao ruído nos dados mostra que é importante juntar mais informação ou informação mais precisa. Notar que na segunda metodologia de calibração proposta, a documentar experimentalmente mais à frente, apesar de incorporar também a calibração de parâmetros intrínsecos, baseia-se efectivamente em mais informação, dado ser uma calibração realizada sobre sequências de imagens processadas por vslam. 4.3 Ruído na correspondência de pontos entre imagens Nesta secção descrevemos um teste realizado para analisar a incerteza na localização dos pontos característicos SIFT, e consequentemente o ruído no registo (correspondência) de pontos em imagens consecutivas. Para este efeito foram realizados dois movimentos com a câmara, um rectilíneo e o outro circular. Para ambos os movimentos foram detectados e correspondidos pontos característicos SIFT. Paralelamente, os pontos característicos SIFT detectados na primeira imagem foram back-projected para o cenário, de forma a calcular as respectivas coordenadas 3D. Conhecidas as coordenadas 3D e as matrizes de projecção da câmara móvel, obtemos as localizações esperadas (2D) para os pontos característicos. O valor médio e a variância da diferença entre as localizações esperadas e as obtidas por correspondência, representam o ruído na correspondência. Como referido, no primeiro teste a câmara adquire as imagens efectuando um movimento rectilíneo, mantendo sempre com a mesma orientação, perpendicular ao movimento da câmara, captando assim grandes sobreposições

43 4.3 Ruído na correspondência de pontos entre imagens 33 Figura 4.5: Tipos de erro. Erro em pontos 2D correspondentes (esquerda). Erro em pontos 3D e poses de câmara reconstruídos (direita). entre imagens consecutivas, tal como se pode observar na imagem do lado direito da Fig.4.6. No segundo teste efectuado, foram captadas imagens durante um movimento circular (pode-se verificar o seu movimento na imagem do lado esquerdo da Fig.4.6). Também neste teste a câmara se encontra sempre com a mesma orientação, e portanto capta imagens consecutivas com grandes sobreposições. Figura 4.6: As trajectorias efectuadas pela câmara movel encontram-se a vermelho A realização de back-projection, que se encontra descrito na secção 3.3.1, implica alguns pressupostos: são conhecidos os parâmetros intrínsecos da câmara (determinados por exemplo na secção 4.1); conseguimos saber os parâmetros extrínsecos exactos da câmara ao longo do seu movimento; apenas vamos fazer a correspondência entre os pontos que são registados na primeira imagem, e que as SIFT conseguem encontrar ao longo do seu movimento. Considerando assim que temos todos estes dados, vamos inicialmente determinar a posição 3D dos pontos registados pelas SIFT, na primeira imagem captada ao longo do movimento. Para efectuar este primeiro passo, iremos então utilizar a back-projection. Necessitamos em particular de utilizar as matrizes de projecção que podem ser facilmente obtidas pela Eq.3.26, dado termos acesso aos parâmetros intrínsecos e extrínsecos da câmara. Outro dado que também é necessário conhecer para implementar a back-projection são os pontos que as SIFT registaram na primeira imagem. Obtida a posição 3D dos pontos registados pelas SIFT, vamos apenas necessitar de mais um passo para conseguirmos obter a posição dos pontos registados, nas imagens seguintes. Neste passo, temos então acesso à posição 3D dos pontos que estão a ser registados, M, e às matrizes de projecção, P, ao longo do movimento, e portanto podemos determinar as coordenadas 2D nas imagens, m, simplesmente pela Eq Assumindo que as matrizes de projecção criadas para o cenário têm um erro nulo ou negligenciável, obtemos desta forma coordenadas de

44 34 Resultados pontos correspondentes ao longo do movimento, praticamente sem ter incorporado qualquer erro. A Fig.4.7 mostra os gráficos com a media e o desvio padrão do erro para o primeiro teste (movimento rectilíneo da câmara), e a Fig.4.8 mostra os gráficos com a media e o desvio padrão do erro para o segundo teste. (a) (b) Figura 4.7: Movimento rectilineo: (a) media do erro (b) variância do erro (a) (b) Figura 4.8: Movimento circular: (a) media do erro (b) variância do erro Pode-se verificar através da analise dos gráficos nas Fig.4.7 e na Fig.4.8, que o erro cometido pelo registo de pontos característicos SIFT ao longo de uma sequência de imagens cresce sistematicamente no caso de movimento rectilíneo, enquanto que no caso do movimento circular o próprio erro é periódico, sendo praticamente nulo em configurações iguais à inicial ou duais em termos de localização. Este resultado é esperado dado o facto de os pontos característicos SIFT serem correspondidos, mesmo quando sujeitos a translações e rotações, no entanto perderem precisão na detecção e depois no registo aquando de modificações mais significativas da transformação.

45 4.4 Estudo do erro de reconstrução Estudo do erro de reconstrução Nesta secção pretende-se analisar o ruído de reconstrução associado ao vslam [11] quando apoiado sobre pontos característicos SIFT. Para serem obtidos os dados necessários para este teste, utilizou-se a mesma técnica que na secção anterior (secção 4.3): seleccionaram-se pontos característicos SIFT na primeira imagem, e por back-projection em conjunto com um cenário conhecido, obtiveram-se as respectivas posições 3D. Neste teste são então utilizados os pontos 2D determinados para cada imagem, como dados de input no software de vslam utilizado, obtendo-se assim a posição 3D dos mesmos pontos. No sentido de avaliar precisamente o erro de reconstrução dos pontos 3D pelo SLAM, foram estimados os valores da media do erro e do desvio padrão do erro segundo cada eixo e em todas as iterações do movimento, e com estes valores foram construídos gráficos de forma a facilitar uma melhor analise. Os gráficos estão apresentados na Fig.4.9(a)(b). (a) (b) Figura 4.9: Gráficos com o erro de reconstrução: (a) media do erro (b) variância do erro Analisando o gráfico da Fig.4.9(a) podemos verificar que o erro médio tem valores muito próximos de zero, e no gráfico da Fig.4.9(b) verificamos que o desvio padrão do erro como era de esperar ao inicio toma valores muito elevados, mas ao fim de 20 iterações acaba por estabilizar para valores próximos de zero. 4.5 Calibração baseada em uma imagem e vslam Nesta secção testamos a segunda metodologia proposta para calibração de câmaras em rede (Sec.3.2). Esta metodologia tem por base o algoritmo vslam, que reconstrói a informação 3D de pontos característicos da imagem. De forma resumida, neste teste utiliza-se: (i) pontos característicos SIFT, registados e correspondidos ao longo das imagens captadas pela câmara movel (Sec.2.2); (ii) algoritmo de vslam, para reconstruir em 3D os pontos característicos Sec.2.3; (iii) factorização da matriz de projecção descrita na Sec.3.2.2; (iv) o cenário virtual, criado com o VRML (Sec.3.3); e (v) os parâmetros intrínsecos obtidos na Sec.4.1 são utilizados na câmara móvel. No teste foram colocadas três câmaras estáticas no interior da sala criada em VRML (Sec.3.4) e é colocado um robot a navegar à frente das câmaras, tal como é mostrado na Fig.3.1. As três câmaras estão montadas em linha recta, paralela à parede mais larga (10 metros de largura). Uma das câmaras está a meio da parede mais larga e as

46 36 Resultados outras duas câmaras estão a meio metro para cada lado da primeira câmara. As três câmaras estão a 2 metros de altura. As figuras 4.10(a,b,c) mostram as imagens adquiridas pelas câmaras estáticas. A câmara móvel move-se numa linha paralela à linha de base que une as câmaras estáticas, meio metro mais baixa e 40cm à frente. A sua primeira posição está a 3.5m da parede do lado esquerdo, e move-se 3m para a direita. A câmara captura uma imagem a cada 10cm. Na Fig.4.10(d,e,f) pode-se ver a primeira, a segunda e a ultima imagens captadas ao longo do movimento. Depois de as imagens terem sido adquiridas pela câmara móvel, são detectadas pontos correspondentes utilizando as SIFT. Os pontos identificados pelas SIFT estão representados na Fig.4.10(a,b,c,d,e,f) por círculos amarelos. Os círculos amarelos com pontos pretos no meio, indicam pontos característicos SIFT encontrados nas imagens adquiridas pela câmara móvel, que também são observados pelas câmaras estáticas. Os pontos que são identificados pelo robot, mas não são identificadas nas imagens estáticas, são representados por círculos amarelos com pontos cyan no centro. Obtidos os pontos característicos nas imagens utilizamos vslam para obter a reconstrução 3D dos pontos e o movimento próprio do robot. Com os pontos 3D estimados e os correspondentes pontos em cada imagem, é possível estimar a calibração da câmara correspondente. A Fig.4.10(g) mostra a estimação da posição das câmaras da redes e do movimento da câmara móvel, tal como a estimação da posição dos pontos 3D. A Fig.4.10(h) mostra uma ampliação da posição das câmaras estaticas e do movimento da câmara móvel. O resultado ilustrado pela Fig.4.10(h), mostra em particular um erro pequeno associado à estimação do movimento da câmara (ver pontos a preto), e um erro um pouco maior, mas ainda na ordem de grandeza de cm, na estimação das posições das câmaras fixas da rede.

47 4.5 Calibração baseada em uma imagem e vslam 37 (a) Imagem fixa 1 (b) Imagem fixa 2 (c) Imagem fixa 3 (d) 1 a imagem móvel (e) 2 a imagem móvel (f) 30 a imagem móvel (g) Ground truth e resultados (h) Detalhe posição das câmaras Figura 4.10: Experiência de Calibração. Imagens adquiridas por três câmaras estáticas da rede de câmaras (a,b,c), e três exemplos de imagens adquiridas pela câmara móvel (d,e,f). Os círculos amarelos, com os pontos pretos no centro representam os pontos SIFT utilizados para efectuar a calibração. A sub-figura (g) mostra ground-truth e reconstrução. O ground-truth contém pontos 3D (púrpura) e localizações de câmaras móveis / fixas (representadas por linhas em azul claro, começadas por pontos pretos). A reconstrução contém câmaras móveis e fixas (pirâmides vermelhas e azuis, centros das câmaras marcados a preto). As posições das câmaras reconstruídas aparecem também projectadas no plano do pavimento. A sub-figura (h) contém uma ampliação das localizações de câmaras ground-truth e reconstruídas.

2 SIFT (Scale Invariant Feature Transform)

2 SIFT (Scale Invariant Feature Transform) SIFT (Scale Invariant Feature Transform) O SIFT é um algoritmo de visão computacional proposto e publicado pelo pesquisador David Lowe (Lowe, 1999), professor do departamento de Ciência da Computação na

Leia mais

4 SIFT (Scale Invariant Feature Transform)

4 SIFT (Scale Invariant Feature Transform) 4 SIFT (Scale Invariant Feature Transform) SIFT é um algoritmo de visão computacional publicado por David Lowe, em 1999 (Lowe, 1999) e patenteado nos EUA pela University of British Columbia. SIFT é composto

Leia mais

3 Transformação SIFT (Scale Invariant Feature Transform)

3 Transformação SIFT (Scale Invariant Feature Transform) 3 Transformação SIFT (Scale Invariant Feature Transform) Este capítulo apresenta as seguintes seções: - 3.1 Uma Introdução Sobre Descritores Locais: A técnica SIFT ( Scale Invariant Feature Transform )

Leia mais

Processamento digital de imagens

Processamento digital de imagens Processamento digital de imagens Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 11 de novembro de 2016 Fluxo óptico Usado para estimar

Leia mais

Descritores de Imagens

Descritores de Imagens Descritores de Imagens André Tavares da Silva PPGCA/UDESC Outubro de 2017 André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 1 / 18 Descritores Locais e Frameworks SIFT SURF Viola-Jones

Leia mais

Abstract. Keywords: Mosaicing tubular shapes, eight-point Algorithm, 3D model fitting, 3D reconstruction, matching.

Abstract. Keywords: Mosaicing tubular shapes, eight-point Algorithm, 3D model fitting, 3D reconstruction, matching. Agradecimentos A concretização da presente dissertação não teria sido possível sem o apoio de um grupo chegado de pessoas, às quais estou sinceramente agradecido. Em primeiro lugar agradeço ao Professor

Leia mais

Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia

Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia Aluno: Gabriel Malizia Orientador: Professor Marcelo Gattass Co-Orientador: Professor Paulo Cezar Carvalho

Leia mais

Processamento de Imagens COS756 / COC603

Processamento de Imagens COS756 / COC603 Processamento de Imagens COS756 / COC603 aula 13 - Transformada de Hough e SIFT Antonio Oliveira Ricardo Marroquim 1 / 41 aula de hoje descritores Transformada de Hough SIFT 2 / 41 transformada de Hough

Leia mais

Occupancy grid based graph-slam using the distance transform, SURF features and SGD

Occupancy grid based graph-slam using the distance transform, SURF features and SGD Occupancy grid based graph-slam using the distance transform, SURF features and SGD Autores: Arturo Gil, Miguel Juliá, Óscar Reinoso Artur Segal Kaim Agenda Introdução Arquitetura Resultados Trabalho futuro

Leia mais

Processamento de Imagens CPS755

Processamento de Imagens CPS755 Processamento de Imagens CPS755 aula 07 - modelos de câmera Antonio Oliveira Ricardo Marroquim 1 / 32 laboratório de processamento de imagens tópicos matriz de calibração câmera finita câmera projetiva

Leia mais

EXTRACÇÃO DE INFORMAÇÃO VÍDEO DO DOMÍNIO COMPRIMIDO MPEG-4 2

EXTRACÇÃO DE INFORMAÇÃO VÍDEO DO DOMÍNIO COMPRIMIDO MPEG-4 2 EXTRACÇÃO DE INFORMAÇÃO VÍDEO DO DOMÍNIO COMPRIMIDO MPEG-4 2 Neste capítulo vamos abordar algumas características que são possíveis extrair a partir da representação digital comprimida de sequências de

Leia mais

Descritores de Imagem

Descritores de Imagem Descritores de Imagem André Tavares da Silva 31 de março de 2014 1 Descritores de imagem (continuação) 1.1 Frameworks de detecção de objetos SIFT (scale-invariant features transform) (Lowe, 1999) SIFT

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Este capítulo apresenta os algoritmos já existentes que são utilizados nesta dissertação para obter pontos homólogos entre duas imagens de um par estéreo. Pode-se classificar essas

Leia mais

RECONHECIMENTO IDENTIFICAÇÃO BASEADA EM APARÊNCIA

RECONHECIMENTO IDENTIFICAÇÃO BASEADA EM APARÊNCIA RECONHECIMENTO IDENTIFICAÇÃO BASEADA EM APARÊNCIA Envolve a pergunta: É esta parte da imagem uma parte do objeto X? (modelo dado, região da imagem dada) Utiliza imagens ao invés de características como

Leia mais

Análise e Processamento de Bio-Sinais. Mestrado Integrado em Engenharia Biomédica. Sinais e Sistemas. Licenciatura em Engenharia Física

Análise e Processamento de Bio-Sinais. Mestrado Integrado em Engenharia Biomédica. Sinais e Sistemas. Licenciatura em Engenharia Física Análise e Processamento de Bio-Sinais Mestrado Integrado em Engenharia Biomédica Licenciatura em Engenharia Física Faculdade de Ciências e Tecnologia Slide 1 Slide 1 Sobre Modelos para SLIT s Introdução

Leia mais

Processamento de Imagens CPS755

Processamento de Imagens CPS755 Processamento de Imagens CPS755 aula 08 - calibração de câmera Antonio Oliveira Ricardo Marroquim 1 / 40 laboratório de processamento de imagens tópicos homografia 3D 2D distorção propriedades do centro

Leia mais

Processamento de Imagens CPS755

Processamento de Imagens CPS755 Processamento de Imagens CPS755 aula 04 - sistemas lineares Antonio Oliveira Ricardo Marroquim 1 / 32 laboratório de processamento de imagens tópicos decomposições (álgebra linear) decomposição QR decomposição

Leia mais

Relatório sobre os Resultados obtidos através do uso dos algoritmos SIFT e RANSAC para Reconstrução de um Objeto a partir de uma Nuvem de Pontos

Relatório sobre os Resultados obtidos através do uso dos algoritmos SIFT e RANSAC para Reconstrução de um Objeto a partir de uma Nuvem de Pontos Relatório sobre os Resultados obtidos através do uso dos algoritmos SIFT e RANSAC para Reconstrução de um Objeto a partir de uma Nuvem de Pontos Gustavo Moreira PUC-Rio, Departamento de Informática Rua

Leia mais

Instituto Superior de Engenharia de Lisboa Engenharia Informática e de Computadores

Instituto Superior de Engenharia de Lisboa Engenharia Informática e de Computadores Instituto Superior de Engenharia de Lisboa Engenharia Informática e de Computadores Teoria dos Sinais e dos Sistemas O procedimento de Gram-Schmidt: definição, exemplos e aplicações Artur Ferreira {arturj@isel.pt}

Leia mais

Exemplo de aplicação

Exemplo de aplicação Exemplo de aplicação Paralaxe O conceito de paralaxe está relacionado com o deslocamento relativo ou aparente dos objetos estacionários, quando um observador em movimento os olha de pontos diferentes.

Leia mais

SIFT - Scale Invariant Feature Transform

SIFT - Scale Invariant Feature Transform SIFT - Scale Invariant Feature Transform Daniel Pinto Coutinho Prof. Ricardo Marroquim 1 Introdução A detecção de pontos de interesse em uma figura é uma tarefa muito comum no campo de processamento de

Leia mais

Image Descriptors: local features

Image Descriptors: local features Image Descriptors: local features Image Processing scc0251 www.icmc.usp.br/ moacir moacir@icmc.usp.br ICMC/USP São Carlos, SP, Brazil 2011 Moacir Ponti Jr. (ICMCUSP) Image Descriptors: local features 2011

Leia mais

Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática. Transformações 2D

Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática. Transformações 2D Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática Transformações 2D Computação Visual Beatriz Sousa Santos, Joaquim Madeira Transformações 2D Posicionar, orientar e escalar

Leia mais

PMR2560 Visão Computacional Visão estéreo. Prof. Eduardo L. L. Cabral

PMR2560 Visão Computacional Visão estéreo. Prof. Eduardo L. L. Cabral PMR2560 Visão Computacional Visão estéreo Prof. Eduardo L. L. Cabral Objetivos Introdução Equações básicas Processo de correspondência Geometria epipolar Retificação de imagens Reconstrução 3D Visão estéreo

Leia mais

Robótica Experimental

Robótica Experimental UNVERSDADE FEDERAL DO RO GRANDE DO NORTE Universidade Federal do Rio Grande do Norte Centro de Tecnologia Dept o de Engenharia de Computação e Automação DCA Robótica Eperimental Material didático Adelardo

Leia mais

PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO

PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO Esse trabalho consiste de três partes. Na primeira parte do trabalho você vai calibrar duas câmeras

Leia mais

Rastreamento de objeto e estimativa de movimento

Rastreamento de objeto e estimativa de movimento Hiroito Watanabe Rastreamento de objeto e estimativa de movimento Brasil 2015 Hiroito Watanabe Rastreamento de objeto e estimativa de movimento Relatório do trabalho 2 da disciplina de Processamento Digital

Leia mais

APLICAÇÃO DO FILTRO DE KALMAN A UM SISTEMA DE POSICIONAMENTO DE VEÍCULO AQUÁTICO

APLICAÇÃO DO FILTRO DE KALMAN A UM SISTEMA DE POSICIONAMENTO DE VEÍCULO AQUÁTICO APLICAÇÃO DO FILTRO DE KALMAN A UM SISTEMA DE POSICIONAMENTO DE VEÍCULO AQUÁTICO André TEIXEIRA DE AQUINO; André LUIZ CARNEIRO DE ARAÚJO (1) Instituto Federal de Educação, Ciência e Tecnologia do Ceará,

Leia mais

Processamento de Imagens CPS755

Processamento de Imagens CPS755 Processamento de Imagens CPS755 aula 05 - sistemas lineares - parte 2 Antonio Oliveira Ricardo Marroquim 1 / 27 laboratório de processamento de imagens tópicos métodos lineares mínimos quadrados equações

Leia mais

Teresa C. S. Azevedo

Teresa C. S. Azevedo Teresa C. S. Azevedo Orientador: Prof. João Manuel R. S. Tavares Co-orientador: Prof. Mário A. P. Vaz Sumário: I. Reconstrução 3D do corpo humano: i. Aplicações; ii. Técnicas; iii. Objectivos; II. utilizadas

Leia mais

Processamento digital de imagens

Processamento digital de imagens Processamento digital de imagens Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 6 de outubro de 2016 Segmentação de imagens A segmentação

Leia mais

Métodos Não Paramétricos

Métodos Não Paramétricos Modelação, Identificação e Controlo Digital Métodos Não Paramétricos 1 Métodos Não Paramétricos Estimação da resposta impulsiva e da resposta em frequência Análise espectral e métodos de correlação J.

Leia mais

Métodos Não Paramétricos

Métodos Não Paramétricos Modelação, Identificação e Controlo Digital Métodos ão Paramétricos 1 Métodos ão Paramétricos Estimação da resposta impulsiva e da resposta em frequência Análise espectral e métodos de correlação J. Miranda

Leia mais

3 Filtro de Kalman Discreto

3 Filtro de Kalman Discreto 3 Filtro de Kalman Discreto As medidas realizadas por sensores estão sujeitas a erros, como pode ser visto no Capítulo 2. Os filtros são aplicados aos sinais medidos pelos sensores para reduzir os erros,

Leia mais

T4.1 Processamento de Imagem

T4.1 Processamento de Imagem T4.1 Processamento de Imagem Proc. Sinal e Imagem Mestrado em Informática Médica Miguel Tavares Coimbra Resumo 1. Manipulação ponto a ponto 2. Filtros espaciais 3. Extracção de estruturas geométricas 4.

Leia mais

3 Visão Computacional

3 Visão Computacional 3 Visão Computacional 3.1. Introdução A calibração do manipulador TA-40 no seco permite que se tenha uma boa precisão na posição e orientação da extremidade do manipulador em relação à sua base, corrigindo

Leia mais

Capítulo III Processamento de Imagem

Capítulo III Processamento de Imagem Capítulo III Processamento de Imagem Proc. Sinal e Imagem Mestrado em Informática Médica Miguel Tavares Coimbra Resumo 1. Manipulação ponto a ponto 2. Filtros espaciais 3. Extracção de estruturas geométricas

Leia mais

GEOMETRIA II EXERCÍCIOS RESOLVIDOS - ABRIL, 2018

GEOMETRIA II EXERCÍCIOS RESOLVIDOS - ABRIL, 2018 GEOMETRIA II EXERCÍCIOS RESOLVIDOS - ABRIL, 08 ( Seja a R e f(x, y ax + ( ay. Designe por C a a cónica dada por f(x, y 0. (a Mostre que os quatro pontos (±, ± R pertencem a todas as cónicas C a (independentemente

Leia mais

Visão Computacional CPS754

Visão Computacional CPS754 Visão Computacional CPS754 aula 12 - matriz fundamental Antonio Oliveira Ricardo Marroquim 1 / 1 visão computacional tópicos métodos numéricos para computar F 2 / 1 básico equação básica lembrando da condição

Leia mais

Visão Computacional CPS754

Visão Computacional CPS754 Visão Computacional CPS754 aula 13 - reconstrução Antonio Oliveira Ricardo Marroquim 1 / 26 visão computacional tópicos reprojetando pontos para 3D triangulação simples solução ótima definição do último

Leia mais

Fundamentos da Computação Gráfica

Fundamentos da Computação Gráfica Fundamentos da Computação Gráfica Trabalho 2 Visão. Detecção de cantos. Manuel Alejandro Nodarse Moreno (1322198) Introdução. Detecção de cantos é uma abordagem utilizada em sistemas de visão computacional

Leia mais

INTRODUÇÃO AO PROCESSAMENTO DIGITAL DE IMAGENS SENSORIAMENTO REMOTO

INTRODUÇÃO AO PROCESSAMENTO DIGITAL DE IMAGENS SENSORIAMENTO REMOTO INTRODUÇÃO AO PROCESSAMENTO DIGITAL DE IMAGENS SENSORIAMENTO REMOTO PROCESSAMENTO DE IMAGENS Introdução Conceitos básicos Pré-processamento Realce Classificação PROCESSAMENTO DE IMAGENS Extração de Informações

Leia mais

Filtragem linear. jorge s. marques, questão: como remover artefactos?

Filtragem linear. jorge s. marques, questão: como remover artefactos? Filtragem linear questão: como remover artefactos? redução de ruído como reduzir o ruído de uma imagem? ideia: substituir cada piel por uma média Jm,n = m+ k n+ k k + p= m kq= n k Ip,q k= k+ k+ k= filtro

Leia mais

Modelos Pontuais de Distribuição em Visão Computacional Estudo, Desenvolvimento e Aplicação

Modelos Pontuais de Distribuição em Visão Computacional Estudo, Desenvolvimento e Aplicação MESTRADO EM ESTATÍSTICA APLICADA E MODELAÇÃO Modelos Pontuais de Distribuição em Visão Computacional Estudo, Desenvolvimento e Aplicação Maria João Medeiros de Vasconcelos Licenciada em Matemática Aplicada

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens Ciência da Computação Processamento Digital de Imagens Tópicos Detecção de Pontos Isolados Detecção de Linhas Prof. Sergio Ribeiro 2 Operações lógicas e aritméticas orientadas a vizinhança utilizam o conceito

Leia mais

SLAM Visual. Fernando Zuher Mohamad Said Cavalcante Orientadora: Profª. Drª. Roseli Romero Mestrado em Computação, ICMC-USP

SLAM Visual. Fernando Zuher Mohamad Said Cavalcante Orientadora: Profª. Drª. Roseli Romero Mestrado em Computação, ICMC-USP SLAM Visual Fernando Zuher Mohamad Said Cavalcante Orientadora: Profª. Drª. Roseli Romero Mestrado em Computação, ICMC-USP Divisão da apresentação 1. Introdução O que é SLAM? Classificação adotada 2. Principais

Leia mais

T4 Processamento de Imagem

T4 Processamento de Imagem T4 Processamento de Imagem Proc. Sinal e Imagem Mestrado em Informática Médica Hélder Filipe Pinto de Oliveira Resumo 1. Manipulação ponto a ponto 2. Conetividade 3. Filtros espaciais 4. Extração de estruturas

Leia mais

UNIVERSIDADE DO ALGARVE ESCOLA SUPERIOR DE TECNOLOGIA LICENCIATURA EM ENGENHARIA CIVIL/TOPOGRÁFICA ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA

UNIVERSIDADE DO ALGARVE ESCOLA SUPERIOR DE TECNOLOGIA LICENCIATURA EM ENGENHARIA CIVIL/TOPOGRÁFICA ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA UNIVERSIDADE DO ALGARVE ESCOLA SUPERIOR DE TECNOLOGIA LICENCIATURA EM ENGENHARIA CIVIL/TOPOGRÁFICA REGIMES DIURNO/NOCTURNO - º SEMESTRE - º ANO - 7 / 8 ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA EXAME DE ÉPOCA

Leia mais

Espaços vectoriais com produto interno. ALGA 2008/2009 Mest. Int. Eng. Electrotécnica e de Computadores Espaços vectoriais com produto interno 1 / 19

Espaços vectoriais com produto interno. ALGA 2008/2009 Mest. Int. Eng. Electrotécnica e de Computadores Espaços vectoriais com produto interno 1 / 19 Capítulo 6 Espaços vectoriais com produto interno ALGA 2008/2009 Mest. Int. Eng. Electrotécnica e de Computadores Espaços vectoriais com produto interno 1 / 19 Definição e propriedades ALGA 2008/2009 Mest.

Leia mais

Processamento de Imagens COS756 / COC603

Processamento de Imagens COS756 / COC603 Processamento de Imagens COS756 / COC603 aula 15 - Fluxo Ótico - parte I Antonio Oliveira Ricardo Marroquim 1 / 1 aula de hoje fluxo ótico estimando movimentos em imagens 2 / 1 motivação para que serve?

Leia mais

ficha 5 transformações lineares

ficha 5 transformações lineares Exercícios de Álgebra Linear ficha 5 transformações lineares Exercícios coligidos por Jorge Almeida e Lina Oliveira Departamento de Matemática, Instituto Superior Técnico 2 o semestre 2011/12 5 Notação

Leia mais

TELEVISÃO DIGITAL LEEC 2006/2007

TELEVISÃO DIGITAL LEEC 2006/2007 TELEVISÃO DIGITAL LEEC 2006/2007 DETECÇÃO DE CONTORNOS GRUPO 6: Hugo Miguel Rodrigues Gonçalves Dinis Guedes Afonso ee01171 ee01148 Introdução Este trabalho tem como objectivo a implementação de métodos

Leia mais

EXAME NACIONAL DO ENSINO SECUNDÁRIO

EXAME NACIONAL DO ENSINO SECUNDÁRIO EXAME NACIONAL DO ENSINO SECUNDÁRIO 12.º Ano de Escolaridade (Decreto-Lei n.º 286/89, de 29 de Agosto) PROVA 408/4 Págs. Duração da prova: 150 minutos 2007 2.ª FASE PROVA PRÁTICA DE DESENHO E GEOMETRIA

Leia mais

1. Considere a seguinte matriz dos vértices dum triângulo D = 0 2 3

1. Considere a seguinte matriz dos vértices dum triângulo D = 0 2 3 INSTITUTO SUPERIOR TÉCNICO - DEPARTAMENTO DE MATEMÁTICA 7 a LISTA DE PROBLEMAS E EXERCÍCIOS DE ÁLGEBRA LINEAR LEIC-Taguspark, LERCI, LEGI, LEE 1 o semestre 2006/07 - aulas práticas de 2006-12-04 e 2006-12-06

Leia mais

Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC

Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC André Caceres Carrilho Mauricio Galo Renato César dos Santos Curitiba,

Leia mais

Descritores de Imagem (introdução)

Descritores de Imagem (introdução) Descritores de Imagem (introdução) André Tavares da Silva andre.silva@udesc.br Roteiro da aula Definição de descritor de imagem Extração de Característica Tipos Geral x Específico Global (cor, textura,

Leia mais

Introdução à Computação Gráfica

Introdução à Computação Gráfica Introdução à Computação Gráfica Desenho de Construção Naval Manuel Ventura Instituto Superior Técnico Secção Autónoma de Engenharia Naval 27 Sumário Entidades Geométricas Transformações Geométricas 2D

Leia mais

5 Resultados Introdução

5 Resultados Introdução 5 Resultados 5.1. Introdução O objetivo deste capítulo é apresentar os resultados de diversas simulações feitas no decorrer do projeto. Tais simulações têm o objetivo de testar os algoritmos presentes

Leia mais

Controlo Em Espaço de Estados. Trabalho de Laboratório nº 3

Controlo Em Espaço de Estados. Trabalho de Laboratório nº 3 Mestrado em Engenharia Electrotécnica e de Computadores Controlo Em Espaço de Estados 2008/09 Trabalho de Laboratório nº 3 Controlo Adaptativo do Nível de um Tanque J. Miranda Lemos e Alexandre Bernardino

Leia mais

Processamento de Imagens CPS755

Processamento de Imagens CPS755 Processamento de Imagens CPS755 aula 06 - sistemas não lineares Antonio Oliveira Ricardo Marroquim 1 / 38 laboratório de processamento de imagens tópicos RANSAC métodos iterativos (não-lineares) gradientes

Leia mais

Matrizes Semelhantes e Matrizes Diagonalizáveis

Matrizes Semelhantes e Matrizes Diagonalizáveis Diagonalização Matrizes Semelhantes e Matrizes Diagonalizáveis Nosso objetivo neste capítulo é estudar aquelas transformações lineares de R n para as quais existe pelo menos uma base em que elas são representadas

Leia mais

EES-20: Sistemas de Controle II. 20 Novembro 2017

EES-20: Sistemas de Controle II. 20 Novembro 2017 EES-20: Sistemas de Controle II 20 Novembro 2017 1 / 57 Recapitulando: Filtro de Kalman para sistema de 1a ordem Foi considerado o caso de estado x[k] escalar, com G = 1 e C = 1, por simplicidade: Equação

Leia mais

é a distância entre um determinado ponto da linha

é a distância entre um determinado ponto da linha Erro de Minimização O algoritmo do erro de minimização para efectuar a auto-localização de robôs foi desenvolvido de forma a superar os problemas existentes nas três abordagens identificadas, no sentido

Leia mais

2 Núcleos: suas propriedades e classificações

2 Núcleos: suas propriedades e classificações 2 Núcleos: suas propriedades e classificações O objetivo desse capítulo é o de apresentar as funções núcleos (7), suas propriedades (10) e suas classificações (3). 2.1 Núcleos no espaço de Hilbert Um espaço

Leia mais

Aula 5 - Segmentação de Imagens

Aula 5 - Segmentação de Imagens Aula 5 - Segmentação de Imagens Parte 1 Prof. Adilson Gonzaga 1 Segmentação Agrupamento de partes de uma imagem em unidades homogêneas relativamente a determinadas características. Segmentação é o processo

Leia mais

Apresentação de uma Plataforma Computacional para a Reconstrução e Caracterização da Forma 3D de Objectos

Apresentação de uma Plataforma Computacional para a Reconstrução e Caracterização da Forma 3D de Objectos Teresa Azevedo, João Manuel R. S. Tavares, Mário Vaz FEUP - Faculdade de Engenharia da Universidade do Porto LOME - Laboratório de Óptica e Mecânica Experimental Índice: I. Visão 3D; II. Computacional

Leia mais

Instituto Superior Técnico Departamento de Matemática Última actualização: 18/Nov/2003 ÁLGEBRA LINEAR A

Instituto Superior Técnico Departamento de Matemática Última actualização: 18/Nov/2003 ÁLGEBRA LINEAR A Instituto Superior Técnico Departamento de Matemática Secção de Álgebra e Análise Última actualização: 18/Nov/2003 ÁLGEBRA LINEAR A REVISÃO DA PARTE III Parte III - (a) Ortogonalidade Conceitos: produto

Leia mais

Identificação por Métodos Não Paramétricos

Identificação por Métodos Não Paramétricos Modelação, Identificação e Controlo Digital Métodos Não Paramétricos 1 Identificação por Métodos Não Paramétricos Estimação da resposta impulsiva e da resposta em frequência Análise espectral e métodos

Leia mais

5 Análise Experimental

5 Análise Experimental 5 Análise Experimental 5.1. Base de dados para testes Foram gravados diversos vídeos que serviram para realizar os testes realizados nesta dissertação. Cada um dos vídeos gerados para medir qualidade da

Leia mais

Calibração de múltiplas câmeras baseada em um padrão invariante. (Multiple camera calibration based on invariant pattern)

Calibração de múltiplas câmeras baseada em um padrão invariante. (Multiple camera calibration based on invariant pattern) Calibração de múltiplas câmeras baseada em um padrão invariante (Multiple camera calibration based on invariant pattern) Manuel Eduardo Loaiza Fernandez Marcelo Gattass (orientador) Alberto B. Raposo (co-orientador)

Leia mais

Visualização por Computador: Teoria, Prática e Aplicações

Visualização por Computador: Teoria, Prática e Aplicações Visualização por Computador: Teoria, Prática e Aplicações Noções de Geometria e Álgebra Linear Claudio Esperança Programa de Engenharia de Sistemas e Computação COPPE / UFRJ Master of Information Management,

Leia mais

2.1 Translação, rotação e deformação da vizinhança elementar Variação relativa do comprimento (Extensão)

2.1 Translação, rotação e deformação da vizinhança elementar Variação relativa do comprimento (Extensão) Cap.. Deformação 1. Deslocamento. Gradiente de deformação.1 ranslação, rotação e deformação da vizinhança elementar 3. ensor de deformação de agrange 4. ensor das pequenas deformações 4.1 Caracter tensorial

Leia mais

IMPLEMENTAÇÃO DE SISTEMA DE ATITUDE EM DSP

IMPLEMENTAÇÃO DE SISTEMA DE ATITUDE EM DSP Anais do 15 O Encontro de Iniciação Científica e Pós-Graduação do ITA XV ENCITA / 2009 Instituto Tecnológico de Aeronáutica São José dos Campos SP Brasil Outubro 19 a 21 2009. IMPLEMENTAÇÃO DE SISTEMA

Leia mais

Shading (sombreamento) & Smooth Shading

Shading (sombreamento) & Smooth Shading Shading (sombreamento) & Smooth Shading Sistemas Gráficos/ Computação Gráfica e Interfaces 1 Shading & Smooth Shading Objectivo: calcular a cor de cada ponto das superfícies visíveis. Solução brute-force:

Leia mais

ALGEMIRO A. S. NETO.

ALGEMIRO A. S. NETO. Calibração de Câmeras 1 ALGEMIRO A. S. NETO Pontifícia Universidade Católica do Rio de Janeiro aneto@inf.puc-rio.br Abstract Este trabalho aborda o problema de calibração de câmeras apresentando uma breve

Leia mais

4. Tensores cartesianos em 3D simétricos

4. Tensores cartesianos em 3D simétricos 4. Tensores cartesianos em D simétricos 4.1 Valores e vectores próprios ou valores e direcções principais Em D não é possível deduzir as fórmulas que determinam os valores e as direcções principais na

Leia mais

θ depende de um parâmetro desconhecido θ.

θ depende de um parâmetro desconhecido θ. 73 Método de Máxima Verosimilhança (Maximum Likelihood) Seja uma variável aleatória (v. a.) cuja densidade de probabilidade depende de um parâmetro desconhecido. Admite-se conhecida a forma de Exemplo

Leia mais

Operações Pontuais. 1 operando. 2 operandos. Processamento e Análise de Imagem - A. J. Padilha - v ac

Operações Pontuais. 1 operando. 2 operandos. Processamento e Análise de Imagem - A. J. Padilha - v ac Operações Pontuais 1 operando T OP 2 operandos Pré-Processamento - 1 Operações Pontuais Nas operações pontuais, cada ponto da imagem-resultado - g(i,j) - é obtido por uma transformação T do ponto de coordenadas

Leia mais

Feature Description (SIFT + SURF) Prof. Dr. Geraldo Braz Junior

Feature Description (SIFT + SURF) Prof. Dr. Geraldo Braz Junior Feature Description (SIFT + SURF) Prof. Dr. Geraldo Braz Junior Feature Detection 1. Encontre um conjunto de keypoints 2. Defina uma região ao redor do keypoint 3. Normalize a região 4. Extraia caracterísfcas

Leia mais

CAPÍTULO 5 RESULTADOS. São apresentados neste Capítulo os resultados obtidos através do programa Classific, para

CAPÍTULO 5 RESULTADOS. São apresentados neste Capítulo os resultados obtidos através do programa Classific, para CAPÍTULO 5 RESULTADOS São apresentados neste Capítulo os resultados obtidos através do programa Classific, para as imagens coletadas no verão II, período iniciado em 18/01 e finalizado em 01/03 de 1999,

Leia mais

Álgebra Linear. Curso: Engenharia Electrotécnica e de Computadores 1 ō ano/1 ō S 2006/07

Álgebra Linear. Curso: Engenharia Electrotécnica e de Computadores 1 ō ano/1 ō S 2006/07 Álgebra Linear Curso: Engenharia Electrotécnica e de Computadores 1 ō ano/1 ō S 006/07 5 a Lista: Ortogonalidade Nos exercícios em que n~ao é especificado o produto interno, considere o produto interno

Leia mais

Universidade Federal do Rio de Janeiro - IM/DCC & NCE

Universidade Federal do Rio de Janeiro - IM/DCC & NCE Universidade Federal do Rio de Janeiro - IM/DCC & NCE Processamento de Imagens Segmentação Antonio G. Thomé thome@nce.ufrj.br Sala AEP/133 Conceituação Segmentação é uma tarefa básica no processo de análise

Leia mais

3 3. Variáveis Aleatórias

3 3. Variáveis Aleatórias ÍNDICE 3. VARIÁVEIS ALEATÓRIAS...49 3.. VARIÁVEIS ALEATÓRIAS UNIDIMENSIONAIS...49 3.2. VARIÁVEIS DISCRETAS FUNÇÃO DE PROBABILIDADE E FUNÇÃO DISTRIBUIÇÃO DE PROBABILIDADE...50 3.2.. Função de probabilidade...50

Leia mais

ESCOLA SECUNDÁRIA FERREIRA DIAS

ESCOLA SECUNDÁRIA FERREIRA DIAS ESCOLA SECUNDÁRIA FERREIRA DIAS ENSINO RECORRENTE DE NÍVEL SECUNDÁRIO POR MÓDULOS CAPITALIZÁVEIS CURSO DE CIÊNCIAS E TECNOLOGIAS DISCIPLINA : MATEMÁTICA A ANO: 10.º - CONJUNTO DOS MÓDULOS 1-2-3 DURAÇÃO

Leia mais

Modelação de Sólidos. Sistemas Gráficos/ Computação Gráfica e Interfaces FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO

Modelação de Sólidos. Sistemas Gráficos/ Computação Gráfica e Interfaces FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Modelação de Sólidos Sistemas Gráficos/ Computação Gráfica e Interfaces 1 Modelação de Sólidos Em 2D um conjunto de segmentos de recta ou curvas não formam necessariamente uma área fechada. Em 3D uma colecção

Leia mais

Cálculo Diferencial e Integral 2 Formas Quadráticas

Cálculo Diferencial e Integral 2 Formas Quadráticas Instituto Superior Técnico Departamento de Matemática Secção de Álgebra e Análise Cálculo Diferencial e Integral 2 Formas Quadráticas 1 Formas quadráticas Uma forma quadrática em R n é um polinómio do

Leia mais

INF Fundamentos da Computação Gráfica Professor: Marcelo Gattass Aluno: Rogério Pinheiro de Souza

INF Fundamentos da Computação Gráfica Professor: Marcelo Gattass Aluno: Rogério Pinheiro de Souza INF2608 - Fundamentos da Computação Gráfica Professor: Marcelo Gattass Aluno: Rogério Pinheiro de Souza Trabalho 02 Visualização de Imagens Sísmicas e Detecção Automática de Horizonte Resumo Este trabalho

Leia mais

1º Teste de Computação Gráfica

1º Teste de Computação Gráfica 1º Teste de Computação Gráfica LEIC/LESIM/LCI Prof. João Brisson Lopes Prof. Mário Rui Gomes 15 de Abril de 23 Nº Nome: Responda às questões seguintes justificando adequadamente todas as respostas. O teste

Leia mais

Processamento de Imagem. Convolução Filtragem no Domínio da Frequência (Fourier) Professora Sheila Cáceres

Processamento de Imagem. Convolução Filtragem no Domínio da Frequência (Fourier) Professora Sheila Cáceres Processamento de Imagem Convolução Filtragem no Domínio da Frequência (Fourier) Professora Sheila Cáceres Lembrando Filtragem Correlação A correlação e a convolução sãos dois conceitos relacionados a filtragem.

Leia mais

Tratamento estatístico de observações geodésicas

Tratamento estatístico de observações geodésicas Tratamento estatístico de observações geodésicas Prof. Dr. Carlos Aurélio Nadal OBJETIVO: parâmetros estatísticos são utilizados para avaliar os métodos empregados ou para o controle de qualidade dos trabalhos.

Leia mais

ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA. Maria da Graça Marcos Marisa João Guerra Pereira de Oliveira Alcinda Maria de Sousa Barreiras

ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA. Maria da Graça Marcos Marisa João Guerra Pereira de Oliveira Alcinda Maria de Sousa Barreiras ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA Maria da Graça Marcos Marisa João Guerra Pereira de Oliveira Alcinda Maria de Sousa Barreiras EDIÇÃO, DISTRIBUIÇÃO E VENDAS SÍLABAS & DESAFIOS - UNIPESSOAL LDA. NIF:

Leia mais

Tensores cartesianos. Grandezas físicas como funções de posição e/ou de tempo

Tensores cartesianos. Grandezas físicas como funções de posição e/ou de tempo ensores cartesianos Quantidades (grandeas) físicas: Classificação: Escalares Vectores ensores de segunda ordem... ensores de ordem ero ensores de primeira ordem ensores de segunda ordem... Relacionadas

Leia mais

CAPÍTULO 5. Considere-se uma matriz de rotação variante no tempo R = R(t). Tendo em vista a ortogonalidade de R, pode-se escrever

CAPÍTULO 5. Considere-se uma matriz de rotação variante no tempo R = R(t). Tendo em vista a ortogonalidade de R, pode-se escrever Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador 54 CAPÍTULO 5 CINEMÁTICA DA VELOCIDADE E DA ACELERAÇÃO O JACOBIANO DO MANIPULADOR 5.1 INTRODUÇÃO Nos capítulos anteriores

Leia mais

Álgebra Linear. Curso: Engenharia Electrotécnica e de Computadores 1 ō ano/1 ō S 2006/07

Álgebra Linear. Curso: Engenharia Electrotécnica e de Computadores 1 ō ano/1 ō S 2006/07 Álgebra Linear Curso: Engenharia Electrotécnica e de Computadores ō ano/ ō S 6/7 a Lista: SISTEMAS DE EQUAÇÕES LINEARES E ÁLGEBRA DE MATRIZES Sistemas de equações lineares. Quais das seguintes equações

Leia mais

Aulas práticas de Álgebra Linear

Aulas práticas de Álgebra Linear Ficha 3 Aulas práticas de Álgebra Linear Licenciatura em Engenharia Naval e Oceânica Mestrado Integrado em Engenharia Mecânica 1 o semestre 2018/19 Jorge Almeida e Lina Oliveira Departamento de Matemática,

Leia mais

Localização de robôs móveis baseados em balizas

Localização de robôs móveis baseados em balizas Faculdade de Engenharia da Universidade do Porto Localização de robôs móveis baseados em balizas Sandro Augusto Costa Magalhães Tiago José Ferreira Mendonça VERSÃO FINAL Trabalho realizada no âmbito da

Leia mais

Controle Ótimo - Aula 8 Equação de Hamilton-Jacobi

Controle Ótimo - Aula 8 Equação de Hamilton-Jacobi Controle Ótimo - Aula 8 Equação de Hamilton-Jacobi Adriano A. G. Siqueira e Marco H. Terra Departamento de Engenharia Elétrica Universidade de São Paulo - São Carlos O problema de controle ótimo Considere

Leia mais

Análise de Regressão Linear Simples e

Análise de Regressão Linear Simples e Análise de Regressão Linear Simples e Múltipla Carla Henriques Departamento de Matemática Escola Superior de Tecnologia de Viseu Introdução A análise de regressão estuda o relacionamento entre uma variável

Leia mais