REGISTRO DIRETO DE IMAGENS PARA SLAM VISUAL Geraldo Silveira∗, Ezio Malis†, Patrick Rives† ∗ CTI Renato Archer – Divisão DRVC Rod. Dom Pedro I, km 143,6, Amarais CEP 13069-901, Campinas/SP, Brasil † INRIA Sophia Antipolis – Projeto ARobAS 2004 Route des Lucioles, BP 93 06902 Sophia-Antipolis, França Emails: [email protected], [email protected], [email protected] Resumo— The overwhelming majority of visual SLAM approaches consider feature (e.g., points, lines) correspondences as an input to the joint process of estimating the camera pose and the scene structure. This work proposes a new approach for simultaneously obtaining these parameters, all directly using image intensities as observations. In this way, all possible image information can be exploited, even from areas where no features exist. The visual SLAM problem is here formulated as an image registration task, where new photo-geometric transformation models and optimization methods are applied. Our technique simultaneously enforces several structural constraints, namely the cheirality, the rigidity and those related to the lighting variations. All these factors significantly contribute to obtain accurate visual SLAM results. This is confirmed through various experiments under general camera motion, different types of scenes and of real-world perturbations. Palavras-chave— Monocular SLAM, image registration, direct methods, illumination changes. Resumo— A maioria das técnicas de SLAM visual requerem a extração e associação de primitivas geométricas (e.g., pontos, retas) como entrada para os seus processos de estimação simultânea da pose da câmera e da estrutura da cena. Este trabalho propõe uma nova abordagem para calcular esses parâmetros diretamente a partir dos valores de intensidade dos pixels. Assim, toda a informação possı́vel da imagem pode ser explorada, mesmo de onde não há primitivas. A técnica proposta é baseada em registro de imagens, onde um novo modelo foto-geométrico de transformação e um método de otimização eficiente são aplicados. Essa técnica garante robustez a variações genéricas de iluminação e explora várias restrições simultaneamente na resolução do problema, e.g., rigidez da cena. Todos esses fatores contribuem para obter resultados precisos de SLAM visual. Isto é confirmado em diversos experimentos sob movimentos genéricos da câmera, diferentes tipos de cenas e de perturbações frequentemente presentes em cenários reais. Palavras-chave— 1 SLAM monocular, registro de imagens, métodos diretos, mudanças de iluminação. Introdução O problema de SLAM visual consiste em estimar simultaneamente a localização relativa da câmera e a estrutura do ambiente onde a mesma se desloca. Essa tarefa é tradicionalmente dividida em três etapas principais. Inicialmente, um conjunto adequado de primitivas geométricas (e.g., pontos, retas) é extraı́do e, em seguida, associado nas imagens. Importante salientar que esta associação de dados é raramente perfeita e as falsas correspondências (i.e., outliers) devem ser rejeitadas posteriormente utilizando uma técnica robusta (e.g., RANSAC). O objetivo é encontrar um conjunto coerente de primitivas em correspondência nas imagens que vai permitir estimar os parâmetros desejados através de um processo apropriado de filtragem. O leitor pode se referir às técnicas propostas, por exemplo, em (Broida et al., 1990; Davison, 2003; Eade e Drummond, 2006). Este trabalho segue uma linha diferente dessa abordagem tradicional, dita baseada em primitivas geométricas. De fato, nós propomos uma nova técnica de SLAM monocular onde a pose da câmera e a estrutura da cena são obtidas diretamente (e daı́ sua classificação como tal) a partir dos valores de intensidade dos pixels. Dessa forma, ao invés de se limitar à informação contida em primitivas geométricas particulares, é possı́vel explorar toda informação disponı́vel nas imagens. A técnica proposta também é diferente dos métodos diretos existentes. A estratégia descrita em (Molton et al., 2004), sensı́vel às mudanças de iluminação, não considera o forte acoplamento entre o movimento da câmera e a estrutura da cena que são estimados separadamente. O método proposto em (Jin et al., 2003), bem que as estima simultaneamente, requer movimentos relativos muito lentos da câmera. A abordagem unificada aqui apresentada permite maiores deslocamentos dos objetos entre imagens sucessivas. A técnica proposta neste artigo é baseada em um novo modelo foto-geométrico de transformação e utiliza uma técnica de otimização eficiente para registrar (i.e., alinhar) imagens. Esse modelo generativo garante robustez a variações genéricas de iluminação e impõe, também durante o pro- cesso de otimização, o fato de que a cena está sempre situada em frente à câmera (i.e., profundidades devem ter valores estritamente positivos). A hipótese de movimento global único é suposta verdadeira durante o procedimento de minimização. Com isso, a restrição de rigidez da cena é também satisfeita simultaneamente. A exploração de toda informação possı́vel e dessas restrições estruturais aumentam a precisão e a robustez intrı́nseca do algoritmo com respeito às medidas aberrantes. Entretanto, por motivos de eficiência computacional, apenas algumas regiões da imagem são exploradas pela técnica, que as seleciona automaticamente. Também por esses motivos, a estrutura da cena é aproximada localmente por superfı́cies planares. Diversos resultados experimentais são fornecidos utilizando uma variedade de cenas, incluindo cenas de exterior e urbanas, sob movimentos genéricos da câmera e diferentes tipos de perturbações frequentemente presentes em cenários reais (e.g., pedestres e carros em movimento). 2 2.1 Fundamentação teórica Notações Seja I ∗ uma imagem capturada de uma cena rı́gida. Após o deslocamento da câmera por uma rotação R ∈ SO(3) e uma translação t ∈ R3 , uma outra imagem I é adquirida. Permita que esse deslocamento seja representado por uma matriz homogênea T ∈ SE(3), que p = [u, v, 1]⊤ ∈ P2 denote o vetor homogêneo de coordenadas de um pixel, e que I(p) ≥ 0 represente o seu valor de intensidade. Ademais, utilizaremos υ, υ b, υ ◦ , υ e, e υ ′ para representar, respectivamente, o valor exato de υ, uma estimativa deste valor, o valor ótimo (relativo a uma dada função custo), um valor incremental e uma alteração dessa variável. 2.2 Geometria epipolar entre duas imagens Considere o modelo de câmera de orifı́cio para descrever a projeção geométrica de objetos na imagem. Neste caso, a relação entre as projeções p ↔ p∗ do mesmo ponto 3D em duas imagens calibradas é dada por p ∝ K R K−1 p∗ + (z ∗ )−1 K t, (1) onde K ∈ R3×3 representa os parâmetros intrı́nsecos da câmera, z ∗ > 0 é a profundidade do ponto em relação ao sistema de referência, e o sı́mbolo ‘∝’ indica proporcionalidade. Para o caso particular de um objeto planar, a inversa da profundidade de qualquer ponto pertencente a esse plano é dado por −1 ∗ (z ∗ )−1 = n∗⊤ p , d K (2) onde n∗d ∈ R3 corresponde ao vetor normal desse plano dividido pela sua distância perpendicular à origem do sistema de coordenadas de referência. Nesse caso, a relação genérica expressa em (1) se reduz então a p ∝ G p∗ (3) com ¢ −1 ¡ K . (4) G(T, n∗d ) = K R + t n∗⊤ d 2.3 Registro direto de imagens para localização Considere ainda o caso de um objeto (aproximadamente) planar no que segue. Uma função de transformação geométrica (do inglês, warping) pode então ser definida a partir de (3) como w : R3×3 × P2 → P2 (G, p∗ ) 7→ p = w(G, p∗ ). (5) (6) A equação em (6) pode ser reescrita como p= » g11 u∗ + g12 v ∗ + g13 g21 u∗ + g22 v ∗ + g23 , ,1 g31 u∗ + g32 v ∗ + g33 g31 u∗ + g32 v ∗ + g33 –⊤ onde {gij } denota os elementos da homografia G dada por (4). No caso de imagens calibradas e em que n∗d (i.e., o modelo métrico) é previamente conhecido, tem-se que G = G(T). O problema de registro direto geométrico pode ser formulado como a busca da matriz T ∈ SE(3) que transforma todos os pixels da região da imagem corrente I tal que suas intensidades correspondem da melhor forma possı́vel àquelas na imagem de referência I ∗ . Como objetivamos encontrar a pose da câmera T dado o modelo métrico do objeto n∗d , esse método pode portanto ser interpretado como uma técnica de localização. Um procedimento não-linear de otimização local deve ser aplicado para resolver este problema dado que, em geral: (i) a intensidade I(p) é não-linear em p; e (ii) métodos globais não respeitam as restrições de tempo-real dos sistemas robóticos. A técnica clássica para resolvê-lo consiste em desenvolver a função custo em série de Taylor, permitindo escrevê-lo como um problema de mı́nimos quadrados linear. Dado que essa solução corresponde a apenas uma aproximação, iterações são conduzidas até a convergência dos parâmetros. b ∈ SE(3) de T. Assim, seja uma estimativa T Considere a parametrização dessa variável através da álgebra de Lie respectiva se(3) (Warner, 1987), e = T(e i.e., T = T(v). O incremento ótimo T v) será obtido através da resolução do problema i2 ¢´ ¢ 1 Xh ³ ¡ ¡ b , p∗ − I ∗ (p∗ ) , I w G T(e v) T i i ṽ∈R 2 i (7) com atualização dos parâmetros a cada iteração: min6 b ←− T(e b T v) T ∈ SE(3). (8) A convergência dos parâmetros pode ser estabelecida quando o deslocamento incremental for arbitrariamente pequeno, i.e., ke vk < ǫ. A pose ótima , obtida pode ser utilizada para inicializar o mesmo processo quando uma nova imagem é capturada. Uma solução eficiente para o problema de localização (7) está descrita em (Benhimane e Malis, 2006). Neste trabalho, mostraremos como estendê-lo para a estimação simultânea do modelo métrico do objeto n∗d , bem como relaxarmos a hipótese presente em (7) de que nenhuma variação de iluminação ocorreu entre as imagens. 3 Registro de imagens para SLAM visual A técnica consiste em um novo modelo fotogeométrico de transformação de imagens, e de um método eficiente de otimização não-linear para a obtenção dos parâmetros relativos aos modelos. 3.1 Modelo foto-geométrico de transformação Em primeiro lugar, como desejamos realizar também mapeamento e não somente localização, é imprescindı́vel a inclusão do modelo métrico nd ∈ R3 como variável de otimização. Para representá-la, propomos utilizar a inversa da profundidade (2) de três pontos pertencentes à região ¤⊤ £ z∗ = 1/z1∗ , 1/z2∗ , 1/z3∗ , (9) e parametrizá-los por z∗ = z∗ (y) = exp(y) > 0, y ∈ R3 . (10) Essa parametrização da estrutura é motivada por duas razões fundamentais: (i) impõe o fato de que a cena está sempre em frente à câmera, i.e., zi∗ > 0, ∀i; e (ii) não restringe o método a cenas planares por partes, já que utilizaremos diretamente a profundidade de pontos e não o vetor normal como variável de otimização. Entretanto, por motivos de eficiência computacional, ainda utilizare¡ ¢ mos n∗d = n∗d z∗ (y) . Outro aspecto importante consiste em assegurar robustez à variações genéricas de iluminação. Recentemente, Silveira e Malis (2007) propuseram o seguinte modelo de variação de iluminação: I ′ (S, β) = S · I + β, (11) onde β ∈ R, S é interpretado como uma superfı́cie variante no tempo e o operador ‘·’ denota multiplicação elemento-por-elemento, e o aplicaram ao registro de imagens parametrizado no espaço projetivo. Mostraremos aqui que (11) pode também ser aplicado quando o registro é parametrizado no espaço Euclideano. Assim, tem-se que o modelo foto-geométrico de transformação incremental proposto é dado por ¡ ¢ b p∗ = b, h(e I ′ g(e zg ) ◦ g zh ) ◦ h, ¢ ¡ ¢ ¡ b (12) b, p∗ ) + βe ◦ β, e◦γ b , p∗ · I w(g(e zg ) ◦ g S γ © ª com variáveis geométricas g = T, (z ∗ )−1 , parametrizadas por zg = {v, y}, e fotométricas h = {S, β}, parametrizadas por zh = {γ, β}. O operador de composição ‘◦’ depende do grupo de Lie envolvido. 3.2 Método de otimização não-linear Utilizando o modelo (12), o problema de SLAM visual pode então ser formulado como ¢ ¤2 1 X X £ ′¡ b, p∗ij − I ∗ (p∗ij ) , I x(e z) ◦ x e z={e zg ,e zh } 2 | {z } j i min dij (x(e z)◦b x) onde x = {g, h}, parametrizado por z = {zg , zh }, e d = {dij } representa o conjunto de diferenças de intensidade de cada pixel, para todas as regiões j = 1, 2, . . . , n consideradas. Para a solução iterativa desse problema, uma expansão em série de Taylor é inicialmente efetuada. De forma a obtermos altas taxas e domı́nios de convergência, realizamos a aproximação de segunda ordem eficiente (Malis, 2004) d(x(e z)◦b x) ≈ d(b x)+ ¢ 1¡ z, (13) J(b x)+J(x(e z)◦b x) e 2 onde, em nosso caso, os Jacobianos J(·) são relativos aos parâmetros de movimento, da estrutura da cena, e das mudanças de iluminação. Para que e z corresponda a um extremo da função custo, uma condição de otimalidade necessária fornece de (13) ¢ 1¡ z = −d(b x), J(b x) + J(x) e 2 (14) onde J(b x) é completamente determinada a partir de dados correntes. Porém, somente uma parte do Jacobiano na solução (desconhecida) J(x) pode o ser (já que a imagem de referência é conhecida). A outra parte deve ser aproximada usando, e.g., dados correntes. A solução e z obtida do sistema linear retangular (14) deve ser iterativamente utilizada até a convergência. 4 4.1 Gerenciamento da informação Seleção das regiões De forma a satisfazer critérios de tempo real, apenas algumas regiões da imagem podem ser consideradas para processamento. Neste trabalho, essas regiões são automaticamente selecionadas baseado em um ı́ndice (i.e., score) apropriado, conforme definido abaixo. No caso de métodos diretos, altos ı́ndices devem refletir fortes gradientes em diferentes direções na imagem. Seja R∗ ⊂ I ∗ uma região de imagem com dimensões w × w, e G ∗ uma imagem baseada no gradiente de I ∗ . Uma matriz de ı́ndices S ∗ pode ser obtida como uma somatória de todos os valores de G ∗ contidos em blocos de dimensões w × w (a) (b) (c) (d) (e) Figura 1: (a), (b), (c) Imagens adquiridas a 25 Hz utilizando uma câmera de vı́deo convencional. As regiões exploradas pela técnica estão registradas em vermelho. Observe em (c) a inserção de uma nova região de imagem (a da parede lateral do imóvel). As poses da câmera e a estrutura da cena reconstruı́das estão mostradas sob diferentes pontos de vista em (d) e (e). centrados em cada pixel. Um segundo critério a ser considerado, possivelmente com um peso diferente, é baseado na quantidade de extremos locais de G ∗ (representadas por E ∗ ) dentro de cada bloco. Todas essas operações por bloco podem ser efetuadas eficientemente através de uma convolução com um kernel Kw = 1 de dimensões w × w: S ∗ = λ G ∗ ⊗ Kw + η E ∗ ⊗ Kw . (15) Pesos tı́picos são λ = kG ∗ ⊗ Kw k−1 e η = 1. A quantidade de regiões a serem exploradas (definidas em torno de altos ı́ndices) depende somente dos recursos computacionais disponı́veis. 4.3 Rejeição das regiões Para métodos diretos, medidas aberrantes correspondem a regiões que não satisfazem aos modelos adotados, e.g., às regiões da imagem relacionadas com objetos que se deslocam de forma independente. Essas regiões devem ser detetadas e excluı́das do processo de estimação automaticamente. Com essa finalidade, duas métricas são definidas abaixo para avaliar a j-ésima região: uma medida fotométrica e outra geométrica. O ı́ndice fotométrico é definido diretamente a partir da função custo da otimização: ε2j (x◦ ) = 4.2 Inserção das regiões Dado que as regiões exploradas podem sair do campo visual ou eventualmente serem rejeitadas do processo de estimação, o sistema deve ser capaz de inserir automaticamente novas regiões sempre que recursos computacionais estiverem disponı́veis. Neste trabalho, a inicialização de novas regiões segue a sequência natural de especialização. Isto é, primeiramente a transformação da região é caracterizada no espaço projetivo utilizando a técnica descrita em (Silveira e Malis, 2007). Utilizando esta informação e o resultado incremental do SLAM estimado, a melhor descrição Euclideana possı́vel até o momento é obtida via método descrito em (Silveira et al., 2008). X 1 d2 (x◦ ), ∗ card(Rj ) i ij (16) onde card(·) indica a cardinalidade do conjunto. Observe que as variações de iluminação já estão compensadas nessa métrica. Por outro lado, o ı́ndice geométrico indica o grau de deformação (i.e, redução ou alongamento) entre os lados de cada região em duas imagens consecutivas. Grandes deformações podem significar que a região não possui informação suficiente para restringir todos os graus de liberdade, podendo assim ser descartada do processo de otimização. Note também que, enquanto (16) é avaliado depois de obtermos a solução ótima, o ı́ndice geométrico pode o ser durante as iterações. Isso pode prevenir que medidas aberrantes perturbem a solução final. (a) (b) (c) (d) (e) Figura 2: (a), (b), (c) Imagens urbanas sobrepostas com as regiões registradas (em vermelho) pela técnica. As poses da câmera e a estrutura da cena reconstruı́das estão mostradas sob diferentes pontos de vista em (d) e (e). Observe o paralelismo e/ou perpendicularidade entre as paredes dos imóveis. 5 Resultados experimentais Esta seção relata os experimentos que foram conduzidos a fim de validar a técnica proposta, e avaliar sua performance, em diversos cenários reais. Enfatizamos que nenhum ajuste em bloco (do inglês, bundle adjustment) ou fase de aprendizagem foram efetuados, assim como apenas uma única câmera é empregada como sensor. Considerando imagens em nı́veis de cinza no intervalo [0, 255], a j-ésima região é declarada neste trabalho como aberrante se seu erro fotométrico εj > 20 nı́veis, ou se seu erro geométrico for maior que 50%. Por fim, consideramos que o RMS do ruı́do da imagem é de 0.6 nı́vel de escala de cinza. 5.1 Sequência Hangar Essa sequência de exterior visa principalmente demonstrar o grau de precisão da abordagem e sua robustez a vários tipos de ruı́do, dentre eles: movimentos erráticos da câmera, imagens borradas, pequenas oclusões, etc. Essas últimas perturbações não afetaram de forma significativa os resultados dado que elas possuem substancialmente menos informação comparada com outras partes da mesma região (vide a árvore na Fig. 1). Para esses resultados, a técnica efetuou uma mediana de 5 iterações por imagem, obtendo um erro fotométrico de 13.37 nı́veis de escala de cinza. O ângulo obtido entre as duas paredes reconstruı́das foi de 89.7◦ , utilizando uma mediana de 22.59% do total de pixels de cada imagem (320 × 240 pi- xels). Essa medida geométrica fornece uma boa indicativa do grau de precisão da técnica (considerando que as paredes são realmente perpendiculares), dado que pose e estrutura são intimamente relacionados. O deslocamento total da câmera foi de aproximadamente 50 m, e as imagens foram capturadas por uma câmera convencional a 25 Hz. 5.2 Sequência Urbana A técnica também foi aplicada a uma sequência urbana representativa, a qual foi capturada a aproximadamente 12 Hz. Essa sequência é bastante desafiadora na medida em que: relativamente grandes deslocamentos dos objetos entre imagens são observados; os objetos se encontram a diferentes distâncias da câmera; assim como existe uma mudança significativa na escala (zoom). Outra importância desse cenário decorre do fato que, nesse caso, posições a partir de GPS não estão disponı́veis ou não são suficientemente precisas. A aplicação de câmeras torna-se portanto ainda mais relevante nessa situação. Os resultados obtidos são mostrados na Fig. 2. Para a precisão requisitada, a técnica efetuou uma mediana de 12 iterações por imagem, obtendo um erro fotométrico de 10.77 nı́veis de escala de cinza, na utilização de uma mediana de 34 regiões de imagem de tamanho 31×31 pixels (no momento em que foram selecionadas), explorando uma mediana de 17.01% do total de pixels de cada imagem (760 × 578 pixels). O deslocamento total da câmera é de aproximadamente 60 m. (a) (b) (c) (d) (e) (f) Figura 3: (a), (b), (c) Imagens urbanas capturadas a 12 Hz e sobrepostas com as regiões registradas (em vermelho) pela técnica. As poses da câmera e a estrutura da cena reconstruı́das estão mostradas sob diferentes pontos de vista em (d) e (e). Uma imagem de satélite do cenário está mostrada em (f). 5.3 Sequência Rotatória Esta sequência permite observarmos a robustez da técnica a outros tipos de ruı́dos, e.g., pedestres e veı́culos, os quais possuem movimentos independentes. Algumas imagens e resultados correspondentes são mostrados na Fig. 3. Para a precisão requisitada, a técnica efetuou uma mediana de 10 iterações por imagem, obtendo um erro fotométrico de 11.37 nı́veis de escala de cinza, na utilização de uma mediana de 37 regiões de imagem de tamanho 31×31 pixels (no momento em que foram selecionadas), explorando uma mediana de 10.84% do total de pixels de cada imagem (760 × 578 pixels). Esta sequência foi capturada a aproximadamente 12 Hz por uma câmera abordo de um veı́culo, cujo deslocamento medido pelo Google Earth é de aproximadamente 150 m. 6 Conclusões Este artigo propõe um método eficiente e robusto de registro de imagens como solução para o problema de SLAM visual. Diferentemente dos métodos tradicionais, o método proposto não se baseia em primitivas geométricas para resolver esse problema. De fato, ele consiste em calcular a estrutura da cena, o deslocamento da câmera e as variações de iluminação em relação a um sistema de coordenadas de referência diretamente a partir das intensidades dos pixels. Trabalhos futuros nesta linha podem ser realizados no fechamento do laço (do inglês, loop closing), que consiste em identificar locais previamente já visitados pelo robô. Agradecimentos Este trabalho também foi parcialmente financiado pela CAPES. Referências Benhimane, S. e Malis, E. (2006). Integration of Euclidean constraints in template based visual tracking of piecewise-planar scenes, Proc. of the IEEE/RSJ IROS, China, pp. 1218–1223. Broida, T. J., Chandrashekhar, S. e Chepalla, R. (1990). Recursive 3-D motion estimation from a monocular image sequence, IEEE Trans. on Aerosp. and Electronic Systems 26(4): 639–656. Davison, A. (2003). Real-time simultaneous localization and mapping with a single camera, Proc. of the IEEE Int. Conf. on Computer Vision. Eade, E. e Drummond, T. (2006). Scalable monocular SLAM, IEEE Comp. Vision and Pattern Recogn. Jin, H., Favaro, P. e Soatto, S. (2003). A semi-direct approach to structure from motion, The Visual Computer 6: 377–394. Malis, E. (2004). Improving vision-based control using Efficient Second-order Minimization techniques, Proc. of the IEEE ICRA, USA. Molton, N. D., Davison, A. J. e Reid, I. D. (2004). Locally planar patch features for real-time structure from motion, Proc. of the BMVC. Silveira, G. e Malis, E. (2007). Real-time visual tracking under arbitrary illumination changes, IEEE Comp. Vision and Pattern Recogn. Silveira, G., Malis, E. e Rives, P. (2008). The efficient E-3D visual servoing, International Journal of Optomechatronics 2(3): 166–184. Warner, F. W. (1987). Foundations of differential manifolds and Lie groups, Springer Verlag.